(57)【特許請求の範囲】
【請求項１】
集積回路が含む回路間の接続関係を示す集積回路接続情報を記憶する集積回路接続情報記憶部と，
前記集積回路を構成する各セルが含むトランジスタ間の接続関係を示すトランジスタ接続情報を記憶するトランジスタ接続情報記憶部と，
前記集積回路の論理シミュレーションに用いられる信号入力パターンを示す入力パターン情報を記憶する入力パターン情報記憶部と，
前記集積回路の前記トランジスタ間の配線を示すセル間配線情報を記憶する配線情報記憶部と，
前記トランジスタ接続情報に基づいて，前記集積回路の各セルについて，前記各セルが含むいずれかのトランジスタのソース端子およびドレイン端子を経由して接続されるトランジスタ同士をまとめて同一の回路部品として特定して，該特定した回路部品毎の前記トランジスタの接続関係を示す回路部品トランジスタ接続情報を出力する回路分割部と，
前記回路部品トランジスタ接続情報から前記回路部品毎に論理を抽出して，該抽出した回路部品毎の論理を示す回路部品論理モデル情報を出力する論理抽出部と，
前記回路部品トランジスタ接続情報に基づいて，前記回路部品毎に入出力端子の信号遷移状態別の電力情報を取得して，前記回路部品毎の電力情報である回路部品電力情報を出力する電力計算部と，
前記集積回路接続情報と前記入力パターン情報と前記回路部品論理モデル情報とに基づいて，前記集積回路の前記回路部品各々について論理シミュレーションを行って，前記回路部品毎の入出力端子の信号遷移を示す信号端子遷移情報を生成する論理シミュレーション部と，
前記集積回路接続情報と前記信号端子遷移情報と前記回路部品論理モデル情報と前記回路部品電力情報とに基づいて，前記回路部品毎の前記入出力端子の信号遷移における消費電力を求めて，前記セル間配線情報に基づいて求めた前記回路部品の消費電力をもとに前記集積回路の消費電力を求める集積回路消費電力計算部とを備えることを特徴とする
集積回路消費電力計算装置。
【請求項２】
前記集積回路消費電力計算装置において，
前記回路分割部は，前記設定した回路部品が，所定の論理状態を保持するラッチ回路と接続される場合に，前記回路部品と該ラッチ回路とを同一の回路部品として設定する
ことを特徴とする請求項１に記載の集積回路消費電力計算装置。
【請求項３】
前記集積回路消費電力計算装置において，
前記集積回路が含むトランジスタの配置と配線とを示す配置配線情報を取得して，前記セル間配線情報を抽出する配線情報取得部を備える
ことを特徴とする請求項１または請求項２に記載の集積回路消費電力計算装置。
【請求項４】
集積回路が含む回路間の接続関係を示す集積回路接続情報と，前記集積回路を構成する各セルが含むトランジスタ間の接続関係を示すトランジスタ接続情報と，前記集積回路の論理シミュレーションに用いられる信号入力パターンを示す入力パターン情報と，前記集積回路の前記トランジスタ間の配線を示すセル間配線情報を記憶する情報処理部を備えるコンピュータが実行する処理方法であって，
前記トランジスタ接続情報に基づいて，前記集積回路の各セルについて，前記各セルが含むいずれかのトランジスタのソース端子およびドレイン端子を経由して接続されるトランジスタ同士をまとめて同一の回路部品として特定するステップと，
前記特定した回路部品毎の前記トランジスタの接続関係を示す回路部品トランジスタ接続情報を出力するステップと，
前記回路部品トランジスタ接続情報から前記回路部品毎に論理を抽出して，該抽出した回路部品毎の論理を示す回路部品論理モデル情報を出力するステップと，
前記回路部品トランジスタ接続情報に基づいて，前記回路部品毎に入出力端子の信号遷移状態別の電力情報を取得して，前記回路部品毎の電力情報である回路部品電力情報を出力するステップと，
前記集積回路接続情報と前記入力パターン情報と前記回路部品論理モデル情報とに基づいて，前記集積回路の前記回路部品各々について論理シミュレーションを行って，前記回路部品毎の入出力端子の信号遷移を示す信号端子遷移パターン情報を生成するステップと，
前記集積回路接続情報と前記信号端子遷移情報と前記回路部品論理モデル情報と前記回路部品電力情報とに基づいて，前記回路部品毎の前記入出力端子の信号遷移における消費電力を求めて，前記セル間配線情報に基づいて求めた前記回路部品の消費電力をもとに前記集積回路の消費電力を求めるステップとを，
コンピュータに実行させることを特徴とする
集積回路消費電力計算処理方法。
【請求項５】
前記集積回路消費電力計算処理方法において，
前記セル内で回路部品を設定するステップは，前記設定した回路部品が，所定の論理状態を保持するラッチ回路と接続される場合に，前記回路部品と該ラッチ回路とを同一の回路部品として設定する
ことを特徴とする請求項４に記載の集積回路消費電力計算処理方法。
【請求項６】
集積回路が含む回路間の接続関係を示す集積回路接続情報と，前記集積回路を構成する各セルが含むトランジスタ間の接続関係を示すトランジスタ接続情報と，前記集積回路の論理シミュレーションに用いられる信号入力パターンを示す入力パターン情報と，前記集積回路の前記トランジスタ間の配線を示すセル間配線情報を記憶する情報処理部を備えるコンピュータに，
前記トランジスタ接続情報に基づいて，前記集積回路の各セルについて，前記各セルが含むいずれかのトランジスタのソース端子およびドレイン端子を経由して接続されるトランジスタ同士をまとめて同一の回路部品として特定するステップと，
前記特定した回路部品毎の前記トランジスタの接続関係を示す回路部品トランジスタ接続情報を出力するステップと，
前記回路部品トランジスタ接続情報から前記回路部品毎に論理を抽出して，該抽出した回路部品毎の論理を示す回路部品論理モデル情報を出力するステップと，
前記回路部品トランジスタ接続情報に基づいて，前記回路部品毎に入出力端子の信号遷移状態別の電力情報を取得して，前記回路部品毎の電力情報である回路部品電力情報を出力するステップと，
前記集積回路接続情報と前記入力パターン情報と前記回路部品論理モデル情報とに基づいて，前記集積回路の前記回路部品各々について論理シミュレーションを行って，前記回路部品毎の入出力端子の信号遷移を示す信号端子遷移パターン情報を生成するステップと，
前記集積回路接続情報と前記信号端子遷移情報と前記回路部品論理モデル情報と前記回路部品電力情報とに基づいて，前記回路部品毎の前記入出力端子の信号遷移における消費電力を求めて，前記セル間配線情報に基づいて求めた前記回路部品の消費電力をもとに前記集積回路の消費電力を求めるステップとを
実行させる
ことを特徴とする集積回路消費電力計算プログラム。
【請求項７】
前記集積回路消費電力計算プログラムにおいて，
前記コンピュータに，
前記セルの回路部品を設定するステップにおいて，前記設定した回路部品が，所定の論理状態を保持するラッチ回路と接続される場合に，前記回路部品と該ラッチ回路とを同一の回路部品として設定するステップを
実行させる
ことを特徴とする請求項６に記載の集積回路消費電力計算プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は，集積回路消費電力計算装置，処理方法およびプログラムに関する。
【背景技術】
【０００２】
ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）等の集積回路の設計段階において集積回路の消費電力を求める場合に，以下のようにして行っていた。【０００３】
集積回路の論理シミュレーション処理を行って求めた集積回路を構成するセル毎の入出力信号端子の信号遷移パターン情報と，セル毎に回路シミュレーション処理（例えばＳＰＩＣＥ：Ｓｉｍｕｌａｔｉｏｎ  Ｐｒｏｇｒａｍ  ｗｉｔｈ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｅｍｐｈａｓｉｓ）を行って求めた入出力端子の信号遷移状態別のセル電力情報と，セル間の配線情報とが，消費電力計算処理の入力情報として取得される。【０００４】
そして，各セルの入出力端子の信号遷移から消費電力を求めて，さらに，配線情報に基づいて次段セルへの信号伝播の計算と負荷容量の電力計算を行なう。このような電力計算処理を，集積回路内の全回路の全信号遷移情報について行って電力の合計を求めることによって，集積回路全体の消費電力を計算していた。【０００５】
従来手法の一例として，ＬＳＩに含まれるＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）マクロ等の大規模回路ブロック（メガセル）を含む集積回路の消費電力計算の場合に，メガセル毎の入力端子の状態別の消費電力を求めておき，メガセルの消費電力と論理シミュレーション処理結果とを組み合わせて集積回路の消費電力計算を行なうものがある。【０００６】
また，従来手法の別の一例として，インバータ回路（否定回路），ＡＮＤ回路（論理積回路），ＮＡＮＤ回路（否定的論理積回路），ＯＲ回路（論理和回路），ＮＯＲ回路（非敵的論理和回路）等の基本回路（基本セル）の遷移動作毎の消費電力を求めておき，論理シミュレーションを行って各基本回路の遷移動作の回数を取得して，所定の論理回路のパラメータをもとに，遷移動作別の消費電力と遷移動作回数とから全体の消費電力を計算するものがある。【０００７】
さらに，従来手法の別の一例として，回路の消費電力情報を保持しておき，回路の出力が変化しない場合の消費電力と回路出力が変化する場合の消費電力とを求めて，回路の入力が変化した場合に，入力変化に応じた単位時間当たりの出力の変化数に対応する係数に基づいて基本回路の消費電力を求めるものがある。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平１０−１１４８２号公報
【特許文献２】特開平５−１２６８７２号公報
【特許文献３】特開２０００−１４８８３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従来手法では，セルの規模によって生じる回路の複雑さに対応して消費電力計算の精度を確保することが考慮されていなかった。そのため，大規模な回路全体がトランジスタレベルで設計されているセルの消費電力計算の計算精度が低下してしまうという問題があった。すなわち，従来手法では，セル全体について一括してトランジスタの動作シミュレーションを行わなければならない。しかし，たとえば６４ビット加算器のように，セルの入出力端子数が非常に多くなると，セルの入出力のすべての状態の組み合わせ数が膨大になって，シミュレーションの処理時間が非常に長くなってしまい，入出力信号の遷移状態別の消費電力を計算することが現実的に困難であった。【００１０】
また，セル内のトランジスタ数が多くなると，入出力信号の遷移状態別の回路シミュレーション処理（例えばＳＰＩＣＥシミュレーション処理）の処理時間がさらに膨大なものとなるため，回路の論理シミュレーション処理による電力計算は現実的に不可能であった。【００１１】
さらに，複数のラッチを含むラッチアレイのように内部状態を保持する回路が多数入っているセルの場合には，同一の入力信号遷移であっても，保持されている内部状態の相違によって内部動作が異なるために，入出力信号の遷移状態だけではセルの消費電力を正しく求めることができなかった。【００１２】
従来手法として，メガセルについて状態別の消費電力を求める手法があるが，状態の分類は，メガセル内部の全ての状態に対応するものではなく，機能別などの代表的な動作毎に分類して電力を求めていた。そのため，メガセル内部の詳細な状態の差異による消費電力の違いを顕現できず，消費電力計算の精度が低くなっていた。【００１３】
本発明は，大規模なセルを搭載した集積回路の消費電力計算処理において，その消費電力計算の精度を向上させることを目的とする。
【課題を解決するための手段】
【００１４】
本発明の実施の一態様として開示する集積回路消費電力計算装置は，集積回路が含む回路間の接続関係を示す集積回路接続情報を記憶する集積回路接続情報記憶部と，前記集積回路を構成する各セルが含むトランジスタ間の接続関係を示すトランジスタ接続情報を記憶するトランジスタ接続情報記憶部と，前記集積回路の論理シミュレーションに用いられる信号入力パターンを示す入力パターン情報を記憶する入力パターン情報記憶部と，前記集積回路の前記トランジスタ間の配線を示すセル間配線情報を記憶する配線情報記憶部と，前記トランジスタ接続情報に基づいて，前記集積回路の各セルについて，前記各セルが含むいずれかのトランジスタのソース端子およびドレイン端子を経由して接続されるトランジスタ同士をまとめて同一の回路部品として特定して，該特定した回路部品毎の前記トランジスタの接続関係を示す回路部品トランジスタ接続情報を出力する回路分割部と，前記回路部品トランジスタ接続情報から前記回路部品毎に論理を抽出して，該抽出した回路部品毎の論理を示す回路部品論理モデル情報を出力する論理抽出部と，前記回路部品トランジスタ接続情報に基づいて，前記回路部品毎に入出力端子の信号遷移状態別の電力情報を取得して，前記回路部品毎の電力情報である回路部品電力情報を出力する電力計算部と，前記集積回路接続情報と前記入力パターン情報と前記回路部品論理モデル情報とに基づいて，前記集積回路の前記回路部品各々について論理シミュレーションを行って，前記回路部品毎の入出力端子の信号遷移を示す信号端子遷移情報を生成する論理シミュレーション部と，前記集積回路接続情報と前記信号端子遷移情報と前記回路部品論理モデル情報と前記回路部品電力情報とに基づいて，前記回路部品毎の前記入出力端子の信号遷移における消費電力を求めて，前記セル間配線情報に基づいて求めた前記回路部品の消費電力をもとに前記集積回路の消費電力を求める集積回路消費電力計算部とを備えることを特徴とする。【００１５】
また，本発明の実施の別の態様として開示する集積回路消費電力計算処理方法は，前記集積回路消費電力計算装置において，集積回路の消費電力を計算する場合に，集積回路が含む回路間の接続関係を示す集積回路接続情報と，前記集積回路を構成する各セルが含むトランジスタ間の接続関係を示すトランジスタ接続情報と，前記集積回路の論理シミュレーションに用いられる信号入力パターンを示す入力パターン情報と，前記集積回路の前記トランジスタ間の配線を示すセル間配線情報を記憶する情報処理部を備えるコンピュータが実行する処理方法であって，前記トランジスタ接続情報に基づいて，前記集積回路の各セルについて，前記各セルが含むいずれかのトランジスタのソース端子およびドレイン端子を経由して接続されるトランジスタ同士をまとめて同一の回路部品として特定するステップと，前記特定した回路部品毎の前記トランジスタの接続関係を示す回路部品トランジスタ接続情報を出力するステップと，前記回路部品トランジスタ接続情報から前記回路部品毎に論理を抽出して，該抽出した回路部品毎の論理を示す回路部品論理モデル情報を出力するステップと，前記回路部品トランジスタ接続情報に基づいて，前記回路部品毎に入出力端子の信号遷移状態別の電力情報を取得して，前記回路部品毎の電力情報である回路部品電力情報を出力するステップと，前記集積回路接続情報と前記入力パターン情報と前記回路部品論理モデル情報とに基づいて，前記集積回路の前記回路部品各々について論理シミュレーションを行って，前記回路部品毎の入出力端子の信号遷移を示す信号端子遷移パターン情報を生成するステップと，前記集積回路接続情報と前記信号端子遷移情報と前記回路部品論理モデル情報と前記回路部品電力情報とに基づいて，前記回路部品毎の前記入出力端子の信号遷移における消費電力を求めて，前記セル間配線情報に基づいて求めた前記回路部品の消費電力をもとに前記集積回路の消費電力を求めるステップとを，コンピュータに実行させることを特徴とする。【００１６】
また，本発明の実施の別の態様として開示する集積回路消費電力計算処理プログラムは，前記集積回路消費電力計算装置において，集積回路の消費電力を計算する場合に，集積回路が含む回路間の接続関係を示す集積回路接続情報と，前記集積回路を構成する各セルが含むトランジスタ間の接続関係を示すトランジスタ接続情報と，前記集積回路の論理シミュレーションに用いられる信号入力パターンを示す入力パターン情報と，前記集積回路の前記トランジスタ間の配線を示すセル間配線情報を記憶する情報処理部を備えるコンピュータに，前記トランジスタ接続情報に基づいて，前記集積回路の各セルについて，前記各セルが含むいずれかのトランジスタのソース端子およびドレイン端子を経由して接続されるトランジスタ同士をまとめて同一の回路部品として特定するステップと，前記特定した回路部品毎の前記トランジスタの接続関係を示す回路部品トランジスタ接続情報を出力するステップと，前記回路部品トランジスタ接続情報から前記回路部品毎に論理を抽出して，該抽出した回路部品毎の論理を示す回路部品論理モデル情報を出力するステップと，前記回路部品トランジスタ接続情報に基づいて，前記回路部品毎に入出力端子の信号遷移状態別の電力情報を取得して，前記回路部品毎の電力情報である回路部品電力情報を出力するステップと，前記集積回路接続情報と前記入力パターン情報と前記回路部品論理モデル情報とに基づいて，前記集積回路の前記回路部品各々について論理シミュレーションを行って，前記回路部品毎の入出力端子の信号遷移を示す信号端子遷移パターン情報を生成するステップと，前記集積回路接続情報と前記信号端子遷移情報と前記回路部品論理モデル情報と前記回路部品電力情報とに基づいて，前記回路部品毎の前記入出力端子の信号遷移における消費電力を求めて，前記セル間配線情報に基づいて求めた前記回路部品の消費電力をもとに前記集積回路の消費電力を求めるステップとを
実行させるものである。【００１７】
また，本発明は，さらに別の実施の態様において，前記の集積回路消費電力計算プログラムをコンピュータが読み取り可能な記録媒体に格納した記録媒体であってもよい。
【発明の効果】
【００１８】
本発明の一態様として開示する集積回路消費電力計算装置は，入出力端子数やトランジスタ数が多いセル，内部に多数の論理状態を保持するセル等を含めて，集積回路を構成するセル毎に，セル内部をさらに回路部品に分割して，分割した回路部品ごとに消費電力を求めることによってセルの消費電力を求める。これにより，開示される集積回路消費電力計算装置は，セルの入出力端子の状態だけから消費電力を計算する処理に比べて，より高精度に集積回路の消費電力を計算することができる。よって，大規模なセルを搭載した集積回路の消費電力の見積もり精度を向上させることができる。
【図面の簡単な説明】
【００１９】
【図１】実施の一形態として開示する集積回路消費電力計算装置の構成例を示す図である。
【図２】実施の一形態において，集積回路消費電力計算装置の処理対象の集積回路を構成する１つのセルにおけるトランジスタの構成および配置を示す図である。
【図３】実施の一形態において，処理対象の集積回路を構成する，ラッチ回路を含むセルにおけるトランジスタの構成および配置を示す図である。
【図４】図２に示すセルの回路部品の論理モデルを示す図である。
【図５】図３に示すセルの回路部品の論理モデル例を示す図である。
【図６】集積回路消費電力計算装置の処理対象の集積回路のセルおよびセル内のトランジスタの構成例を示す図である。
【図７】図６に示す集積回路の場合の集積回路接続情報の例を示す図である。
【図８】図６に示す集積回路の場合のセルのトランジスタ接続情報の例を示す図である。
【図９】図６に示す集積回路の場合の回路部品のトランジスタ接続情報の例を示す図である。
【図１０】図６に示す集積回路の場合の回路部品論理モデル情報の例を示す図である。
【図１１】図６に示す集積回路の場合の回路部品電力情報の例を示す図である。
【図１２】図６に示す集積回路の論理シミュレーション用の入力パターン情報の例を示す図である。
【図１３】図６に示す集積回路の場合の論理シミュレーションにより収集された信号端子遷移情報の例を示す図である。
【図１４】図６に示す集積回路の場合のセル間配線の消費電力を示す情報例を示す図である。
【図１５】図６に示す集積回路の場合の集積回路消費電力情報の例を示す図である。
【図１６】集積回路消費電力計算装置の一実施態様における処理フロー図である。
【図１７】集積回路消費電力計算装置が出力する，集積回路の回路部品単位の消費電力計算結果の設計改善検討への適用を説明するための図である。
【図１８】集積回路消費電力計算装置１の実施における装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【００２０】
図１は，実施の一形態として開示する集積回路消費電力計算装置の構成例を示す図である。
【００２１】
集積回路消費電力計算装置１は，集積回路の消費電力を計算する装置であって，回路分割部１１，論理モデル生成部１２，回路部品電力計算部１３，論理シミュレーション部１４，配線情報取得部１５，集積回路消費電力計算部１６，記憶部２０を有する。
【００２２】
記憶部２０には，集積回路接続情報２１，セルのトランジスタ接続情報２２，集積回路配置配線情報２３，入力パターン情報２４が記憶される。
【００２３】
集積回路接続情報２１は，集積回路を構成する回路と，回路間の接続関係とを示す情報であって，回路毎に，回路の種別，形式，入力端子，出力端子，端子が接続する信号線（ネット）等が記述されるものである。本実施の形態において，集積回路接続情報２１は，例えば，処理対象の集積回路のネットリストである。
【００２４】
セルのトランジスタ接続情報２２は，集積回路の各セルが含むＭＯＳ−ＦＥＴ（Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｆｉｅｌｄ  Ｅｆｆｅｃｔ  Ｔｒａｎｓｉｓｔｏｒ）等のトランジスタとトランジスタ間の接続関係とを示す情報であって，各トランジスタのトランジスタ名，モデル名，ノード，形状，トランジスタパラメータ，接続関係等が記述されるものである。本実施の形態において，セルのトランジスタ接続情報２２は，例えば，集積回路の各セル内部における回路接続情報であるトランジスタネットリストである。
【００２５】
セルのトランジスタ接続情報２２は，電力計算処理の精度を確保するためには，寄生抵抗成分Ｒ（Ｒｅｓｉｓｔａｎｃｅ）と寄生容量成分Ｃ（Ｃａｐａｃｉｔａｎｃｅ）から算出される時定数である寄生ＲＣが付加されたレイアウト抽出のネットリストであることが望ましい。しかし，レイアウト処理前で消費電力計算（消費電力見積もり）を行なう場合には，寄生ＲＣを含まない回路図から生成されたネットリストを，セルのトランジスタ接続情報２２として使用することが可能である。
【００２６】
集積回路配置配線情報２３は，集積回路に搭載される部品等の実際の配置および配線を示す情報である。本実施の形態において，集積回路配置配線情報２３は，ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）システムで出力された情報である。集積回路配置配線情報２３は，集積回路接続情報２１に相当する集積回路ネットリストに付随する情報であってもよい。
【００２７】
入力パターン情報２４は，集積回路の論理シミュレーション用の各回路の入力端子への信号の遷移パターンを示す情報である。入力パターン情報２４は，集積回路の消費電力が最大となるようなプログラム動作のシミュレーション用のものであることが，より好ましい。
【００２８】
回路分割部１１は，セルのトランジスタ接続情報２２に基づいて，集積回路の各セルについて，セル内のトランジスタを，ソース端子またはドレイン端子を経由して信号線（内部ネット）で接続するトランジスタ同士でまとめて同一の回路部品として特定して，回路部品毎のトランジスタの接続関係を示す回路部品トランジスタ接続情報３１を出力する。回路部品トランジスタ接続情報３１は，セルのトランジスタ接続情報２２から生成される，回路部品のトランジスタネットリストである。
【００２９】
また，回路分割部１１は，セルが，所定の論理状態を保持するラッチアレイを含む場合には，論理状態を保持するループを構成する回路をさらにまとめて，１つの回路部品として特定する。
【００３０】
論理モデル生成部１２は，回路部品トランジスタ接続情報３１から，回路部品毎に論理を抽出して，抽出した回路部品の論理モデルを記述した回路部品論理モデル情報３２を出力する。
【００３１】
回路部品電力計算部１３は，回路部品トランジスタ接続情報３１に基づいて，回路部品毎に，回路部品の入出力端子の信号遷移状態別の電力値を求めて，回路部品毎の電力情報である回路部品電力情報３３を出力する。
【００３２】
論理シミュレーション部１４は，集積回路接続情報２１と入力パターン情報２４と回路部品論理モデル情報３２とに基づいて，集積回路の各回路部品について論理シミュレーションを行って，回路部品毎の入出力端子の信号遷移を示す信号端子遷移情報３４を生成する。
【００３３】
配線情報取得部１５は，集積回路配置配線情報２３から，集積回路の各セル間の配線に関するセル間配線情報３５を抽出する。
【００３４】
集積回路消費電力計算部１６は，集積回路接続情報２１と信号端子遷移情報３４と回路部品論理モデル情報３２と回路部品電力情報３３とに基づいて，回路部品毎に，信号端子遷移情報３４の入出力端子の信号遷移状態における消費電力を計算し，さらに，セル間配線情報３５に基づくセル間配線の負荷容量を求めて加算して，回路部品毎の消費電力を求める。そして，集積回路消費電力計算部１６は，集積回路の全回路部品毎の消費電力を積算して，集積回路全体の消費電力を示す集積回路消費電力情報３６を出力する。
【００３５】
以下に，集積回路消費電力計算装置１の動作を説明する。
【００３６】
集積回路消費電力計算装置１は，予め，集積回路接続情報２１，セルのトランジスタ接続情報２２，集積回路配置配線情報２３，入力パターン情報２４を取得して，記憶部２０に記憶しておく。
【００３７】
図２は，集積回路消費電力計算装置１の処理対象の集積回路を構成する１つのセルにおけるトランジスタの構成および配置を示す図である。
【００３８】
図２に示すセルは，４本の入力端子（Ａ１，Ａ２，Ａ３，Ａ４）と，１本の出力端子（Ｘ）とを有し，１２個のトランジスタ（ｔ１〜ｔ１２）で構成されている。入出力端子への接続ネットを含めた内部ネットは１０本（ｎ１〜ｎ１０）ある。
〔回路分割処理〕
回路分割部１１は，電源とグランドのネットを除く内部ネットを辿って，トランジスタのソース端子またはドレイン端子で接続されたトランジスタ同士を，同一の回路部品に含めていき，同一の回路部品に含まれないトランジスタを別の回路部品として分割する。また，回路分割部１１は，抵抗を介してトランジスタが接続されている場合は，抵抗を配線と同等とみなして回路部品への分割を行なう。
【００３９】
図２に示すセルでは，内部ネットｎ１，ｎ２，ｎ６，ｎ７は，トランジスタのソース端子かドレイン端子のいずれにも接続していないため，回路分割部１１は，内部ネットｎ１，ｎ２，ｎ６，ｎ７を回路部品への分割処理の対象外とする。
【００４０】
図２に示すセルでは，内部ネットｎ３が，トランジスタｔ１，ｔ２，ｔ３のドレイン端子に接続しているので，回路分割部１１は，トランジスタｔ１，ｔ２，ｔ３を同一の回路部品とする。さらに，内部ネットｎ８が，トランジスタｔ３のソース端子とトランジスタｔ４のドレイン端子とに接続しているので，回路分割部１１は，トランジスタｔ３，ｔ４を，同一の回路部品とする。そして，上記の回路分割結果から，回路分割部１１は，トランジスタｔ１，ｔ２，ｔ３，ｔ４を同一の回路部品とする。図２において，同一の回路部品の範囲を，破線の円状の領域で示す。
【００４１】
次に，内部ネットｎ４が，トランジスタｔ５，ｔ６，ｔ７のドレイン端子に接続しているので，トランジスタｔ５，ｔ６，ｔ７は，同一の回路部品となる。さらに，内部ネットｎ９が，トランジスタｔ７のソース端子とトランジスタｔ８のドレイン端子に接続しているので，回路分割部１１は，トランジスタｔ７，ｔ８を同一の回路部品とする。同様に，上記の回路分割結果から，回路分割部１１は，トランジスタｔ５，ｔ６，ｔ７，ｔ８を，同一の回路部品とする。
【００４２】
同様に，内部ネットｎ５が，トランジスタｔ９，ｔ１０，ｔ１１のドレイン端子に接続しているので，回路分割部１１は，トランジスタｔ９，ｔ１０，ｔ１１を，同一の回路部品とする。さらに，内部ネットｎ１０が，トランジスタｔ１１のソース端子とトランジスタｔ１２のドレイン端子に接続しているので，回路分割部１１は，トランジスタｔ１１，ｔ１２を，同一の回路部品とする。
【００４３】
最終的に，回路分割部１１は，上記の回路分割結果から，トランジスタｔ９，ｔ１０，ｔ１１，ｔ１２を，同一の回路部品とする。
【００４４】
このようにして，図２に示すセルでは，トランジスタｔ１，ｔ２，ｔ３，ｔ４で構成される回路部品＃１と，トランジスタｔ５，ｔ６，ｔ７，ｔ８で構成される回路部品＃２と，トランジスタｔ９，ｔ１０，ｔ１１，ｔ１２で構成される回路部品＃３との計３個の回路部品に分割される。
【００４５】
図３は，処理対象の集積回路を構成する，ラッチ回路を含むセルにおけるトランジスタの構成および配置を示す図である。
【００４６】
図３に示すセルは，２本の入力端子Ａ，クロック入力端子ＣＫと，１本の出力端子Ｘがあり，１２個のトランジスタｔ１〜ｔ１２とによって構成されている。入出力端子への接続ネットを含めた内部ネットは７本（ｎ１〜ｎ７）ある。
【００４７】
回路分割部１１は，図２を用いて説明した処理と同様に，セル内の内部ネットを辿って，ソース端子またはドレイン端子とが接続するトランジスタ同士を，同一の回路部品とする。また，その同一の回路部品内のトランジスタのソース端子またはドレイン端子と接続しているソース端子またはドレイン端子につながるトランジスタも，同一の回路部品に含む。
【００４８】
さらに，回路分割部１１は，セルがラッチ回路を含む場合に，論理状態を保持するループを検出して，そのループ部分を同一の回路部品にまとめる。
【００４９】
図３に示すセルにおいて，内部ネットｎ１，ｎ２は，トランジスタのソース端子かドレイン端子のいずれかとも接続していないため，回路分割部１１は，これらのネットを回路分割の処理の対象外とする。
【００５０】
内部ネットｎ３が，トランジスタｔ１，ｔ２のドレイン端子と，トランジスタｔ３，ｔ４のソース端子とに接続している。回路分割部１１は，トランジスタｔ１，ｔ２，ｔ３，ｔ４を，同一の回路部品とする。
【００５１】
次に，内部ネットｎ５が，トランジスタｔ３，ｔ４，ｔ７，ｔ８のドレイン端子に接続している。回路分割部１１は，トランジスタｔ３，ｔ４，ｔ７，ｔ８を同一の回路部品とする。回路分割部１１は，上記の回路分割結果から，トランジスタｔ１，ｔ２，ｔ３，ｔ４，ｔ７，ｔ８を，同一の回路部品とする。
【００５２】
次に，内部ネットｎ６が，トランジスタｔ５，ｔ６のドレイン端子に接続しているので，回路分割部１１は，トランジスタｔ５，ｔ６を，同一の回路部品とする。
【００５３】
ここで，内部ネットｎ５と内部ネットｎ６が，論理的にループを形成しているので，回路分割部１１は，内部ネットｎ５につながる回路部品のトランジスタｔ１，ｔ２，ｔ３，ｔ４，ｔ７，ｔ８と，内部ネットｎ６につながる回路部品のトランジスタｔ５，ｔ６とを，同一の回路部品＃４にまとめる。
【００５４】
次に，内部ネットｎ４は，トランジスタｔ１１，ｔ１２のドレイン端子に接続しているので，回路分割部１１は，トランジスタｔ１１，ｔ１２を同一の回路部品＃６とする。また，内部ネットｎ７は，トランジスタｔ９，ｔ１０のドレイン端子に接続しているので，回路分割部１１は，トランジスタｔ９，ｔ１０を同一の回路部品＃５とする。
【００５５】
これにより，図３に示すラッチ回路を含むセルは，トランジスタｔ１，ｔ２，ｔ３，ｔ４，ｔ５，ｔ６，ｔ７，ｔ８で構成される回路部品＃４と，トランジスタｔ９，ｔ１０で構成される回路部品＃５と，トランジスタｔ１１，ｔ１２で構成される回路部品＃６との計３個の回路部品に分割される。
【００５６】
回路分割部１１は，上述したような，セルの内部ネットからトランジスタ同士の接続を追うことによって回路部品への分割を行う処理手法（第１の分割処理手法）以外に，別の処理手法（第２の分割処理手法）によって回路分割を実施してもよい。
【００５７】
回路分割部１１は，セル内の同一の回路部品とするべきトランジスタ回路の構成の定義情報を入力として，定義情報の構成と一致するトランジスタ回路を，セルのトランジスタ接続情報から見つけ出すことによって，セルを回路部品へ分割することもできる。
【００５８】
この処理方法を実施する場合には，まず，回路分割部１１は，２入力ＮＡＮＤ回路のトランジスタ回路構成を定義した回路部品定義情報を保持しておく。例えば，この回路部品定義情報に示される，２入力ＮＡＮＤ回路のトランジスタ回路構成の構成は，図２に示すセルで，破線の円形領域内のトランジスタ回路の構成と同一であるとする。回路分割部１１は，この定義情報に基づいて，図２に示すセルのトランジスタ接続情報の中から，定義情報に定義された回路構成と同一の構成となるトランジスタ回路が存在するかを検査する。定義情報の構成と同一のトランジスタ回路を検出した場合に，検出した部分のトランジスタの構成を回路部品として抽出する。図２に示すセルでは，定義情報のトランジスタ回路と一致するトランジスタの構成が３箇所検出できるため，検出した箇所を３個の回路部品＃１，＃２，＃３を抽出する。
【００５９】
回路分割部１１は，第１の分割処理手法と第２の分割処理手法とを併用して処理することが可能である。第２の分割処理手法によってセルから回路部品を抽出し，残ったトランジスタ群に対して第１の分割処理手法を行って，セルの回路分割を完了するようにしてもよい。
【００６０】
〔回路部品の論理抽出処理〕
次に，論理モデル生成部１２が，回路部品の論理抽出を行う。
【００６１】
論理モデル生成部１２は，回路部品トランジスタ接続情報３１に基づいて，回路部品単位に論理動作を抽出して，回路部品毎の論理動作を記述する回路部品論理モデル情報３２を作成する。
【００６２】
図４は，図２に示すセルの回路部品の論理モデルを示す図である。
【００６３】
論理モデル生成部１２は，図２に示すセルの回路部品＃１（トランジスタｔ１，ｔ２，ｔ３，ｔ４）が「ｎａｎｄ論理回路」であり，入力が，入力端子Ａ１，Ａ２に接続され，出力が回路部品＃２（トランジスタｔ５，ｔ６，ｔ７，ｔ８）に接続される論理モデル（ｎａｎｄ１）を出力する。
【００６４】
さらに，論理モデル生成部１２は，図２に示す回路部品＃３（トランジスタｔ９，ｔ１０，ｔ１１，ｔ１２）が「ｎａｎｄ論理回路」であり，入力が入力端子Ａ３，Ａ４に接続され，出力が回路部品＃２（トランジスタｔ５，ｔ６，ｔ７，ｔ８）に接続される論理モデル（ｎａｎｄ３）を出力する。
【００６５】
さらに，論理モデル生成部１２は，図２に示す回路部品＃２（トランジスタｔ５，ｔ６，ｔ７，ｔ８）が「ｎａｎｄ論理回路」であり，入力が回路部品＃１（トランジスタｔ１，ｔ２，ｔ３，ｔ４）と回路部品＃３（トランジスタｔ９，ｔ１０，ｔ１１，ｔ１２）に接続され，出力が出力端子Ｘに接続される論理モデル（ｎａｎｄ２）を出力する。
【００６６】
また，論理モデル生成部１２は，図３に示すセルの回路部品についても同様に論理動作を抽出する。
【００６７】
図５は，図３に示すセルの回路部品の論理モデル例を示す図である。
【００６８】
論理モデル生成部１２は，図３に示す回路部品＃４（トランジスタｔ１，ｔ２，ｔ３，ｔ４，ｔ５，ｔ６，ｔ７，ｔ８）が「ラッチ」であり，入力が入力端子Ａに接続され，出力が回路部品＃６に接続される論理モデル（ｌａｔｃｈ１）を出力する。
【００６９】
さらに，論理モデル生成部１２は，図３に示す回路部品＃５（トランジスタｔ９，ｔ１０）が「インバータ」であり，入力が入力端子ＣＫに接続され，出力が回路部品＃４に接続される論理モデル（ｉｎｖｅｒｔｅｒ２）を出力する。
【００７０】
さらに，論理モデル生成部１２は，図３に示す回路部品＃６（トランジスタｔ１１，ｔ１２）が「インバータ」であり，入力が回路部品＃４に接続され，出力が出力端子Ｘに接続される論理モデル（ｉｎｖｅｒｔｅｒ１）を出力する。
【００７１】
〔回路部品の電力計算処理〕
また，回路部品電力計算部１３が，回路部品の電力計算を行う。
【００７２】
回路部品電力計算部１３は，セルから分割された回路部品毎に，回路部品トランジスタ接続情報３１に基づいて，回路部品の入出力信号遷移状態別の回路部品電力値を計算する。例えば，図２に示すセルの場合に，セルを３つの回路部品＃１，＃２，＃３に分割している。そのため，入出力信号遷移状態別の電力値計算処理で必要なパターン数は，
「信号を変化させるパターン数２(up/down)×変化させないピンの信号固定の組み合わせ数２(各ピン0/1を１ピン)×信号を変化させるピン数２（２ピン）×回路部品数３(nand1,nand2,nand3)＝２４パターン」となる。
【００７３】
なお，図２に示すセルの電力値の計算処理を従来方法では，入力端子４本の内１本のみ変化させてセルの電力を測定するとした場合に必要なパターン数は，「信号を変化させるパターン数２(up/down)×変化させないピンの信号固定の組み合わせ数８(各ピン0/1を３ピン)×信号を変化させるピン数４（A1,A2,A3,A4）＝６４パターン」となっていた。
【００７４】
〔論理シミュレーション処理〕
次に，論理シミュレーション部１４が，集積回路の論理シミュレーションを行う。
【００７５】
論理シミュレーション部１４は，集積回路の各セルを回路部品に分割して得た回路部品毎の論理モデルをもとに，入力パターン情報２４に基づいて論理シミュレーション処理として既知のＳＰＩＣＥシミュレーション処理を行って，各回路部品の入出力端子の信号遷移状態を示す情報を収集する。
【００７６】
論理シミュレーション部１４は，図４に示すセルについて，セル内の回路部品毎の論理モデルを使って論理シミュレーションを行うので，セルの内部ネットｎ３，ｎ５に接続する回路部品＃１，＃２，＃３の各入出力端子での情報を収集する。これによって，回路部品＃１（ｎａｎｄ１），＃２（ｎａｎｄ２），＃３（ｎａｎｄ３）のそれぞれの入出力号端子での信号遷移を示す信号端子遷移情報３４を取得する。
【００７７】
なお，従来のセル単位の論理シミュレーション処理では，入出力信号遷移情報は，入力端子Ａ１，Ａ２，Ａ３，Ａ４と出力端子Ｘのみで収集されていた。
【００７８】
論理シミュレーション部１４が扱う論理モデルは，セル単位の論理モデルに比較して，論理シミュレーション処理へ入力すべきデータ量が増加することが予想される。そのため，論理検証用の論理モデルとは別に集積回路の消費電力計算用に論理モデルを作成する等の考慮が必要となることがある。
【００７９】
〔セル間配線情報取得処理〕
配線情報取得部１５は，既知のセル間配線情報抽出処理を行って，集積回路配置配線情報２３から，集積回路を構成するセル間を接続する信号線（セル間配線）の長さ等を示すセル間配線情報３５を取得する。
【００８０】
〔集積回路の消費電力処理〕
次に，集積回路消費電力計算部１６は，集積回路接続情報２１，回路部品論理モデル情報３２，回路部品電力情報３３，信号端子遷移情報３４，セル間配線情報３５を入力とする既知の消費電力計算処理により，集積回路消費電力情報３６を出力する。
【００８１】
集積回路消費電力計算部１６は，基本的には，既知の消費電力計算と同様にして，集積回路の消費電力を求める。
【００８２】
まず，集積回路消費電力計算部１６は，集積回路のセル毎に，最初の動作サイクルにおいて各回路部品で得られる入出力端子の信号遷移状態をもとに，回路部品の種別毎の消費電力を，回路部品電力情報３３の該当する回路部品の信号状態の消費電力を参照して取得する。集積回路消費電力計算部１６は，セル内の回路部品間の配線の容量については，回路部品間の配線の容量を計算して，回路部品の出力側の消費電力として加算しておく。
【００８３】
そして，集積回路消費電力計算部１６は，セル内の全回路部品毎の消費電力を計算する。
【００８４】
次に，集積回路消費電力計算部１６は，セル間配線情報３５から，セル間配線の容量を取得して，上述の計算処理で取得したセルの消費電力に，セル間配線の消費電力を加算する。
【００８５】
集積回路消費電力計算部１６は，セル単位の消費電力の計算を，集積回路を構成する全セルについて行ない，セル個々に求めた消費電力を合計して，最初の動作サイクルにおける集積回路の消費電力を求める。
【００８６】
集積回路消費電力計算部１６は，論理回路の論理シミュレーション処理で得た信号端子遷移情報３４に基づいて，動作サイクル毎の集積回路の消費電力の取得処理を全ての動作サイクルで繰り返して行う。そして，集積回路消費電力計算部１６は，動作サイクルで求めた集積回路の消費電力を積算して，全動作サイクルでの集積回路の消費電力を得て，集積回路消費電力情報３６として出力する。
【００８７】
このようにして，大規模なセルについても，セル内部の消費電力を，分割した回路部品個々の動作別に取得することができるため，高精度で消費電力計算結果を得ることができる。
【００８８】
以下に，集積回路消費電力計算装置１の処理について，より具体的な実施例を説明する。
【００８９】
図６は，集積回路消費電力計算装置１の処理対象の集積回路のセルおよびセル内のトランジスタの構成例を示す図である。
【００９０】
集積回路消費電力計算装置１は，図６に示す集積回路ＬＳＩ＃１が含む，トランジスタ構成が同一の２つのセルについて電力計算処理を行うとする。
【００９１】
図６に示す集積回路ＬＳＩ＃１の２つのセルは，同一のトランジスタ構成であり，２本の入力端子Ａ１，Ａ２，１本の出力端子Ｘ１，６個のトランジスタｔ１〜ｔ６で構成されている。入出力端子への接続ネットを含めた内部ネットは５本（ｎ１〜ｎ５）である。
【００９２】
集積回路ＬＳＩ＃１は，入力端子Ｄ１，Ｄ２へ接続する信号線を含めて，５本のネット（ｗ１〜ｗ５）を備える。
【００９３】
図７は，図６に示す集積回路ＬＳＩ＃１の場合の集積回路接続情報２１の例を示す図である。図７に示す集積回路接続情報２１は，ネットリストの記述に基づくものであり，データ記述の一部である。
【００９４】
図７の記述例は，集積回路ＬＳＩ＃１が，２つの入力端子Ｄ１，Ｄ２と，２つのセル（セル名：ＡＮＤ２）を備えることを示す。
【００９５】
１つのセル（インスタンス名ａａ）は，出力端子Ｘ１がネットｗ３に，入力端子Ａ１がネットｗ１に，入力端子Ａ２がネットｗ２に，それぞれ接続されている。また，もう１つのセル（インスタンス名ａｂ）は，出力端子Ｘ１がネットｗ２に，入力端子Ａ１がネットｗ４に，入力端子Ａ２がネットｗ５に，それぞれ接続されている。
【００９６】
図８は，図６に示す集積回路ＬＳＩ＃１の場合のセルのトランジスタ接続情報２２の例を示す図である。図８に示すセルのトランジスタ接続情報２２は，ネットリストの記述に基づくものであり，データ記述の一部である。
【００９７】
セルのトランジスタ接続情報２２には，図６に示す集積回路ＬＳＩ＃１のセル（ＡＮＤ２）について，入力端子，出力端子，内部のトランジスタ，トランジスタの情報（トランジスタ素子名，端子ノード名，トランジスタモデル名，トランジスタパラメータ（例えば，ゲート幅，ゲート長等））が記述されている。端子ノード名は，トランジスタの接続先を含むように記述される。
【００９８】
図８に示す記述例では，セルＡＮＤ２が，１本の出力端子Ｘ１，２本の入力端子Ａ１，Ａ２，６個のトランジスタｔ１〜ｔ６を備えることを示す。また，１つのトランジスタｔ１について，トランジスタ素子名（ｍｔ１），端子ノード名（ｎ４  Ａ１  ＶＤＤ  ＶＳＳ），トランジスタモデル名（ｐｃｈ），トランジスタパラメータ（Ｗ＝１ｕ，Ｌ＝０．１ｕ）等の情報が記述されていることを示す。この記述から，トランジスタｔ１の端子が，入力端子Ａ１と内部ネットｎ４に接続されていることがわかる。
【００９９】
回路分割部１１は，図８に示すセルのトランジスタ接続情報２２に基づいて，集積回路ＬＳＩ＃１の各セルのトランジスタｔ１〜ｔ６を回路部品へ分割する。
【０１００】
回路分割部１１は，セル「ＡＮＤ２；ａａ」のトランジスタｔ１，ｔ３，ｔ４，ｔ２を１つの回路部品「部品名：ＡＮＤ２１，インスタンス名：ａ」とする。同様に，回路分割部１１は，セル「ＡＮＤ２；ａａ」のトランジスタｔ５，ｔ６を１つの回路部品「部品名：ＡＮＤ２２，インスタンス名：ｂ」とする。回路分割部１１は，セル「ＡＮＤ２；ａｂ」についても同様に，回路部品への分割を行う。
【０１０１】
図６に示す集積回路ＬＳＩ＃１の構成例において，回路部品は，破線の楕円で示す部分で示される。
【０１０２】
回路分割部１１は，セルを回路部品へ分割して，回路部品トランジスタ接続情報３１を出力する。
【０１０３】
図９は，図６に示す集積回路ＬＳＩ＃１の場合の回路部品トランジスタ接続情報３１の例を示す図である。図９に示す回路部品トランジスタ接続情報３１は，ネットリストの記述に基づくものであり，データ記述の一部である。
【０１０４】
図９に示す記述例では，セル内の各回路部品ＡＮＤ２１，ＡＮＤ２２のトランジスタの接続情報が定義される。
【０１０５】
例えば，回路部品「ＡＮＤ２１」は，２本の入力端子Ｔ１，Ｔ２，１本の出力端子Ｔ３と，４個のトランジスタｔ１，ｔ２，ｔ３，ｔ４とを備えることを示す。さらに，トランジスタｔ１は，トランジスタ素子名（ｔ１），端子ノード名（Ｔ３  Ｔ１  ＶＤＤ  ＶＤＤ），トランジスタモデル名（ｐｃｈ），トランジスタパラメータ（Ｗ＝１ｕ，Ｌ＝０．１ｕ）等であることを示す。そして，トランジスタｔ１の端子が入力端子Ｔ１，出力端子Ｔ３に接続することがわかる。
【０１０６】
また，回路部品「ＡＮＤ２２」は，１本の入力端子Ｔ１，１本の出力端子Ｔ２と，２個のトランジスタｔ５，ｔ６とを備えることを示す。さらに，トランジスタｔ５は，トランジスタ素子名（ｔ５），端子ノード名（Ｔ２  Ｔ１  ＶＤＤ  ＶＤＤ），トランジスタモデル名（ｐｃｈ），トランジスタパラメータ（Ｗ＝１ｕ，Ｌ＝０．１ｕ）等であることを示す。そして，トランジスタｔ５の端子が入力端子Ｔ１，出力端子Ｔ２に接続することがわかる。
【０１０７】
論理モデル生成部１２は，図９に示す回路部品トランジスタ接続情報３１に基づいて各回路部品の論理を抽出して，回路部品論理モデル情報３２を出力する。
【０１０８】
図１０は，図６に示す集積回路ＬＳＩ＃１の場合の回路部品論理モデル情報３２の例を示す図である。
【０１０９】
回路部品論理モデル情報３２には，集積回路ＬＳＩ＃１の各セルおよびセルを構成する回路部品の論理モデルが記述される。図１０に示す回路部品論理モデル情報３２は，データ記述の一部である。
【０１１０】
図１０に示す記述例では，セルＡＮＤ２の論理記述，セルＡＮＤ２を構成する回路部品ＡＮＤ２１の論理記述（ｎａｎｄゲート），回路部品ＡＮＤ２２の論理記述（インバータ）が示されている。
【０１１１】
また，回路部品電力計算部１３は，図９に示す回路部品トランジスタ接続情報３１に基づいて，各回路部品について，入出力信号遷移別の消費電力を求めて，回路部品毎の消費電力を計算して，回路部品電力情報３３を出力する。
【０１１２】
図１１は，図６に示す集積回路ＬＳＩ＃１の場合の回路部品電力情報３３の例を示す図である。
【０１１３】
回路部品電力情報３３には，各回路部品の電力情報として，リーク電力値，端子の立ち上がり時／立ち下がり時の容量，各端子での信号変化時の電力として，１または複数の出力負荷容量および出力負荷容量に対応するセルの電力値等が記述される。
【０１１４】
図１１に示す記述例では，回路部品ＡＮＤ２１の電力情報として，リーク電力値＝２３．４６６８，回路部品ＡＮＤ２１の入力端子Ｔ１の立ち上がり時／立ち下がり時の容量＝０．０１６０６４７／０．０１６０７１６，入力端子Ｔ１での信号変化時の電力として，出力負荷容量＝０．００３２の場合のセル電力値＝０．００１９が記述される。
【０１１５】
また，回路部品ＡＮＤ２２の電力情報として，リーク電力値＝２２．６６７７，回路部品ＡＮＤ２２の入力端子Ｔ１での信号変化時の電力として，出力負荷容量＝０．００１の場合のセル電力値＝０．００１６，出力負荷容量＝０．００３の場合のセル電力値＝０．００３２，出力負荷容量＝０．０１の場合のセル電力値＝０．００６７，出力負荷容量＝０．０３の場合のセル電力値＝０．０１２１，出力負荷容量＝０．１の場合のセル電力値＝０．０２４５，出力負荷容量＝０．３の場合のセル電力値＝０．０５１７が記述される。
【０１１６】
そして，論理シミュレーション部１４は，集積回路接続情報２１（図７参照），入力パターン情報２４，回路部品論理モデル情報３２（図１０参照）をもとに，集積回路ＬＳＩ＃１の論理シミュレーションを行う。
【０１１７】
図１２は，図６に示す集積回路ＬＳＩ＃１の論理シミュレーション用の入力パターン情報２４の例を示す図である。
【０１１８】
図１２に示す入力パターン情報２４は，集積回路ＬＳＩ＃１の入力端子Ｄ１，Ｄ２に対して，動作サイクル毎に入力する信号を記述する。
【０１１９】
図１２の記述例では，論理シミュレーションの経過時間を示す，動作サイクルに対応するある時刻＝＃１２３４５で，入力端子Ｄ１（％０）の値を“０”に，入力端子Ｄ２（％１）の値を“０”にすることを，その後の時刻＝＃１２３４７で，入力端子Ｄ１（％０）の値を“１”に，入力端子Ｄ２（％１）の値を“１”にすることを示す。
【０１２０】
論理シミュレーション部１４は，入力パターン情報２４に記述された信号の入力パターンに基づいて，各回路部品の入出力端子の信号を収集して，各端子での信号遷移を示す信号端子遷移情報３４を出力する。
【０１２１】
図１３は，図６に示す集積回路ＬＳＩ＃１の場合の論理シミュレーションにより収集された信号端子遷移情報３４の例を示す図である。
【０１２２】
信号端子遷移情報３４では，セルの回路部品への分割後において信号遷移を収集する端子（情報収集ポイント）と，論理シミュレーション処理でのシミュレーション経過時間における情報収集ポイントでの信号の遷移状態とが記述される。
【０１２３】
図１３に示す例では，情報収集ポイント％２〜％７として，それぞれ，ポイント％２＝端子Ｘ１，ポイント％３＝回路部品ａの端子Ｔ１，ポイント％４＝回路部品ａの端子Ｔ２，
ポイント％５＝回路部品ａの端子Ｔ３，ポイント％６＝回路部品ｂの端子Ｔ１，ポイント％７＝回路部品ｂの端子Ｔ２が設定されていることを示す。
【０１２４】
また，あるシミュレーション経過時間の時刻（＃１２３４５）において，情報収集ポイント％２〜％７の信号は，それぞれ，ポイント％２：１，ポイント％３：１，ポイント％４：１，ポイント％５：０，ポイント％６：０，ポイント％７：１であることを示す。また，別の時刻（＃１２３４７）において，情報収集ポイント％２〜％７の信号は，それぞれ，ポイント％２：０，ポイント％３：０，ポイント％４：０，ポイント％５：１，ポイント％６：１，ポイント％７：０であることを示す。
【０１２５】
集積回路消費電力計算部１６は，集積回路接続情報２１（図７参照），回路部品論理モデル情報３２（図１０参照），回路部品電力情報３３（図１１参照），信号端子遷移情報３４（図１３参照）に基づいて，集積回路ＬＳＩ＃１の消費電力を計算して，その計算結果である集積回路消費電力情報３６を出力する。
【０１２６】
集積回路消費電力計算部１６は，セル間配線情報３５をもとにセル間配線の容量を得る。そして，集積回路消費電力計算部１６は，回路部品ＡＮＤ２１，ＡＮＤ２２の入出力端子の信号遷移状態に基づいて，回路種別の電力情報とセル間配線容量とから，回路部品の消費電力を求めて，セルＡＮＤ２の消費電力を求める。
【０１２７】
図１４は，図６に示す集積回路ＬＳＩ＃１の場合のセル間配線の容量を示す情報例を示す図である。図１４に示す情報例では，集積回路ＬＳＩ＃１の各配線からセル間の配線（ネット）を抽出して，抽出したセル間配線毎の容量が記述される。たとえば，集積回路ＬＳＩ＃１のセルａａ，セルａｂを接続するネットｗ２の容量が“１３．７１８”であることを示す。
【０１２８】
集積回路消費電力計算部１６は，セルＡＮＤ２１内の回路部品ＡＮＤ２１とセル間配線容量とを参照して回路部品ＡＮＤ２２の消費電力を計算することによって，セル単位の消費電力を計算する。
【０１２９】
集積回路消費電力計算部１６は，集積回路ＬＳＩ＃１を構成する全セル毎の消費電力を合計して各動作サイクルにおける集積回路ＬＳＩ＃１の消費電力を求める。さらに，集積回路消費電力計算部１６は，全動作サイクルの集積回路ＬＳＩ＃１の消費電力を積算して，集積回路の消費電力とする。
【０１３０】
図１５は，図６に示す集積回路ＬＳＩ＃１の場合の集積回路消費電力情報３６の例を示す図である。
【０１３１】
集積回路消費電力情報３６には，集積回路ＬＳＩ＃１の静的消費電力，動的消費電力およびこれらを合計する消費電力が記述される。
【０１３２】
図１５に示す記述例では，集積回路ＬＳＩ＃１の消費電力が，静的消費電力＝３１１ミリワット[mW]，動的消費電力＝４．１１ワット[W]，総消費電力＝４．４２ワット[W]であることを示す。
【０１３３】
次に，集積回路消費電力計算装置１の一実施態様のおける処理の流れを示す。
【０１３４】
図１６は，集積回路消費電力計算装置１の一実施態様における処理フロー図である。
【０１３５】
集積回路消費電力計算装置１の回路分割部１１は，セルのトランジスタ接続情報２２に基づいて，セル内のトランジスタを，トランジスタのソース端子またはドレイン端子と接続するトランジスタ同士をまとめて１つの回路部品とする（ステップＳ１）。回路分割部１１は，回路部品同士で信号を保持するループ（信号ループ）があるかを調べて（ステップＳ２），信号ループがあれば（ステップＳ２のＹ），ループとなる回路部品同士を同一の回路部品とする（ステップＳ３）。信号ループがなければ（ステップＳ２のＮ），ステップＳ４の処理へ進む。回路分割部１１は，セル内の全ての回路部品毎のトランジスタの接続情報（回路部品トランジスタ接続情報３１）を作成する（ステップＳ４）。
【０１３６】
論理モデル生成部１２は，回路部品トランジスタ接続情報３１に基づいて各回路部品のトランジスタ構造から論理を抽出し，回路部品毎の論理モデルを記述する回路部品論理モデル情報３２を出力する（ステップＳ５）。
【０１３７】
回路部品電力計算部１３は，回路部品トランジスタ接続情報３１に基づいて各回路部品の入出力端子の信号遷移状態別の電力情報（消費電力）を得る（ステップＳ６）。さらに，回路部品電力計算部１３は，セル内の全ての回路部品毎の消費電力を求め，回路部品電力情報３３を出力する（ステップＳ７）。
【０１３８】
論理シミュレーション部１４は，集積回路接続情報２１，入力パターン情報２４，回路部品論理モデル情報３２に基づいて，セル内の回路部品毎に，動作サイクル毎の入力パターンによる論理シミュレーションを行って，各回路部品の入出力端子の信号遷移を示す信号端子遷移情報３４を取得する（ステップＳ８）。
【０１３９】
配線情報取得部１５は，集積回路配置配線情報２３からセル間配線を求め，セル間配線情報３５を出力する（ステップＳ９）。
【０１４０】
集積回路消費電力計算部１６は，セル内の全ての回路部品毎に，入出力端子の信号遷移における消費電力を求める（ステップＳ１０）。さらに，集積回路消費電力計算部１６は，各回路部品の消費電力を計算して，集積回路全体の消費電力を求め，各動作サイクルで求めた集積回路の消費電力を全動作サイクル分積算した集積回路消費電力情報３６を求める（ステップＳ１１）。
【０１４１】
以上説明したように，集積回路消費電力計算装置１の集積回路消費電力計算部１６は，セル内の回路部品毎の電力計算処理において，ダイナミック電力とリーク電力とを別に集計することができる。
【０１４２】
集積回路消費電力計算部１６が計算した回路部品毎のダイナミック電力とリーク電力とを用いることによって，温度依存，トランジスタ製造プロセス条件依存等によって変動が発生しやすいリーク電力に対して，電力の計算結果をもとに変動の補正を加えることが可能になる。これにより，設計段階において確定ができなかった温度条件等の電力への影響を，消費電力の計算結果をもとに評価することが可能となる。
【０１４３】
図１７は，集積回路消費電力計算装置１が出力する，集積回路の回路部品単位の消費電力計算結果の設計改善検討への適用を説明するための図である。
【０１４４】
図１７に示すセルは，８つの入力端子Ａ１〜Ａ８と１つの出力端子Ｘとを備えて，２対１のセレクタを３段に構成した，８対１のセレクタを備える。
【０１４５】
図１７に示すセルの消費電力を，従来方式によって求める場合に，入力端子Ａ１の信号が変化した時の電力は，端子Ｓ１，Ｓ２，Ｓ３の選択信号の状態によって変わる。初段のセレクタ＃１１〜＃１４の選択信号Ｓ１が入力端子Ａ２を選択していた場合にセルの消費電力が最小となる。一方，３段のセレクタ＃１１〜＃１７が入力端子Ａ１からの信号を伝播するように端子Ｓ１，Ｓ２，Ｓ３の選択信号が設定された場合に，セルの消費電力が最大になる。入力端子Ａ２からＡ８まで全て同様であるが，入力端子Ａ１からＡ８の全ての端子で，常に入力信号が最大の消費電力になる条件で端子毎の電力を求めると，入力端子Ａ１からＡ８までの全ての入力端子の信号が変化した場合には，実際には生じ得ないような過剰な消費電力になってしまう。
【０１４６】
また，端子Ｓ１，Ｓ２，Ｓ３の信号が変化した時の消費電力は，入力端子Ａ１からＡ８までの信号の状態によって変化する。そのため，端子Ｓ１，Ｓ２，Ｓ３が変化した時の電力は，何らかの前提条件に基づいて求めた値にならざるを得ない。例えば，いくつかのランダムパターンにより求めたセルの電力を，各入力端子に均等に割り振る等の設定を行なうことになる。しかし，通常は端子Ｓ３より端子Ｓ２の方が動作する回路が多い分だけ消費電力が大きく，端子Ｓ２より端子Ｓ１の方が動作する回路が多い分だけ消費電力が大きくなる。このため，消費電力を下げるためには，端子Ｓ１，Ｓ２，Ｓ３に接続すべき制御信号の内，信号遷移の頻度が最も高い信号を端子Ｓ３へ，最も低い信号を端子Ｓ１へ接続するように設計することによって，セルの消費電力を下げることができる。
【０１４７】
このような，制御信号の入れ替えによるセルの消費電力の変化を正しく計算するためには，集積回路消費電力計算装置１の回路分割部１１によって，８対１セレクタとして動作するセルを回路部品へ分割し，２対１のセレクタとして動作する回路部品単位での電力をもとにセルの電力を計算することが望ましい。
【０１４８】
図１７に示す構成の集積回路について設計段階での消費電力の改善検討として，セレクタへの制御信号の接続状態の変更の前後での消費電力を比較し，消費電力低下に効果があった接続の状態へセルの設計変更を行うことが可能となる。
【０１４９】
従来のセル内分割手法として，セル内のタイミング解析用に回路分割を行う手法があった。タイミング解析用の回路分割手法では，入力信号の変化が出力に到達するケースのみを考慮すればよかった。しかし，図１７に示すようなセル（８対１セレクタ）の入力端子Ａ１の信号変化における電力のケースのように，集積回路の消費電力計算では，セルの出力に到達しない場合の入力信号変化も考慮する必要がある。
【０１５０】
このような相違から，タイミング解析用のセルの回路分割では，タイミングの計算精度向上のために，セル内の回路部品候補をできる限りまとめて，１つの回路部品にすることが望ましい。一方で，消費電力計算用のセルの回路分割では，セル内部の信号遷移をできる限り抽出して消費電力の計算精度を確保する必要があるため，セル内の回路部品をできるだけ個別に分割することが望ましい。
【０１５１】
図１８に，集積回路消費電力計算装置１のハードウェア構成例を示す。
【０１５２】
図１８に示すように，集積回路消費電力計算装置１は，ＣＰＵ１０１，主記憶部（メモリ）１０３，入出力インターフェィス１０５，外部記憶装置１１０，入力装置（キーボード等）１２０，出力装置（ディスプレイ等）１３０を備えるコンピュータ１００によって実施することができる。
【０１５３】
また，集積回路消費電力計算装置１は，コンピュータ１００が実行可能なプログラムによって実施することができる。この場合に，集積回路消費電力計算装置１が有すべき機能の処理内容を記述したプログラムが提供される。提供されたプログラムをコンピュータ１００が実行することによって，上記説明した集積回路消費電力計算装置１の処理機能がコンピュータ１００上で実現される。
【０１５４】
すなわち，集積回路消費電力計算装置１の回路分割部１１，論理モデル生成部１２，回路部品電力計算部１３，論理シミュレーション部１４，配線情報取得部１５，集積回路消費電力計算部１６等は，プログラムで構成することができ，記憶部２０は外部記憶装置１１０で構成することができる。
【０１５５】
なお，コンピュータ１００は，可搬型記録媒体から直接プログラムを読み取り，そのプログラムに従った処理を実行することもできる。また，コンピュータ１００は，サーバコンピュータからプログラムが転送されるごとに，逐次，受け取ったプログラムに従った処理を実行することもできる。
【０１５６】
さらに，このプログラムは，コンピュータ１００で読み取り可能な記録媒体に記録しておくことができる。
【０１５７】
以上説明したように，本発明によれば，次のような効果がある。
【０１５８】
集積回路の消費電力見積もり計算等に一般的に使用されるＳＰＩＣＥシミュレーション処理は，トランジスタ数が増加すると処理所要時間が飛躍的に増大するという特性がある。そのため，従来では，集積回路の消費電力計算において，セル単位に入出力信号遷移状態別のセル電力値を計算する場合に，セル単位の電力値を用いた消費電力のトランジスタ数が多いセルについては，電力を求める信号遷移のパターン情報の全パターンを使用せずに，いくつかのパターンを間引いてパターン数を減らしたものを用いる等して，シミュレーションの簡略化を行って，電力計算の精度を落としてセルの消費電力を求めていた。
【０１５９】
本願で開示する集積回路消費電力計算装置１は，セルを細分化した回路部品毎に論理シミュレーション処理を行なって消費電力を求めることにより，信号遷移のパターン数を減らすことなく，セルの消費電力を求めることができる。
【０１６０】
また，セルを分割することによって，論理シミュレーション時の信号遷移のパターン数も減らすことができる。
【０１６１】
また，集積回路消費電力計算装置１は，回路部品の電力計算処理において，トランジスタの貫通電流や負荷への充放電によるダイナミック電力と，トランジスタのオフリークやゲートリークからなるリーク電力とを，それぞれ別に求めることができる。集積回路消費電力計算装置１は，信号遷移時の電力（ダイナミック電力）の計算の精度を向上できるだけでなく，リーク電力の計算についても，回路部品内部のトランジスタの正確な信号状態に基づいてリーク電力を求めることができる。
【０１６２】
また，集積回路消費電力計算装置１は，回路部品間の配線容量の電力への影響については，回路部品間の配線容量を各回路部品の出力側に付けて計算することができる。これにより，回路間の配線容量が各回路部品の出力信号遷移での電力計算に盛り込まれるため，別途計算を行なう必要がなくなる。
【０１６３】
さらに，集積回路消費電力計算装置１は，セル内の回路部品の詳細な消費電力を計算して，集積回路消費電力情報３６を出力できることから，電力を多く消費している回路部品についての詳細な解析が可能になる。よって，集積回路の設計時に求めた消費電力の解析結果を基に回路設計を変更することができるため，設計改善による消費電力の改善が行えるようになる。
【符号の説明】
【０１６４】
１  集積回路消費電力計算装置
１１  回路分割部
１２  論理モデル生成部
１３  回路部品電力計算部
１４  論理シミュレーション部
１５  配線情報取得部
１６  集積回路消費電力計算部
２０  記憶部
２１  集積回路接続情報
２２  セルのトランジスタ接続情報
２３  集積回路配置配線情報
２４  入力パターン情報
３１  回路部品トランジスタ接続情報
３２  回路部品論理モデル情報
３３  回路部品電力情報
３４  信号端子遷移情報
３５  セル間配線情報
３６  集積回路消費電力情報
【図１】
0005408264.tif 000002
【図２】
0005408264.tif 000003
【図３】
0005408264.tif 000004
【図４】
0005408264.tif 000005
【図５】
0005408264.tif 000006
【図６】
0005408264.tif 000007
【図７】
0005408264.tif 000008
【図８】
0005408264.tif 000009
【図９】
0005408264.tif 000010
【図１０】
0005408264.tif 000011
【図１１】
0005408264.tif 000012
【図１２】
0005408264.tif 000013
【図１３】
0005408264.tif 000014
【図１４】
0005408264.tif 000015
【図１５】
0005408264.tif 000016
【図１６】
0005408264.tif 000017
【図１７】
0005408264.tif 000018
【図１８】
0005408264.tif 000019