(57)【要約】【課題】半導体回路の消費電力の見積もりを、簡単かつ高精度におこなうこと。【解決手段】回路情報入力部２０１において回路情報が入力された場合、回路ＦＳＭ生成部２０３によって回路ＦＳＭ５００を生成する。動作シーケンス入力部２０２によって、動作シーケンス４００が入力された場合、探索部２０４によって状態遷移パスを探索する。消費電力取得部２０６によって、信号遷移１回当たりの消費電力を取得する。判定部２０７によって、探索された状態遷移パスの数が所定数以上であるか否かを判定する。所定数以上でない場合、入力パタン生成部２０５によって、入力パタンを生成する。論理シミュレーション実行部２１１によって、生成された入力パタンを用いて論理シミュレーションを実行する。消費電力算出部２１２によって、論理シミュレーションの実行結果と、取得した信号遷移１回当たりの消費電力とを用いて、消費電力を算出する。【選択図】        図２
2006146710.tif 000002
【特許請求の範囲】
【請求項１】
半導体回路の回路情報および動作シーケンスの入力を受け付ける入力手段と、
前記入力手段によって入力された回路情報および動作シーケンスに基づいて、前記半導体回路の消費電力を算出する消費電力算出手段と、
を備えることを特徴とする消費電力見積もり装置。
【請求項２】
前記入力手段によって入力された回路情報に基づいて、前記半導体回路の有限状態機械モデルを生成する有限状態機械モデル生成手段と、
前記有限状態機械モデル生成手段によって生成された有限状態機械モデルの中から、前記入力手段によって入力された動作シーケンスを実現する状態遷移パスを探索する探索手段と、
前記探索手段によって探索された状態遷移パスを実現する、前記半導体回路への入力パタンを生成する入力パタン生成手段を備え、
前記消費電力算出手段は、
前記入力パタン生成手段によって生成された入力パタンに基づいて、前記半導体回路の消費電力を算出することを特徴とする請求項１に記載の消費電力見積もり装置。
【請求項３】
半導体回路の回路情報および動作シーケンスを入力する入力工程と、
前記入力工程によって入力された回路情報および動作シーケンスに基づいて、前記半導体回路の消費電力を算出する消費電力算出工程と、
を含んだことを特徴とする消費電力見積もり方法。
【請求項４】
半導体回路の回路情報および動作シーケンスを入力させる入力工程と、
前記入力工程によって入力された回路情報および動作シーケンスに基づいて、前記半導体回路の消費電力を算出させる消費電力算出工程と、
をコンピュータに実行させることを特徴とする消費電力見積もりプログラム。
【請求項５】
請求項４に記載の消費電力見積もりプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＬＳＩ回路システムなど設計段階の半導体回路の消費電力を見積もる消費電力見積もり装置、消費電力見積もり方法、消費電力見積もりプログラムおよび記録媒体に関する。
【背景技術】
【０００２】
半導体回路の製造分野では、半導体回路自身が発生する熱が原因で、半導体回路の性能劣化や短寿命化が問題になっている。これらの問題を解決するためには、半導体回路の設計段階において消費電力の正確な見積り（予測）をおこない、その消費電力を削減するように回路変更等の対策をおこなうことが必要である。
【０００３】
しかし、近年の半導体回路では、消費電力が増大しているため、半導体回路の動作速度を上げられないという問題に直面している。ここで、半導体回路におけるＣＭＯＳトランジスタの消費電力Ｐは、動的消費電力ＰDと静的消費電力ＰSの和によってあらわすことができる。
Ｐ＝ＰD＋ＰS・・・（１）
【０００４】
動的消費電力ＰDは、信号遷移確率ｐ、動作周波数ｆ、出力負荷容量Ｃ、および電源電圧Ｖの二乗に比例する。
ＰD＝ｐｆＣＶ2・・・（２）
【０００５】
また、静的消費電力ＰSは、リーク電流ＩLと電源電圧Ｖに比例する。
ＰS＝ＩLＶ・・・（３）
【０００６】
また、最新のプロセッサでは、半導体回路の消費電力の７０％が、動的消費電力ＰDで占められている。したがって、従来の半導体製造技術では、上記式（２）において、電源電圧Ｖを下げることによって動的消費電力ＰDを低下させることにより、消費電力Ｐの増大を抑えることが必要である。
【０００７】
また、従来において、上述した半導体回路の消費電力Ｐを見積もる場合には、シミュレーションによる方法が一般的である。シミュレーションでは、半導体回路に入力パタンを与えて回路動作をシミュレートするとともに、半導体回路中の各信号の遷移回数をカウントする。そして、信号の１回当たりの遷移で消費される電力に遷移回数を乗じて、これを回路中の全ての信号について総和をとることにより、半導体回路の消費電力Ｐを算出することができる。
【０００８】
たとえば、下記特許文献１では、機能モジュールの実行順序である動作シナリオから全体の消費電力の変化を見積っており、各機能モジュールの消費電力はあらかじめ求められている。
【０００９】
また、下記特許文献２では、マイクロプロセッサの命令実行に必要な機能ブロックを順次検出し、機能ブロック毎に求めた消費電力を合計して全体の消費電力の変化を求めている。各機能ブロックの消費電力は事前に登録したテーブルあるいは近似式により求められる。
【００１０】
さらに、下記特許文献３では、機能ごとに入力される信号の入力順序等を記述したコマンドファイルを解析して論理シミュレーション用パタンを自動生成し、消費電力を計算する。
【００１１】
このように、従来においては、半導体回路に入力すべき入力パタンを如何にして作成するかという問題がある。入力パタンの品質が低ければ、精度が低い消費電力見積もりしかおこなうことができないからである。特に、最近のテクノロジでは既に電源電圧はＣＭＯＳトランジスタの動作限界の１Ｖ付近まで下がってきており、電源電圧の低下による消費電力削減は、今後不可能な状況になってきている。
【００１２】
【特許文献１】特開２００２−１０８９５８号公報
【特許文献２】特開平８−４４７８８号公報
【特許文献３】特開平９−１６０９３８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、半導体回路へ入力すべき入力パタンの組合せは膨大なため、設計者が人手で高品質な入力パタンを作ることは困難であるという問題があった。故障テスト用パタン生成の技術を用いて入力パタンを自動生成する手法は提案されているが、入力パタンの品質が低いという問題があった。
【００１４】
さらに、上述した特許文献１〜３の従来技術のように、設計者が動作シナリオ、テーブル、コマンドファイル（以下、「動作シナリオ等」という）を作成し、作成された動作シナリオ等を用いて消費電力を見積もっているが、動作シナリオ等の作成に時間がかかるため、消費電力の見積もり計算に手間がかかるという問題があった。
【００１５】
この発明は、上述した従来技術による問題点を解消するため、半導体回路の消費電力の見積もりを、簡単かつ高精度におこなうことができる消費電力見積もり装置、消費電力見積もり方法、消費電力見積もりプログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上述した課題を解決し、目的を達成するため、この発明にかかる消費電力見積もり装置、消費電力見積もり方法、消費電力見積もりプログラムおよび記録媒体は、半導体回路の回路情報および動作シーケンスの入力を受け付け、入力された回路情報および動作シーケンスに基づいて、前記半導体回路の消費電力を算出することを特徴とする。
【００１７】
また、上記発明において、入力された回路情報に基づいて、前記半導体回路の有限状態機械モデルを生成し、生成された有限状態機械モデルの中から、入力された動作シーケンスを実現する状態遷移パスを探索し、探索された状態遷移パスを実現する、前記半導体回路への入力パタンを生成し、生成された入力パタンに基づいて、前記半導体回路の消費電力を算出することとしてもよい。
【００１８】
また、上記発明において、入力された回路情報に基づいて、前記半導体回路における入出力信号の信号遷移１回当たりの消費電力を取得し、生成された入力パタンを用いて、前記半導体回路の論理シミュレーションを実行し、入出力信号の信号遷移１回当たりの消費電力と、実行された論理シミュレーションの実行結果とに基づいて、前記半導体回路の消費電力を算出することとしてもよい。
【００１９】
また、上記発明において、探索された状態遷移パスの状態遷移確率を算出し、探索された状態遷移パスの中から、算出された状態遷移確率が所定確率以上である状態遷移パスを抽出し、抽出された状態遷移パスを実現する、前記半導体回路への入力パタンを生成することとしてもよい。
【００２０】
また、上記発明において、生成された有限状態機械モデルと、取得された信号遷移１回当たりの消費電力と、に基づいて、探索された状態遷移パスの消費電力の大きさを予測する予測情報を算出し、算出された予測情報に基づいて、探索された状態遷移パスの中から、消費電力が最大となり得る状態遷移パス、消費電力が最小となり得る状態遷移パス、または、消費電力が平均的な値となり得る状態遷移パスのうちいずれか一つの状態遷移パスを抽出し、抽出された状態遷移パスを実現する、前記半導体回路への入力パタンを生成することとしてもよい。
【００２１】
また、上記発明において、探索された状態遷移パスの数が、所定数以上であるか否かを判定し、判定結果に基づいて、前記状態遷移確率が所定確率以上である状態遷移パスを抽出することとしてもよい。
【００２２】
また、上記発明において、探索された状態遷移パスの数が、所定数以上であるか否かを判定し、判定結果に基づいて、探索された状態遷移パスの中から、消費電力が最大となり得る状態遷移パス、消費電力が最小となり得る状態遷移パス、または、消費電力が平均的な値となり得る状態遷移パスのうちいずれか一つの状態遷移パスを抽出することとしてもよい。
【００２３】
これらの発明によれば、動作シーケンスとして、「実際の回路の使われ方」に即したものが与えられた場合、消費電力の見積もり精度は高くなる。この「実際の回路の使われ方」は、回路仕様書の一部として記述されることが多いため、取得が容易な情報である。これにより、消費電力を生成するための入力パタンを簡単かつ高精度に生成することができる。
【発明の効果】
【００２４】
本発明にかかる消費電力見積もり装置、消費電力見積もり方法、消費電力見積もりプログラムおよび記録媒体によれば、半導体回路の消費電力の見積もりを、簡単かつ高精度におこなうことができるという効果を奏する。
【発明を実施するための最良の形態】
【００２５】
以下に添付図面を参照して、この発明にかかる消費電力見積もり装置、消費電力見積もり方法、消費電力見積もりプログラムおよび記録媒体の好適な実施の形態を詳細に説明する。
【００２６】
（消費電力見積もり装置のハードウェア構成）
まず、この発明の実施の形態にかかる消費電力見積もり装置のハードウェア構成について説明する。図１は、この発明の実施の形態にかかる消費電力見積もり装置のハードウェア構成を示すブロック図である。
【００２７】
図１において、消費電力見積もり装置は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ＨＤＤ（ハードディスクドライブ）１０４と、ＨＤ（ハードディスク）１０５と、ＦＤＤ（フレキシブルディスクドライブ）１０６と、着脱可能な記録媒体の一例としてのＦＤ（フレキシブルディスク）１０７と、ディスプレイ１０８と、Ｉ／Ｆ（インターフェース）１０９と、キーボード１１０と、マウス１１１と、スキャナ１１２と、プリンタ１１３と、を備えている。また、各構成部はバス１００によってそれぞれ接続されている。
【００２８】
ここで、ＣＰＵ１０１は、消費電力見積もり装置の全体の制御を司る。ＲＯＭ１０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ１０３は、ＣＰＵ１０１のワークエリアとして使用される。ＨＤＤ１０４は、ＣＰＵ１０１の制御にしたがってＨＤ１０５に対するデータのリード／ライトを制御する。ＨＤ１０５は、ＨＤＤ１０４の制御で書き込まれたデータを記憶する。
【００２９】
ＦＤＤ１０６は、ＣＰＵ１０１の制御にしたがってＦＤ１０７に対するデータのリード／ライトを制御する。ＦＤ１０７は、ＦＤＤ１０６の制御で書き込まれたデータを記憶したり、ＦＤ１０７に記憶されたデータを消費電力見積もり装置に読み取らせたりする。
【００３０】
また、着脱可能な記録媒体として、ＦＤ１０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、メモリーカードなどであってもよい。ディスプレイ１０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ１０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００３１】
Ｉ／Ｆ１０９は、通信回線を通じてインターネットなどのネットワーク１１４に接続され、このネットワーク１１４を介して他の装置に接続される。そして、Ｉ／Ｆ１０９は、ネットワーク１１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ１０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００３２】
キーボード１１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス１１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００３３】
スキャナ１１２は、画像を光学的に読み取り、消費電力見積もり装置内に画像データを取り込む。なお、スキャナ１１２は、ＯＣＲ機能を持たせてもよい。また、プリンタ１１３は、画像データや文書データを印刷する。プリンタ１１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００３４】
（消費電力見積もり装置の機能的構成）
まず、この発明の実施の形態にかかる消費電力見積もり装置の機能的構成について説明する。図２は、この発明の実施の形態にかかる消費電力見積もり装置の機能的構成を示すブロック図である。
【００３５】
図２において、消費電力見積もり装置２００は、回路情報入力部２０１と、動作シーケンス入力部２０２と、回路ＦＳＭ生成部２０３と、探索部２０４と、入力パタン生成部２０５と、消費電力取得部２０６と、判定部２０７と、状態遷移確率算出部２０８と、予測情報算出部２０９と、抽出部２１０と、論理シミュレーション実行部２１１と、消費電力算出部２１２と、から構成されている。
【００３６】
まず、回路情報入力部２０１は、半導体回路の回路情報の入力を受け付ける。半導体回路とは、消費電力の予測対象となる半導体回路であり、たとえば、ＭＰ３デコーダなどのＬＳＩ回路システムである。また、回路情報とは、半導体回路に関する電子データであり、具体的には、半導体回路のネットリストや論理合成前のＲＴＬ記述を用いることができる。
【００３７】
ここで、回路情報入力部２０１によって回路情報として入力される半導体回路について一例を挙げて説明する。図３は、回路情報として入力される半導体回路の一例を示す回路図である。図３において、半導体回路３００は、コントローラ３０１と、データ送信部３０２とを備えたデータ送信モジュールであり、外部回路（不図示）との通信のため、制御信号ＶＡＬＩＤおよびＡＣＫの入力、制御信号ＲＥＱの出力、データの入力信号ＤＡＴＡ＿ＩＮの入力、および出力信号ＤＡＴＡ＿ＯＵＴの出力をおこなう。また、クロック信号ＣＬＯＣＫとリセット信号ＲＥＳＥＴの入力をおこなう。コントローラ３０１は、内部信号ＳＥＮＤをデータ送信部３０２に出力する。内部信号ＳＥＮＤを１にしたとき、データ送信部３０２はデータをデータバス（不図示）に送出する。
【００３８】
また、図２において、動作シーケンス入力部２０２は、半導体回路３００の動作シーケンスの入力を受け付ける。動作シーケンスとは、半導体回路３００の仕様書において、半導体回路３００の状態とその状態遷移の時間的順序を定義したものであり、消費電力の予測（見積もり）で必要な「ピーク動作」や「平均動作」に相当する動作シーケンスであることが好ましい。なお、後述する図４では示されていないが、動作シーケンスの状態遷移には、分岐やループが含まれていてもよい。
【００３９】
ここで、入力された動作シーケンスの一例を示す。図４は、半導体回路３００の動作シーケンスを示す説明図である。この半導体回路３００のデータ送信時における動作シーケンス４００では、４つの状態（状態Ａ（ＲＥＱ送出）、状態Ｂ（ＡＣＫ待ち）、状態Ｃ（データ送信）、および状態Ｄ（ＲＥＱ解除））が定義されており、Ａ→Ｂ→Ｃ→Ｄの順に遷移する。この半導体回路３００のデータ送信時の動作シーケンス４００において、図４に示した状態Ａ〜状態Ｄの外部信号や内部信号の条件および動作は、以下の通りである：
【００４０】
状態Ａ：（条件）ＲＥＱ＝１＆＆ＡＣＫ＝０
（動作）ＲＥＱを１にしてから、ＡＣＫが１に変化するのを待つ。
状態Ｂ：（条件）ＲＥＱ＝１＆＆ＡＣＫ＝１
（動作）ＡＣＫが１になったら、ＶＡＬＩＤが１に変化するのを待つ。
状態Ｃ：（条件）ＳＥＮＤ＝１
（動作）ＶＡＬＩＤが１にある間、ＳＥＮＤを１にする。するとデータ送信部３０２は、ＤＡＴＡ＿ＩＮから読み込んだ値をＤＡＴＡ＿ＯＵＴに送出する。
状態Ｄ：（条件）ＲＥＱ＝０
（動作）データ送信が完了するとＲＥＱを０にする。そして、ＡＣＫが０になるのを待つ。
【００４１】
また、図２において、回路ＦＳＭ生成部２０３は、回路情報入力部２０１によって入力された回路情報に基づいて、半導体回路３００の回路ＦＳＭ（有限状態機械モデル）を生成する。具体的には、回路ＦＳＭ生成部２０３は、半導体回路３００の外部入出力信号と内部入出力信号の論理演算関係を解析することによって、回路ＦＳＭを生成する。ここで、生成された回路ＦＳＭの一例を示す。図５は、図３に示した半導体回路３００の回路ＦＳＭを示す説明図である。この回路ＦＳＭ５００は、図３に示した半導体回路３００の状態遷移をあらわしている。
【００４２】
また、図２において、探索部２０４は、回路ＦＳＭ生成部２０３によって生成された回路ＦＳＭ５００の中から、動作シーケンス４００を実現する状態遷移パスを探索する。具体的には、探索部２０４は、状態遷移パスの探索に先立って、動作シーケンス４００と、回路ＦＳＭ５００との対応関係をとる。図４に示した動作シーケンス４００と図５に示した回路ＦＳＭ５００とを例に挙げると、図４に示した状態Ａが、図５に示した状態｛ａ０，ａ１，ａ２，ａ３｝と対応する。
【００４３】
同様に、図４に示した状態Ｂが、図５に示した状態｛ｂ０，ｂ１，ｂ２，ｂ３｝に対応する。また、図４に示した状態Ｃが、状態｛ｃ０，ｃ１，ｃ２，ｃ３｝に対応する。さらに、図４に示した状態Ｄが、状態｛ｄ０，ｄ１，ｄ２，ｄ３｝に対応する。また、回路ＦＳＭ５００には図４にはない「ｅｒｒｏｒ」という状態がある。
【００４４】
これは、状態Ａ、Ｂ、Ｃ、またはＤにおいて、４クロックサイクル内に次状態に遷移できなければ、ｅｒｒｏｒ状態に陥ることを示している。ｅｒｒｏｒ状態に陥ると、ＲＥＳＥＴ信号が１になるまで正常動作に復帰できない。回路ＦＳＭ５００には、図４には現れていない状態遷移として、ｅｒｒｏｒ→ｄ０と、｛ｄ０，ｄ１，ｄ２，ｄ３｝→ａ０が含まれている。
【００４５】
このあと、探索部２０４は、回路ＦＳＭ５００の状態間の状態遷移パスを探索する。この探索処理は、回路ＦＳＭ５００上の状態の可達判定問題に帰着される。具体的には、図４に示した動作シーケンス４００の状態Ａ〜状態Ｄと対応関係のある状態｛ａ０，ａ１，ａ２，ａ３｝と状態｛ｂ０，ｂ１，ｂ２，ｂ３｝の状態間、状態｛ｂ０，ｂ１，ｂ２，ｂ３｝と状態｛ｃ０，ｃ１，ｃ２，ｃ３｝との状態間、状態｛ｃ０，ｃ１，ｃ２，ｃ３｝と状態｛ｄ０，ｄ１，ｄ２，ｄ３｝との状態間の状態遷移パスを探索する。図６は、探索された状態遷移パスを示す説明図である。
【００４６】
また、図２において、入力パタン生成部２０５は、探索部２０４によって探索された状態遷移パスを実現する、半導体回路３００への入力パタンを生成する。入力パタンの生成は、回路ＦＳＭ５００の信号値を用いて生成することができる。ここで、図５に示した回路ＦＳＭ５００の状態遷移に必要なＡＣＫとＶＡＬＩＤの信号入力パタンについて説明する。図７は、図５に示した回路ＦＳＭ５００の状態遷移に必要なＡＣＫとＶＡＬＩＤの信号入力パタンを示す説明図である。
【００４７】
図７において、入力パタン（ＡＣＫ  ＶＡＬＩＤ）の欄で、（１０）は、ＡＣＫ＝１およびＶＡＬＩＤ＝０を入力に与えることを示す。「＊」はドントケアで０と１のいずれの値でも可能なことを表している。また、「（１０）（１１）」とは、最初のクロックサイクルでＡＣＫ＝１，ＶＡＲＩＤ＝０を与え、次のクロックでＡＣＫ＝１、ＶＡＬＩＤ＝１を与えることを示している。このような入力パタンは、従来の故障テスト用パタン生成や充足可能性判定問題（ＳＡＴ）等のアルゴリズムで解くことができる。
【００４８】
また、消費電力取得部２０６は、回路情報入力部２０１によって入力された回路情報に基づいて、半導体回路３００における入出力信号の、信号遷移１回当たりの消費電力を取得する。信号遷移１回当たりの消費電力は、図示しないライブラリにおいて、モジュールごとに記憶されており、消費電力取得部２０６によってライブラリから取得する。図８は、図３に示した半導体回路３００における入出力信号の、信号遷移１回当たりの消費電力を示す説明図である。
【００４９】
また、図２において、判定部２０７は、探索部２０４によって探索された状態遷移パスの数が、所定数以上であるか否かを判定する。判定結果により、所定数以上であると判定された場合には、後述する状態遷移確率算出部２０８や予測情報算出部２０９の算出処理を実行することができる。
【００５０】
状態遷移確率算出部２０８は、探索部２０４によって探索された状態遷移パスの状態遷移確率を算出する。状態遷移確率の具体的な算出処理について説明する。ここでは、探索部２０４によって探索された状態遷移パスのうち、状態遷移パス｛ｂ０，ｂ１，ｂ２，ｂ３｝→｛ｃ０，ｃ１，ｃ２，ｃ３｝を例に挙げて説明する。
【００５１】
ＶＡＬＩＤ信号の「１」から「０」への遷移確率を「０．２」とすると、状態遷移パス｛ｂ０，ｂ１，ｂ２，ｂ３｝→ｃ０では、ＶＡＬＩＤ＝１が１回、その後ＶＡＬＩＤ＝０になるので、（１−０．２）×０．２＝０．１６０となる。また、状態遷移パス｛ｂ０，ｂ１，ｂ２，ｂ３｝→ｃ１では、ＶＡＬＩＤ＝１が２回続いた後、ＶＡＬＩＤ＝０になるので、（１−０．２）2×０．２＝０．１２８となる。
【００５２】
また、状態遷移パス｛ｂ０，ｂ１，ｂ２，ｂ３｝→ｃ２では、ＶＡＬＩＤ＝１が３回続いた後、ＶＡＬＩＤ＝０になるので、（１−０．２）3×０．２＝０．１０２となる。また、状態遷移パス｛ｂ０，ｂ１，ｂ２，ｂ３｝→ｃ２では、ＶＡＬＩＤ＝１が４回続いた後、ＶＡＬＩＤ＝０になるので、（１−０．２）4×０．２＝０．００８となる。
【００５３】
また、抽出部２１０は、探索部２０４によって探索された状態遷移パスの中から、状態遷移確率算出部２０８によって算出された状態遷移確率が所定確率以上である状態遷移パスを抽出する。これにより、入力パタン生成部２０５は、抽出された状態遷移パスを実現する、半導体回路３００への入力パタンを生成する。
【００５４】
上述した状態遷移確率の具体的な算出処理結果を例に挙げて説明する。所定確率を、たとえば、「０．１２０」に設定した場合、状態遷移パス｛ｂ０，ｂ１，ｂ２，ｂ３｝→｛ｃ０，ｃ１，ｃ２，ｃ３｝の中から、｛ｂ０，ｂ１，ｂ２，ｂ３｝→ｃ０と、｛ｂ０，ｂ１，ｂ２，ｂ３｝→ｃ１とが抽出される。これにより、状態遷移パスの数が所定数以上になった場合であっても、状態遷移パスを削減することができる。これにより、入力パタン生成部２０５によって生成される入力パタンの数の低減を図ることができ、消費電力の見積もり処理時間の短縮化を図ることができる。
【００５５】
また、予測情報算出部２０９は、回路ＦＳＭ生成部によって生成された有限状態機械モデルと、消費電力取得部２０６によって取得された信号遷移１回当たりの消費電力と、に基づいて、探索部２０４によって探索された状態遷移パスの消費電力の大きさを予測する予測情報を算出する。予測情報は、たとえば、状態遷移回数や、ＶＡＬＩＤ信号の遷移回数によって算出することができる。状態遷移回数が多いと、ＣＬＯＣＫの遷移回数も増加する。図８において、ＣＬＯＣＫ信号遷移１回当たりの消費電力は、２０［ｕＪ］であるから、ＣＬＯＣＫの遷移回数も増加すると、消費電力も増加する。したがって、状態遷移回数によって予測情報を算出することができる。
【００５６】
また、ＶＡＬＩＤ＝１の状態が継続すると、ＤＡＴＡ＿ＩＮ＝１およびＤＡＴＡ＿ＯＵＴ＝１の遷移回数が増加する。図８において、ＤＡＴＡ＿ＩＮ信号およびＤＡＴＡ＿ＯＵＴ信号遷移１回当たりの消費電力は、５０［ｕＪ］であるから、ＤＡＴＡ＿ＩＮおよびＤＡＴＡ＿ＯＵＴの信号遷移回数も増加すると、消費電力も増加する。したがって、ＤＡＴＡ＿ＩＮおよびＤＡＴＡ＿ＯＵＴの信号遷移回数を、予測情報とすることができる。
【００５７】
また、抽出部２１０は、予測情報算出部２０９によって算出された予測情報に基づいて、探索部２０４によって探索された状態遷移パスの中から、消費電力が最大となり得る状態遷移パス、消費電力が最小となり得る状態遷移パス、または、消費電力が平均的な値となり得る状態遷移パスのうちいずれか一つの状態遷移パスを抽出する。そして、入力パタン生成部２０５は、抽出部２１０によって抽出された状態遷移パスを実現する、半導体回路３００への入力パタンを生成する。
【００５８】
具体的には、予測情報が最大となる状態遷移パスを抽出することにより、消費電力が最大となる状態遷移パスについて入力パタンを生成することができる。これにより、入力パタン生成部２０５によって生成される入力パタンの数の低減を図ることができ、消費電力の見積もり処理時間の短縮化を図ることができる。
【００５９】
また、予測情報が最小となる状態遷移パスを抽出することにより、消費電力が最大となる状態遷移パスについて入力パタンを生成することができる。これにより、入力パタン生成部２０５によって生成される入力パタンの数の低減を図ることができ、消費電力の見積もり処理時間の短縮化を図ることができる。
【００６０】
さらに、予測情報が平均的な値（たとえば、最大値および最小値以外の予測情報、予測情報の中央値など）となる状態遷移パスを抽出することにより、消費電力が最大となる状態遷移パスについて入力パタンを生成することができる。これにより、入力パタン生成部２０５によって生成される入力パタンの数の低減を図ることができ、消費電力の見積もり処理時間の短縮化を図ることができる。
【００６１】
また、論理シミュレーション実行部２１１は、入力パタン生成部２０５によって生成された入力パタンを用いて、半導体回路３００の論理シミュレーションを実行する。論理シミュレーションを実行することにより、信号遷移回数を検出することができる。また、一部の状態や信号線の遷移確率が既知の場合は、確率的なシミュレーションを実行して信号遷移確率を求めることも可能である。
【００６２】
図９は、状態遷移パスの評価を示す説明図である。図９においては、図３に示した半導体回路３００に、図７に示した状態遷移パス状態遷移パス｛ｂ０，ｂ１，ｂ２，ｂ３｝→｛ｃ０，ｃ１，ｃ２，ｃ３｝に対応する入力パタンを入力した場合の評価が示されている。
【００６３】
また、消費電力算出部２１２は、消費電力取得部２０６によって取得された、入出力信号の信号遷移１回当たりの消費電力と、論理シミュレーション実行部２１１によって実行された論理シミュレーションの実行結果とに基づいて、半導体回路３００の消費電力を算出する。具体的には、図８に示した消費電力の値と、図９に示した信号遷移回数と、に基づいて、消費電力を算出する。
【００６４】
消費電力の算出について具体的に説明すると、遷移状態パス｛ｂ０，ｂ１，ｂ２，ｂ３｝→ｃ１の状態遷移回数は、ＣＬＯＣＫが２回、ＶＡＬＩＤが１回、ＳＥＮＤが１回×２（コントローラ３０１とデータ送信部３０２にそれぞれＳＥＮＤがあるため）、ＤＡＴＡ＿ＩＮが２回、ＤＡＴＡ＿ＯＵＴが２回である。したがって、遷移状態パス｛ｂ０，ｂ１，ｂ２，ｂ３｝→ｃ１に対応する入力パタンの消費電力は、（２×２０）＋（１×１０）＋（１×２０）＋（２×２０）＋（２×２０）＝２７０［ｕＪ］となる。
【００６５】
また、図９に示した状態遷移確率を用いても消費電力を算出することができる。具体的には、状態遷移パスごとに、消費電力と状態遷移確率とを乗じ、その総和をとることで、消費電力を算出することができる。
【００６６】
（消費電力見積もり処理手順）
つぎに、この発明の実施の形態にかかる消費電力見積もり処理手順について説明する。図１０および図１１は、この発明の実施の形態にかかる消費電力見積もり処理手順を示すフローチャートである。図１０において、まず、回路情報入力部２０１において回路情報が入力された場合（ステップＳ１００１：Ｙｅｓ）、回路ＦＳＭ生成部２０３によって回路ＦＳＭ５００を生成する（ステップＳ１００２）。動作シーケンス入力部２０２によって、動作シーケンス４００が入力された場合（ステップＳ１００３：Ｙｅｓ）、探索部２０４によって状態遷移パスを探索する（ステップＳ１００４）。このあと、消費電力取得部２０６によって、信号遷移１回当たりの消費電力を取得する（ステップＳ１００５）。
【００６７】
そして、判定部２０７によって、探索された状態遷移パスの数が所定数以上であるか否かを判定する（ステップＳ１００６）。所定数以上でない場合（ステップＳ１００６：Ｎｏ）、入力パタン生成部２０５によって、入力パタンを生成する（ステップＳ１００７）。そして、論理シミュレーション実行部２１１によって、生成された入力パタンを用いて論理シミュレーションを実行する（ステップＳ１００８）。そして、消費電力算出部２１２によって、論理シミュレーションの実行結果（信号遷移回数または信号遷移確率）と、ステップＳ１００５で取得した信号遷移１回当たりの消費電力とを用いて、消費電力を算出する（ステップＳ１００９）。
【００６８】
また、ステップＳ１００６において、探索された状態遷移パスの数が所定数以上である場合（ステップＳ１００６：Ｙｅｓ）、状態遷移パスの削減処理が下記の（１）〜（４）のいずれに該当するかを判断する（ステップＳ１１０１）。
【００６９】
（１）状態遷移確率が高い状態遷移パスを選ぶ。
（２）最大消費電力の状態遷移パスを選ぶ。
（３）最小消費電力の状態遷移パスを選ぶ。
（４）平均的な値の消費電力の状態遷移パスを選ぶ。
【００７０】
そして、上記（１）の場合（ステップＳ１１０１：（１））、状態遷移確率算出部２０８によって状態遷移確率を算出し（ステップＳ１１０２）、探索された状態遷移パスから所定確率以上の状態遷移パスを抽出する（ステップＳ１１０３）。これにより、残余の状態遷移パスを削除することができ、入力パタンの生成数を低減することができる。
【００７１】
一方、ステップＳ１１０１において、（２）〜（４）のいずれか一つの場合、予測情報算出部２０９によって予測情報を算出し（ステップＳ１１０４）、消費電力が最大（（２）の場合）／最小（（３）の場合）／平均的（（４）の場合）となり得る状態遷移パスを抽出する（ステップＳ１１０５）。これにより、残余の状態遷移パスを削除することができ、入力パタンの生成数を低減することができる。
【００７２】
この実施の形態によれば、動作シーケンス４００として、「実際の回路の使われ方」に即したものが与えられた場合、消費電力の見積もり精度は高くなる。この「実際の回路の使われ方」は、回路仕様書の一部として記述されることが多いため、取得が容易な情報と考えられる。従って、半導体回路３００の消費電力を高精度に見積もることができる。
【００７３】
また、動作シーケンス４００を用いることにより、消費電力見積もりのための入力パタンを自動生成するとともに、簡単かつ高精度に半導体回路３００の消費電力見積もりをおこなうことができる。また、状態遷移パス数の削減や入力データ依存性の考慮により、生成する入力パタン数を低減することができ、消費電力見積もりに要する処理時間の短縮化を図ることができる。
【００７４】
また、画像や音声を圧縮／伸張するアプリケーションのように、入力データ自身によって消費電力が大きく変わる場合のシミュレーションでは、入力データの依存性を考慮することも可能である。例えば、音声の処理では、入力データに含まれる０やビット精度が低いサンプル数や、データ処理方法を切り替えるパラメータとして、平均的なもの、最小のもの、最大のもの等を与えることによって、それぞれ、平均的／最小／最大の消費電力を見積もることもできる。
【００７５】
なお、本実施の形態で説明した消費電力見積もり方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【００７６】
（付記１）半導体回路の回路情報および動作シーケンスの入力を受け付ける入力手段と、
前記入力手段によって入力された回路情報および動作シーケンスに基づいて、前記半導体回路の消費電力を算出する消費電力算出手段と、
を備えることを特徴とする消費電力見積もり装置。
【００７７】
（付記２）前記入力手段によって入力された回路情報に基づいて、前記半導体回路の有限状態機械モデルを生成する有限状態機械モデル生成手段と、
前記有限状態機械モデル生成手段によって生成された有限状態機械モデルの中から、前記入力手段によって入力された動作シーケンスを実現する状態遷移パスを探索する探索手段と、
前記探索手段によって探索された状態遷移パスを実現する、前記半導体回路への入力パタンを生成する入力パタン生成手段を備え、
前記消費電力算出手段は、
前記入力パタン生成手段によって生成された入力パタンに基づいて、前記半導体回路の消費電力を算出することを特徴とする付記１に記載の消費電力見積もり装置。
【００７８】
（付記３）前記入力手段によって入力された回路情報に基づいて、前記半導体回路における入出力信号の信号遷移１回当たりの消費電力を取得する消費電力取得手段と、
前記入力パタン生成手段によって生成された入力パタンを用いて、前記半導体回路の論理シミュレーションを実行する実行手段を備え、
前記消費電力算出手段は、
前記消費電力取得手段によって取得された、入出力信号の信号遷移１回当たりの消費電力と、前記実行手段によって実行された論理シミュレーションの実行結果とに基づいて、前記半導体回路の消費電力を算出することを特徴とする付記２に記載の消費電力見積もり装置。
【００７９】
（付記４）前記探索手段によって探索された状態遷移パスの状態遷移確率を算出する状態遷移確率算出手段と、
前記探索手段によって探索された状態遷移パスの中から、前記状態遷移確率算出手段によって算出された状態遷移確率が所定確率以上である状態遷移パスを抽出する抽出手段と、を備え、
前記入力パタン生成手段は、
前記抽出手段によって抽出された状態遷移パスを実現する、前記半導体回路への入力パタンを生成することを特徴とする付記３に記載の消費電力見積もり装置。
【００８０】
（付記５）前記有限状態機械モデル生成手段によって生成された有限状態機械モデルと、前記消費電力取得手段によって取得された信号遷移１回当たりの消費電力と、に基づいて、前記探索手段によって探索された状態遷移パスの消費電力の大きさを予測する予測情報を算出する予測情報算出手段と、
前記予測情報算出手段によって算出された予測情報に基づいて、前記探索手段によって探索された状態遷移パスの中から、消費電力が最大となり得る状態遷移パス、消費電力が最小となり得る状態遷移パス、または、消費電力が平均的な値となり得る状態遷移パスのうちいずれか一つの状態遷移パスを抽出する抽出手段と、を備え、
前記入力パタン生成手段は、
前記抽出手段によって抽出された状態遷移パスを実現する、前記半導体回路への入力パタンを生成することを特徴とする付記３に記載の消費電力見積もり装置。
【００８１】
（付記６）前記探索手段によって探索された状態遷移パスの数が、所定数以上であるか否かを判定する判定手段を備え、
前記抽出手段は、
前記判定手段によって判定された判定結果に基づいて、前記状態遷移確率が所定確率以上である状態遷移パスを抽出することを特徴とする付記４に記載の消費電力見積もり装置。
【００８２】
（付記７）前記探索手段によって探索された状態遷移パスの数が、所定数以上であるか否かを判定する判定手段を備え、
前記抽出手段は、
前記判定手段によって判定された判定結果に基づいて、前記探索手段によって探索された状態遷移パスの中から、消費電力が最大となり得る状態遷移パス、消費電力が最小となり得る状態遷移パス、または、消費電力が平均的な値となり得る状態遷移パスのうちいずれか一つの状態遷移パスを抽出することを特徴とする付記５に記載の消費電力見積もり装置。
【００８３】
（付記８）半導体回路の回路情報および動作シーケンスを入力する入力工程と、
前記入力工程によって入力された回路情報および動作シーケンスに基づいて、前記半導体回路の消費電力を算出する消費電力算出工程と、
を含んだことを特徴とする消費電力見積もり方法。
【００８４】
（付記９）前記入力工程によって入力された回路情報に基づいて、前記半導体回路の有限状態機械モデルを生成する有限状態機械モデル生成工程と、
前記有限状態機械モデル生成工程によって生成された有限状態機械モデルの中から、前記入力工程によって入力された動作シーケンスを実現する状態遷移パスを探索する探索工程と、
前記探索工程によって探索された状態遷移パスを実現する、前記半導体回路への入力パタンを生成する入力パタン生成工程を含み、
前記消費電力算出工程は、
前記入力パタン生成工程によって生成された入力パタンに基づいて、前記半導体回路の消費電力を算出することを特徴とする付記８に記載の消費電力見積もり方法。
【００８５】
（付記１０）前記入力工程によって入力された回路情報に基づいて、前記半導体回路における入出力信号の信号遷移１回当たりの消費電力を取得する消費電力取得工程と、
前記入力パタン生成工程によって生成された入力パタンを用いて、前記半導体回路の論理シミュレーションを実行する実行工程を含み、
前記消費電力算出工程は、
前記消費電力取得工程によって取得された、入出力信号の信号遷移１回当たりの消費電力と、前記実行工程によって実行された論理シミュレーションの実行結果とに基づいて、前記半導体回路の消費電力を算出することを特徴とする付記９に記載の消費電力見積もり方法。
【００８６】
（付記１１）半導体回路の回路情報および動作シーケンスを入力させる入力工程と、
前記入力工程によって入力された回路情報および動作シーケンスに基づいて、前記半導体回路の消費電力を算出させる消費電力算出工程と、
をコンピュータに実行させることを特徴とする消費電力見積もりプログラム。
【００８７】
（付記１２）前記入力工程によって入力された回路情報に基づいて、前記半導体回路の有限状態機械モデルを生成させる有限状態機械モデル生成工程と、
前記有限状態機械モデル生成工程によって生成された有限状態機械モデルの中から、前記入力工程によって入力された動作シーケンスを実現する状態遷移パスを探索させる探索工程と、
前記探索工程によって探索された状態遷移パスを実現する、前記半導体回路への入力パタンを生成させる入力パタン生成工程を含み、
前記消費電力算出工程は、
前記入力パタン生成工程によって生成された入力パタンに基づいて、前記半導体回路の消費電力を算出させることを特徴とする付記１１に記載の消費電力見積もりプログラム。
【００８８】
（付記１３）前記入力工程によって入力された回路情報に基づいて、前記半導体回路における入出力信号の信号遷移１回当たりの消費電力を取得させる消費電力取得工程と、
前記入力パタン生成工程によって生成された入力パタンを用いて、前記半導体回路の論理シミュレーションを実行させる実行工程を含み、
前記消費電力算出工程は、
前記消費電力取得工程によって取得された、入出力信号の信号遷移１回当たりの消費電力と、前記実行工程によって実行された論理シミュレーションの実行結果とに基づいて、前記半導体回路の消費電力を算出させることを特徴とする付記１２に記載の消費電力見積もりプログラム。
【００８９】
（付記１４）付記１１〜１３のいずれか一つに記載の消費電力見積もりプログラムを記録したコンピュータ読み取り可能な記録媒体。
【産業上の利用可能性】
【００９０】
以上のように、本発明にかかる消費電力見積もり装置、消費電力見積もり方法、および消費電力見積もりプログラムは、ＬＳＩの設計ツールに有用であり、特に、ＣＡＤを用いた設計ツールに適している。
【図面の簡単な説明】
【００９１】
【図１】この発明の実施の形態にかかる消費電力見積もり装置のハードウェア構成を示すブロック図である。
【図２】この発明の実施の形態にかかる消費電力見積もり装置の機能的構成を示すブロック図である。
【図３】回路情報として入力される半導体回路の一例を示す回路図である。
【図４】図３に示した半導体回路の動作シーケンスを示す説明図である。
【図５】図３に示した半導体回路の回路ＦＳＭを示す説明図である。
【図６】探索された状態遷移パスを示す説明図である。
【図７】図５に示した回路ＦＳＭの状態遷移に必要なＡＣＫとＶＡＬＩＤの信号入力パタンを示す説明図である。
【図８】図３に示した半導体回路における入出力信号の、信号遷移１回当たりの消費電力を示す説明図である。
【図９】状態遷移パスの評価を示す説明図である。
【図１０】この発明の実施の形態にかかる消費電力見積もり処理手順を示すフローチャート（その１）である。
【図１１】この発明の実施の形態にかかる消費電力見積もり処理手順を示すフローチャート（その２）である。
【符号の説明】
【００９２】
２００  消費電力見積もり装置
２０１  回路情報入力部
２０２  動作シーケンス入力部
２０３  回路ＦＳＭ生成部
２０４  探索部
２０５  入力パタン生成部
２０６  消費電力取得部
２０７  判定部
２０８  状態遷移確率算出部
２０９  予測情報算出部
２１０  抽出部
２１１  論理シミュレーション実行部
２１２  消費電力算出部
３００  半導体回路
３０１  コントローラ
３０２  データ送信部
４００  動作シーケンス
５００  回路ＦＳＭ
【図１】
2006146710.tif 000003
【図２】
2006146710.tif 000004
【図３】
2006146710.tif 000005
【図４】
2006146710.tif 000006
【図５】
2006146710.tif 000007
【図６】
2006146710.tif 000008
【図７】
2006146710.tif 000009
【図８】
2006146710.tif 000010
【図９】
2006146710.tif 000011
【図１０】
2006146710.tif 000012
【図１１】
2006146710.tif 000013