(57)【要約】【課題】著しく工数を増加させることなく、充放電電流成分の電力、貫通電流成分の電力及びリーク成分の電力を考慮して、半導体集積回路の消費電力を最適化することができる消費電力最適化方法及び半導体設計装置を提供する。【解決手段】半導体集積回路の仕様をＨＤＬで記述し、ＨＤＬで記述されたソースから論理合成を行い、レイアウト設計を行う回路設計で用いられる、半導体集積回路の消費電力を最適化する消費電力最適化方法である。消費電力最適化方法は、ソースを用いて回路シミュレーションを行い、ＨＤＬで記述された各論理パスの活性度を示す活性度情報を取得する活性度情報取得工程と、活性度情報に基づいて各論理パスの消費電力を考慮して論理合成を行う論理合成工程とを有する。【選択図】図２
2008112318.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路の仕様をＨＤＬで記述し、前記ＨＤＬで記述されたソースから論理合成を行い、レイアウト設計を行う回路設計で用いられる、前記半導体集積回路の消費電力を最適化する消費電力最適化方法であって、
前記ソースを用いて回路シミュレーションを行い、前記ＨＤＬで記述された各論理パスの活性度を示す活性度情報を取得する活性度情報取得工程と、
前記活性度情報に基づいて各論理パスの消費電力を考慮して前記論理合成を行う論理合成工程と、
を有することを特徴とする消費電力最適化方法。
【請求項２】
請求項１記載の消費電力最適化方法であって、
前記活性度情報取得工程では、前記半導体集積回路の動作又はその一部の動作のシミュレーション結果に基づいて各論理パスの活性度を算出することを特徴とする消費電力最適化方法。
【請求項３】
請求項１記載の消費電力最適化方法であって、
前記論理合成工程では、前記コードからセルに置換されて得られたネットリストの各セルに前記活性度情報を付加することを特徴とする消費電力最適化方法。
【請求項４】
請求項２記載の消費電力最適化方法であって、
前記ネットリストの各セルに付加される前記活性度情報に重み付けする重み付け工程を有することを特徴とする消費電力最適化方法。
【請求項５】
半導体集積回路の仕様をＨＤＬで記述し、前記ＨＤＬで記述されたソースから論理合成を行い、レイアウト設計を行う回路設計で用いられる、前記半導体集積回路の消費電力を最適化する消費電力最適化方法であって、
前記論理合成で作成されたネットリストを用いて回路シミュレーションを行い、前記ネットリストの各セルの活性度情報を取得する活性度情報取得工程と、
前記活性度情報に基づいて前記消費電力を考慮して前記レイアウト設計を行うレイアウト設計工程と、
を有することを特徴とする消費電力最適化方法。
【請求項６】
請求項５記載の消費電力最適化方法であって、
前記活性度情報取得工程では、前記半導体集積回路の動作又はその一部の動作のシミュレーション結果に基づいて各セルの活性度を算出することを特徴とする消費電力最適化方法。
【請求項７】
請求項６記載の消費電力最適化方法であって、
前記活性度情報取得工程で取得された前記活性度情報に重み付けする重み付け工程を有することを特徴とする消費電力最適化方法。
【請求項８】
半導体集積回路の仕様をＨＤＬで記述し、前記ＨＤＬで記述されたソースから論理合成を行い、レイアウト設計を行う際、前記半導体集積回路の消費電力を最適化する半導体設計装置であって、
前記ソースを用いて回路シミュレーションを行い、前記ＨＤＬで記述された各論理パスの活性度を示す活性度情報を取得する活性度情報取得手段と、
前記活性度情報に基づいて各論理パスの消費電力を考慮して前記論理合成を行う論理合成手段と、
を備えたことを特徴とする半導体設計装置。
【請求項９】
半導体集積回路の仕様をＨＤＬで記述し、前記ＨＤＬで記述されたソースから論理合成を行い、レイアウト設計を行う際、前記半導体集積回路の消費電力を最適化する半導体設計装置であって、
前記論理合成で作成されたネットリストを用いて回路シミュレーションを行い、前記ネットリストの各セルの活性度情報を取得する活性度情報取得手段と、
前記活性度情報に基づいて前記消費電力を考慮して前記レイアウト設計を行う、レイアウト設計手段と、
を備えたことを特徴とする半導体設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の消費電力を最適化する消費電力最適化方法及び半導体設計装置に関する。
【背景技術】
【０００２】
半導体集積回路の設計では、論理ゲート、フリップフロップ、これらを組み合わせた回路部品、ゲートチャネルの幅やスレッショルド電圧Ｖｔの異なる回路部品等がスタンダードセルとして登録されたセルライブラリを準備しておき、これらのセルを配置・配線して所望の仕様が実現されている。
【０００３】
図４は、従来の半導体集積回路の設計手順を示すフローチャートである。半導体集積回路の設計では、最初に半導体集積回路の仕様設計を行う（ステップＳ１０１）。仕様設計を行った後、その仕様をハードウェア記述言語（ＨＤＬ：Hardware Description Language）で記述したソースを作成する（ステップＳ１０２）。
【０００４】
ＨＤＬで記述された仕様を実現するべく、予め準備されたセルライブラリに登録されたセルの接続関係を規定するネットリストを生成する（ステップＳ１０３）。ＨＤＬ記述からネットリストを生成するまでの過程を論理合成という。この論理合成では、セルライブラリに格納された各セルのタイミング情報及び論理情報を参照し、入力端子からフリップフロップのパス、フリップフロップ間のパス、及びフリップフロップから出力端子のパス等の論理パスにおいて、所望のタイミングと機能が実現されるように、各論理パスの遅延時間が算出される。
【０００５】
算出された各論理パスの遅延時間が所定の基準を満たしているか否かを判別する（ステップＳ１０４）。所定の基準を満たしていない場合、ステップＳ１０３に戻り、使用するセルライブラリを変更するなど、同じ仕様の回路を様々な態様で実現させる。そして、各論理パスの遅延時間が所定の基準を満たすようにセルの選択及び接続を行う。
【０００６】
論理合成を行って作成されたネットリストに基づき、セルの配置及びセル間の配線を行う（ステップＳ１０５）。セルの配置及びセル間の配線を行う工程をレイアウト設計という。そして、レイアウト設計後の遅延時間が所定の基準を満たしているか否かを判別する（ステップＳ１０６）。所定の基準を満たしていない場合、ステップＳ１０５に戻り、遅延時間が所定の基準を満たすようにセルの置換等を行う。セルの置換は、セルの入出力端子の位置を示すレイアウト情報を参照し、所定の基準を満たさない場合、使用するセルライブラリを変更するなど、同じ仕様の回路を様々な態様で実現させることで行われる。
【０００７】
レイアウト設計後の遅延時間が所定の基準を満たすと、半導体集積回路の製造工程で用いられるフォトマスクを形成するためのＧＤＳデータを作成する（ステップＳ１０７）。以上のステップを経て、半導体集積回路は設計される。
【０００８】
バッテリで駆動されるモバイル機器にとって、消費電力は製品の性能を決める上で重要な要素であり、モバイル機器に内蔵される半導体集積回路においても同様である。また、クロック周波数が高い半導体集積回路は動作時に熱が多く発生するので、熱発生量の低減のためにも消費電力の削減は重要である。
【０００９】
一般に、半導体集積回路の消費電力Ｐは以下の式（１）で表される。式（１）は３つのパラメータを有し、これら全てのパラメータを最適化する必要がある。
Ｐ＝ＰＤ＋ＰＳＣ＋ＰＬＫ  ……（１）
ここで、ＰＤ：充放電電流成分の電力、ＰＳＣ：貫通電流成分の電力、ＰＬＫ：リーク成分の電力である。また、ＰＤ（充放電電流成分の電力）及びＰＳＣ（貫通電流成分の電力）は動的電力と呼ばれて、ＰＬＫ（リーク成分の電力）は静的電力と呼ばれる。
【００１０】
また、ＰＤ（充放電電流成分の電力）、ＰＳＣ（貫通電流成分の電力）、ＰＬＫ（リーク成分の電力）は、それぞれ以下の式（２）、（３）、（４）で表される。
ＰＤ＝ＰＴ・ＣＬ・ＶＤＤ２・ＦＣＫ          ……（２）
ＰＳＣ＝ＰＴ・ＩＳＣ・ＴＳＣ・ＶＤＤ・ＦＣＫ  ……（３）
ＰＬＫ＝ＩＬＫ・ＶＤＤ                    ……（４）
ここで、ＰＴ：スイッチング率、ＣＬ：負荷容量、ＶＤＤ：電源電圧、ＦＣＫ：周波数、ＩＳＣ：貫通電流、ＴＳＣ：貫通電流の時間、ＩＬＫ：リーク電流である。
【００１１】
ＰＤ（充放電電流成分の電力）の場合、ＰＴ（スイッチング率）、ＶＤＤ（電源電圧）及びＦＣＫ（周波数）はシステム仕様で決まってしまう。このため、システム仕様を変更しない限り、ＰＤ（充放電電流成分の電力）におけるＣＬ（負荷容量）が占める割合が大きい。
【００１２】
また、ＰＳＣ（貫通電流成分の電力）の場合、ＰＴ（スイッチング率）、ＶＤＤ（電源電圧）及びＦＣＫ（周波数）はシステム仕様で決まってしまう。また、ＩＳＣ（貫通電流）は使用されるスタンダードセルによって決まってしまう。このため、システム仕様を変更しない限り、ＰＳＣ（貫通電流成分の電力）におけるＴＳＣ（貫通電流の時間）が占める割合が大きい。
【００１３】
また、ＰＬＫ（リーク成分の電力）の場合、使用するスタンダードセルのゲートチャネルの幅とスレッショルド電圧ＶｔによってＩＬＫ（リーク電流）が決まってしまう。また、ＶＤＤ（電源電圧）もシステム仕様で決まってしまう。
【００１４】
低消費電力の半導体集積回路の設計では、式（１）で示される全ての要素の消費電力を最小にすべきである。しかし、論理合成工程（ステップＳ１０３）及びレイアウト設計工程（ステップＳ１０５）での配置合成及び配線処理では、クロックラインなど常時動作する箇所の動的電力の最適化を行う以外、静的電力の最適化しか行わなかった。一方、各工程で出力されたネットリスト等を用いて回路シミュレーションを行い、動的電力の電力値を確認することは多い。
【００１５】
また、特許文献１では、ネットリストの各セルに対して、ゲートチャネルの幅（サイズ）及びスレッショルド電圧Ｖｔを含む情報に基づいて、セルの置き換えが行われている。この方法では、論理合成工程以降のネットリストに対してのみ処理を行って消費電力を最適化させている。
【００１６】
【特許文献１】特開２００３−３０８３５０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
しかし、上記消費電力最適化方法では、半導体集積回路を設計する際、タイミングの制約を満たす極限まで静的電力の最適化を行った結果、式（４）で表されるＰＬＫ（リーク成分の電力）を最小にしても、動作頻度が高いパスで式（２）のパラメータの１つであるＣＬ（負荷容量）及び式（３）のパラメータの１つであるＴＳＣ（貫通電流の時間）が増大することがあった。このとき、動的電力である式（２）で表されるＰＤ（充放電電流成分の電力）及び式（３）で表されるＰＳＣ（貫通電流成分の電力）が大きくなり、全体の消費電力が大きくなってしまう。
【００１８】
また、特許文献１に示すように、レイアウト設計時にネットリストに対し、情報の抽出及びこの情報を使用した処理工程で動的電力を最適化する場合、次のような問題があった。つまり、回路を表現する抽象度の低いネットリストから情報の抽出及び上記処理工程を行うと、近年の半導体集積回路の多機能、大規模及び複雑化によりその工数が膨大となり、回路シミュレーションの工数が現実的ではない。
【００１９】
本発明の目的は、著しく工数を増加させることなく、充放電電流成分の電力、貫通電流成分の電力及びリーク成分の電力を考慮して、半導体集積回路の消費電力を最適化することができる消費電力最適化方法及び半導体設計装置を提供することである。
【課題を解決するための手段】
【００２０】
本発明は、半導体集積回路の仕様をＨＤＬで記述し、前記ＨＤＬで記述されたソースから論理合成を行い、レイアウト設計を行う回路設計で用いられる、前記半導体集積回路の消費電力を最適化する消費電力最適化方法であって、前記ソースを用いて回路シミュレーションを行い、前記ＨＤＬで記述された各論理パスの活性度を示す活性度情報を取得する活性度情報取得工程と、前記活性度情報に基づいて各論理パスの消費電力を考慮して前記論理合成を行う論理合成工程と、を有する消費電力最適化方法を提供する。
【００２１】
上記消費電力最適化方法の前記活性度情報取得工程では、前記半導体集積回路の動作又はその一部の動作のシミュレーション結果に基づいて各論理パスの活性度を算出する。
【００２２】
上記消費電力最適化方法の前記論理合成工程では、前記コードからセルに置換されて得られたネットリストの各セルに前記活性度情報を付加する。
【００２３】
上記消費電力最適化方法は、前記ネットリストの各セルに付加される前記活性度情報に重み付けする重み付け工程を有する。
【００２４】
本発明は、半導体集積回路の仕様をＨＤＬで記述し、前記ＨＤＬで記述されたソースから論理合成を行い、レイアウト設計を行う回路設計で用いられる、前記半導体集積回路の消費電力を最適化する消費電力最適化方法であって、前記論理合成で作成されたネットリストを用いて回路シミュレーションを行い、前記ネットリストの各セルの活性度情報を取得する活性度情報取得工程と、前記活性度情報に基づいて前記消費電力を考慮して前記レイアウト設計を行うレイアウト設計工程と、を有する消費電力最適化方法を提供する。
【００２５】
上記消費電力最適化方法の前記活性度情報取得工程では、前記半導体集積回路の動作又はその一部の動作のシミュレーション結果に基づいて各セルの活性度を算出する。
【００２６】
上記消費電力最適化方法は、前記活性度情報取得工程で取得された前記活性度情報に重み付けする重み付け工程を有する。
【００２７】
本発明は、半導体集積回路の仕様をＨＤＬで記述し、前記ＨＤＬで記述されたソースから論理合成を行い、レイアウト設計を行う際、前記半導体集積回路の消費電力を最適化する半導体設計装置であって、前記ソースを用いて回路シミュレーションを行い、前記ＨＤＬで記述された各論理パスの活性度を示す活性度情報を取得する活性度情報取得手段と、前記活性度情報に基づいて各論理パスの消費電力を考慮して前記論理合成を行う論理合成手段と、
を備えた半導体設計装置を提供する。
【００２８】
本発明は、半導体集積回路の仕様をＨＤＬで記述し、前記ＨＤＬで記述されたソースから論理合成を行い、レイアウト設計を行う際、前記半導体集積回路の消費電力を最適化する半導体設計装置であって、前記論理合成で作成されたネットリストを用いて回路シミュレーションを行い、前記ネットリストの各セルの活性度情報を取得する活性度情報取得手段と、前記活性度情報に基づいて前記消費電力を考慮して前記レイアウト設計を行う、レイアウト設計手段と、を備えた半導体設計装置を提供する。
【発明の効果】
【００２９】
本発明に係る半導体集積回路の消費電力最適化方法及び半導体設計装置よれば、著しく工数を増加させることなく、充放電電流成分の電力ＰＤ、貫通電流成分の電力ＰＳＣ及びリーク成分の電力ＰＬＫからなる全ての電力を考慮して消費電力を最適化することができる。
【発明を実施するための最良の形態】
【００３０】
本発明に係る半導体集積回路の消費電力最適化方法及び半導体設計装置の実施の形態について、図面を参照しながら説明する。以下説明する消費電力最適化方法は、半導体集積回路を設計するための半導体設計装置に適用される。また、半導体集積回路は、バッテリで駆動されるモバイル機器や、高速で動作する必要がある機器等に搭載される。
【００３１】
［第１の実施形態］
図１は、第１の実施形態の半導体設計装置を示すブロック図である。図１に示すように、半導体設計装置は、入力部１、ＣＰＵ２及び出力部３を有する。ＣＰＵ２には、セルライブラリ４、回路シミュレーション部５及びネットリストＤＢ６が接続されている。
【００３２】
ＣＰＵ２は、入力部１から入力された半導体集積回路の設計仕様等の情報に基づいて、後述する半導体集積回路の設計処理を行う。出力部３は、その処理結果を出力する。
【００３３】
セルライブラリ４には、論理ゲート、フリップフロップ、これらの組み合わせからなる回路部品、ＣＭＯＳトランジスタのゲートチャネルの幅やスレッショルド電圧Ｖｔが異なる回路部品など、複数のスタンダードセルが登録されている。回路シミュレーション部５は、ＣＰＵ２からの指示に従って、ＨＤＬ記述の回路シミュレーション又はネットリストに対する回路シミュレーションを行う。ネットリストＤＢ６には、論理合成後に出力されるネットリストが登録される。
【００３４】
図２は、第１の実施形態における半導体集積回路の設計手順を示すフローチャートである。この処理は、ＣＰＵ２内の記録媒体に格納されたプログラムをＣＰＵ２が実行することによって行われる。ＣＰＵ２は、以下の手順で半導体集積回路を設計する。最初に半導体集積回路の仕様設計を行う（ステップＳ１１）。仕様設計を行った後、その仕様をハードウェア記述言語（ＨＤＬ：Hardware Description Language）で記述したソースを作成する（ステップＳ１２）。
【００３５】
このソースに対して実際の回路動作と同じ動作又はその一部の動作を行う回路シミュレーションを行い、ＨＤＬ記述の各論理パスの活性度（活性率）を算出する（ステップＳ１３）。この活性度は、ＨＤＬ記述に対する検査カバレッジを算出する自動ツールと同じアルゴリズムで算出可能である。この自動ツールは、一般的に半導体集積回路を開発する際、ＨＤＬ記述の回路構成の検査に用いられる。
【００３６】
即ち、ＨＤＬ記述に対する検査カバレッジを算出する自動ツールは、例えば、ＨＤＬのＶｅｒｉｌｏｇ−ＨＤＬ言語における「ｃａｓｅ」記述の中で分岐されている記述（論理パス）がそれぞれ何回活性化されたかを回路シミュレーションにより算出する。１回も活性化されていない論理パスは、動作シミュレーションが行われていないということになる。これと同じ方法で、ＨＤＬ記述に対する活性度が算出される。
【００３７】
次に、論理合成を行う（ステップＳ１４）。この論理合成では、半導体集積回路の仕様設計がＨＤＬで記述されたソース（ステップＳ１２参照）に対し、このＨＤＬ記述が論理合成時に準備されたスタンダードセルに置き換わる際の変換情報を中間処理情報として出力する。変換情報は、ＨＤＬ記述からスタンダードセルに置換される前後の論理等価を確認するための自動ツールに入力される、ＨＤＬ記述からセルへの変換情報と同じアルゴリズムで出力可能である。即ち、論理合成では、ＨＤＬ記述からスタンダードセルに置換される前後の論理等価を確認するための自動ツールに対し、例えば、ＨＤＬのＶｅｒｉｌｏｇ−ＨＤＬ言語の「ｃａｓｅ」記述が選択信号付のマルチプレクサ（セレクタ型のセル）に置換された場合、その情報又はそのことが分かるその他の情報を出力する。
【００３８】
これらの情報により、ＨＤＬ記述からセルに置換された箇所に、ＨＤＬ記述の回路シミュレーションにおける活性度情報を付加することができる。例えば、ＨＤＬのＶｅｒｉｌｏｇ−ＨＤＬ言語の「ｃａｓｅ」記述が、ＨＤＬの回路シミュレーションで１秒間に５００回活性化し、論理合成でセレクタセルに置換される場合、そのセレクタセルには１秒間に５００回活性化されるという活性度情報が付加される。
【００３９】
背景技術の欄で説明した論理合成工程（ステップＳ１０３）では、セル間の配線負荷容量等は考慮されないので、式（１）に示される充放電電流成分の電力ＰＤ及び貫通電流成分の電力ＰＳＣは考慮されずに論理合成が行われる。これに対し、本実施形態では、活性度情報とＨＤＬ記述からセルへの変換情報とを用いて論理合成を行う（ステップＳ１４）。即ち、本実施形態の論理合成工程では、充放電電流成分の電力ＰＤ及び貫通電流成分の電力ＰＳＣを考慮し、セルライブラリ４に格納された各セルのタイミング情報及び論理情報を参照する。そして、入力端子からフリップフロップのパス、フリップフロップ間のパス、及びフリップフロップから出力端子のパス等の論理パスにおいて、所望のタイミングと機能が実現されるように、かつ遅延時間が所定の基準を満たすように、セルの選択及び接続が行われる。さらに、論理合成後に出力されるネットリストの各パス上の各セルに対し、回路シミュレーションを行った際に算出された活性度情報を付加する。
【００４０】
近年の半導体集積回路の多機能、大規模及び複雑化により、半導体集積回路がシステム上で使用される場合と同じ状態でシミュレーションすることが困難な場合がある。そのような場合、本実施形態では、回路の一部の動作でシミュレーションを行った際の結果を用いて、活性度情報に重み付けすることも可能にする。即ち、活性度情報に重み付けが必要であるか否かを判別し（ステップＳ１５）、必要ない場合、そのまま次の工程（ステップＳ１７）に進む。一方、必要な場合、活性度情報に重み付けする（ステップＳ１６）。
【００４１】
例えば、１０秒で１処理を行う回路があり、その一部の回路について回路シミュレーションを行う場合、その一部の回路が動作Ａを２回、動作Ｂを３回、それ以外は止まっていると想定する。１０秒１処理に占めるこれらの動作の割合から、動作Ａ及び動作Ｂそれぞれの回路シミュレーションでの活性度情報に基づいて、１０秒１処理の中で占める重みを付加する。これにより、１０秒の回路シミュレーションを行わなくても、行った場合と同等の活性度情報をネットリストのセルに付加することができる。
【００４２】
また、背景技術の欄で説明した論理合成は、配線負荷容量を無視した状態で行われることが一般的である。本実施形態では、回路シミュレーションから得られた活性度情報に基づいて、活性度が高いセルについては、ＣＭＯＳトランジスタのゲートチャネルの幅を広くして多くの電流を流すことができるセルを優先的に割り当てるようにする。なお、スレッショルド電圧Ｖｔの低いセルを優先的に割り当てても良い。
【００４３】
論理合成が行われると、遅延時間が所定の基準を満たしているか否かを判別する（ステップＳ１７）。所定の基準を満たしていない場合、ステップＳ１４に戻り、論理合成をやり直す。
【００４４】
遅延時間が所定の基準を満たした後、ネットリストに基づいて、充放電電流成分の電力ＰＤ及び貫通電流成分の電力ＰＳＣを考慮したレイアウト設計を行う（ステップＳ１８）。レイアウト設計（セルの配置及びセル間の配線）を行う際、遅延時間の制約、及び論理合成工程（ステップＳ１４）で各セルに付加された活性度情報を用い、タイミング及び電力の最適化を行う。
【００４５】
ステップＳ１８のレイアウト設計では、各セルに付加されている活性度情報が示す活性度が高い場合、負荷容量ＣＬ及び貫通電流の時間ＴＳＣを基に、準備されているセルのゲートチャネルの幅が１ランク大きいセルに置換する際、充放電電流成分の電力ＰＤ、貫通電流成分の電力ＰＳＣの削減量及びリーク成分の電力ＰＬＫの増加量を比較して、有利なセルに置換する。
【００４６】
逆に、各セルに付加されている活性度情報が示す活性度が低い場合、負荷容量ＣＬ及び貫通電流の時間ＴＳＣを基に、準備されているセルのゲートチャネルの幅が１ランク小さいセルに置換する際、充放電電流成分の電力ＰＤ、貫通電流成分の電力ＰＳＣの増加量及びリーク成分の電力ＰＬＫの削減量を比較して、有利なセルに置換する。
【００４７】
活性度情報が付加された全てのセルに対し、消費電力を最適化するための上記置換処理が完了すると、レイアウト設計後の遅延時間が所定の基準を満たしているか否かを判別する（ステップＳ１９）。所定の基準を満たす場合、半導体集積回路の製造工程で用いられるフォトマスクを形成するためのＧＤＳデータを作成する（ステップＳ２０）。この後、本処理を終了する。一方、所定の基準を満たさない場合、ステップＳ１８に戻ってレイアウト設計をやり直す。
【００４８】
以上説明したように、第１の実施形態の半導体集積回路の消費電力最適化方法及び半導体設計装置によれば、著しく工数を増加させることなく、充放電電流成分の電力ＰＤ、貫通電流成分の電力ＰＳＣ及びリーク成分の電力ＰＬＫを考慮して、半導体集積回路の消費電力を最適化することができる。また、ＨＤＬで記述された回路に対して回路シミュレーションを行うことで、回路シミュレーション時間を削減することができる。回路規模が大きくなるほど、その削減効果は大きくなり、近年の大規模化された半導体集積回路に有効である。
【００４９】
また、回路シミュレーションを行って算出された活性度情報を、論理合成時にネットリストに付加することで、レイアウト設計を行う際の消費電力の最適化が容易となる。また、セルの置換を行う際、活性度が高い場合には、動的電力が大きくならないように負荷容量ＣＬを小さくあるいは貫通電流の時間ＴＳＣを短くすることによって、静的電力（リーク成分の電力ＰＬＫ）の増加及び動的電力（充放電電流成分の電力ＰＤ及び貫通電流成分の電力ＰＳＣ）の減少を図ることができる。また、回路シミュレーションの工数が膨大である場合、実動作の回路シミュレーションを行わなくても、その一部の動作を回路シミュレーションを行うことによって活性度情報を得ることができる。また、この活性度情報を論理合成及びレイアウト設計に利用することができる。
【００５０】
［第２の実施形態］
第１の実施形態では、ＨＤＬ記述のソースに対して回路シミュレーションを行って活性度を算出したが、第２の実施形態では、論理合成を行ったネットリストに対して回路シミュレーションを行って活性度を算出する。第２の実施形態の半導体設計装置は、第１の実施形態と同様であるので、その説明は省略する。
【００５１】
図３は、第２の実施形態における半導体集積回路の設計手順を示すフローチャートである。この処理は、ＣＰＵ２内の記録媒体に格納されたプログラムをＣＰＵ２が実行することによって行われる。ＣＰＵ２は、以下の手順で半導体集積回路を設計する。最初に半導体集積回路の仕様設計を行う（ステップＳ３１）。使用設計を行った後、その仕様をＨＤＬで記述したソースを作成する（ステップＳ３２）。このソースに対して論理合成を行う（ステップＳ３３）。
【００５２】
本実施形態で行われる論理合成工程（ステップＳ３３）では、セル間の配線負荷容量等は考慮されない。このため、充放電電流成分の電力ＰＤ及び貫通電流成分の電力ＰＳＣは考慮されずに論理合成が行われる。そのため、主にリーク成分の電力ＰＬＫを最適化してネットリストが作成される。このとき、充放電電流成分の電力ＰＤ及び貫通電流成分の電力ＰＳＣは考慮されず、セルライブラリ４に格納された各セルのタイミング情報及び論理情報を参照する。そして、入力端子からフリップフロップのパス、フリップフロップ間のパス、及びフリップフロップから出力端子のパス等の論理パスにおいて、所望のタイミングと機能が実現されるように、かつ遅延時間が所定の基準を満たすように、セルの選択及び接続が行われる。論理合成が行われると、遅延時間が所定の基準を満たしているか否かを判別する（ステップＳ３４）。所定の基準を満たしていない場合、ステップＳ３３に戻り、論理合成をやり直す。
【００５３】
遅延時間が所定の基準を満たした後、論理合成工程（ステップＳ３３）で作成されたネットリストに対して、実際の回路動作と同じ動作又はその一部の動作を行う回路シミュレーションを行い、ネットリストの各セルに対して活性度を算出して、各セルに付加する（ステップＳ３５）。
【００５４】
ネットリストに基づいて、レイアウト設計（セルの配置及びセル間の配線）を行う際、遅延時間の制約、及び前工程（ステップＳ３５）で各セルに付加された活性度情報を用いて、タイミング及び電力の最適化を行う（ステップＳ３６）。
【００５５】
ネットリストに対して回路シミュレーションを行う場合、ＨＤＬ記述に対して同じ回路シミュレーションを行った場合と比較すると、回路表現の抽象度が異なるので、シミュレーションの工数（時間）が多くなる。このため、半導体集積回路がシステム上で使用される場合と同じ状態でシミュレーションすることが困難な場合、回路の一部の動作でシミュレーションを行った結果を用いて、活性度情報に重み付けする。即ち、活性度情報に重み付けが必要であるか否かを判別し（ステップＳ３７）、必要ない場合、そのまま次の工程（ステップＳ３９）に進む。一方、必要な場合、活性度情報に重み付けする（ステップＳ３８）。
【００５６】
ステップＳ３６のレイアウト設計では、第１の実子形態の図２に示したステップＳ１８と同様に、各セルに付加されている活性度情報示す活性度が高い場合、負荷容量ＣＬ及び貫通電流の時間ＴＳＣを基に、準備されているセルのゲートチャネルの幅が１ランク大きいセルに置換する際、充放電電流成分の電力ＰＤ、貫通電流成分の電力ＰＳＣの削減量及びリーク成分の電力ＰＬＫの増加量を比較して、有利なセルに置換する。
【００５７】
逆に、各セルに付加されている活性度情報が示す活性度が低い場合、負荷容量ＣＬ及び貫通電流の時間ＴＳＣを基に、準備されているセルのゲートチャネルの幅が１ランク小さいセルに置換する際、充放電電流成分の電力ＰＤ、貫通電流成分の電力ＰＳＣの増加量及びリーク成分の電力ＰＬＫの削減量を比較して、有利なセルに置換する。
【００５８】
活性度情報が付加された全てのセルに対し、消費電力を最適化するための上記置換処理が完了すると、レイアウト設計後の遅延時間が所定の基準を満たしているか否かを判別する（ステップＳ３９）。所定の基準を満たす場合、半導体集積回路の製造工程で用いられるフォトマスクを形成するためのＧＤＳデータを作成する（ステップＳ４０）。この後、本処理を終了する。一方、所定の基準を満たさない場合、ステップＳ３６に戻ってレイアウト設計をやり直す。
【００５９】
以上説明したように、第２の実施形態の半導体集積回路の消費電力最適化方法及び半導体設計装置によれば、論理合成で出力されたネットリストを使用して回路シミュレーションを行った後にセルの活性度情報を取得する場合でも、第１の実施形態と同様、著しく工数を増加させることなく、充放電電流成分の電力ＰＤ、貫通電流成分の電力ＰＳＣ及びリーク成分の電力ＰＬＫを考慮して、半導体集積回路の消費電力を最適化することができる。
【産業上の利用可能性】
【００６０】
本発明に係る半導体集積回路の消費電力最適化方法及び半導体設計装置は、半導体集積回路の消費電力を最適化することができ、半導体集積回路の設計方法及び設計装置等として有用である。
【図面の簡単な説明】
【００６１】
【図１】第１の実施形態の半導体設計装置を示すブロック図
【図２】第１の実施形態における半導体集積回路の設計手順を示すフローチャート
【図３】第２の実施形態における半導体集積回路の設計手順を示すフローチャート
【図４】従来の半導体集積回路の設計手順を示すフローチャート
【符号の説明】
【００６２】
１  入力部
２  ＣＰＵ
３  出力部
４  セルライブラリ
５  回路シミュレーション部
６  ネットリストＤＢ
【図１】
2008112318.tif 000003
【図２】
2008112318.tif 000004
【図３】
2008112318.tif 000005
【図４】
2008112318.tif 000006