(57)【要約】【課題】チップ面積の増大を抑制し、且つ、電源がオフ状態である領域から電源がオンである領域に不定信号が伝播されることを防止すること。【解決手段】本発明では、第１電源分離領域の出力が第２電源分離領域の入力に接続されているときに、第１電源分離領域に供給される第１電源をオフする場合、第１電源分離領域の出力に最も近いリテンションフリップフロップを表す第１検索セルを検索し（Ｓ１０、Ｓ１１−Ｙｅｓ）、第１検索セルと第１電源分離領域の出力との間の第２検索セルを検索する（Ｓ１３、Ｓ１１−Ｎｏ）。この場合、第１検索セルの出力に供給される電源を、第１電源から、第１電源と同じ電圧であり、且つ、常にオンしている第２電源に置き換え（Ｓ１６）、第２検索セルに供給される電源を第１電源から第２電源に置き換える（Ｓ１７）。【選択図】図７
2010218441.tif 000002
【特許請求の範囲】
【請求項１】
複数の電源分離領域を備えた半導体回路装置を表す回路図データを生成するステップと、前記複数の電源分離領域の各々には、リテンションフリップフロップを含む複数のセルが設けられ、
前記回路図データに基づいて、前記複数の電源分離領域の各々とそれに接続されるノード間の配線を表すネットリストを生成するステップと、
前記複数の電源分離領域のうちの第１電源分離領域の出力が第２電源分離領域の入力に接続されているときに、前記第１電源分離領域に供給される第１電源をオフする場合、
前記ネットリストに基づいて、前記第１電源分離領域の前記複数のセルの中から、前記第１電源分離領域の出力に最も近い前記リテンションフリップフロップを表す第１検索セルを検索するステップと、
前記ネットリストに基づいて、前記第１電源分離領域の前記複数のセルの中から、前記第１検索セルと前記第１電源分離領域の出力との間の第２検索セルを検索するステップと、
前記第１検索セルの出力に供給される電源を、前記第１電源から、前記第１電源と同じ電圧であり、且つ、常にオンしている第２電源に置き換えるステップと、
前記第２検索セルに供給される電源を前記第１電源から前記第２電源に置き換えるステップと
を具備する半導体回路装置の設計方法。
【請求項２】
前記ネットリストは、前記第１検索セルのインスタンス名と、前記第１検索セルの名称であるセル名と、前記第２検索セルのインスタンス名と、前記第２検索セルの名称であるセル名とを含み、
前記第１検索セルのインスタンス名及びセル名と、前記第１検索セルの出力に供給される電源が前記第２電源であることを表す電源オフ時出力確定セルの名称であるセル名とを対応付けるリテンションフリップフロップ置換リストを生成するステップと、
前記第２検索セルのインスタンス名及びセル名と、前記第２検索セルに供給される電源が前記第２電源であることを表す常時オンセルの名称であるセル名とを対応付ける常時オンセル置換リストを生成するステップと
を更に具備し、
前記第１検索セルの出力に供給される電源を前記第１電源から前記第２電源に置き換えるステップは、
前記リテンションフリップフロップ置換リストを参照して、前記第１検索セルの出力に前記第２電源を接続し、その出力を確定させることにより、前記電源オフ時出力確定セルを生成するステップ
を含み、
前記第２検索セルに供給される電源を前記第１電源から前記第２電源に置き換えるステップは、
前記常時オンセル置換リストを参照して、前記第２検索セルに前記第２電源を接続することにより、前記常時オンセルを生成するステップ
を含む請求項１に記載の半導体回路装置の設計方法。
【請求項３】
前記第１検索セルの出力に供給される電源を前記第１電源から前記第２電源に置き換えるステップは、
前記リテンションフリップフロップ置換リストを参照して、前記ネットリストに含まれる前記第１検索セルのセル名を、前記電源オフ時出力確定セルのセル名に置き換えるステップ
を更に含み、
前記第２検索セルに供給される電源を前記第１電源から前記第２電源に置き換えるステップは、
前記常時オンセル置換リストを参照して、前記ネットリストに含まれる前記第２検索セルのセル名を前記常時オンセルのセル名に置き換えるステップ
を更に含む請求項２に記載の半導体回路装置の設計方法。
【請求項４】
前記第１検索セルが表す前記リテンションフリップフロップは、データを入力する入力回路と、前記データを保持する保持回路と、クロックに応じて前記データを出力する出力回路とを備え、
前記入力回路と前記出力回路は前記第１電源に接続され、前記保持回路は前記第２電源に接続され、
前記第１検索セルの出力に供給される電源を前記第１電源から前記第２電源に置き換えるステップが実行されたとき、前記出力回路は前記第２電源に接続される
請求項１〜３のいずれかに記載の半導体回路装置の設計方法。
【請求項５】
前記第２検索セルは、複数の回路を備え、
前記複数の回路は前記第１電源に接続され、
前記第２検索セルに供給される電源を前記第１電源から前記第２電源に置き換えるステップが実行されたとき、前記複数の回路は前記第２電源に接続される
請求項１〜４のいずれかに記載の半導体回路装置の設計方法。
【請求項６】
前記第１検索セルの出力に供給される電源を前記第１電源から前記第２電源に置き換えたときに増加するリーク電流の値を第１リーク電流値としてシミュレーションにより算出するステップと、
前記第２検索セルに供給される電源を前記第１電源から前記第２電源に置き換えたときに増加するリーク電流の値を第２リーク電流値としてシミュレーションにより算出するステップと、
前記第１、２リーク電流値のうちの少なくとも１つの値がリーク電流許容値以上である場合、前記第１電源分離領域の出力と前記第２電源分離領域の入力との間に、前記第１電源分離領域に供給される前記第１電源をオフしているときに前記第１電源分離領域から前記第２電源分離領域へ不定信号が伝播されることを防止するための不定伝播防止回路を設けるステップと
を更に具備する請求項１〜５のいずれかに記載の半導体回路装置の設計方法。
【請求項７】
請求項１〜６のいずれかに記載の設計方法によって設計された半導体回路装置。
【請求項８】
複数の電源分離領域を備えた半導体回路装置を表す回路図データを生成する回路図データ生成部と、前記複数の電源分離領域の各々には、リテンションフリップフロップを含む複数のセルが設けられ、
前記回路図データに基づいて、前記複数の電源分離領域の各々とそれに接続されるノード間の配線を表すネットリストを生成するネットリスト生成部と、
不定伝播防止部と
を具備し、
前記複数の電源分離領域のうちの第１電源分離領域の出力が第２電源分離領域の入力に接続されているときに、前記第１電源分離領域に供給される第１電源をオフする場合、前記不定伝播防止部は、
前記ネットリストに基づいて、前記第１電源分離領域の前記複数のセルの中から、前記第１電源分離領域の出力に最も近い前記リテンションフリップフロップを表す第１検索セルを検索し、
前記ネットリストに基づいて、前記第１電源分離領域の前記複数のセルの中から、前記第１検索セルと前記第１電源分離領域の出力との間の第２検索セルを検索し、
前記第１検索セルの出力に供給される電源を、前記第１電源から、前記第１電源と同じ電圧であり、且つ、常にオンしている第２電源に置き換え、
前記第２検索セルに供給される電源を前記第１電源から前記第２電源に置き換える
半導体回路装置の設計システム。
【請求項９】
前記ネットリストは、前記第１検索セルのインスタンス名と、前記第１検索セルの名称であるセル名と、前記第２検索セルのインスタンス名と、前記第２検索セルの名称であるセル名とを含み、
前記不定伝播防止部は、
前記第１検索セルのインスタンス名及びセル名と、前記第１検索セルの出力に供給される電源が前記第２電源であることを表す電源オフ時出力確定セルの名称であるセル名とを対応付けるリテンションフリップフロップ置換リストを生成し、
前記第２検索セルのインスタンス名及びセル名と、前記第２検索セルに供給される電源が前記第２電源であることを表す常時オンセルの名称であるセル名とを対応付ける常時オンセル置換リストを生成し、
前記第１検索セルの出力に供給される電源を前記第１電源から前記第２電源に置き換えるとき、前記リテンションフリップフロップ置換リストを参照して、前記第１検索セルの出力に前記第２電源を接続し、その出力を確定させることにより、前記電源オフ時出力確定セルを生成し、
前記第２検索セルに供給される電源を前記第１電源から前記第２電源に置き換えるとき、前記常時オンセル置換リストを参照して、前記第２検索セルに前記第２電源を接続することにより、前記常時オンセルを生成する
請求項８に記載の半導体回路装置の設計システム。
【請求項１０】
前記不定伝播防止部は、
前記第１検索セルの出力に供給される電源を前記第１電源から前記第２電源に置き換えるとき、前記リテンションフリップフロップ置換リストを参照して、前記ネットリストに含まれる前記第１検索セルのセル名を、前記電源オフ時出力確定セルのセル名に置き換え、
前記第２検索セルに供給される電源を前記第１電源から前記第２電源に置き換えるとき、
前記常時オンセル置換リストを参照して、前記ネットリストに含まれる前記第２検索セルのセル名を前記常時オンセルのセル名に置き換える
請求項９に記載の半導体回路装置の設計システム。
【請求項１１】
前記第１検索セルが表す前記リテンションフリップフロップは、データを入力する入力回路と、前記データを保持する保持回路と、クロックに応じて前記データを出力する出力回路とを備え、
前記入力回路と前記出力回路は前記第１電源に接続され、前記保持回路は前記第２電源に接続され、
前記不定伝播防止部は、前記第１検索セルの出力に供給される電源を前記第１電源から前記第２電源に置き換えるとき、前記出力回路に接続される電源を前記第１電源から前記第２電源に変更する
請求項８〜１０のいずれかに記載の半導体回路装置の設計システム。
【請求項１２】
前記第２検索セルは、複数の回路を備え、
前記複数の回路は前記第１電源に接続され、
前記不定伝播防止部は、前記第２検索セルに供給される電源を前記第１電源から前記第２電源に置き換えるとき、前記複数の回路に接続される電源を前記第１電源から前記第２電源に変更する
請求項８〜１１のいずれかに記載の半導体回路装置の設計システム。
【請求項１３】
前記不定伝播防止部は、
前記第１検索セルの出力に供給される電源を前記第１電源から前記第２電源に置き換えたときに増加するリーク電流の値を第１リーク電流値としてシミュレーションにより算出し、
前記第２検索セルに供給される電源を前記第１電源から前記第２電源に置き換えたときに増加するリーク電流の値を第２リーク電流値としてシミュレーションにより算出し、
前記第１、２リーク電流値のうちの少なくとも１つの値がリーク電流許容値以上である場合、前記第１電源分離領域の出力と前記第２電源分離領域の入力との間に、前記第１電源分離領域に供給される前記第１電源をオフしているときに前記第１電源分離領域から前記第２電源分離領域へ不定信号が伝播されることを防止するための不定伝播防止回路を設ける
請求項８〜１２のいずれかに記載の半導体回路装置の設計システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体回路装置を設計する設計方法に関する。
【背景技術】
【０００２】
半導体加工技術の微細化により、１チップに搭載できるトランジスタ数は近年飛躍的に増加している。トランジスタの微細化により、トランジスタに印加できる電源電圧を低く抑える必要がある。また、搭載できるトランジスタ数が増加することで消費電力が増加するので、消費電力増加を抑制するためにも電源電圧を低くする必要がある。
【０００３】
一方、電源電圧を低くすると、トランジスタのオン電流が減少するため遅延が大きくなる。高速動作の要求に対応するためには、トランジスタの閾値電圧を低くする必要がある。しかし、トランジスタの閾値電圧を低くするとリーク電流が大きくなるという問題が生じる。
【０００４】
リーク電流を削減するには、電源をオフする対策が最も有効である。従って、電源が供給される領域を複数用意して、複数の領域のうちの、待機状態にある領域の電源をオフするという設計手法を採用することで、リーク電流削減が進められている。複数の領域を使用し、必要のない領域の電源をオフした場合でも、電源がオンしている領域での消費電力を下げた最適な設計が望まれている。
【０００５】
従来技術として、特開２００４−３３５８４３号公報に記載された「半導体回路装置の設計方法」を紹介する。
【０００６】
図１は、従来の半導体回路装置１００の概略構成を示すチップ・イメージ図である。半導体回路装置１００は、異なる電源系によって電圧を供給される複数の領域を備えている。複数の領域のうちの、第１の電源系において動作する第１の領域を領域１０１とし、第２の電源系で動作する第２の領域を領域１０２とする。
【０００７】
領域１０１には、第１の電源電圧として電源電圧ＶＤＤ１が供給され、領域１０２には、第２の電源電圧として電源電圧ＶＤＤ２が供給される。これら２つの電圧は別個に制御される。半導体回路装置１００は、更に、領域１０１と領域１０２との間に設けられた境界回路１３１、１３２、１３３、１３４を備えている。
【０００８】
図２Ａは、境界回路１３１、１３２、１３３、１３４として、不定伝播防止回路２００の回路構成を示している。不定伝播防止回路２００を領域１０１と領域１０２との間に設けることによって、電源がオフ状態である領域から、電源がオンである領域へ不定信号が伝播されることを防止することができる。
【０００９】
図２Ａに示されるように、電源がオフ状態である領域１０１をオフ領域とし（領域１０１に電源電圧ＶＤＤ１が供給されない）、電源がオン状態である領域１０２をオン領域とする（領域１０２に電源電圧ＶＤＤ２が供給される）。不定伝播防止回路２００は、入力端子２０１、インバータ２０２、ＮＡＮＤゲート２０３、イネーブル端子２０４、出力端子２０５を備えている。入力端子２０１には、領域１０１からの信号が供給される。インバータ２０２は、電源電圧ＶＤＤ１により動作し、入力端子２０１に供給された信号を入力する。イネーブル端子２０４には、オン状態の領域１０２からのイネーブル信号が供給される。ＮＡＮＤゲート２０３は、電源電圧ＶＤＤ２により動作し、インバータ２０２の出力と、イネーブル端子２０４に供給されたイネーブル信号とを入力する。ＮＡＮＤゲート２０３の出力は出力端子２０５に接続されている。出力端子２０５は、オン状態にある領域１０２へ出力される。
【００１０】
図２Ｂは、不定伝播防止回路２００の真理値表であり、入力端子２０１に供給される入力信号「ｉｎｐｕｔ」と、イネーブル端子２０４に供給されるイネーブル信号「ｅｎａｂｌｅ」と、出力端子２０５から出力される出力信号「ｏｕｔｐｕｔ」との関係を示している。図２Ｂに示される「Ｘ」、「１」、「０」は信号レベルであり、信号レベル「Ｘ」は、不定であることを示している。また、信号レベル「０」は、出力電圧が「Ｌｏｗ」レベルであり、信号レベル「１」は、出力電圧が「Ｈｉｇｈ」レベルであることを示している。領域１０１がオフ状態にある場合、入力端子２０１には不定信号が供給される。
【００１１】
つまり、領域１０１がオフ状態にある場合、領域１０１から領域１０２への出力信号はＨｉｇｈかＬｏｗか確定していない。このため、領域１０２へ中間電圧的な信号が入力される。これは、領域１０２内への貫通電流を発生させる。これを抑制するため、領域１０１がオフ状態にあるとき、ＮＡＮＤゲート２０３へ入力されるイネーブル信号は「０」つまり「Ｌｏｗ」になるように制御する。イネーブル信号が「０」であることによって、出力端子２０５からの出力信号を「１」、即ち、出力電圧を「Ｈｉｇｈ」に確定し、維持することができる。これにより、オフ状態の領域からの不定信号によるオン領域における貫通電流を抑制することができる。
【００１２】
領域１０１がオン状態にある場合、イネーブル信号として「１」が供給されるように不定伝播防止回路２００は制御される。これによって、領域１０１から入力端子２０１への入力信号が「０」の場合は、出力端子２０５から領域１０２への出力信号が「０」に確定され、入力信号が「１」の場合は、出力信号は「１」に確定される。尚、入力信号が不定であり、イネーブル信号が「１」もしくは不定である場合、出力信号は不定である。
【００１３】
他の従来技術として、特開２００６−３４４６４０号公報に記載された半導体集積回路装置を簡単に紹介する。この半導体集積回路装置は、第１の電源と、それぞれ第１の電源および他の機能ブロックで使用される電源とは異なる第２〜第Ｍ＋１の電源とで動作する第１〜第Ｍの機能ブロックを備え、第１〜第Ｍの機能ブロックがひとつのチップ上に集積されている。第２〜第Ｍ＋１の電源は、互いに独立して電源が供給される。第１〜第Ｍの機能ブロックは、それぞれ独立して電源遮断の制御が可能で、それぞれ電源遮断の優先度が付与され、優先度は信号結線の関係を基に関係付けられ、信号結線は階層化されて実施される。第１〜第Ｍの機能ブロックのうち、下位の階層にある第Ｊおよび第Ｋの機能ブロックと、第Ｊおよび第Ｋの機能ブロックの上位の階層にある第Ｌの機能ブロックとの間において、第Ｊの機能ブロックから第Ｋの機能ブロックへの信号の授受を実施する際には第Ｌの機能ブロックの内部に設けられた信号中継用のバッファ回路を経由して伝達される。第Ｊの機能ブロックから第Ｌの機能ブロックへ信号を伝達する際には不定伝播防止回路を経由する。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００４−３３５８４３号公報
【特許文献２】特開２００６−３４４６４０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
従来技術では、不定伝播防止回路やイネーブル信号を出力するための回路も必要とする。このため、それらを領域間に設けることによって、チップ面積が増大してしまう。従って、チップ面積の増大を抑制し、且つ、電源がオフ状態である領域から電源がオンである領域に不定信号が伝播されることを防止することが望まれる。
【課題を解決するための手段】
【００１６】
以下に、発明を実施するための形態で使用される符号を括弧付きで用いて、課題を解決するための手段を記載する。この符号は、特許請求の範囲の記載と発明を実施するための形態の記載との対応を明らかにするために付加されたものであり、特許請求の範囲に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１７】
本発明の半導体回路装置の設計方法では、複数の電源分離領域（２１、２２、…）を備えた半導体回路装置（２０）を表す回路図データ（７１）を生成する（Ｓ１）。複数の電源分離領域（２１、２２、…）の各々には、リテンションフリップフロップを含む複数のセルが設けられている。次に、回路図データ（７１）に基づいて、複数の電源分離領域（２１、２２、…）の各々とそれに接続されるノード間の配線を表すネットリスト（７２）を生成する（Ｓ２）。複数の電源分離領域（２１、２２、…）のうちの第１電源分離領域（２１）の出力（２８、２９）が第２電源分離領域（２２）の入力に接続されているときに、第１電源分離領域（２１）に供給される第１電源（３０）をオフするものとする（Ｓ３−Ｙｅｓ）。この場合、ネットリスト（７２）に基づいて、第１電源分離領域（２１）の複数のセル（２３〜２７）の中から、第１電源分離領域（２１）の出力（２８、２９）に最も近いリテンションフリップフロップを表す第１検索セル（２３、２７）を検索する（Ｓ１０、Ｓ１１−Ｙｅｓ）（Ｓ１３、Ｓ１１−Ｙｅｓ）。ネットリスト（７２）に基づいて、第１電源分離領域（２１）の複数のセル（２３〜２７）の中から、第１検索セル（２３）と第１電源分離領域（２１）の出力（２８）との間の第２検索セル（２４）を検索する（Ｓ１０、Ｓ１１−Ｎｏ）（Ｓ１３、Ｓ１１−Ｎｏ）。第１検索セル（２３、２７）の出力に供給される電源を、第１電源（３０）から、第１電源（３０）と同じ電圧であり、且つ、常にオンしている第２電源（３１）に置き換える（Ｓ１６）。第２検索セル（２４）に供給される電源を第１電源（３０）から第２電源（３１）に置き換える（Ｓ１７）。
【発明の効果】
【００１８】
本発明の半導体集積回路装置の設計方法では、複数の電源分離領域（２１、２２、…）の各々にリテンションフリップフロップを含む複数のセルを設けておく。そこで、第１電源分離領域（２１）の出力（２８、２９）が第２電源分離領域（２２）の入力に接続されているときに、第１電源分離領域（２１）に供給される第１電源（３０）をオフする場合、第１電源分離領域（２１）内の第１検索セル（２３、２７）が表すリテンションフリップフロップの出力を確定させることにより、電源がオフ状態である領域（第１電源分離領域（２１））から電源がオンである領域（第２電源分離領域（２２））に不定信号が伝播されることを防止することができる。また、不定伝播防止回路やイネーブル信号を出力するための回路も領域間に必要としないため、チップ面積の増大を抑制することができる。
【図面の簡単な説明】
【００１９】
【図１】図１は、従来の半導体回路装置１００の概略構成を示すチップ・イメージ図である。
【図２Ａ】図２Ａは、図１の境界回路１３１、１３２、１３３、１３４として、不定伝播防止回路２００の回路構成を示している。
【図２Ｂ】図２Ｂは、不定伝播防止回路２００の真理値表を示している。
【図３】図３は、本発明の第１、２実施形態による半導体回路装置の設計方法が適用される設計システムの構成を示している。
【図４】図４は、本発明の第１、２実施形態による半導体集積回路装置の設計方法を示し、コンピュータ１の動作を示すフローチャートである。
【図５】図５は、本発明の第１、２実施形態による半導体集積回路装置の設計方法における回路図データ７１を示している。
【図６】図６は、本発明の第１、２実施形態による半導体集積回路装置の設計方法におけるネットリスト７２を示している。
【図７】図７は、本発明の第１実施形態による半導体集積回路装置の設計方法の不定信号伝播防止処理を示すフローチャートである。
【図８Ａ】図８Ａは、本発明の第１、２実施形態による半導体集積回路装置の設計方法におけるセル２３、２５、２７（リテンションフリップフロップ）の構成を示す回路図である。
【図８Ｂ】図８Ｂは、本発明の第１、２実施形態による半導体集積回路装置の設計方法における電源オフ時出力確定セル３３、３７（リテンションフリップフロップ）の構成を示す回路図である。
【図９Ａ】図９Ａは、本発明の第１、２実施形態による半導体集積回路装置の設計方法におけるセル２４、２６（バッファ）の構成を示す回路図である。
【図９Ｂ】図９Ｂは、本発明の第１、２実施形態による半導体集積回路装置の設計方法における常時オンセル３４（バッファ）の構成を示す回路図である。
【図１０Ａ】図１０Ａは、本発明の第１、２実施形態による半導体集積回路装置の設計方法におけるリテンションフリップフロップ置換リスト７３を示している。
【図１０Ｂ】図１０Ｂは、本発明の第１、２実施形態による半導体集積回路装置の設計方法における常時オンセル置換リスト７４を示している。
【図１１】図１１は、本発明の第１、２実施形態による半導体集積回路装置の設計方法において、不定伝播防止処理が適用された回路図データ７５を示している。
【図１２】図１２は、本発明の第２実施形態による半導体集積回路装置の設計方法の不定信号伝播防止処理を示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下に添付図面を参照して、本発明の実施形態による半導体回路装置の設計方法について詳細に説明する。
【００２１】
（第１実施形態）
図３は、本発明の第１実施形態による半導体集積回路装置の設計方法が適用される設計システムの構成を示している。その設計システムは、コンピュータ１と、利用者に操作される入力部２と、レイアウトデータ８を表示するための表示部３とを具備している。入力部２と表示部３は、コンピュータ１に接続されている。
【００２２】
コンピュータ１は、コンピュータプログラムを格納する記憶部５と、コンピュータプログラムを実行する実行部であるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４とを備えている。
【００２３】
設計システムは、更に、ソフトウェアである設計ツール６を具備している。設計ツール６は、記憶部５にインストールされる。この設計ツール６は、コンピュータプログラム１０と、ライブラリ（ファイル）７とを含んでいる。
【００２４】
コンピュータプログラム１０は、回路図データ生成部１１、ネットリスト生成部１２、不定伝播防止部１３、レイアウトデータ生成部１４を含んでいる。
【００２５】
図４は、本発明の第１実施形態による半導体集積回路装置の設計方法を示し、コンピュータ１の動作を示すフローチャートである。
【００２６】
まず、利用者は、入力部２を用いて設計ツール呼出指示を行い、設計ツール６は、その設計ツール呼出指示に応じて起動する。
【００２７】
設計者は、半導体集積回路を設計する前に、入力部２を用いて、ライブラリ７を構築しておく。この場合、回路図データ生成部１１は、設計者の入力部２の操作に応じて、セルを表すデータを生成する。次に、設計者は、入力部２を用いて、格納指示をコンピュータ１に与える。回路図データ生成部１１は、格納指示に応じて、セルを表すデータをライブラリ７に格納する。
【００２８】
次に、設計者は、入力部２を用いて、半導体集積回路を設計する（ステップＳ１；回路図データ生成処理）。この場合、回路図データ生成部１１は、設計者の入力部２の操作に応じて、回路図データ生成用画面を表示部３に表示する。利用者は、入力部２を用いて、所望の回路図を回路図データ生成用画面上に描く。回路図データ生成部１１は、利用者による入力部２の操作に応じて、その回路図を回路図データとして生成する。
【００２９】
図５は、上記の回路図データである回路図データ７１を示している。回路図データ７１は、複数の電源分離領域２１、２２、…を備えた半導体回路装置２０を表している。複数の電源分離領域２１、２２、…は、各々異なる電源が供給される。複数の電源分離領域２１、２２、…の各々には、複数のセルが設けられている。ここで、複数の電源分離領域２１、２２、…のうちの第１電源分離領域２１の出力が第２電源分離領域２２の入力に接続されているものとする。この場合、第１電源分離領域２１には、上記の複数のセルとして複数のセル２３〜２７が設けられている。セル２３の出力はセル２４の入力に接続されている。セル２４の出力は出力端子２８を介して第２電源分離領域２２の入力に接続されている。セル２５の出力はセル２６の入力に接続されている。セル２６の出力はセル２７の入力に接続されている。セル２７の出力は出力端子２９を介して第２電源分離領域２２の入力に接続されている。セル２３、２５、２７は、リテンションフリップフロップを表している。セル２４、２６は、バッファを表している。
【００３０】
図８Ａに示されるように、セル２３、２５、２７（リテンションフリップフロップ）は、データを入力する入力回路５０と、データを保持する保持回路と、内部クロック信号Ｃとその反転信号ＣＢとに応じてデータを出力する出力回路５３とを備えている。入力回路５０は、インバータである。保持回路は、インバータ５１、５２、トランスファーゲート５４、５５を含んでいる。出力回路５３は、インバータである。インバータ５１の出力はインバータ５２の入力に接続されている。入力回路５０の出力とインバータ５１の入力との間には、トランスファーゲート５４が接続されている。インバータ５２の出力とインバータ５１の入力との間には、トランスファーゲート５５が接続されている。インバータ５３の入力は、インバータ５１の入力に接続されている。インバータ５３の出力は、バッファ又は出力端子に接続されている。
【００３１】
また、入力回路５０と保持回路とを含む回路が複数存在し、それらが直列に接続されていてもよい。この場合、インバータ５３の入力は、複数の回路のうちの最後尾の回路内のインバータ５１の入力に接続されている。
【００３２】
入力回路５０と出力回路５３は第１電源３０に接続されている。第１電源３０は、仕様によってはオン又はオフされる。保持回路のインバータ５１、５２は第２電源３１に接続されている。第２電源３１は、第１電源３０と同じ電圧であり、且つ、常にオンしている。
【００３３】
内部クロック信号Ｃとその反転信号ＣＢは、ＮＡＮＤ回路５６とインバータ５７により実現できる。ＮＡＮＤ回路５６の出力はインバータ５７の入力が接続されている。ＮＡＮＤ回路５６は第２電源３１に接続され、インバータ５７は第１電源３０に接続されている。ＮＡＮＤ回路５６の入力には、制御信号ＣＴＲとクロック信号ＣＬＫが供給され、インバータ５７の出力は、上記の内部クロック信号Ｃとして使用される。インバータ５７の入力は、上記の反転信号ＣＢとして使用される。トランスファーゲート５４、５５は、内部クロック信号Ｃとその反転信号ＣＢに応じてオンする。
【００３４】
図９Ａに示されるように、セル２４、２６（バッファ）は、複数の回路として、直列接続された第１、２のインバータを備えている。第１のインバータは、Ｐチャネルトランジスタ６０とＮチャネルトランジスタ６１とを備えている。Ｐチャネルトランジスタ６０及びＮチャネルトランジスタ６１のゲートは、第１のインバータの入力として使用される。即ち、第１のインバータの入力は、バッファの入力端子として使用される。Ｐチャネルトランジスタ６０のドレインとＮチャネルトランジスタ６１のソースは、第１のインバータの出力として使用される。第２のインバータは、Ｐチャネルトランジスタ６２とＮチャネルトランジスタ６３とを備えている。Ｐチャネルトランジスタ６２及びＮチャネルトランジスタ６３のゲートは、第２のインバータの入力として使用される。第２のインバータの入力は、第１のインバータの出力に接続されている。Ｐチャネルトランジスタ６２のドレインとＮチャネルトランジスタ６３のソースは、第２のインバータの出力として使用される。即ち、第２のインバータの出力は、バッファの出力端子として使用される。
【００３５】
Ｎチャネルトランジスタ６１、６３のソースは接地されている。Ｐチャネルトランジスタ６０、６２のソースは第１電源３０に接続されている。Ｐチャネルトランジスタ６０、６２のバックゲートは第２電源３１に接続されている。
【００３６】
次に、ネットリスト生成部１２は、回路図データ７１に基づいて、図６に示されるようなネットリスト７２を生成する（ステップＳ２；ネットリスト生成処理）。ネットリスト７２は、複数の電源分離領域２１、２２、…の各々とそれに接続されるノード間の配線を表している。
【００３７】
図６に示されるように、ネットリスト７２において、セル２３〜２７の名称であるセル名は、それぞれ、ＲＦＦ２３、ＣＥＬ２４、ＲＦＦ２５、ＣＥＬ２６、ＲＦＦ２７であるものとする。出力端子２８、２９の名称である端子名は、それぞれＯＵＴ２８、ＯＵＴ２９であるものとする。
【００３８】
ネットリスト７２のｎ行目には、セル２４のセル名ＣＥＬ２４と、セル２４のインスタンス名としてＩＮＳ２４とが記載されている。インスタンス名ＩＮＳ２４は、セル２４の入力とセル２３の出力との接続を示すネット情報Ａ（ＮＥＴ２３２４）と、セル２４の出力と出力端子２８との接続を示すネット情報Ｙ（ＯＵＴ２８）とを含んでいる。
【００３９】
ネットリスト７２のｎ＋１行目には、セル２３のセル名ＲＦＦ２３と、セル２３のインスタンス名としてＩＮＳ２３とが記載されている。インスタンス名ＩＮＳ２３は、セル２４の入力とセル２３の出力との接続を示すネット情報Ｑ（ＮＥＴ２３２４）を含んでいる。
【００４０】
ネットリスト７２のｍ行目には、セル２７のセル名ＲＦＦ２７と、セル２７のインスタンス名としてＩＮＳ２７とが記載されている。インスタンス名ＩＮＳ２７は、セル２７の出力と出力端子２９との接続を示すネット情報Ｑ（ＯＵＴ２９）と、セル２７の入力とセル２６の出力との接続を示すネット情報Ｄ（ＮＥＴ２６２７）とを含んでいる。
【００４１】
ネットリスト７２のｍ＋１行目には、セル２６のセル名ＣＥＬ２６と、セル２６のインスタンス名としてＩＮＳ２６とが記載されている。インスタンス名ＩＮＳ２６は、セル２５の出力とセル２６の入力との接続を示すネット情報Ａ（ＮＥＴ２５２６）と、セル２６の出力とセル２７の入力との接続を示すネット情報Ｙ（ＮＥＴ２６２７）とを含んでいる。
【００４２】
ネットリスト７２のｍ＋２行目には、セル２５のセル名ＲＦＦ２５と、セル２５のインスタンス名としてＩＮＳ２５とが記載されている。インスタンス名ＩＮＳ２５は、セル２５の出力とセル２６の入力との接続を示すネット情報Ｑ（ＮＥＴ２５２６）を含んでいる。
【００４３】
ここで、仕様により、複数の電源分離領域２１、２２、…の各々に供給される第１電源３０がオフされないものとする（ステップＳ３−Ｎｏ）。この場合、レイアウトデータ生成部１４は、回路図データ７１とネットリスト７２とに基づいて、レイアウト形状を表すレイアウトデータ８を生成し、表示部３に表示する（ステップＳ５）。
【００４４】
一方、仕様により、複数の電源分離領域２１、２２、…のうちの第１電源分離領域２１に供給される第１電源３０がオフされるものとする（ステップＳ３−Ｙｅｓ）。この場合、第１電源分離領域２１から第２電源分離領域２２へ不定信号が伝播されることを防止しなければならない。
【００４５】
図７は、本発明の第１実施形態による半導体集積回路装置の設計方法の不定信号伝播防止処理（ステップＳ４）を示すフローチャートである。
【００４６】
不定伝播防止部１３は、ネットリスト７２に基づいて、第１電源分離領域２１の複数のセル２３〜２７の中から、第１電源分離領域２１の出力（出力端子２８）に最も近いセルを検索セルとして検索する。ここで、インスタンス名を用いて、検索セルを検索する（ステップＳ１０；インスタンス検索処理）。
【００４７】
出力端子２８に最も近い検索セルは、バッファを表すセル２４である（ステップＳ１１−Ｎｏ）。この場合、不定伝播防止部１３は、図１０Ｂに示されるような常時オンセル置換リスト７４を生成し、セル２４のインスタンス名ＩＮＳ２４及びセル名ＣＥＬ２４と、セル２４（バッファ）に供給される電源が第２電源３１であることを表す常時オンセル３４（図９Ｂ参照）の名称であるセル名ＣＯＮ３４とを対応付けて、常時オンセル置換リスト７４に記述する（ステップＳ１２；常時オン置換リスト生成処理）。
【００４８】
不定伝播防止部１３は、ネットリスト７２に基づいて、第１電源分離領域２１の複数のセル２３〜２７の中から、セル２４に最も近いセルを検索する。ここで、インスタンス名を用いて、検索セルを検索する（ステップＳ１３；インスタンス検索処理）。
【００４９】
セル２４に最も近い検索セルは、リテンションフリップフロップを表すセル２３である（ステップＳ１１−Ｙｅｓ）。この場合、不定伝播防止部１３は、図１０Ａに示されるようなリテンションフリップフロップ置換リスト７３を生成し、セル２３のインスタンス名ＩＮＳ２３及びセル名ＲＦＦ２３と、セル２３（リテンションフリップフロップ）の出力に供給される電源が第２電源３１であることを表す電源オフ時出力確定セル３３（図９Ａ参照）の名称であるセル名ＲＦＦ３３とを対応付けてリテンションフリップフロップ置換リスト７３に記述する（ステップＳ１４；リテンションフリップフロップ置換リスト生成処理）。
【００５０】
不定伝播防止部１３は、ネットリスト７２に基づいて、第１電源分離領域２１の複数のセル２３〜２７の中から、第１電源分離領域２１の出力（出力端子２９）に最も近いセルを検索セルとして検索する。ここで、インスタンス名を用いて、検索セルを検索する（ステップＳ１５−Ｎｏ、Ｓ１０）。
【００５１】
出力端子２９に最も近い検索セルは、リテンションフリップフロップを表すセル２７である（ステップＳ１１−Ｙｅｓ）。この場合、不定伝播防止部１３は、図１０Ａに示されるように、更に、セル２７のインスタンス名ＩＮＳ２７及びセル名ＲＦＦ２７と、セル２７（リテンションフリップフロップ）の出力に供給される電源が第２電源３１であることを表す電源オフ時出力確定セル３７（図９Ａ参照）の名称であるセル名ＲＦＦ３７とを対応付けてリテンションフリップフロップ置換リスト７３に記述する（ステップＳ１４）。
【００５２】
すべての出力端子２８、２９に対して上述の処理が終了した場合（ステップＳ１５−Ｙｅｓ）、第１電源分離領域２１の複数のセル２３〜２７の中から、第１電源分離領域２１の出力（出力端子２８、２９）に最も近いリテンションフリップフロップを表すセル２３、２７が第１検索セルとして検索されていて、その結果、上述のリテンションフリップフロップ置換リスト７３が生成されている。また、第１電源分離領域２１の複数のセル２３〜２７の中から、第１検索セル２３と出力端子２９との間のセル２４が第２検索セルとして検索されていて、上述の常時オンセル置換リスト７４が生成されている。
【００５３】
不定伝播防止部１３は、リテンションフリップフロップ置換リスト７３を参照して、第１検索セル２３、２７の出力に第２電源３１を接続し、その出力を確定させることにより、それぞれ電源オフ時出力確定セル３３、３７を生成する。具体的には、図８Ｂに示されるように、第１検索セル２３、２７の出力回路５３に接続される電源を第１電源３０から第２電源３１に置き換える。これにより、第１検索セル２３、２７は、それぞれ電源オフ時出力確定セル３３、３７に置き換えられる（ステップＳ１６；リテンションフリップフロップ変換処理）。
【００５４】
また、ステップＳ１６において、不定伝播防止部１３は、リテンションフリップフロップ置換リスト７３を参照して、ネットリスト７２に含まれる第１検索セル２３、２７のセル名ＲＦＦ２３、ＲＦＦ２７を、それぞれ電源オフ時出力確定セル３３、３７のセル名ＲＦＦ３３、ＲＦＦ３７に置き換える。
【００５５】
不定伝播防止部１３は、常時オンセル置換リスト７４を参照して、第２検索セル２４に第２電源３１を接続することにより、常時オンセル３４を生成する。具体的には、図９Ｂに示されるように、第２検索セル２４に接続される電源を第１電源３０から第２電源３１に置き換える。これにより、第２検索セル２４は、常時オンセル３４に置き換えられる（ステップＳ１７；常時オンセル変換処理）。
【００５６】
また、ステップＳ１７において、不定伝播防止部１３は、常時オンセル置換リスト７４を参照して、ネットリスト７２に含まれる第２検索セル２４のセル名ＣＥＬ２４を常時オンセル３４のセル名ＣＯＮ３４に置き換える。
【００５７】
これにより、不定信号伝播防止処理（ステップＳ４）が終了する。このとき、上述の回路図データ７１は、図１１に示されるような回路図データ７５に置き換えられている。即ち、セル２３、２４、２７がセル３３、３４、３７に置き換えられている。
【００５８】
その後、レイアウトデータ生成部１４は、回路図データ７１とネットリスト７２とに基づいて、レイアウト形状を表すレイアウトデータ８を生成し、表示部３に表示する（ステップＳ５）。
【００５９】
以上の説明により、本発明の第１実施形態による半導体集積回路装置の設計方法では、複数の電源分離領域２１、２２、…の各々にリテンションフリップフロップを含む複数のセルを設けておく。そこで、第１電源分離領域２１の出力（出力端子２８、２９）が第２電源分離領域２２の入力に接続されているときに、第１電源分離領域２１に供給される第１電源３０をオフする場合、第１電源分離領域２１の出力（出力端子２８、２９）に最も近いリテンションフリップフロップを表す第１検索セル２３、２７を検索し、第１検索セル２３と第１電源分離領域２１の出力（出力端子２８）との間の第２検索セル２４を検索する。この場合、第１検索セル２３、２７の出力に供給される電源を、第１電源３０から、第１電源３０と同じ電圧であり、且つ、常にオンしている第２電源３１に置き換え、第２検索セル２４に供給される電源を第１電源３０から第２電源３１に置き換える。このように、本発明の第１実施形態による半導体集積回路装置の設計方法では、第１電源分離領域２１内の第１検索セル２３、２７（リテンションフリップフロップ）の出力に第２電源３１を接続して、第１検索セル２３、２７の出力を確定させることにより、電源がオフ状態である領域（第１電源分離領域２１）から電源がオンである領域（第２電源分離領域２２）に不定信号が伝播されることを防止することができる。また、不定伝播防止回路やイネーブル信号を出力するための回路も領域間に必要としないため、チップ面積の増大を抑制することができる。
【００６０】
（第２実施形態）
上述のように、第１実施形態において、第１電源分離領域２１の出力（出力端子）からリテンションフリップフロップを検索する際、出力端子２８、２９とリテンションフリップフロップ間に多数のセルが存在する場合、置換時に常時オン電源（第２電源３１）に置換されるセルが増加することから、リーク電流が増加する可能性が考えられる。第２実施形態では、この場合を考慮している。第２実施形態では、第１実施形態と重複する説明については省略する。
【００６１】
図１２は、本発明の第２実施形態による半導体集積回路装置の設計方法の不定信号伝播防止処理（ステップＳ４）を示すフローチャートである。
【００６２】
不定伝播防止部１３は、ステップＳ１４を実行した後、第１検索セル２３、２７の出力に供給される電源を第１電源３０から第２電源３１に置き換えたときに増加するリーク電流の値、即ち、第１検索セル２３、２７をそれぞれ電源オフ時出力確定セル３３、３７に置き換えたときに増加するリーク電流の値を第１リーク電流値としてシミュレーションにより算出する。また、第２検索セル２４に供給される電源を第１電源３０から第２電源３１に置き換えたときに増加するリーク電流の値、即ち、第２検索セル２４を常時オンセル３４に置き換えたときに増加するリーク電流の値を第２リーク電流値としてシミュレーションにより算出する（ステップＳ９１）。
【００６３】
第１、２リーク電流値がリーク電流許容値より小さい場合（ステップＳ９２−Ｙｅｓ）、上述のステップＳ１５以降が実行される。リーク電流許容値は、あらかじめ設定されたものである。
【００６４】
一方、第１、２リーク電流値のうちの少なくとも１つの値がリーク電流許容値以上である場合（ステップＳ９２−Ｎｏ）、不定伝播防止部１３は、リテンションフリップフロップ置換リスト７３に記述された第１検索セルに関する内容の中から、該当する第１検索セルに関する内容を削除する。ここで、該当する第１検索セルは第１検索セル２３であるものとする。また、不定伝播防止部１３は、常時オンセル置換リスト７４に記述された第２検索セルに関する内容の中から、該当する第２検索セルに関する内容を削除する。ここで、該当する第１検索セルを第１検索セル２３とした場合、該当する第２検索セルは、第１検索セル２３の出力に接続された第２検索セル２４であるものとする。これにより、該当する第１検索セル（第１検索セル２３）、該当する第２検索セル（第２検索セル２４）についてステップＳ１６、Ｓ１７は実行されない。この場合、第１電源分離領域２１から第２電源分離領域２２へ不定信号が伝播されてしまうため、不定伝播防止部１３は、第１電源分離領域２１に供給される第１電源３０をオフしているときに第１電源分離領域２１から第２電源分離領域２２へ不定信号が伝播されることを防止するために、第１電源分離領域２１の出力（出力端子２８、２９）と第２電源分離領域２２の入力との間に前述の不定伝播防止回路２００を設ける（ステップＳ９３）。その後、上述のステップＳ１５以降が実行される。
【００６５】
以上の説明により、本発明の第２実施形態による半導体集積回路装置の設計方法では、第１検索セル２３、２７をそれぞれ電源オフ時出力確定セル３３、３７に置き換えたときに増加するリーク電流の値や、第２検索セル２４に供給される電源を第１電源３０から第２電源３１に置き換えたときに増加するリーク電流の値を算出し、それらの値がリーク電流許容値以上の場合だけ領域２１、２２間に前述の不定伝播防止回路を設ける。これにより、リーク電流が増加することを防止することができる。
【符号の説明】
【００６６】
１    コンピュータ、
２    入力部、
３    表示部、
４    ＣＰＵ、
５    記憶部、
６    設計ツール、
７    ライブラリ、
８    レイアウトデータ、
１０    コンピュータプログラム、
１１    回路図データ生成部、
１２    ネットリスト生成部、
１３    不定伝播防止部、
１４    レイアウトデータ生成部、
２０    半導体回路装置、
２１    電源分離領域、
２２    電源分離領域、
２３    セル（リテンションフリップフロップ；検索セル）、
２４    セル（検索セル）、
２５    セル（リテンションフリップフロップ）、
２６    セル、
２７    セル（リテンションフリップフロップ；検索セル）、
２８    出力端子、
２９    出力端子、
３０    電源、
３１    電源、
３３    電源オフ時出力確定セル（リテンションフリップフロップ）、
３４    常時オンセル、
３７    電源オフ時出力確定セル（リテンションフリップフロップ）、
５０    インバータ（入力回路）、
５１    インバータ（保持回路内）、
５２    インバータ（保持回路内）、
５３    インバータ（出力回路）、
５４    トランスファーゲート（保持回路内）、
５５    トランスファーゲート（保持回路内）、
５６    ＮＡＮＤ回路（クロック回路）、
５７    インバータ（クロック回路）、
５８    インバータ（出力回路）、
６０    Ｐチャネルトランジスタ（第１のインバータ内）、
６１    Ｎチャネルトランジスタ（第１のインバータ内）、
６２    Ｐチャネルトランジスタ（第２のインバータ内）、
６３    Ｎチャネルトランジスタ（第２のインバータ内）、
６４    Ｐチャネルトランジスタ（第１のインバータ内）、
６５    Ｐチャネルトランジスタ（第２のインバータ内）、
７１    回路図データ、
７２    ネットリスト、
７３    リテンションフリップフロップ置換リスト、
７４    常時オンセル置換リスト、
７５    回路図データ、
１００    半導体回路装置、
１０１    第１の領域、
１０２    第２の領域、
１３１、１３２、１３３、１３４    境界回路、
２００    不定伝播防止回路、
２０１    入力端子、
２０２    インバータ、
２０３    ＮＡＮＤゲート、
２０４    イネーブル端子、
２０５    出力端子
【図１】
2010218441.tif 000003
【図２Ａ】
2010218441.tif 000004
【図２Ｂ】
2010218441.tif 000005
【図３】
2010218441.tif 000006
【図４】
2010218441.tif 000007
【図５】
2010218441.tif 000008
【図６】
2010218441.tif 000009
【図７】
2010218441.tif 000010
【図８Ａ】
2010218441.tif 000011
【図８Ｂ】
2010218441.tif 000012
【図９Ａ】
2010218441.tif 000013
【図９Ｂ】
2010218441.tif 000014
【図１０Ａ】
2010218441.tif 000015
【図１０Ｂ】
2010218441.tif 000016
【図１１】
2010218441.tif 000017
【図１２】
2010218441.tif 000018