(57)【要約】【課題】集積回路の設計の上流工程において消費電力に関して有用な情報を提供すること。【解決手段】コンピュータに、集積回路の各機能単位が実行する処理ステップの実行手順を示すデータを読み出し、前記各処理ステップに対する係数を読み出し、前記実行手順を複数に分割した単位手順ごとに、当該単位手順に含まれる前記処理ステップに対する前記係数に基づいて消費電力の指標値を算出し、該指標値を前記単位手順ごとに出力する処理を実行させる。【選択図】図４
2011242825.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
集積回路の各機能単位が実行する処理ステップの実行手順を示すデータを読み出し、前記各処理ステップに対する係数を読み出し、前記実行手順を複数に分割した単位手順ごとに、当該単位手順に含まれる前記処理ステップに対する前記係数に基づいて消費電力の指標値を算出し、該指標値を前記単位手順ごとに出力する処理を実行させる消費電力算出プログラム。
【請求項２】
前記データは、前記機能単位間の呼び出しステップを含み、
前記指標値を算出するステップは、前記呼び出しステップを区切りとして前記実行手順を複数に分割する請求項１記載の消費電力算出プログラム。
【請求項３】
前記コンピュータに、
前記データに基づいて、前記機能単位ごとに、当該機能単位が実行する前記処理ステップに対する前記係数に基づいて前記指標値を算出し、該指標値を前記機能単位ごとに出力する処理を実行させる請求項１又は２記載の消費電力情報算出プログラム。
【請求項４】
同一のモジュールが実行する前記処理ステップの前記係数は共通化されている請求項１乃至３いずれか一項記載の消費電力情報算出プログラム。
【請求項５】
コンピュータが、
集積回路の各機能単位が実行する処理ステップの実行手順を示すデータを読み出し、前記各処理ステップに対する係数を読み出し、前記実行手順を複数に分割した単位手順ごとに、当該単位手順に含まれる前記処理ステップに対する前記係数に基づいて消費電力の指標値を算出し、該指標値を前記単位手順ごとに出力する処理を実行する消費電力算出方法。
【請求項６】
集積回路の各機能単位が実行する処理ステップの実行手順を示すデータを記憶した実行手順情報記憶手段と、
前記各処理ステップに対する係数を記憶した係数記憶手段と、
前記実行手順を複数に分割した単位手順ごとに、当該単位手順に含まれる前記処理ステップに対する前記係数に基づいて消費電力の指標値を算出し、該指標値を前記単位手順ごとに出力する第一の指標値算出手段とを有する消費電力情報算出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、消費電力情報算出プログラム、消費電力情報算出方法、及び消費電力情報算出装置に関し、特に集積回路の消費電力に関する情報を算出する消費電力情報算出プログラム、消費電力情報算出方法、及び消費電力情報算出装置に関する。
【背景技術】
【０００２】
システムＬＳＩの消費電力の削減は、当初、配線を微細化することにより行われていた。しかし、近年において、配線の微細化による消費電力の削減は頭打ち状態にある。また、配線の微細化によりリーク電流の発生の可能性が高まるという問題もある。
【０００３】
そこで、近年では、ＲＴＬ（Register Transfer Language）記述やネットリストといった実装レベルにおけるシミュレーション又はエミュレーションによって消費電力の見積もりが行われ、当該見積もりに基づいて消費電力の削減のための対策が図られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−１５４１７２号公報
【特許文献２】特開２００６−１４６７１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＲＴＬ記述又はネットリストの実装期間は、設計対象の回路の規模にもよるが、１年から１年半程度を要する。したがって、ＲＴＬ記述又はネットリストの実装が完了した後に消費電力の見積もりを行い、見積もりの値が許容範囲外で有った場合、設計作業の手戻りが大きいという問題がある。したがって、ＲＴＬ記述又はネットリスト等の設計工程より上流工程（回路の抽象度が高い段階）において、消費電力に関して有用な情報を提供することができれば、回路の抽象度が低くなったときの手戻りの発生の可能性の低減を期待することができる。
【０００６】
本発明は、上記の点に鑑みてなされたものであって、集積回路の設計の上流工程において消費電力に関して有用な情報を提供することのできる消費電力情報算出プログラム、消費電力情報算出方法、及び消費電力情報算出装置の提供を目的とする。
【課題を解決するための手段】
【０００７】
そこで上記課題を解決するため、消費電力情報算出プログラムは、コンピュータに、集積回路の各機能単位が実行する処理ステップの実行手順を示すデータを読み出し、前記各処理ステップに対する係数を読み出し、前記実行手順を複数に分割した単位手順ごとに、当該単位手順に含まれる前記処理ステップに対する前記係数に基づいて消費電力の指標値を算出し、該指標値を前記単位手順ごとに出力する処理を実行させる。
【発明の効果】
【０００８】
開示された技術によれば、集積回路の設計の上流工程において消費電力に関して有用な情報を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態において消費電力情報の算出対象とされるシステムＬＳＩチップのモジュール構成を示す図である。
【図２】本発明の実施の形態における消費電力情報の算出方法の概要を説明するための図である。
【図３】本発明の実施の形態における消費電力情報算出装置のハードウェア構成例を示す図である。
【図４】本発明の実施の形態における消費電力情報算出装置の機能構成例を示す図である。
【図５】仕様書データに基づく係数の算出処理の処理手順を説明するためのフローチャートである。
【図６】本実施の形態における仕様書データの記述例を示す図である。
【図７】係数記憶部の構成例を示す図である。
【図８】時系列の消費電力指標値の算出処理の処理手順を説明するためのフローチャートである。
【図９】時系列指標値記憶部の構成例を示す図である。
【図１０】モジュール別の消費電力指標値の算出処理の処理手順を説明するためのフローチャートである。
【図１１】モジュール別指標値記憶部の構成例を示す図である。
【図１２】時系列指標値より得られる知見の一例を説明するための図である。
【図１３】時系列指標値と消費電力の実測値との比較によって得られる知見の例を示す図である。
【図１４】機能モジュールが細分化された場合の当該機能モジュールに関する消費電力指標値の算出を説明するための図である。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態では、図１に示されるようなモジュール（機能単位）を有するシステムＬＳＩが、消費電力情報を算出対象とされる。
【００１１】
図１は、本発明の実施の形態において消費電力情報の算出対象とされるシステムＬＳＩチップのモジュール構成を示す図である。同図には、ＩＮＩＴモジュールｍ１、ＭＡＩＮモジュールｍ２、ＳＵＢモジュールｍ３、ＯＵＴモジュールｍ４、及びメモリの一例としてのＲＡＭが示されている。これらは、一つのシステムＬＳＩチップの全部のモジュールであってもよいし、一部のモジュールが抽出されたものであってもよい。同図は、矢印によって、モジュール間のトランザクション（やりとり）も示されている。なお、本実施の形態において各モジュールの機能の内容は問わない。また、モジュールの実体が何に相当するかは、回路の抽象度に応じて異なる。例えば、プログラミング言語によって回路が記述されるＴＬＭ（Transaction Level Modeling）であれば、一つのモジュールは一つの関数に相当する。
【００１２】
また、本実施の形態において、システムＬＳＩとは、一般的に言われているシステムＬＳＩと同義である。例えば、ＣＰＵと特定の機能を持った回路を含むＬＳＩ、メディアプロセッシング等の特定の機能だけが実装されたＬＳＩ（ＣＰＵを有さないものも含む）等である。また、消費電力情報とは、消費電力に関する情報をいい、後述より明らかなように、必ずしも消費電力の値に限定されない。
【００１３】
図１に示されるようなモジュール構成を有するシステムＬＳＩについて、本実施の形態では、図２に示されるように消費電力情報が算出される。
【００１４】
図２は、本発明の実施の形態における消費電力情報の算出方法の概要を説明するための図である。
【００１５】
本実施の形態において、システムＬＳＩの消費電力情報を算出するに際し、各モジュール（機能単位）の処理ステップ（動作ステップ）の実行手順（処理シーケンス）を示す情報が入力情報とされる。本実施の形態では、斯かる情報としてＵＭＬ（Unified Modeling Language）のシーケンス図が利用される。同図にはシーケンス図Ｓｅｑ１が例示されている。シーケンス図Ｓｅｑ１は、図１に示される各モジュールについて、或る動作シナリオ対する処理シーケンス（又は動作シーケンス）を示す。
【００１６】
まず、各機能モジュールに対して、消費電力情報に対する重み付け係数（以下、単に「係数」という。）が割り当てられる。図２において、各モジュールの上に記述されているｎ１で示される各数値が係数である。同図では、ＩＮＩＴモジュールｍ１、ＭＡＩＮモジュールｍ２、ＳＵＢモジュールｍ３、ＯＵＴモジュールｍ４、ＲＡＭの順で、１、４、２、１、１の係数が付与された例が示されている。
【００１７】
続いて、シーケンス図Ｓｅｑ１の最初のステップの開始時から最後のステップの終了時までの一連の処理シーケンス（実行手順）を、所定の規則で区切った単位（又は期間）ごとに、当該単位（又は期間）において実行された処理ステップと当該処理ステップを実行した機能モジュールの係数とに基づいて、時系列の（期間ごとの）消費電力指標値を算出する。同図では、期間ｐ１、ｐ２、ｐ３、ｐ４、ｐ５のそれぞれについて、２、４、５、１２、２が時系列の消費電力指標値ｎ２として算出された例が示されている。また、グラフｇ１は、時系列の消費電力指標値をグラフ化したものである。
【００１８】
続いて、モジュールごとに（すなわち、シーケンス図ｓｅｑ１の縦軸方向に）、当該モジュールが実行している処理ステップと、当該モジュールの係数とに基づいてモジュール別の消費電力指標値が算出される。同図では、ＩＮＩＴモジュールｍ１、ＭＡＩＮモジュールｍ２、ＳＵＢモジュールｍ３、ＯＵＴモジュールｍ４、ＲＡＭのそれぞれについて、１、１６、４、１、３がモジュール別の消費電力指標値ｎ３として算出された例が示されている。
【００１９】
以上における、時系列の消費電力指標値、及びモジュール別の消費電力指標値が、本実施の形態における消費電力情報である。なお、消費電力指標値は、係数に基づいて算出される相対的な値である。なお、本実施の形態では、説明の便宜上、システムＬＳＩの回路の実装レベルはＴＬＭであるとする。
【００２０】
以下、斯かる消費電力情報を算出する消費電力情報算出装置１０について説明する。
【００２１】
図３は、本発明の実施の形態における消費電力情報算出装置のハードウェア構成例を示す図である。図３の消費電力情報算出装置１０は、それぞれバスBで相互に接続されているドライブ装置１００と、補助記憶装置１０２と、メモリ装置１０３と、ＣＰＵ１０４と、インタフェース装置１０５と、表示装置１０６と、入力装置１０７とを有する。
【００２２】
消費電力情報算出装置１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００２３】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って消費電力情報算出装置１０に係る機能を実現する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１０６はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置１０７はキーボード及びマウス等であり、様々な操作指示を入力させるために用いられる。
【００２４】
図４は、本発明の実施の形態における消費電力情報算出装置の機能構成例を示す図である。同図において、消費電力情報算出装置１０は、仕様書データ記憶部１１、係数算出部１２、係数記憶部１３、シーケンス図データ記憶部１４、時系列指標値算出部１５、時系列指標値記憶部１６、モジュール別指標値算出部１７、及びモジュール別指標値記憶部１８等を有する。これら各部は、消費電力情報算出装置１０にインストールされたプログラムがＣＰＵ１０４に実行させる処理により実現される。
【００２５】
仕様書データ記憶部１１は、補助記憶装置１０２を用いて仕様書データを記憶する。仕様書データは、各モジュールの機能仕様が自然言語で記述された仕様書の電子データである。係数算出部１２は、仕様書データを用いて各モジュールの係数を算出する。係数記憶部１３は、係数算出部１２によって算出された係数をモジュールに関連付けて補助記憶装置１０２を用いて記憶する。シーケンス図データ記憶部１４は、シーケンス図Ｓｅｑ１を示すデータ（以下、「シーケンス図データ」という。）を補助記憶装置１０２を用いて記憶する。
【００２６】
時系列指標値算出部１５は、シーケンス図データ記憶部１４に記録されたシーケンス図データと、係数記憶部１３に記録された係数とに基づいて時系列の消費電力指標値を算出する。時系列指標値記憶部１６は、時系列指標値算出部１５によって算出された消費電力指標値を補助記憶装置１０２を用いて記憶する。モジュール別指標値算出部１７は、シーケンス図データ記憶部１４に記録されたシーケンス図データと、係数記憶部１３に記録された係数とに基づいてモジュール別の消費電力指標値を算出する。モジュール別指標値記憶部１８は、モジュール別指標値算出部１７によって算出された消費電力指標値を補助記憶装置１０２を用いて記憶する。
【００２７】
以下、消費電力情報算出装置１０の処理手順について説明する。
【００２８】
図５は、仕様書データに基づく係数の算出処理の処理手順を説明するためのフローチャートである。
【００２９】
ステップＳ１０１において、係数算出部１２は、ユーザより仕様書データの指定を受け付け、指定された仕様書データをメモリ装置１０３に読み込む。仕様書データの指定とは、例えば、仕様書データが格納されたファイルのファイル名の指定等をいう。
【００３０】
図６は、本実施の形態における仕様書データの記述例を示す図である。同図の例では、「Ｎ．＜モジュール名＞」という形式によって当該モジュール名に関する説明のタイトルが記述される。また、「Ｎ．Ｍ  ＜機能名＞」という形式によってモジュールが有する機能ごとの説明のタイトルが記述される。
【００３１】
続いて、係数算出部１２は、仕様書データにおいて、モジュールごとの説明の区切り（例えば、タイトル）を識別するための記号（以下、「モジュール区切り記号」という。）、及びモジュール内の機能ごとの説明の区切り（例えば、タイトル）を識別するための記号（以下、「機能区切り記号」という。）の指定をユーザより受け付ける（Ｓ１０２）。例えば、図６の仕様書データの場合、「Ｎ．」がモジュール区切り記号として指定される。また、「Ｎ．Ｍ」が機能区切り記号として指定される。
【００３２】
続いて、係数算出部１２は、仕様書データの先頭から（１ページ目の１行目から）モジュール区切り記号を検索する（Ｓ１０３）。モジュール区切り記号が検出されると、係数算出部１２は、係数を記憶するための変数Ｎを０に初期化する（Ｓ１０４）。続いて、係数算出部１２は、モジュール区切り記号が検出された箇所から機能区切り記号を検索し（Ｓ１０５）、機能区切り記号が検出されるたびにＮに１を加算する（Ｓ１０６）。すなわち、本実施の形態では、モジュールの機能数が係数の値とされる。機能が多いモジュールほど電力を消費する傾向にあり、機能数と消費電力との間には相関関係が有ると考えられるからである。機能区切り記号が検出されなくなった場合、係数算出部１２は、現在対象とされているモジュールのモジュール名に関連付けて変数Ｎの値を係数として係数記憶部１３に記録する（Ｓ１０７）。なお、機能区切り記号が検出されなくなった場合とは、次のモジュールのモジュール区切り記号が検出された場合や、仕様書データの終端を検出した場合等である。
【００３３】
以降、モジュール区切り記号が検出されなくなるまでステップＳ１０３以降が繰り返される。その結果、係数記憶部１３は、例えば、図７に示されるような状態となる。
【００３４】
図７は、係数記憶部の構成例を示す図である。同図では、図２と同様の値が各モジュールの係数として記録された例が示されている。なお、ＲＡＭに関しては、既定値として「１」が記録されるようにしてもよい。
【００３５】
上記のように、仕様書データに基づいて係数を算出する場合、仕様書データは、ＸＭＬ（eXtensible Markup Language）やＳＧＭＬ（Standard Generalized Mark-up Language）等の構造化文書として作成されているのが好適である。例えば、仕様書データがＸＭＬデータであれば、モジュール区切り記号や機能区切り記号は、タグ名によって指定されればよい。
【００３６】
また、機能数ではなく、モジュールに関する説明分の行数を係数としてカウントしてもよい。機能の多さと当該説明分の量との間には相関関係が有ると考えられるからである。
【００３７】
また、係数は、自動的に算出されるのではなく、ユーザによって与えられてもよい。この場合、ユーザは、仕様書等における記述や、自らの経験等に基づいて、各モジュールの機能の重み又は大きさ等を判断し、判断結果に基づいて各モジュールに係数を付与すればよい。係数の値は、モジュール間の相対値であればよいため、モジュール間の相対的な関係が明らかになれば、どのようにカウントされてもよい。
【００３８】
続いて、時系列の消費電力指標値の算出処理について説明する。図８は、時系列の消費電力指標値の算出処理の処理手順を説明するためのフローチャートである。
【００３９】
ステップＳ２０１において、時系列指標値算出部１５は、時系列の消費電力指標値（以下、「時系列指標値」という。）を記憶するための変数Ｎを０に初期化する。続いて、時系列指標値算出部１５は、シーケンス図Ｓｅｑ１のシーケンス図データより、時系列に処理ステップを一つ検索する（Ｓ２０２）。処理ステップが検索された場合、時系列指標値算出部１５は、当該処理ステップが内部処理か否かを判定する（Ｓ２０３）。内部処理とは、図Ｇ２のシーケンス図Ｓｅｑ１のステップｓ１のように、モジュールの内部によって実行される処理をいう。
【００４０】
当該処理ステップが内部処理である場合（Ｓ２０３でＹｅｓ）、時系列指標値算出部１５は、当該処理ステップの実行主体のモジュールに対する係数を係数記憶部１３より取得し、当該係数を変数Ｎに加算する（Ｓ２０４）。続いて、ステップＳ２０２以降が繰り返される。
【００４１】
一方、当該ステップが内部処理でない場合（Ｓ２０３でＮｏ）、時系列指標値算出部１５は、当該ステップがＲＡＭに対するメッセージであるか否かを判定する（Ｓ２０５）。メッセージとは、図Ｇ２のシーケンス図Ｓｅｑ１のステップｓ２のように、他のモジュールの呼び出しをいう。
【００４２】
当該処理ステップがＲＡＭに対するメッセージである場合（Ｓ２０５でＹｅｓ）、時系列指標値算出部１５は、ＲＡＭに対する係数を係数記憶部１３より取得し、当該係数を変数Ｎに加算する（Ｓ２０６）。続いて、ステップＳ２０２以降が繰り返される。
【００４３】
一方、当該処理ステップがＲＡＭに対するメッセージで無い場合（Ｓ２０５でＮｏ）、当該ステップはＲＡＭ以外の他のモジュールへのメッセージということになる。他のモジュールへのメッセージは、処理の実行主体の切り替えを意味する。したがって、この場合、係数算出部１２は、当該処理ステップを時系列の消費電力指標値の算出期間の区切りとし、現在の変数Ｎの値を当該算出期間に対する時系列指標値として時系列指標値記憶部１６に記録する（Ｓ２０７）。すなわち、本実施の形態では、処理の実行主体の切り替えのタイミングが時系列の消費電力指標値に対して係数が累積される期間の区切り（すなわち、実行手順の単位の区切り）とされる。時系列の消費電力指標値についても、同一モジュールによって継続して処理が実行される期間を区切りとするのが妥当であると考えるからである。
【００４４】
続いて、ステップＳ２０１以降が、処理ステップが検索されなくなるまで（すなわち、シーケンス図の最後まで）実行される。その結果、時系列指標値記憶部１６は、例えば、図９に示されるような状態となる。
【００４５】
図９は、時系列指標値記憶部の構成例を示す図である。同図に示されるように、時系列指標値記憶部１６には、時系列に分割された期間ごとに消費電力指標値が記録されている。なお、同図の消費電力指標値は、図２に示されるものと同じである。
【００４６】
なお、ユーザは、通常、回路の設計者であり、回路の動作を把握している。したがって、ユーザの任意によって実行手順の区切りを指定させてもよい。この、期間の区切りとする１以上の処理ステップ（以下、「区切りステップ」という。）を図８の処理の開始時に指定させればよい。区切りステップがステップＳ２０２において検索されるまで、ステップＳ２０３〜Ｓ２０６を繰り返し、区切りステップが検索されたらステップＳ２０７を実行すればよい。
【００４７】
続いて、モジュール別の消費電力指標値の算出処理について説明する。図１０は、モジュール別の消費電力指標値の算出処理の処理手順を説明するためのフローチャートである。
【００４８】
ステップＳ３０１において、モジュール別指標値算出部１７は、モジュール別の消費電力指標値（以下、「モジュール別指標値」という。）を記憶するための変数Ｎを０に初期化する。続いて、モジュール別指標値算出部１７は、シーケンス図Ｓｅｑ１のシーケンス図データより、モジュール（シーケンス図における縦軸）を一つ検索する（Ｓ３０２）。続いて、モジュール別指標値算出部１７は、検索されたモジュールはＲＡＭであるか否かを判定する（Ｓ３０３）。ＲＡＭであるか否かは、モジュール名に基づいて判定すればよい。
【００４９】
当該モジュールがＲＡＭである場合（Ｓ３０３でＹｅｓ）、モジュール別指標値算出部１７は、シーケンス図データより当該モジュールに対するメッセージを検索し、検索されたメッセージ数をカウントする（Ｓ３０４）。例えば、図２の例では、当該メッセージ数は３である。続いて、モジュール別指標値算出部１７は、ＲＡＭに対する係数を係数記憶部１３より取得し、当該係数にＲＡＭに対するメッセージ数を乗じた値を変数Ｎに加算する（Ｓ３０５）。続いて、モジュール別指標値算出部１７は、変数Ｎの値をＲＡＭに対するモジュール別指標値としてモジュール別指標値記憶部１８に記録する（Ｓ３０８）。
【００５０】
一方、当該モジュールがＲＡＭでない場合（Ｓ３０３でＮｏ）、モジュール別指標値算出部１７は、当該モジュールの内部処理をシーケンス図データより検索し、検索された内部処理数をカウントする（Ｓ３０６）。例えば、図２の例では、ＩＮＩＴモジュールｍ１の内部処理数は１である。続いて、モジュール別指標値算出部１７は、当該モジュールに対する係数を係数記憶部１３より取得し、当該係数に内部処理数を乗じた値を変数Ｎに加算する（Ｓ３０７）。続いて、モジュール別指標値算出部１７は、変数Ｎの値を当該モジュールに対するモジュール別指標値としてモジュール別指標値記憶部１８に記録する（Ｓ３０８）。
【００５１】
続いて、ステップＳ３０１以降が、モジュールが検索されなくなるまで実行される。その結果、モジュール別指標値記憶部１８は、例えば、図１１に示されるような状態となる。
【００５２】
図１１は、モジュール別指標値記憶部の構成例を示す図である。同図に示されるように、時系列指標値記憶部１６には、モジュールごとに消費電力指標値が記録されている。なお、同図の消費電力指標値は、図２に示されるものと同じである。
【００５３】
以上のように算出された消費電力指標値に基づいて、ユーザは、例えば、以下のような知見を得ることができる。
【００５４】
図１２は、時系列指標値より得られる知見の一例を説明するための図である。同図のグラフｇ１は、図２のグラフｇ１の時間軸を横軸として示したものである。同図の矢印によって示されるように、時系列指標値によれば、大局的な観点において、消費電力量の変動傾向を推測又は予測することができる。同図によれば、当初増加し、その後減少することが分かる。
【００５５】
また、図１３は、時系列指標値と消費電力の実測値との比較によって得られる知見の例を示す図である。
【００５６】
同図において（Ａ）は、システムＬＳＩチップ全体の消費電力の実測値の波形例を示す。（Ｂ）は、上記のグラフｇ１である。すなわち、システムＬＳＩ全体の時系列の消費電力指標値の波形例である。（Ａ）の波形と（Ｂ）の波形とを比較すると、破線の円で囲まれた部分（期間）について（Ｂ）の波形では、消費電力が減少しているが、（Ａ）の波形では、相対的に高い水準にある。このように、両者の間に顕著な相違が有る場合、例えば、モジュールごとに実測値と時系列指標値とを比較する。その例が、（Ｃ）と（Ｄ）である。すなわち、（Ｃ）は、ＩＮＩＴモジュールｍ１に関する消費電力の実測値の波形を示す。また、（Ｄ）は、ＩＮＩＴモジュールｍ１に関する時系列指標値の波形を示す。両者を比較すると、（Ｄ）では、初期の一時期において電力の消費が認められるのに対し、（Ｃ）では、本来であればＩＮＩＴモジュールｍ１は機能していない時期であっても継続的に電力が消費されていることが分かる。したがって、ＩＮＩＴモジュールｍ１について、クロックゲーティングといった電力制御における不具合の可能性を指摘することができる。
【００５７】
また、モジュール別指標値によれば、モジュール間の消費電力の相対的関係を把握することができる。回路の設計者は、いずれのモジュールの消費電力が大きくなる可能性があるかについて非常に興味を有する。したがって、モジュール間の消費電力の相対的な関係が把握できることは、設計者にとって非常に有用であると考えられる。
【００５８】
なお、例えば、設計が進み、本実施の形態におけるＭＡＩＮモジュールｍ２が細分化された場合、ＭＡＩＮモジュールｍ２に含まれるモジュール群に関して、時系列指標値及びモジュール別指標値が算出されてもよい。
【００５９】
図１４は、機能モジュールが細分化された場合の当該機能モジュールに関する消費電力指標値の算出を説明するための図である。同図では、ＭＡＩＮモジュールｍ２は、ｍａｉｎＡ〜ｍａｉｎＣのモジュールに細分化された場合のシーケンス図ｓｅｑ２と、時系列指標値ｎ５と、時系列指標値ｎ５のグラフｇ２とが示されている。このように、モジュールの細分化に応じて、一部のモジュールに関して本実施の形態が適用されてもよい。
【００６０】
上述したように、本実施の形態によれば、システムＬＳＩ等の半導体集積回路の各モジュール（機能単位）が実行する処理ステップ及びモジュール間の呼び出しステップの実行順を示すデータ（例えば、シーケンス図を示すデータ）を定義できれば、消費電力指標値を得ることができる。このことは、ＴＬＭのようにモジュール間のトランザクションが明確になっている工程であれば本実施の形態を適用可能であることを意味する。したがって、回路の実装工程の上流において、消費電力に関する有用な情報を提供することができる。
【００６１】
但し、本実施の形態は、ＴＬＭ以外の他の実装（例えば、ＲＴＬ記述やネットリスト等）に対しても適用可能である。他の実装に対して本実施を適用する場合、適用対象の実装に応じてモジュールを当てはめる実体を変化させればよい。ＲＴＬ記述やネットリスト等の場合は、より具体的又は物理的な回路要素がモジュールに当てはめられればよい。
【００６２】
なお、本実施の形態では、各モジュールの機能数を各モジュールの係数として採用した例について説明した。当該機能数は、各モジュールが実行する全ての処理ステップに関する数値である。例えば、ＭＡＩＮモジュールｍ２は、４つの内部処理を有するが、その４つの内部処理に対する値が「４」である。そうすると、本実施の形態のように、各モジュールの処理ステップごとに当該モジュールの係数を加算するのは、消費電力指標値の過大評価になるとも考えられる。しかし、本実施の形態では、機能数の差を、消費電力の差として顕著に把握することを可能とするため、敢えて処理ステップごとに係数を加算することとした。
【００６３】
但し、モジュールごと、かつ、処理ステップごとに係数が付与されてもよい。すなわち、処理ステップの処理の重さ等に基づいて、各処理ステップの係数が定められてもよい。この場合、同一のモジュールの処理ステップであっても、処理ステップに応じて加算される係数は異なりうる。
【００６４】
なお、本実施の形態も、処理ステップごとに係数が付与されていると考えることができる。すなわち、本実施の形態では、各処理ステップに対する係数が、モジュール単位で付与されている（共通化されている）と考えることができる。本実施の形態のように、モジュール単位で係数を付与する形態では、係数の付与に関する作業負担を軽減することができるといった利点がある。
【００６５】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００６６】
以上の説明に関し、更に以下の項を開示する。
（付記１）
コンピュータに、
集積回路の各機能単位が実行する処理ステップの実行手順を示すデータを読み出し、前記各処理ステップに対する係数を読み出し、前記実行手順を複数に分割した単位手順ごとに、当該単位手順に含まれる前記処理ステップに対する前記係数に基づいて消費電力の指標値を算出し、該指標値を前記単位手順ごとに出力する処理を実行させる消費電力算出プログラム。
（付記２）
前記データは、前記機能単位間の呼び出しステップを含み、
前記指標値を算出するステップは、前記呼び出しステップを区切りとして前記実行手順を複数に分割する付記１記載の消費電力算出プログラム。
（付記３）
前記コンピュータに、
前記データに基づいて、前記機能単位ごとに、当該機能単位が実行する前記処理ステップに対する前記係数に基づいて前記指標値を算出し、該指標値を前記機能単位ごとに出力する処理を実行させる付記１又は２記載の消費電力情報算出プログラム。
（付記４）
同一のモジュールが実行する前記処理ステップの前記係数は共通化されている付記１乃至３いずれか一項記載の消費電力情報算出プログラム。
（付記５）
コンピュータが、
集積回路の各機能単位が実行する処理ステップの実行手順を示すデータを読み出し、前記各処理ステップに対する係数を読み出し、前記実行手順を複数に分割した単位手順ごとに、当該単位手順に含まれる前記処理ステップに対する前記係数に基づいて消費電力の指標値を算出し、該指標値を前記単位手順ごとに出力する処理を実行する消費電力算出方法。
（付記６）
前記データは、前記機能単位間の呼び出しステップを含み、
前記指標値を算出するステップは、前記呼び出しステップを区切りとして前記実行手順を複数に分割する付記５記載の消費電力算出方法。
（付記７）
前記コンピュータが、
前記データに基づいて、前記機能単位ごとに、当該機能単位が実行する前記処理ステップに対する前記係数に基づいて前記指標値を算出し、該指標値を前記機能単位ごとに出力する処理を実行する付記５又は６記載の消費電力情報算出方法。
（付記８）
同一のモジュールが実行する前記処理ステップの前記係数は共通化されている付記５乃至７いずれか一項記載の消費電力情報算出方法。
（付記９）
集積回路の各機能単位が実行する処理ステップの実行手順を示すデータを記憶した実行手順情報記憶手段と、
前記各処理ステップに対する係数を記憶した係数記憶手段と、
前記実行手順を複数に分割した単位手順ごとに、当該単位手順に含まれる前記処理ステップに対する前記係数に基づいて消費電力の指標値を算出し、該指標値を前記単位手順ごとに出力する第一の指標値算出手段とを有する消費電力情報算出装置。
（付記１０）
前記データは、前記機能単位間の呼び出しステップを含み、
前記第一の指標値算出手段は、前記呼び出しステップを区切りとして前記実行手順を複数に分割する付記９記載の消費電力情報算出装置。
（付記１１）
前記データに基づいて、前記機能単位ごとに、当該機能単位が実行する前記処理ステップに対する前記係数に基づいて前記指標値を算出し、該指標値を前記機能単位ごとに出力する第二の指標値算出手段を有する付記９又は１０記載の消費電力情報算出装置。
（付記１２）
同一の前記モジュールが実行する前記処理ステップの前記係数は共通化されている付記９乃至１１いずれか一項記載の消費電力情報算出装置。
【符号の説明】
【００６７】
１０          消費電力情報算出装置
１１          仕様書データ記憶部
１２          係数算出部
１３          係数記憶部
１４          シーケンス図データ記憶部
１５          時系列指標値算出部
１６          時系列指標値記憶部
１７          モジュール別指標値算出部
１８          モジュール別指標値記憶部
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１０６        表示装置
１０７        入力装置
Ｂ            バス
【図１】
2011242825.tif 000003
【図２】
2011242825.tif 000004
【図３】
2011242825.tif 000005
【図４】
2011242825.tif 000006
【図５】
2011242825.tif 000007
【図６】
2011242825.tif 000008
【図７】
2011242825.tif 000009
【図８】
2011242825.tif 000010
【図９】
2011242825.tif 000011
【図１０】
2011242825.tif 000012
【図１１】
2011242825.tif 000013
【図１２】
2011242825.tif 000014
【図１３】
2011242825.tif 000015
【図１４】
2011242825.tif 000016