(57)【要約】【課題】セル単位での電源遮断の設計を可能とし、かつ、設計者の労力軽減及び既存のＲＴＬへの適用や回路仕様に精通していない第三者による設計の容易化を実現できる半導体集積回路設計支援システム及びプログラムを提供する。【解決手段】イネーブル信号をセル単位で検出し、検出したイネーブル信号でデータ保持が制御されるセルを、電源遮断しても当該データの保持が可能な電源遮断時データ保持回路に置き換え、置き換えた回路の全ての入力に電源境界セルを挿入し、さらに当該イネーブル信号で電源遮断が制御される電源制御部を生成し、検出されたイネーブル信号、電源遮断時データ保持回路及び電源制御部をそれぞれ接続することにより、電源遮断時のデータ保持を考慮した回路構成要素の相互関係を示すネットリストを生成する。【選択図】図１
2010211591.tif 000002
【特許請求の範囲】
【請求項１】
設計対象の半導体集積回路の回路構成要素の相互関係を示すネットリスト、若しくは、前記半導体集積回路の回路仕様を記述したレジスタ転送レベルを基に、データ保持を制御するイネーブル信号をセル単位で検出するイネーブル信号検出手段と、
前記イネーブル信号検出手段が検出したイネーブル信号によりデータ保持が制御されるセルを、電源遮断しても前記データの保持が可能な電源遮断時データ保持回路に置き換える回路置き換え手段と、
前記電源遮断時データ保持回路の全ての入力に対して異電源間の双方向の変換が可能な電源境界セルを挿入する電源境界セル挿入手段と、
前記イネーブル信号検出手段で検出したイネーブル信号により電源遮断が制御される電源制御部を生成する電源制御部生成手段と、
前記イネーブル信号検出手段で検出されたイネーブル信号、前記電源境界セルが入力に挿入された電源遮断時データ保持回路、及び、前記電源制御部生成手段で生成された電源制御部をそれぞれ接続することにより、電源遮断時のデータ保持を考慮した回路構成要素の相互関係を示すネットリストを生成する電源接続手段とを備えた半導体集積回路設計支援システム。
【請求項２】
電源遮断時データ保持回路の入力から逐次接続するセルを順に遡って前段セルの入力のみに出力が接続するセルを、前記前段セルのみに影響を与えるセルとして探索してゆき、前段セルの入力以外に出力が接続するセルが検出されると、当該セルを前記前段セル以外にも影響を与えるセルと判定する影響確認手段を備え、
電源境界セル挿入手段は、前記影響確認手段で前段セル以外にも影響を与えると判定されたセルの出力と前記前段セルの入力との間に電源境界セルを挿入し、
電源接続手段は、回路置き換え手段が置き換えた前記電源遮断時データ保持回路から前記入力に電源境界セルが挿入されたセルまでを新たな電源遮断時データ保持回路として、電源遮断時のデータ保持を考慮した回路構成要素の相互関係を示すネットリストを生成することを特徴とする請求項１記載の半導体集積回路設計支援システム。
【請求項３】
イネーブル信号検出手段で検出されたイネーブル信号の中から同一のイネーブル信号を抽出する同一イネーブル信号抽出手段と、
前記同一イネーブル信号抽出手段で抽出された同一イネーブル信号でデータ保持が制御される複数のセルを、回路置き換え手段で電源遮断時データ保持回路にそれぞれ置き換えた結果を入力し、これら電源遮断時データ保持回路を電源を共有する接続関係に変更して１つの階層にまとめる同一階層化手段と、
前記同一イネーブル信号抽出手段で抽出された同一イネーブル信号で前記電源の遮断を制御する電源制御部を生成する電源制御部共有化手段とを備え、
電源接続手段は、前記同一階層化手段により前記電源を共有する接続関係に変更された複数の電源遮断時データ保持回路を新たな電源遮断時データ保持回路として、前記同一イネーブル信号抽出手段で抽出されたイネーブル信号及び前記電源制御部共有化手段で生成された電源制御部を接続することにより、電源遮断時のデータ保持を考慮した回路構成要素の相互関係を示すネットリストを生成することを特徴とする請求項１記載の半導体集積回路設計支援システム。
【請求項４】
イネーブル信号検出手段で検出されたイネーブル信号の長さを抽出するイネーブル信号長抽出手段と、
前記イネーブル信号長抽出手段で抽出したイネーブル信号の長さと所定の閾値との比較結果に応じて実施可否を選択する実施選択手段とを備え、
前記実施選択手段による実施可否の選択結果に応じて、回路置き換え手段、電源境界セル挿入手段、電源制御部生成手段、及び電源接続手段を動作させて、電源遮断時のデータ保持を考慮した回路構成要素の相互関係を示すネットリストを生成することを特徴とする請求項１記載の半導体集積回路設計支援システム。
【請求項５】
請求項１から請求項４のうちのいずれか１項記載の半導体集積回路設計支援システムとしてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体集積回路の設計において、部分的に電源を遮断するネットリストを自動的に生成する半導体集積回路設計支援システム及びこのシステムとしてコンピュータを機能させるためのプログラムに関するものである。
【背景技術】
【０００２】
半導体集積回路の消費電力を削減する従来の代表的な設計方法として、クロックを止めるクロックゲーティングと、部分的に電源自体を遮断するパワーゲーティングとがある。クロックゲーティングは、ＲＴＬ（Register Transfer Level；レジスタ転送レベル）記述が可能なことから、設計者が意図的に回路を作成することにより広く利用されている。例えば、ネットリストにクロックゲーティング回路を自動的に生成するツールが製品化されている（非特許文献１参照）。
【０００３】
しかしながら、クロックゲーティングでは、近年のプロセス微細化によって生じるリーク電流の増加には対応できない。この点、パワーゲーティングでは、リーク電流であっても削除することができ、消費電力の削減効果が大きい。このため、設計者が指定（意図）した回路中のブロックを電源遮断する際、パワーゲーティングは広く利用されている。
【０００４】
ただし、パワーゲーティングは、ＲＴＬ記述ができず、電源オフするブロックの境界にセルを人手で挿入しなければならないことから、回路中で細かい単位で電源遮断する場合に利用しにくく、利用したとしても多大な労力が必要である。
この不具合を解消する従来の技術として、例えば、特許文献１には、動作レベルの回路記述情報（例えば、Ｃ言語で記述されたもの）から、高位動作合成を用いて自動的にパワーゲーティング回路を生成し回路中に挿入接続するシステムが提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１０２６１９号公報
【非特許文献】
【０００６】
【非特許文献１】「Ｐｏｗｅｒ  Ｃｏｍｐｉｌｅｒ  Ｄａｔａｓｈｅｅｔ」，［ｏｎｌｉｎｅ］，日本シノプシス株式会社，［平成２１年２月５日検索］，インターネット＜ｈｔｔｐ：／／ｗｗｗ．ｓｙｎｏｐｓｙｓ．ｃｏ．ｊｐ／ｐｒｏｄｕｃｔｓ／Ｐｏｗｅｒ＿Ｃｏｍｐｉｌｅｒ／ｐｏｗｅｒ＿ｃｏｍｐｉｌｅｒ．ｐｄｆ＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来の半導体集積回路設計では、設計者がある程度意図したブロック単位のパワーゲーティングしかできず、さらに詳細な単位で電源遮断することができなかった。このため、詳細な単位（例えば、セル単位）の電源遮断に対応するには、設計者がネットリストを電源遮断可能に改修する等の人手による作業が必要であり、非常に手間がかかっていた。
また、従来の回路設計ツールでは、既存のＲＴＬ（例えば、流用ＩＰ）への適用や回路仕様に精通していないと、電源遮断の設計に対応することは困難であった。
【０００８】
この発明は、上記のような課題を解決するためになされたもので、イネーブル信号を利用して電源遮断時にデータを保持すべき回路をセル単位で全て検出して、検出した回路を自動的にパワーゲーティング回路へ置換したネットリストを自動生成することで、より詳細なセル単位での電源遮断の設計を可能とし、かつ、設計者の労力軽減及び既存のＲＴＬへの適用や回路仕様に精通していない第三者であっても電源遮断の設計を容易に実行することができる半導体集積回路設計支援システム及びこのシステムとしてコンピュータを機能させるためのプログラムを得ることを目的とする。
【課題を解決するための手段】
【０００９】
この発明に係る半導体集積回路設計支援システムは、設計対象の半導体集積回路の回路構成要素の相互関係を示すネットリスト、若しくは、半導体集積回路の回路仕様を記述したレジスタ転送レベルを基に、データ保持を制御するイネーブル信号をセル単位で検出するイネーブル信号検出手段と、イネーブル信号検出手段が検出したイネーブル信号によりデータ保持が制御されるセルを、電源遮断しても前記データの保持が可能な電源遮断時データ保持回路に置き換える回路置き換え手段と、電源遮断時データ保持回路の全ての入力に対して異電源間の双方向の変換が可能な電源境界セルを挿入する電源境界セル挿入手段と、イネーブル信号検出手段で検出したイネーブル信号により電源遮断が制御される電源制御部を生成する電源制御部生成手段と、イネーブル信号検出手段で検出されたイネーブル信号、電源境界セルが入力に挿入された電源遮断時データ保持回路、及び、電源制御部生成手段で生成された電源制御部をそれぞれ接続することにより、電源遮断時のデータ保持を考慮した回路構成要素の相互関係を示すネットリストを生成する電源接続手段とを備えるものである。
【発明の効果】
【００１０】
この発明によれば、ネットリスト等から設計対象の半導体集積回路内で、データ保持を制御するイネーブル信号をセル単位で検出し、検出したイネーブル信号でデータ保持が制御されるセルを、電源遮断しても当該データの保持が可能な電源遮断時データ保持回路に置き換え、電源遮断時データ保持回路の全ての入力に電源境界セルを挿入し、さらに当該イネーブル信号で電源遮断が制御される電源制御部を生成し、検出されたイネーブル信号、電源境界セルが入力に挿入された電源遮断時データ保持回路、及び、電源制御部生成手段で生成された電源制御部をそれぞれ接続することにより、電源遮断時のデータ保持を考慮した回路構成要素の相互関係を示すネットリストを生成する。
このように構成することにより、設計者の労力を著しく低減することができ、ブロック単位ではなく、セル単位の詳細な電源遮断の設計が可能となり、従来と比較して格段に電力消費を削減することができる。また、ネットリスト等のイネーブル信号を自動検出するので、既存のＲＴＬ（例えば、流用ＩＰ）への適用や該回路仕様に精通していない第三者であっても電源遮断の設計を容易に実行することができる。
【図面の簡単な説明】
【００１１】
【図１】この発明の実施の形態１による半導体集積回路設計支援システムの構成を示すブロック図である。
【図２】実施の形態１の半導体集積回路設計支援システムによる動作の流れを示すフローチャートである。
【図３】実施の形態１によるネットリストの変換処理の概要を示す図である。
【図４】この発明の実施の形態２による半導体集積回路設計支援システムの構成を示すブロック図である。
【図５】実施の形態２の半導体集積回路設計支援システムによる動作の流れを示すフローチャートである。
【図６】実施の形態２によるネットリストの変換処理の概要を示す図である。
【図７】この発明の実施の形態３による半導体集積回路設計支援システムの構成を示すブロック図である。
【図８】実施の形態３の半導体集積回路設計支援システムによる動作の流れを示すフローチャートである。
【図９】実施の形態３によるネットリストの変換処理の概要を示す図である。
【図１０】この発明の実施の形態４による半導体集積回路設計支援システムの構成を示すブロック図である。
【図１１】実施の形態４の半導体集積回路設計支援システムによる動作の流れを示すフローチャートである。
【発明を実施するための形態】
【００１２】
実施の形態１．
図１は、この発明の実施の形態１による半導体集積回路設計支援システムの構成を示すブロック図である。図１において、実施の形態１による半導体集積回路設計支援システム１は、記憶部２に格納される電源遮断が考慮されていない通常のネットリストを入力し、これを電源遮断可能に自動的に改修して電源遮断可能なネットリストを記憶部３へ出力する。また、半導体集積回路設計支援システム１は、イネーブル信号検出手段１１、回路置き換え手段１２、電源境界セル挿入手段１３、電源制御部生成手段１４及び電源接続手段１５を備える。
【００１３】
イネーブル信号検出手段１１は、記憶部２から入力したネットリストから回路のデータ保持を制御するイネーブル信号を検出する手段である。回路置き換え手段１２は、イネーブル信号検出手段１１で検出されたイネーブル信号によってデータ保持が制御される上記ネットリスト上の回路部分を電源遮断時にデータ保持が可能な回路（以下、電源遮断時データ保持回路と呼ぶ）に置き換える手段である。
【００１４】
電源境界セル挿入手段１３は、回路置き換え手段１２によって置き換えられた電源遮断時データ保持回路の全ての入力端子に電源境界セルを挿入する手段である。なお、電源境界セルとは、例えば異なる電源から供給される電圧間の双方向の変換が可能なセルであり、レベルシフタ等が挙げられる。
【００１５】
電源制御部生成手段１４は、イネーブル信号検出手段１１で検出されたイネーブル信号により電源遮断の制御が可能な電源制御部を生成する手段である。電源接続手段１５は、イネーブル信号検出手段１１で検出されたイネーブル信号の経路、回路置き換え手段１２により置き換えられた電源遮断時データ保持回路及び電源制御部生成手段１４で生成された電源制御部をそれぞれ接続したネットリストを生成し、電源遮断可能なネットリストとして記憶部３へ出力する手段である。
【００１６】
イネーブル信号検出手段１１、回路置き換え手段１２、電源境界セル挿入手段１３、電源制御部生成手段１４及び電源接続手段１５は、この発明の趣旨に従う半導体集積回路設計支援用プログラムをコンピュータに読み込ませ、そのＣＰＵに実行させることにより、ハードウエアとソフトウエアが協働した具体的な手段として、当該コンピュータ上で実現することができる。
【００１７】
また、通常のネットリストを格納する記憶部２、電源遮断可能なネットリストを格納する記憶部３は、上記コンピュータが備える記憶装置（例えば、ハードディスク装置や外部記憶メディア等）あるいは上記コンピュータと通信接続可能な他のコンピュータの記憶装置に構築することができる。
【００１８】
なお、以降の説明において、この発明による半導体集積回路設計支援システム１を具現化するコンピュータ自体の構成及びその基本的な機能については、当業者が当該技術分野の技術常識に基づいて容易に認識できるものであり、この発明の本質に直接関わるものではないので詳細な記載を省略する。
【００１９】
次に動作について説明する。
図２は、実施の形態１の半導体集積回路設計支援システムによる動作の流れを示すフローチャートであり、図３は、実施の形態１によるネットリストの変換処理の概要を示す図である。なお、以降の説明では、システムの構成については図１を参照し、処理の流れ及びその概要は図２及び図３を参照することとする。
【００２０】
先ず、半導体集積回路設計支援システム１は、記憶部２から消費電力を削減したい通常のネットリストを入力する（ステップＳＴ１）。イネーブル信号検出手段１１では、入力したネットリストから、回路のデータ保持を制御するイネーブル信号をセル単位で全て検出する（ステップＳＴ２）。なお、セル単位でイネーブル信号を検出する方法としては、既存の技術（例えば、市販のツール）を用いてもよく、詳細な説明は省略する。
【００２１】
図３（ａ）に示すフリップフロップ回路（以下、ＦＦと呼ぶ）は、そのデータ入力ポートに接続しているセレクタにおいて、入力ポートＤａｔａ  Ｉｎからの新たなデータ入力と、出力ポートＤａｔａ  Ｏｕｔから出力される保持しているデータとがイネーブル信号ｅｎａｂｌｅの値に応じて切り替えられる。ステップＳＴ２では、イネーブル信号検出手段１１が、ネットリストをセル単位で探索することで、イネーブル信号ｅｎａｂｌｅを全て検出する。
【００２２】
回路置き換え手段１２は、イネーブル信号検出手段１１によってイネーブル信号が検出されると、検出された各イネーブル信号でデータ保持が制御される回路を特定し、当該回路を電源遮断時であってもデータ保持が可能な回路（電源遮断時データ保持回路）に置き換える（ステップＳＴ３）。図３の例では、図３（ａ）のイネーブル信号ｅｎａｂｌｅでデータ保持が制御されるＦＦが電源遮断時データ保持回路として特定され、このＦＦが、図３（ｂ）のＳＲＰＧ−ＦＦ（State Retention Power Gating-FF；電源遮断前の状態を保持するＦＦ）に置換される。なお、ＳＲＰＧ−ＦＦ以外にも、電源遮断時にデータ保持が可能であれば、別のセルや回路であっても構わない。
【００２３】
電源境界セル挿入手段１３は、回路置き換え手段１２で電源遮断時データ保持回路への置き換えが行われると、当該電源遮断時データ保持回路の入力ポートに電源境界セルを挿入する（ステップＳＴ４）。この挿入処理は、電源遮断時データ保持回路における全ての入力ポートに電源境界セルが挿入されるまで繰り返される（ステップＳＴ５）。図３の例では、図３（ｂ）に示すように、ＳＲＰＧ−ＦＦのデータ入力ポートと接続する経路上に電源境界セルが挿入され、さらにクロック信号ｃｌｏｃｋが入力されるクロック入力ポートと接続する経路上に電源境界セルが挿入される。
【００２４】
一方、電源制御部生成手段１４は、イネーブル信号検出手段１１で検出されたイネーブル信号によって電源遮断の制御を行う電源制御部を生成する（ステップＳＴ６）。図３（ｂ）では、イネーブル信号ｅｎａｂｌｅに応じて電源ＶＤＤからの電源供給と接地電位点ＧＮＤとの間で接続元を切り替えるセレクタを備えた電源制御部が生成される。なお、上記電源制御部以外にも、イネーブル信号検出手段１１で検出されたイネーブル信号で電源遮断を制御する構成であれば、他の回路構成であっても構わない。
【００２５】
電源接続手段１５は、電源制御部生成手段１４で電源制御部が生成されると、当該電源制御部と、イネーブル信号検出手段１１で検出されたイネーブル信号の信号経路とを接続する（ステップＳＴ７）。図３（ｂ）の例では、電源制御部中のセレクタの制御信号入力にイネーブル信号ｅｎａｂｌｅの信号経路が接続される。
【００２６】
次に、電源接続手段１５は、ステップＳＴ５までの処理で全ての入力ポートに電源境界セルが挿入された電源遮断時データ保持回路と、ステップＳＴ７の処理を施した電源制御部とを接続する（ステップＳＴ８）。図３（ｂ）の例では、ＳＲＰＧ−ＦＦにおける通常の電源ポートＮＯＲに上記電源制御部のセレクタの出力が接続され、電源ＶＤＤを入力するセレクタの入力経路が、ＳＲＰＧ−ＦＦの電源遮断時用のサブ電源ポートＳＵＢ及び各電源境界セルにそれぞれ接続される。これにより、イネーブル信号ｅｎａｂｌｅに応じて、電源ＶＤＤからＳＲＰＧ−ＦＦへの電源が遮断されると、サブ電源ポートＳＵＢから供給される電源ＶＤＤによってＳＲＰＧ−ＦＦのデータ保持が維持される。
【００２７】
上述した一連の処理は、記憶部２から入力したネットリストにおいて、イネーブル信号検出手段１１で検出したイネーブル信号で特定される全ての回路に対して実行され、電源遮断可能なネットリストとして電源接続手段１５から記憶部３へ出力される。
【００２８】
なお、上述した説明では、設計対象の半導体集積回路の回路構成要素の相互関係を示すネットリストを入力する場合を示したが、半導体集積回路設計支援システム１に論理合成手段を設けることにより、設計対象の半導体集積回路の回路仕様を記述したＲＴＬを入力して上記と同様の処理を実施することもできる。この場合、ＲＴＬ記述を一旦ネットリストに変換してから上記と同様に処理する構成、及び、ＲＴＬ記述そのものからイネーブル信号を検出する手段を設けた構成の２通りが考えられる。
【００２９】
以上のように、この実施の形態１によれば、図１に示すように半導体集積回路設計支援システム１を構成し、図２に示すように動作させることにより、イネーブル信号をセル単位で全て検出し、検出されたイネーブル信号に応じてデータ保持が制御される全てのセルをパワーゲーティング化したネットリストを自動的に生成するので、設計者の労力を著しく低減することができ、ブロック単位ではなく、セル単位の詳細な電源遮断の設計が可能である。また、ネットリストのイネーブル信号を自動検出するため、既存のＲＴＬ（例えば、流用ＩＰ）への適用や該回路仕様に精通していない第三者であっても電源遮断設計を容易に実行できる。
【００３０】
実施の形態２．
この実施の形態２では、電源遮断時データ保持回路への置換による影響を確認し、電源遮断時データ保持回路のみに影響を与える回路（セル）も当該電源遮断時データ保持回路に含めることで、電源遮断時データ保持回路の範囲を自動的に広げるようにしたものである。
【００３１】
図４は、この発明の実施の形態２による半導体集積回路設計支援システムの構成を示すブロック図である。図４において、実施の形態２による半導体集積回路設計支援システム１Ａは、上記実施の形態１で図１を用いて説明した構成に加え、影響確認手段１６を備える。影響確認手段１６は、回路置き換え手段１２により置換された電源遮断時データ保持回路の全ての入力ポートに接続する経路をそれぞれ遡り、前記経路上の回路（セル）が、この電源遮断時データ保持回路のみに影響を与えているか否かを確認する手段である。なお、影響確認手段１６以外の構成は、図１と同様であるので説明を省略する。
【００３２】
イネーブル信号検出手段１１、回路置き換え手段１２、電源境界セル挿入手段１３、電源制御部生成手段１４、電源接続手段１５及び影響確認手段１６は、この発明の趣旨に従う半導体集積回路設計支援用プログラムをコンピュータに読み込ませ、そのＣＰＵに実行させることにより、ハードウエアとソフトウエアが協働した具体的な手段として、当該コンピュータ上で実現することができる。
【００３３】
次に動作について説明する。
図５は、実施の形態２の半導体集積回路設計支援システムによる動作の流れを示すフローチャートであり、図６は、実施の形態２によるネットリストの変換処理の概要を示す図である。なお、以降の説明では、システムの構成については図４を参照し、処理の流れ及びその概要は図５及び図６を参照することとする。
なお、図５において、ステップＳＴ１からステップＳＴ３まで、ステップＳＴ５、ステップＳＴ６からステップＳＴ８までの処理は、上記実施の形態１で図２を用いて説明した処理と同様であるので説明を省略する。
【００３４】
影響確認手段１６は、ステップＳＴ３において回路置き換え手段１２によりデフォルトの電源遮断時データ保持回路への置き換えが行われると、当該デフォルトの電源遮断時データ保持回路の入力ポートに接続する接続元のセルまでネットリスト上で遡り、この接続元セルの出力が、当該デフォルトの電源遮断時データ保持回路のみに影響を与えているか否かを確認する（ステップＳＴ４−１）。ここで、他の回路に影響を与えているか否かの確認方法としては、例えば、接続元セルの出力端子が、デフォルトの電源遮断時データ保持回路以外のセルに接続されているか否かによって判断する。
【００３５】
図６の例では、上記実施の形態１と同様に、図６（ａ）に示すＦＦが、回路置き換え手段１２によってデフォルトの電源遮断時データ保持回路であるＳＲＰＧ−ＦＦへ置き換えられ、影響確認手段１６は、図６（ｂ）に示すＳＲＰＧ−ＦＦの入力ポートから接続元へ遡って探索する。これにより、入力ポートＤａｔａ  Ｉｎでは、ＡＮＤセルａが接続元セルとして特定され、クロック入力ポートでは、セルｂが接続元セルとして特定される。
【００３６】
図６（ｂ）において、ＡＮＤセルａの出力は、ＳＲＰＧ−ＦＦの入力ポートにのみ接続しているので、影響確認手段１６は、ＳＲＰＧ−ＦＦのみに影響を与えていると判断し（ステップＳＴ４−１；ＹＥＳ）、ステップＳＴ４−２の処理に移行する。
一方、セルｂはその出力がクロック信号ｃｌｏｃｋを必要とする他の回路にも接続しているので、影響確認手段１６は、ＳＲＰＧ−ＦＦ以外にも影響を与えていると判断し（ステップＳＴ４−１；ＮＯ）、ステップＳＴ４−３の処理に移行する。
【００３７】
ステップＳＴ４−２において、影響確認手段１６は、デフォルトの電源遮断時データ保持回路のみに影響を与えている接続元セルの全ての入力をさらに遡り、当該セルの入力に接続する接続元セルの出力が、その接続先である上記セルのみに影響を与えているか否かを確認する。
【００３８】
図６（ｂ）では、先ずＡＮＤセルａの一方の入力に接続するＯＲセルｃが特定される。このＯＲセルｃの出力は、ＡＮＤセルａ以外の他の回路にも接続しているので、影響確認手段１６は、ＡＮＤセルａ以外にも影響を与えていると判断し（ステップＳＴ４−２；ＮＯ）、ステップＳＴ４−３の処理に移行する。
【００３９】
一方、デフォルトの電源遮断時データ保持回路のみに影響を与えている接続元セルの入力に接続するセルの出力が当該接続元セルのみに接続している場合、影響確認手段１６は、当該接続元セルのみに影響を与えていると判断し（ステップＳＴ４−２；ＹＥＳ）、このセルの入力側をさらに遡り、接続元セル以外にも出力が接続している、即ちその他の回路にも影響を与えているセルが見出されるまで、ステップＳＴ４−２の処理を繰り返す。
【００４０】
図６（ｂ）の例では、ＡＮＤセルａの他方の入力に、雲マークで表記した回路ｄが接続しているが、その出力はＡＮＤセルａの入力にのみ接続しており、さらにステップＳＴ４−２の処理が繰り返される。また、当該雲マークで表記した回路ｄの入力はその他の回路にも接続しており、前段に配置された唯一つのセルの出力が接続していない。このため、ステップＳＴ４−３の処理に移行する。接続元セル以外にも影響を与えるセルを特定する情報は、影響確認手段１６から電源境界セル挿入手段１３へ通知される。
【００４１】
ステップＳＴ４−３において、電源境界セル挿入手段１３は、影響確認手段１６から接続元セル以外にも影響を与えるセルに関する情報が通知されると、当該セルの出力とその接続元セルの入力との間に電源境界セルを挿入する。以上説明したステップＳＴ４−１からステップＳＴ４−３までの処理を、デフォルトの電源遮断時データ保持回路の全ての入力ポートに対して実行する（ステップＳＴ５）。これにより、図６（ｂ）に示すように、ＡＮＤセルａの一方の入力とＯＲセルｂの出力との間、雲マークで表記した回路ｄの入力経路上、ＳＲＰＧ−ＦＦのクロック入力ポートとセルｂの出力との間に電源境界セルがそれぞれ挿入され、これら電源境界セルまでが、新たな電源遮断時データ保持回路として規定される。
【００４２】
以上のように、この実施の形態２によれば、電源遮断が可能なセル（デフォルトの電源遮断時データ保持回路）の入力から遡って、当該セルのみに影響するセルを検出することで、電源遮断が可能なセルに含まれるセルを自動的に特定すること（デフォルトの電源遮断時データ保持回路を含む新たに電源遮断時データ保持回路にできる範囲を特定すること）ができることから、設計者の手を煩わすことなく、上記実施の形態１よりもさらに電力を削減することが可能となる。
【００４３】
実施の形態３．
この実施の形態３では、同一のイネーブル信号を利用して電源遮断が制御される複数の電源遮断時データ保持回路を同一階層化し、電源制御部を共有する構成について述べる。
【００４４】
図７は、この発明の実施の形態３による半導体集積回路設計支援システムの構成を示すブロック図である。図７において、実施の形態３による半導体集積回路設計支援システム１Ｂは、上記実施の形態１で図１を用いて説明した構成に加え、同一イネーブル信号抽出手段１７、同一階層化手段１８及び電源制御部共有化手段１９を備える。
【００４５】
同一イネーブル信号抽出手段１７は、イネーブル信号検出手段１１で検出された複数のイネーブル信号の中から同一の信号を抽出する手段である。同一階層化手段１８は、同一イネーブル信号抽出手段１７で検出した同一のイネーブル信号でデータ保持が制御される複数の回路を、回路置き換え手段１２により電源遮断時データ保持回路にそれぞれ置換した結果に対し、これら電源遮断時データ保持回路が１つの階層（同一のイネーブル信号で電源遮断が制御される電源制御部を共有する階層）となるようにネットリストを変更する手段である。
【００４６】
電源制御部共有化手段１９は、電源制御部生成手段１４で生成した電源制御部を、同一階層化手段１８で同一階層化した複数の電源遮断時データ保持回路で使用される、同一のイネーブル信号で電源遮断を制御する電源制御部に変更し、当該電源制御部を共有化する手段である。なお、同一イネーブル信号抽出手段１７、同一階層化手段１８及び電源制御部共有化手段１９以外の構成は、図１と同様であるので説明を省略する。
【００４７】
イネーブル信号検出手段１１、回路置き換え手段１２、電源境界セル挿入手段１３、電源制御部生成手段１４、電源接続手段１５、同一イネーブル信号抽出手段１７、同一階層化手段１８及び電源制御部共有化手段１９は、この発明の趣旨に従う半導体集積回路設計支援用プログラムをコンピュータに読み込ませ、そのＣＰＵに実行させることにより、ハードウエアとソフトウエアが協働した具体的な手段として、当該コンピュータ上で実現することができる。
【００４８】
次に動作について説明する。
図８は、実施の形態３の半導体集積回路設計支援システムによる動作の流れを示すフローチャートであり、図９は、実施の形態３によるネットリストの変換処理の概要を示す図である。なお、以降の説明では、システムの構成については図７を参照し、処理の流れ及びその概要は図８及び図９を参照することとする。
なお、図８において、ステップＳＴ１からステップＳＴ５まで、ステップＳＴ６、ステップＳＴ７からステップＳＴ８までの処理は、上記実施の形態１で図２を用いて説明した処理と同様であるので説明を省略する。
【００４９】
同一階層化手段１８は、電源境界セル挿入手段１３によって電源遮断時データ保持回路の全ての入力ポートに関して電源境界セルが挿入されると、ステップＳＴ２で検出されたイネーブル信号の中から同一イネーブル信号抽出手段１７が抽出した同一のイネーブル信号でデータ保持が制御される複数の回路を、ステップＳＴ３において回路置き換え手段１２が電源遮断時データ保持回路にそれぞれ置換した結果に対し、これら電源遮断時データ保持回路が１つの階層となるようにネットリストを変更する（ステップＳＴ５−１）。
【００５０】
図９の例では、図９（ａ）に示すように、２つのＦＦ１及びＦＦ２が、同一のイネーブル信号ｅｎａｂｌｅでデータ保持が制御されており、ＦＦ１及びＦＦ２が、回路置き換え手段１２によって、ＳＲＰＧ−ＦＦ１及びＳＲＰＧ−ＦＦ２にそれぞれ置換される。同一階層化手段１８では、ＳＲＰＧ−ＦＦ１及びＳＲＰＧ−ＦＦ２について、同一のイネーブル信号で電源遮断が制御される電源制御部を共有するようにネットリストを変更する。
例えば、同一のイネーブル信号ｅｎａｂｌｅで電源制御部から電源供給されるように、ＳＲＰＧ−ＦＦ１及びＳＲＰＧ−ＦＦ２の互いの通常電源ポートＮＯＲを並列接続するとともに、互いのサブ電源ポートＳＵＢを並列接続する。
【００５１】
一方、電源制御部共有化手段１９は、ステップＳＴ６で電源制御部生成手段１４により生成された電源制御部を、同一階層化手段１８で同一階層にした複数の電源遮断時データ保持回路で使用する同一のイネーブル信号に応じて電源遮断が制御される電源制御部に変更する。図９（ｂ）では、同一イネーブル信号抽出手段１７で抽出された同一のイネーブル信号ｅｎａｂｌｅ（ＦＦ１及びＦＦ２のデータ保持を制御するイネーブル信号ｅｎａｂｌｅ）を入力することにより、これに応じて電源ＶＤＤからの電源供給と接地電位点ＧＮＤとの間で接続元を切り替えるセレクタを備えた電源制御部が生成される。
【００５２】
電源接続手段１５は、電源制御部共有化手段１９で共有化すべき電源制御部が生成されると、当該電源制御部と、同一イネーブル信号抽出手段１７で抽出されたイネーブル信号の信号経路とを接続する（ステップＳＴ７）。図９（ｂ）の例では、電源制御部中のセレクタの制御信号入力にイネーブル信号ｅｎａｂｌｅの信号経路が接続される。
【００５３】
次に、電源接続手段１５は、ステップＳＴ５までの処理で全ての入力ポートに電源境界セルが挿入され、ステップＳＴ５−１で同一階層化された複数の電源遮断時データ保持回路と、ステップＳＴ７の処理を施した電源制御部とを接続する（ステップＳＴ８）。
図９（ｂ）の例では、ＳＲＰＧ−ＦＦ１及びＳＲＰＧ−ＦＦ２の通常電源ポートＮＯＲに上記電源制御部のセレクタの出力が接続され、電源ＶＤＤを入力するセレクタの入力経路が、ＳＲＰＧ−ＦＦ１及びＳＲＰＧ−ＦＦ２の電源遮断時用のサブ電源ポートＳＵＢ及び各電源境界セルにそれぞれ接続される。
これにより、ＳＲＰＧ−ＦＦ１及びＳＲＰＧ−ＦＦ２からなる回路単位が新たな電源遮断時データ保持回路となり、当該電源遮断時データ保持回路では、同一のイネーブル信号ｅｎａｂｌｅに応じて、電源ＶＤＤからＳＲＰＧ−ＦＦ１及びＳＲＰＧ−ＦＦ２への電源が遮断されると、サブ電源ポートＳＵＢから供給される電源ＶＤＤによってＳＲＰＧ−ＦＦ１及びＳＲＰＧ−ＦＦ２のデータ保持が維持される。
【００５４】
なお、上記説明では言及していないが、階層化する際、図９に示すクロック信号ｃｌｏｃｋのように同じ信号がある場合は、階層内で１つの入力経路を伝搬する信号にまとめることによって、当該入力経路上に挿入する電源境界セルを削減することができる。
【００５５】
以上のように、この実施の形態３によれば、イネーブル信号検出手段１１で検出された複数のイネーブル信号の中から同一の信号を抽出する同一イネーブル信号抽出手段１７、同一イネーブル信号抽出手段１７で抽出された同一のイネーブル信号でデータ保持が制御される複数の回路を電源遮断時データ保持回路にそれぞれ置換した結果に対して、これら電源遮断時データ保持回路が１つの階層となるようにネットリストを変更する同一階層化手段１８、及び、電源制御部生成手段１４で生成した電源制御部を、同一階層化手段１８で同一階層にした複数の電源遮断時データ保持回路で使用される同一のイネーブル信号を使用する電源制御部に変更し、当該電源制御部を共有化する電源制御部共有化手段１９を備える。これらの構成を備えることにより、同一イネーブル信号を用いた電源遮断時データ保持回路の同一階層化と電源制御部の共有化が可能となり、電源制御部や共通信号の電源境界セルを削減できるとともに、電源遮断される電源遮断時データ保持回路を大きな単位にしたことでレイアウト効率も向上する。
【００５６】
実施の形態４．
この実施の形態４では、イネーブル信号の長さを抽出する手段を設け、抽出された信号の長さに応じて電源遮断を実施するか否かを選択可能とした構成について述べる。
【００５７】
図１０は、この発明の実施の形態４による半導体集積回路設計支援システムの構成を示すブロック図である。図１０において、実施の形態４による半導体集積回路設計支援システム１Ｃは、イネーブル信号検出手段１１、イネーブル信号長抽出手段２０、電源遮断化実施選択手段（実施選択手段）２１及び電源遮断化処理手段２２を備える。
【００５８】
イネーブル信号長抽出手段２０は、イネーブル信号検出手段１１で検出されたイネーブル信号の長さ（例えば、アサート期間）を抽出する手段である。電源遮断化実施選択手段２１は、イネーブル信号長抽出手段２０で抽出された信号の長さに応じて、電源遮断化処理手段２２による電源遮断時を考慮したネットリストの変更処理の実施可否を選択する手段である。
【００５９】
電源遮断化処理手段２２は、回路置き換え手段１２、電源境界セル挿入手段１３、電源制御部生成手段１４及び電源接続手段１５を備え、電源遮断化処理を実施する選択がなされると、電源遮断化実施選択手段２１を介してイネーブル信号検出手段１１で検出されたイネーブル信号を入力し、記憶部２から読み出したネットリストに対して上記実施の形態１と同様な手順で処理を施して電源遮断可能なネットリストを生成し記憶部３に出力する手段である。なお、図１０において、図１と同一若しくはこれに相当する構成要素には、同一符号を付し説明を省略する。
【００６０】
イネーブル信号検出手段１１、イネーブル信号長抽出手段２０、電源遮断化実施選択手段２１及び電源遮断化処理手段２２は、この発明の趣旨に従う半導体集積回路設計支援用プログラムをコンピュータに読み込ませ、そのＣＰＵに実行させることにより、ハードウエアとソフトウエアが協働した具体的な手段として、当該コンピュータ上で実現することができる。
【００６１】
次に動作ついて説明する。
図１１は、実施の形態４の半導体集積回路設計支援システムによる動作の流れを示すフローチャートである。以降の説明では、システムの構成については図１０を参照し、処理の流れは図１１を参照することとする。
なお、図１１において、ステップＳＴ１からステップＳＴ２まで、ステップＳＴ３からステップＳＴ８までの処理は、上記実施の形態１で図２を用いて説明した処理と同様であるので説明を省略する。
【００６２】
イネーブル信号長抽出手段２０は、ステップＳＴ２においてイネーブル信号検出手段１１が記憶部２から入力したネットリストからデータ保持を制御するイネーブル信号を検出すると、当該検出されたイネーブル信号の長さを抽出する（ステップＳＴ２−１）。ここでは、イネーブル信号の長さとして、当該イネーブル信号がアサートされる最短の長さを抽出する。なお、この抽出方法としては、例えば、検証ツールを用い、設計者が想定する全てのテストパタンを入力してシミュレーションを実行することで、当該イネーブル信号を観測し、最も短かったアサート期間を抽出する。
【００６３】
電源遮断化実施選択手段２１は、イネーブル信号長抽出手段２０で抽出されたイネーブル信号の長さを入力し、当該信号の長さ（アサート期間）と、設計者が予め指定していた任意の期間とを比較することにより、この比較結果に応じて電源遮断化処理手段２２に電源遮断化処理を実施させるべきか否かを選択する（ステップＳＴ２−２）。ここでは、予め指定された任意の期間よりも抽出された信号のアサート期間が長い場合（ステップＳＴ２−２；ＹＥＳ）、電源遮断化実施選択手段２１は、電源遮断化処理を実施すべきと判断し、ステップＳＴ３及びステップＳＴ６の処理へ移行し、電源遮断化処理手段２２に指示して、上記実施の形態１と同様の手順で電源遮断可能なネットリストへの変換（電源遮断化）を実施させる。
【００６４】
一方、予め指定された任意の期間よりも抽出された信号のアサート期間が短い（未満）場合（ステップＳＴ２−２；ＮＯ）、電源遮断化実施選択手段２１は、電源遮断化処理を実施すべきでないと判断し、電源遮断可能なネットリストへの変換実施を中止する。
なお、設計者が指定する上記任意の期間とは、例えば、設計対象の半導体集積回路の電源オフ／オン必要時間であったり、電力削減に効果の少ないと想定される期間である。
【００６５】
以上のように、この実施の形態４によれば、イネーブル信号検出手段１１で検出されたイネーブル信号の長さ（例えば、アサート期間）を抽出するイネーブル信号長抽出手段２０、イネーブル信号長抽出手段２０で抽出された信号の長さに応じて、電源遮断可能なネットリストの変更処理の実施可否を選択する電源遮断化実施選択手段２１、及び、電源遮断化処理による選択結果に応じて電源遮断可能なネットリストへの変更処理を実行する電源遮断化処理手段２２を備える。
この構成を有することにより、例えば、設計対象の半導体集積回路の電源オフ／オンに必要な時間を閾値として、抽出されたイネーブル信号のアサート期間と当該閾値とを比較することにより、上記電源オフ／オンに必要な時間よりも短いアサート期間のイネーブル信号を用いた回路を変換することがなくなる。また、電力削減に効果の少ない回路変更が不用意に実施されることを防止することができる。
【符号の説明】
【００６６】
１，１Ａ，１Ｂ，１Ｃ  半導体集積回路設計支援システム、２  ネットリストの記憶部、３  電源遮断可能なネットリストの記憶部、１１  イネーブル信号検出手段、１２  回路置き換え手段、１３  電源境界セル挿入手段、１４  電源制御部生成手段、１５  電源接続手段、１６  影響確認手段、１７  同一イネーブル信号抽出手段、１８  同一階層化手段、１９  電源制御部共有化手段、２０  イネーブル信号長抽出手段、２１  電源遮断化実施選択手段（実施選択手段）、２２  電源遮断化処理手段。
【図１】
2010211591.tif 000003
【図２】
2010211591.tif 000004
【図３】
2010211591.tif 000005
【図４】
2010211591.tif 000006
【図５】
2010211591.tif 000007
【図６】
2010211591.tif 000008
【図７】
2010211591.tif 000009
【図８】
2010211591.tif 000010
【図９】
2010211591.tif 000011
【図１０】
2010211591.tif 000012
【図１１】
2010211591.tif 000013