JP4704299B2 - Lsiの消費電力ピーク見積プログラム及びその装置 - Google Patents
Lsiの消費電力ピーク見積プログラム及びその装置 Download PDFInfo
- Publication number
- JP4704299B2 JP4704299B2 JP2006240970A JP2006240970A JP4704299B2 JP 4704299 B2 JP4704299 B2 JP 4704299B2 JP 2006240970 A JP2006240970 A JP 2006240970A JP 2006240970 A JP2006240970 A JP 2006240970A JP 4704299 B2 JP4704299 B2 JP 4704299B2
- Authority
- JP
- Japan
- Prior art keywords
- power consumption
- netlist
- gated clock
- processing means
- clock
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/367—Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
本発明は,LSIの消費電力ピークの見積プログラム及びその装置に関し,特に,少ない工数で消費電力のピークを見積もることができる消費電力ピーク見積プログラム及びその装置に関する。
半導体集積回路(LSI)の設計は,ハードウエア記述言語(HDL)で記述されたRTLファイルを論理合成してネットリストを生成する工程と,そのネットリストに基づいてレイアウト設計を行ってレイアウトデータを生成する工程とを有する。そして,ネットリストの段階で,論理検証と共に消費電力を見積もることが行われる。
LSIの消費電力解析ツールとして,シノプシス社のプライムパワー(PrimePower商品名)が知られている。この消費電力解析ツールは,ネットリストに対して論理シミュレーションを行って得られた回路セルの信号波形データを入力データとし,信号波形データとセルライブラリ内のセルの消費電力データとから,所定の期間における消費電力を算出する。クロックサイクル毎に信号波形データから消費電力を計算することで,所定の期間内における消費電力のピーク値を見積もることができる。
LSIの消費電力を見積もる方法については,以下の特許文献1〜5に記載されている。特許文献1には,集積回路中の消費電力を算出すべき対象論理回路に,ゲートの信号変化数を計測する計測回路を付加してデバイスを構成し,一定の動作後に計測された信号変化数を積算することで,論理回路の消費電力を算出することが記載されている。
特許文献2には,消費電力計測対象回路の論理ゲート出力のトグルを検出しトグル回数を加算するトグル検出回路を構成して,シミュレーション終了時にこのトグル検出回路のトグル回数を抽出して,消費電力の計算をすることが記載されている。
特許文献3には,集積回路装置のテスト時におけるピークの消費電力を抑制するための構造,テスト方法,設計方法などが記載されている。
特許文献4には,LSI全体のRTネットリスト及びテストパターンを用いて論理回路シミュレーションを実行してメモリアクセス回数を収集し,一方で,メモリ部のネットリストを用いてシミュレーションを実行してメモリ消費電流を収集し,メモリアクセス回数とメモリ消費電流とからメモリ平均消費電力を計算することが記載されている。
特許文献5には,デジタル回路について論理シミュレーションを実行して各要素のデジタル動作履歴情報を求め,そのデジタル動作履歴情報と,各要素毎の消費電流見積一般式とに基づき,見積もり対象回路の総消費電流を見積もることが記載されている。特許文献6には,CMOSゲートアレイの消費電力計算方法として特許文献5と同様のことが記載されている。
一方,特許文献7には,LSIの消費電力を削減するために,フリップフロップを選択的にゲーティッドクロックバッファ付きのフリップフロップに変更する回路設計方法が記載されている。
特開2004−62238号公報
特開2002−288257号公報
特開2001−59856号公報
特開2003−256495号公報
特開平2−136755号公報
特開平2−171861号公報
特開2002−92065号公報
近年のLSIは,低電源電圧化と微細化が進んだため,急激な電力消費による電圧降下が問題になっている。そこでLSIの開発段階で,電力消費のピークが発生するLSIの処理内容と、その処理が発生する時間及びピーク値を見積もることが求められている。
従来の電力解析方法によれば,前述のとおり論理シミュレーションを実行してセルの信号波形データを求め,その信号波形データとセルライブラリの消費電力データとから各サイクルでの消費電力を求める。この求められたサイクル毎の消費電力から消費電力ピークを求めることができる。
ところが,LSIの消費電力がピーク値をとるような動作をあらかじめ予測することは困難である。したがって,ピーク値を含む期間のみを限定的に論理シミュレーションすることはできない。そのため,LSIがとりうる全ての動作について論理シミュレーションを行う必要があり,長時間の論理シミュレーションの実行が必要になる。このような論理シミュレーションは,実際にシステムが適用される状態と同等の動作を実現することを意味し,数千万サイクル〜数億サイクルになるのが一般的である。
上記の長時間の論理シミュレーションにおいて,ソフトウエアシミュレータによるシミュレーションで長時間サイクルの信号波形データを抽出しようとすると,数週間〜数ヶ月以上の時間を要することになり,現実的ではない。また,エミュレータなどのハードウエアによるシミュレーションであっても,膨大な信号波形データをホストコンピュータに転送しなければならず,同様に長い時間が必要となる。
そこで,本発明の目的は,少ない工数でLSIの消費電力ピークを見積もることができるLSIの消費電力ピーク見積プログラムを提供することにある。
上記の目的を達成するために,本発明の第1の側面によれば,LSIの低消費電力化のために,イネーブル状態のみ有効になるゲーティッドクロックを利用することが行われている。イネーブル時のみ有効になるゲーティッドクロックを回路に供給することで,動作不要の回路にはクロックの供給を停止することができ,消費電力を抑えることができる。このようなゲーティッドクロックバッファによりゲーティッドクロックを生成するLSIでは,消費電力とゲーティッドクロックの動作率との間に密接な関係がある。つまり,ゲーティッドクロックの動作率が高ければ消費電力が上昇し,低ければ低下する。
そこで,本発明の消費電力のピークを見積もるプログラムツールでは,第1の期間にわたり論理シミュレーションを実行して第1の期間内の所定の区間毎のゲーティッドクロックの動作データ,例えば動作波形データや動作回数データ,を抽出する一次処理を行う。そして,動作データから求められる単位時間あたりの動作率が,他の区間より高くなる1つ又は複数の区間からなる絞り込み区間を見つけ,その絞り込み区間を第2の期間とする。そして,その第2の期間にわたり論理シミュレーションを実行してクロックサイクル毎の信号波形データを抽出し,当該信号波形データからクロックサイクルに対応した消費電力データを求める二次処理を行う。
上記の本発明の第1の側面によれば,一次処理では,長時間にわたり論理シミュレーションを実行するが,抽出するデータはゲーティッドクロックの動作データのみであるので,従来の全ての信号波形データを取得する場合に比較して,短時間で論理シミュレーションを完了することができる。一方,二次処理では論理シミュレーションを実行して全ての信号波形データを取得するが,それは絞り込まれた短い期間だけであるので,従来の長時間にわたり信号波形データを取得する場合に比較して,短時間で論理シミュレーションを完了することができる。よって,全体でも短時間で消費電力のピークを見積もることができる。
上記の目的を達成するために,本発明の第2の側面によれば,ゲーティッドクロックを有するLSIのネットリストについて消費電力のピークを見積もる消費電力ピーク見積プログラムにおいて,
第1の期間にわたり,前記ネットリストについて論理シミュレーションを実行して前記第1の期間内の所定の区間毎に前記ゲーティッドクロックの動作データを抽出する一次処理手段と,
前記一次処理手段で抽出した動作データから求められる前記ゲーティッドクロックの動作率が他の区間より高い1つ又は複数の区間からなる絞り込み区間にわたり,前記ネットリストについて論理シミュレーションを実行して前記絞り込み区間におけるクロックサイクル毎の信号波形データを抽出する二次処理手段と,
前記二次処理手段により抽出した信号波形データからクロックサイクルに対応した消費電力データを生成する消費電力生成手段とを,コンピュータに構築させることを特徴とする。
第1の期間にわたり,前記ネットリストについて論理シミュレーションを実行して前記第1の期間内の所定の区間毎に前記ゲーティッドクロックの動作データを抽出する一次処理手段と,
前記一次処理手段で抽出した動作データから求められる前記ゲーティッドクロックの動作率が他の区間より高い1つ又は複数の区間からなる絞り込み区間にわたり,前記ネットリストについて論理シミュレーションを実行して前記絞り込み区間におけるクロックサイクル毎の信号波形データを抽出する二次処理手段と,
前記二次処理手段により抽出した信号波形データからクロックサイクルに対応した消費電力データを生成する消費電力生成手段とを,コンピュータに構築させることを特徴とする。
上記の第2の側面によれば,少ない工数及び短時間でLSIの消費電力がピークになる時間とピーク値を見積もることができる。
上記の第2の側面において,好ましい態様によれば,前記一次処理手段が当該一次処理を複数回繰り返し,2回目以降の一次処理では,前回の一次処理で抽出した動作データから求められる前記ゲーティッドクロックの動作率が他の区間より高い1つ又は複数の絞り込み区間にわたり,前記ネットリストについて前記論理シミュレーションを実行して前記動作データを前回の一次処理での所定の区間より短い区間毎に抽出する。この態様によれば,前記一次処理手段が一次処理を複数回繰り返しながらゲーティッドクロックの動作率が高い区間を絞り込むので,二次処理手段が実行すべき論理シミュレーションの区間を狭くすることができ,工数をより少なくすることができる。
上記の第2の側面において,好ましい態様によれば,前記一次処理手段は,LSIのネットリストを論理シミュレーションして,ゲーティッドクロックの信号波形データを動作データとして抽出する。この場合は,信号波形データから所定の区間毎の動作率が求められる。
上記の第2の側面において,好ましい態様によれば,前記ゲーティッドクロックの動作率が,当該ゲーティッドクロックが供給される回路に割り当てられた重み付け係数に基づいて重み付け処理され,重み付け処理された動作率に基づいて絞り込み区間が決定される。回路規模などに対応した重み付け係数によって重み付けすることで,より正確に消費電力の高い区間を絞り込むことができる。
上記の第2の側面において,好ましい態様によれば,前記一次処理手段は,LSIのネットリストに前記ゲーティッドクロックのパルス数をカウントするカウンタを追加してカウンタ追加ネットリストを生成し,当該カウンタ追加ネットリストに対して前記論理シミュレーションを実行して,前記カウンタのカウント値を前記動作データとして抽出する。この場合は,カウント値から所定の区間毎の動作率が求められる。
上記の好ましい態様では,前記一次処理手段が,前記カウンタのカウント値を前記所定の区間毎に抽出する。したがって,信号波形データのようにクロックサイクル毎にH,Lのデータを抽出する必要がないので,より短時間で論理シミュレーションを実行することができる。
上記の目的を達成するために,本発明の第3の側面によれば,ゲーティッドクロックを有するLSIのネットリストについて消費電力のピークを見積もる消費電力ピーク見積装置において,
第1の期間にわたり,前記ネットリストについて論理シミュレーションを実行して前記第1の期間内の所定の区間毎に前記ゲーティッドクロックの動作データを抽出する一次処理手段と,
前記一次処理手段で抽出した動作データから求められる前記ゲーティッドクロックの動作率が他の区間より高い1つ又は複数の区間からなる絞り込み区間にわたり,前記ネットリストについて論理シミュレーションを実行して前記絞り込み区間におけるクロックサイクル毎の信号波形データを抽出する二次処理手段と,
前記二次処理手段により抽出した信号波形データからクロックサイクルに対応した消費電力データを生成する消費電力生成手段とを有することを特徴とする。
第1の期間にわたり,前記ネットリストについて論理シミュレーションを実行して前記第1の期間内の所定の区間毎に前記ゲーティッドクロックの動作データを抽出する一次処理手段と,
前記一次処理手段で抽出した動作データから求められる前記ゲーティッドクロックの動作率が他の区間より高い1つ又は複数の区間からなる絞り込み区間にわたり,前記ネットリストについて論理シミュレーションを実行して前記絞り込み区間におけるクロックサイクル毎の信号波形データを抽出する二次処理手段と,
前記二次処理手段により抽出した信号波形データからクロックサイクルに対応した消費電力データを生成する消費電力生成手段とを有することを特徴とする。
上記の第3の側面によれば,少ない工数及び短時間でLSIの消費電力がピークになる時間とピーク値を見積もることができる。
本発明によれば,少ない工数でLSIの消費電力ピークを見積もることができる。
以下,図面にしたがって本発明の実施の形態について説明する。但し,本発明の技術的範囲はこれらの実施の形態に限定されず,特許請求の範囲に記載された事項とその均等物まで及ぶものである。
図1は,本実施の形態における消費電力ピーク見積装置の構成図である。汎用コンピュータのCPU10と,キーボードと表示モニタなどの入出力手段12に加えて,プログラム群として,論理シミュレーションツール100と,電力解析ツール200と,消費電力ピーク見積ツール300とが備えられている。消費電力ピークを見積もる場合は,消費電力ピーク見積ツール300がCPU10により実行され,必要に応じて論理シミュレーションツール100と電力解析ツール200とがCPU10により実行される。
論理シミュレーションツール100は,ネットリストに対して実行され,所定の入力パターンについてネットリストのLSIが動作した時のクロックやデータの信号波形データ,例えばクロックサイクル毎のH,Lレベルのデータ,を抽出する。また,電力解析ツール200は,ネットリストとセルライブラリの消費電力の属性データとを参照して,上記信号波形データからクロックサイクル毎の消費電力を算出する。
論理シミュレーションツール100としては,例えばCadence社のNC-Verilog
などが知られている。また,電力解析ツール200としては,例えばSynopsys社のPrimePowerが知られている。
などが知られている。また,電力解析ツール200としては,例えばSynopsys社のPrimePowerが知られている。
消費電力ピーク見積ツール300は,ネットリストに対して論理シミュレーションを実行してゲーティッドクロックの動作データを所定の区分毎に抽出する一次処理を繰り返し,動作データから求められる動作率が高い区間を絞り込む。つまり,一次処理が完了するたびに動作率の高い区間を検出し,その区間について更に一次処理を行って動作率の高いより短い区間を検出する。そして,消費電力ピーク見積ツール300は,絞り込まれた区分について,論理シミュレーションツール100による論理シミュレーションを実行して信号波形データを抽出し,電力解析ツール200による電力解析処理を実行して信号波形データからクロックサイクル毎の消費電力を算出する二次処理を行う。
したがって,この消費電力ピーク見積装置には,被検査LSIのネットリスト20と,消費電力属性データを有するセルライブラリ24とが,入力データとして与えられる。そして,消費電力ピークの見積に際して,信号波形データ30と,動作率データ28と,消費電力データ32とが生成される。
さらに,本実施の形態の好ましい例では,被検査LSIのネットリストにゲーティッドクロックの変化をカウントするカウンタを追加したカウンタ追加ネットリスト26が生成される。そして,このカウンタ追加ネットリスト26に対して論理シミュレーションツール100がシミュレーションを実行すると,カウンタにゲーティッドクロックの変化回数が生成される。このカウント値がゲーティッドクロックの動作データとして抽出される。したがって,所定の区間毎にカウント値を抽出することで,所定の区間毎のゲーティッドクロックの動作回数を抽出することができる。この動作回数は動作率と同等である。
ゲーティッドクロックについては,後で詳述するが,クロックをイネーブル信号に応じて後段の回路に供給するクロックゲートにより生成されるクロックであり,イネーブル信号が活性化状態の時にクロックが後段の回路群に供給され,イネーブル信号が非活性化状態の時にクロックが後段の回路群に供給されない。よって,このゲーティッドクロックの動作率を監視することで,その後段の回路群の消費電力をある程度見積もることができる。つまり,ゲーティッドクロックの動作率と消費電力とは相関関係を有する。
図2は,本実施の形態における消費電力ピーク見積プログラムの手順を示すフローチャート図である。ここでは,ゲーティッドクロックの変化回数をカウントするためのカウンタ追加ネットリストを利用する場合と利用しない場合の両方について,見積プログラムの概略的手順を説明し,後でエミュレーション用ネットリストを利用したエミュレータによる方法を具体例を示して説明する。なお,このフローチャートの処理では,消費電力ピーク見積ツール300を主プログラムとして実行され,論理シミュレーションツール100と電力解析ツール200とをサブプログラムとして実行される。
処理S10〜S20が一次処理,処理S22が二次処理に対応する。まず,消費電力ピークが必ず発生するような比較的長い期間を複数の区間に分け,1区間につき被検査LSIのネットリスト20について論理シミュレーションツール100によるシミュレーションを実行する(S10)。この論理シミュレーション工程S10では,ネットリスト内の注目すべきゲーティッドクロックの情報22が与えられ,論理シミュレーションツールは,その注目すべきゲーティッドクロックの動作データを抽出する(S12)。この動作データは,例えばゲーティッドクロックの信号波形データ(クロックサイクル毎のH,Lレベルのデータ列)である。このように,1区間にわたる論理シミュレーションを実行した結果,ゲーティッドクロックデータ22で指定したゲーティッドクロックの信号波形データが抽出される。
そして,1区間内のゲーティッドクロックの動作データが,そのゲーティッドクロックの動作率に変換される(S14)。動作データが信号波形データの場合は,その信号波形の単位時間あたりの変化の回数が動作率に対応する。上記の処理S10〜S14が複数の区間について繰り返される(S16)。そして,最初の一次処理では,長いシミュレーション対象期間内の複数の区間についてそれぞれゲーティッドクロックの動作データが抽出される。
図3は,最初の一次処理が終了した時点でのシミュレーション時間とゲーティッドクロック動作率及び実際の消費電力の例を示す図である。実際の消費電力は折れ線グラフに示され,電力ピーク値PPKを有する。この消費電力の折れ線グラフはシミュレーションでは求めることはできない。また,棒グラフは区間毎のゲーティッドクロックの動作率を示す。図3の例では,シミュレーション時間が0サイクルから30,000サイクルまでの比較的長い期間であり,それが5,000サイクルの区間に区分されている。そして,この1区間(5,000サイクル)毎のゲーティッドクロックの動作率が,実際の消費電力の折れ線グラフに重ねて表示されている。
図3に示されるとおり,消費電力が高い区間では動作率も高く,消費電力が低い区間では動作率も低い。このように,消費電力とゲーティッドクロックの動作率とは所定の相関関係があるので,ゲーティッドクロックの動作率を監視することで,消費電力のピーク値PPKが存在する区間を絞り込むことができる。そして,図3の例では,全クロックサイクル0〜30,000サイクル中,ゲーティッドクロック動作率が他の区間より高い2つの区間T1(10,000〜20,000サイクル)が絞り込まれる(S18)。この絞り込み処理では,図3の全区間のうち上位の複数区間,例えば2区間に絞り込んだり,または上位のある割合,例えば20%の区間数に絞り込んだりされる。あるいは,絞り込み処理では,最高動作率のある割合,例えば70%を基準動作率REFに算出し,その基準動作率REFより高い動作率の区間に絞り込まれる。
そして,この絞り込み区間T1について,更に細かい区分に分けて,再度一次処理S10〜S16が繰り返される(S20のYES)。
図4は,2回目の一次処理が終了した時点でのシミュレーション時間とゲーティッドクロック動作率及び実際の消費電力の例を示す図である。2回目の一次処理では,クロックサイクル10,000〜20,000の区間T1を,1回目の一次処理より短い10区間に分割して動作率が抽出されている。そして,最高動作率に比率を乗じた基準動作率REFより高い動作率の区間T2が絞り込まれる(18)。図4の例では,絞り込まれた区間T2は,11,000〜15,000サイクルの区間である。
一次処理が所定の回数繰り返されるまで,または絞り込まれた区間T2が所定のサイクル数以下になるまで,上記の一次処理と絞り込み処理とが繰り返される(S20)。いずれかの条件を満たすと複数回の一次処理は完了し,処理S22の二次処理に移行する。1回の一次処理で狭い区分まで絞り込むことができる場合は,一次処理を繰り返す必要はない。
また,1区間毎の論理シミュレーションを実行するたびに,ゲーティッドクロックの信号波形データを動作データとして抽出し動作率に変換しているが,このゲーティッドクロックのクロックサイクル毎の信号波形データを全て保存することができる場合は,1区間毎の論理シミュレーション工程S10を繰り返す必要はない。単に,絞り込まれた新たな狭い区間T1を複数の区間に分けて,保存している信号波形データから新たな区間毎に動作率を求めれば良い。つまり,新たな区間毎に処理S12,S14を実行すればよい。
上記の一次処理では,論理シミュレーションを実行して信号波形データを抽出するが,その対象はゲーティッドクロックに限定されている。したがって,全ての信号波形データを抽出するよりも論理シミュレーションを短時間で完了することができる。
一次処理で最終的に絞り込まれた区間について,二次処理が行われる。すなわち,最終絞り込み区間について論理シミュレーションツール100により論理シミュレーションを実行して,消費電力計算に必要な信号波形データ30を抽出する(S22)。つまり,ゲーティッドクロックだけでなくデータ線などの信号波形データも抽出される。多くの信号波形データを抽出する論理シミュレーションであるが,シミュレーション期間が最終絞り込み区間と短いので,このシミュレーションも比較的短時間で完了することができる。ここでは,3回目の一次処理が行われ最終絞り込み区間が12,000〜13,000サイクルになったとする。
そして,電力解析ツール200を実行して,信号波形データ30からクロックサイクル毎の消費電力データ32を算出する(S24)。このとき,電力解析ツール200は,信号波形データ30を入力とし,セルライブラリ24のセルの消費電力属性データを参照して,クロックサイクル毎の消費電力値を算出する。かかる電力解析ツールの機能は,従来のツールに備えられている機能である。セルの消費電力属性データは,例えばクロックの変化に伴う動作で消費される電力値である。
図5は,消費電力データ32の例を示す図である。最終絞り込み区間(12,000〜13,000クロックサイクル)において,クロックサイクル毎の消費電力の推移が示される。この消費電力は,消費電力の算出に必要な全ての信号波形データから算出されているので,そのピーク値と時間をより正確に算出することができる。
上記の説明で,ゲーティッドクロックの動作データとして信号波形データを抽出することにしたが,後述するゲーティッドクロックの動作回数をカウントするカウンタを挿入したカウンタ追加ネットリストを生成し,それを論理シミュレーションして,カウンタ値を動作データとして抽出するようにしてもよい。カウンタ値を区間長で割れば動作率が求められる。このような方法であれば,論理シミュレーションでクロックサイクル毎に信号波形データを抽出する必要はない。
図6,図7は,信号波形データから動作率への変換処理の変形例を示す図である。信号波形データから単位時間あたりの動作率に変換すると,図6に示すとおり,実際の消費電力と動作率との間の差D1,D2が大きくなる場合がある。その理由は,図7に示されるとおり,ゲーティッドクロックバッファGCLK1では,クロックCLKがイネーブル信号EN1に基づいて後段の論理回路群40にゲーティッドクロックgclk1を供給し,ゲーティッドクロックバッファGCLK2では,クロックCLKがイネーブル信号EN2に基づいて後段の論理回路群42にゲーティッドクロックgclk2を供給する。クロックの供給は,供給される回路規模に応じて複数のクロックバッファ50,51,52〜55を介して行われる。
そして,一般的に,回路規模が小さい論理回路群40での消費電力は,回路規模が大きい論理回路群42での消費電力よりも小さい。あるいは,内部の回路構成によっては,論理回路40によるクロックに同期した1回の動作に伴う消費電流が,論理回路42のそれよりも小さい場合もある。例えば,SRAM等のメモリを多く含むような回路ブロックでは、メモリの消費電力が大きいため、回路規模そのものは小さくても、消費電力が大きくなる。このように論理回路40と論理回路42におけるクロックに対する1回の動作の消費電流が異なる場合は,それらに対するゲーティッドクロックバッファのゲーティッドクロックの動作率が同じであっても,2つの論理回路40,42消費電流は異なる。
そこで,この変形例では,ゲーティッドクロックが供給される後段の論理回路に対応して重み付け係数を設定する。消費電流が大きい回路の係数を大きくし,消費電流が小さい回路の係数を小さくする。図7の例では,論理回路40の係数は1,論理回路42の係数は3である。
そして,処理S14で信号波形データから単位時間あたりの動作率に変換するときに,上記の重み付け係数を乗算して,重み付けされた動作率に変換する。このようにすることで,図6に示した動作率と実際の消費電力との誤差D1,D2をより小さくすることが期待できる。
[具体例]
図8は,本実施の形態の具体的な消費電力ピーク見積プログラムのフローチャート図である。図8では、論理シミュレータとして、ハードウェアシミュレータであるエミュレータを使用している。したがって,図2における論理シミュレーションが,図8ではエミュレータによるエミュレーションに置き換えられる。このように,エミュレーションとは,ハードウエアエミュレータにより行われる論理シミュレーションと等価の意味である。
図9以下の具体例を示しながら説明する。
図8は,本実施の形態の具体的な消費電力ピーク見積プログラムのフローチャート図である。図8では、論理シミュレータとして、ハードウェアシミュレータであるエミュレータを使用している。したがって,図2における論理シミュレーションが,図8ではエミュレータによるエミュレーションに置き換えられる。このように,エミュレーションとは,ハードウエアエミュレータにより行われる論理シミュレーションと等価の意味である。
図9以下の具体例を示しながら説明する。
図9は,被検証LSIに対応するtopと、topに対してリセットxrst及びクロックを供給するテストベンチ「testbench」を示している。テストベンチは、被検証LSI「top」の動作クロック100MHzでシミュレーションサイクル数をカウントするマスタカウンタ50を持っている。m_topは、被検証LSIモジュールのインスタンスであることを示す。クロックclkをイネーブル信号EN1〜EN3に基づいてマスタゲーティッドクロックmas_gclk1〜3を生成する3つのマスタゲーティッドクロックバッファmas_GCLK1〜3と,それらのマスタゲーティッドクロックが供給される下位層のサブ回路SUB1,2,3と,それらサブ回路の出力dout1,2,3の論理積を出力するアンドゲートANDとを有する。
そして,サブ回路SUB1は,マスタゲーティッドクロックmas_gclk1を所定回数カウントしてイネーブル信号gclk_enを出力するカウンタ54と,そのイネーブル信号に基づいてマスタゲーティッドクロックmas_gclk1からゲーティッドクロックgclkを生成するゲーティッドクロックバッファm_GCLK1と,そのゲーティッドクロックgclkが供給されるメモリコントローラ56とメモリ58とを有する。
同様にサブ回路SUB2は,マスタゲーティッドクロックmas_gclk2を所定回数カウントしてイネーブル信号gclk_en1を出力するカウンタ60と,そのイネーブル信号に基づいてマスタゲーティッドクロックmas_gclk2からゲーティッドクロックgclk1を生成するゲーティッドクロックバッファm_GCLK1と,そのゲーティッドクロックgclk1が供給されるメモリコントローラ62とメモリ64と加算器66とを有する。図示されていないが,サブ回路SUB3も同様のゲーティッドクロックバッファが含まれているものとする。
上記の通り,被検査LSIには,複数のゲーティッドクロックが存在し,それぞれが後段の論理回路に供給される。このような被検査LSIのネットリスト20が消費電力ピーク見積の対象になる。
図8に戻り,前処理では,電力解析ツール200のデータ抽出機能により,ネットリスト20からゲーティッドクロックデータ22とゲーティッドクロックが供給される下位モジュールの回路規模データ34とが抽出される(S2)。このゲーティッドクロックデータファイル22には,上位層m_topから、そのゲーテットクロックが存在する階層までの位置情報が含まれる。
図10は,下位モジュールの回路規模データ34とゲーティッドクロックの係数データ36とを示す図である。ネットリスト20を解析することで,ゲーティッドクロックが供給される下位モジュールの回路規模データ34が抽出される(S2)。図10の例では,回路規模データ34は,上位層m_topにセル数80,モジュールU1,U2,U3にセル数120,120,533が対応付けられている。なお,U1,U2,U3は,サブ回路モジュールSUB1,2,3のインスタンス名である。
次に,ゲーティッドクロックデータ22と回路規模データ34とから,ゲーティッドクロックの重み付け処理が行われる(S4)。この重み付け処理により,ゲーティッドクロックが供給される回路モジュールの係数データとパスファイル36とが生成される。図10にはモジュール毎の重み付け係数データ36(1)が示されている。
また,図11は,ゲーティッドクロックのパスデータ36(2)の例を示す図である。図11には,前述した6個のゲーティッドクロックが上位階層からのパス情報付で記述され,それぞれの動作回数が0に設定されている(図中PASS参照)。例えば1行目では,サブ回路インスタンスU1内のゲーティッドクロックのインスタンスm_GCLK1の出力がGOUTである。
次に,エミュレーション用ネットリスト生成処理を行う(S6)。その際,被検証LSIのネットリスト20内のゲーティッドクロックバッファを,カウンタ付きゲーティッドクロックバッファ38に置き換えることを同時に行う。
図12は,エミュレーション用ネットリストに含まれるカウンタ付きゲーティッドクロックバッファを示す図である。図12には,カウンタ付きゲーティッドクロックバッファのHDL記述38と,その回路図(ネットリスト)とが示されている。このカウンタ付きゲーティッドクロックバッファ38は,イネーブル信号ENをクロックCKでラッチするラッチ70と,その出力MとクロックCKとの論理積をゲーティッドクロック出力GOUTとして出力するアンドゲート72と,そのゲーティッドクロック出力GOUTの変化をカウントするカウンタ74とを有する。HDL記述38内には,これらの回路の記述70,72,74が含まれている。そして,ゲーティッドクロックバッファに追加されたカウンタ74(モジュール名gated_count)のHDL記述例も図12に示されている。カウンタ74は,ゲーティッドクロックGOUTの変化をカウントし,カウント値端子count_valとオーバーフロー端子overflowとにカウント結果を出力する。
このように,元のネットリスト20内の,ラッチ70とアンドゲート72からなるゲーティッドクロックバッファを,その出力のゲーティッドクロックの変化数をカウントするカウンタ74が追加されたカウンタ付きゲーティッドクロックバッファ38に置き換えることで,エミュレーション用ネットリスト20Eが生成される。つまり,エミュレーション用ネットリスト20Eは,元のネットリスト20にカウンタ74が追加されたネットリストである。
さらに,前処理にて,図11のゲーティッドクロックパス36(2)から,カウンタ値を読み出すためのリードコマンドファイルが生成される。図13は,このリードコマンドファイルの一例を示す図である。このリードコマンドファイル37は,図9に示したマスタカウンタ50の出力クロックclkのカウント値と,前述した6つのゲーティッドクロックのカウント値とを,それぞれ取得する命令「signal get」と,その取得対象のゲーティッドクロックのパスデータとが記述されている。
図8に戻り,上記の前処理が終了すると,エミュレーション用ネットリストに対して図2と同様の処理が行われる。まず,一次処理として,エミュレータによるによる論理シミュレーション(エミュレーション)を1区間実行する(S10)。この例では,エミュレーション用ネットリスト20Eについてエミュレーションが実行され,それにより生成されるゲーティッドクロックの変化回数が、追加したゲーティッドクロックカウンタ74によりカウントされる。
1区間の論理シミュレーションが終了した時点で,ゲーティッドクロックカウンタ74のカウンタ値が読み出される(S12A)。具体的には,エミュレータ制御ツールが図13のリードコマンドファイル37を実行して,エミュレータ内の当該カウンタ値を読み出す。つまり,この例では,ゲーティッドクロックの動作データとしてクロックの変化回数であるカウンタ値が抽出される。
そして,消費電力ピーク見積ツール300は,カウンタ値とゲーティッドクロックの係数データ(図10の36(1))とから動作率データ28を生成する(S14A)。上記の処理S10〜S14Aが,シミュレーション期間内の複数の区間について繰り返される(S16)。
図14は,カウンタ値27と動作率28の具体例を示す図である。カウンタ値27には,3つの区間DT1,DT2,DT3において読み出されたカウンタ値が示されている。各区間は同じサイクル数であるので,マスタカウンタmaster_counterの値は「110010」と全て同じである。このカウンタ値を区間内のマスタカウンタ値で除算すると動作率が求められる。ここでは,係数データにより重み付けされた動作率28が生成される。
この動作率データの区間毎の平均値又は合計値をプロットすると,図3と同様の動作率データが得られる。そこで,絞り込み処理S18にて,動作率の高い区間が選択され,新たなエミュレーション区間情報34が生成される。そして,区間が十分絞り込まれるまで(S20),上記の一次処理が繰り返される。
最終絞り込み区間が確定すると,次に二次処理S22が行われる。消費電力ピーク見積ツール300は,エミュレーション用ネットリスト20Eまたは元のネットリスト20Eについて,エミュレータにより論理シミュレーションを実行して,消費電力計算に必要な全ての信号波形データ30を抽出する。このシミュレーション期間は,最終絞り込み区間であるので,消費電力ピークが発生する比較的短い期間であるので,全ての信号波形データ30を抽出しても短時間で完了することができる。
最後に,抽出した信号波形データ30を電力解析ツール200に入力して,クロックサイクル毎の消費電力データ32を生成する(S24)。この消費電力データの算出は図2と同じである。その結果,図5と同様の消費電力データを生成することができる。
以上の通り,図8の消費電力ピーク見積ツールでは,被検証LSIのネットリスト20内のゲーティッドクロックバッファにゲーティッドクロックの変化をカウントするカウンタを追加したエミュレーション用ネットリスト20Eを準備しておき,それをエミュレータによりエミュレーションすることで,ゲーティッドクロックの動作回数をカウンタで抽出する。そして,ゲーティッドクロックに割り当てられた係数で重み付けした動作率を求めて,消費電力ピークが発生する区間の絞り込みを行う。したがって,一次処理の論理シミュレーションでゲーティッドクロックの信号波形データを抽出する必要がないので,より高速に処理することができる。
以上の実施の形態をまとめると,次の付記のとおりである。
(付記1)ゲーティッドクロックを有するLSIのネットリストについて消費電力のピークを見積もる消費電力ピーク見積プログラムにおいて,
第1の期間にわたり,前記ネットリストについて論理シミュレーションを実行して前記第1の期間内の所定の区間毎に前記ゲーティッドクロックの動作データを抽出する一次処理手段と,
前記一次処理手段で抽出した動作データから求められる前記ゲーティッドクロックの動作率が他の区間より高い1つ又は複数の区間からなる絞り込み区間にわたり,前記ネットリストについて論理シミュレーションを実行して前記絞り込み区間におけるクロックサイクル毎の信号波形データを抽出する二次処理手段と,
前記二次処理手段により抽出した信号波形データからクロックサイクルに対応した消費電力データを生成する消費電力生成手段とを,コンピュータに構築させる消費電力ピーク見積プログラム。
第1の期間にわたり,前記ネットリストについて論理シミュレーションを実行して前記第1の期間内の所定の区間毎に前記ゲーティッドクロックの動作データを抽出する一次処理手段と,
前記一次処理手段で抽出した動作データから求められる前記ゲーティッドクロックの動作率が他の区間より高い1つ又は複数の区間からなる絞り込み区間にわたり,前記ネットリストについて論理シミュレーションを実行して前記絞り込み区間におけるクロックサイクル毎の信号波形データを抽出する二次処理手段と,
前記二次処理手段により抽出した信号波形データからクロックサイクルに対応した消費電力データを生成する消費電力生成手段とを,コンピュータに構築させる消費電力ピーク見積プログラム。
(付記2)付記1において,
前記一次処理手段が当該一次処理を複数回繰り返し,2回目以降の一次処理では,前回の一次処理で抽出した動作データから求められる前記ゲーティッドクロックの動作率が他の区間より高い1つ又は複数の区間からなる絞り込み区間にわたり,前記ネットリストについて前記論理シミュレーションを実行して前記動作データを前回の一次処理での所定の区間より短い区間毎に抽出することを特徴とする消費電力ピーク見積プログラム。
前記一次処理手段が当該一次処理を複数回繰り返し,2回目以降の一次処理では,前回の一次処理で抽出した動作データから求められる前記ゲーティッドクロックの動作率が他の区間より高い1つ又は複数の区間からなる絞り込み区間にわたり,前記ネットリストについて前記論理シミュレーションを実行して前記動作データを前回の一次処理での所定の区間より短い区間毎に抽出することを特徴とする消費電力ピーク見積プログラム。
(付記3)付記1において,
前記一次処理手段は,LSIのネットリストを論理シミュレーションして,ゲーティッドクロックの信号波形データを動作データとして抽出することを特徴とする消費電力ピーク見積プログラム。
前記一次処理手段は,LSIのネットリストを論理シミュレーションして,ゲーティッドクロックの信号波形データを動作データとして抽出することを特徴とする消費電力ピーク見積プログラム。
(付記4)付記1において,
前記一次処理手段は,LSIのネットリストに前記ゲーティッドクロックのパルス数をカウントするカウンタを追加してカウンタ追加ネットリストを生成し,当該カウンタ追加ネットリストに対して前記論理シミュレーションを実行して,前記カウンタのカウント値を前記動作データとして抽出することを特徴とする消費電力ピーク見積プログラム。
前記一次処理手段は,LSIのネットリストに前記ゲーティッドクロックのパルス数をカウントするカウンタを追加してカウンタ追加ネットリストを生成し,当該カウンタ追加ネットリストに対して前記論理シミュレーションを実行して,前記カウンタのカウント値を前記動作データとして抽出することを特徴とする消費電力ピーク見積プログラム。
(付記5)付記4において,
前記一次処理手段が,前記カウンタのカウント値を前記所定の区間毎に抽出することを特徴とする消費電力ピーク見積プログラム。
前記一次処理手段が,前記カウンタのカウント値を前記所定の区間毎に抽出することを特徴とする消費電力ピーク見積プログラム。
(付記6)付記1において,
前記ゲーティッドクロックの動作率が,当該ゲーティッドクロックが供給される回路に割り当てられた重み付け係数に基づいて重み付け処理され,重み付け処理された動作率に基づいて絞り込み区間が決定されることを特徴とする消費電力ピーク見積プログラム。
前記ゲーティッドクロックの動作率が,当該ゲーティッドクロックが供給される回路に割り当てられた重み付け係数に基づいて重み付け処理され,重み付け処理された動作率に基づいて絞り込み区間が決定されることを特徴とする消費電力ピーク見積プログラム。
(付記7)ゲーティッドクロックを有するLSIのネットリストについて消費電力のピークを見積もる消費電力ピーク見積プログラムにおいて,
前記ネットリストに,当該ネットリスト内のゲーティッドクロックバッファにゲーティッドクロックの変化をカウントするカウンタを追加したカウンタ追加ネットリストを生成するカウンタ追加ネットリスト生成手段と,
第1の期間にわたり,前記カウンタ追加ネットリストについて論理シミュレーションを実行して,前記第1の期間内の所定の区間毎に前記ゲーティッドクロックのカウント値を抽出する一次処理手段と,
前記一次処理手段で抽出したカウント値から求められる前記ゲーティッドクロックの動作率が他の区間より高い1つ又は複数の区間からなる絞り込み区間を決定する絞り込み区間決定手段と,
前記絞り込み区間にわたり,前記ネットリストについて論理シミュレーションを実行して,前記絞り込み区間におけるクロックサイクル毎の信号波形データを抽出する二次処理手段と,
前記二次処理手段により抽出した信号波形データからクロックサイクルに対応した消費電力データを生成する消費電力生成手段とを,コンピュータに構築させる消費電力ピーク見積プログラム。
前記ネットリストに,当該ネットリスト内のゲーティッドクロックバッファにゲーティッドクロックの変化をカウントするカウンタを追加したカウンタ追加ネットリストを生成するカウンタ追加ネットリスト生成手段と,
第1の期間にわたり,前記カウンタ追加ネットリストについて論理シミュレーションを実行して,前記第1の期間内の所定の区間毎に前記ゲーティッドクロックのカウント値を抽出する一次処理手段と,
前記一次処理手段で抽出したカウント値から求められる前記ゲーティッドクロックの動作率が他の区間より高い1つ又は複数の区間からなる絞り込み区間を決定する絞り込み区間決定手段と,
前記絞り込み区間にわたり,前記ネットリストについて論理シミュレーションを実行して,前記絞り込み区間におけるクロックサイクル毎の信号波形データを抽出する二次処理手段と,
前記二次処理手段により抽出した信号波形データからクロックサイクルに対応した消費電力データを生成する消費電力生成手段とを,コンピュータに構築させる消費電力ピーク見積プログラム。
(付記8)付記7において,
前記一次処理手段が当該一次処理を複数回繰り返し,2回目以降の一次処理では,前回の一次処理で抽出したカウンタ値から求められる前記ゲーティッドクロックの動作率が他の区間より高い1つ又は複数の区間からなる絞り込み区間にわたり,前記エミュレーションネットリストについて前記論理シミュレーションを実行して前記動作データを前回の一次処理での所定の区間より短い区間毎に抽出することを特徴とする消費電力ピーク見積プログラム。
前記一次処理手段が当該一次処理を複数回繰り返し,2回目以降の一次処理では,前回の一次処理で抽出したカウンタ値から求められる前記ゲーティッドクロックの動作率が他の区間より高い1つ又は複数の区間からなる絞り込み区間にわたり,前記エミュレーションネットリストについて前記論理シミュレーションを実行して前記動作データを前回の一次処理での所定の区間より短い区間毎に抽出することを特徴とする消費電力ピーク見積プログラム。
(付記9)付記7において,
前記ゲーティッドクロックの動作率が,当該ゲーティッドクロックが供給される回路に割り当てられた重み付け係数に基づいて重み付け処理され,重み付け処理された動作率に基づいて絞り込み区間が決定されることを特徴とする消費電力ピーク見積プログラム。
前記ゲーティッドクロックの動作率が,当該ゲーティッドクロックが供給される回路に割り当てられた重み付け係数に基づいて重み付け処理され,重み付け処理された動作率に基づいて絞り込み区間が決定されることを特徴とする消費電力ピーク見積プログラム。
(付記10)ゲーティッドクロックを有するLSIのネットリストについて消費電力のピークを見積もる消費電力ピーク見積装置において,
第1の期間にわたり,前記ネットリストについて論理シミュレーションを実行して前記第1の期間内の所定の区間毎に前記ゲーティッドクロックの動作データを抽出する一次処理手段と,
前記一次処理手段で抽出した動作データから求められる前記ゲーティッドクロックの動作率が他の区間より高い1つ又は複数の区間からなる絞り込み区間にわたり,前記ネットリストについて論理シミュレーションを実行して前記絞り込み区間におけるクロックサイクル毎の信号波形データを抽出する二次処理手段と,
前記二次処理手段により抽出した信号波形データからクロックサイクルに対応した消費電力データを生成する消費電力生成手段とを有することを特徴とする消費電力ピーク見積装置。
第1の期間にわたり,前記ネットリストについて論理シミュレーションを実行して前記第1の期間内の所定の区間毎に前記ゲーティッドクロックの動作データを抽出する一次処理手段と,
前記一次処理手段で抽出した動作データから求められる前記ゲーティッドクロックの動作率が他の区間より高い1つ又は複数の区間からなる絞り込み区間にわたり,前記ネットリストについて論理シミュレーションを実行して前記絞り込み区間におけるクロックサイクル毎の信号波形データを抽出する二次処理手段と,
前記二次処理手段により抽出した信号波形データからクロックサイクルに対応した消費電力データを生成する消費電力生成手段とを有することを特徴とする消費電力ピーク見積装置。
(付記11)付記10において,
前記一次処理手段が当該一次処理を複数回繰り返し,2回目以降の一次処理では,前回の一次処理で抽出した動作データから求められる前記ゲーティッドクロックの動作率が他の区間より高い1つ又は複数の区間からなる絞り込み区間にわたり,前記ネットリストについて前記論理シミュレーションを実行して前記動作データを前回の一次処理での所定の区間より短い区間毎に抽出することを特徴とする消費電力ピーク見積装置。
前記一次処理手段が当該一次処理を複数回繰り返し,2回目以降の一次処理では,前回の一次処理で抽出した動作データから求められる前記ゲーティッドクロックの動作率が他の区間より高い1つ又は複数の区間からなる絞り込み区間にわたり,前記ネットリストについて前記論理シミュレーションを実行して前記動作データを前回の一次処理での所定の区間より短い区間毎に抽出することを特徴とする消費電力ピーク見積装置。
(付記12)ゲーティッドクロックを有するLSIのネットリストについて消費電力のピークを見積もる消費電力ピーク見積装置において,
前記ネットリストに,当該ネットリスト内のゲーティッドクロックバッファにゲーティッドクロックの変化をカウントするカウンタを追加したカウンタ追加ネットリストを生成するカウンタ追加ネットリスト生成手段と,
第1の期間にわたり,前記カウンタ追加ネットリストについて論理シミュレーションを実行して,前記第1の期間内の所定の区間毎に前記ゲーティッドクロックのカウント値を抽出する一次処理手段と,
前記一次処理手段で抽出したカウント値から求められる前記ゲーティッドクロックの動作率が他の区間より高い1つ又は複数の区間からなる絞り込み区間を決定する絞り込み区間決定手段と,
前記絞り込み区間にわたり,前記ネットリストについて論理シミュレーションを実行して,前記絞り込み区間におけるクロックサイクル毎の信号波形データを抽出する二次処理手段と,
前記二次処理手段により抽出した信号波形データからクロックサイクルに対応した消費電力データを生成する消費電力生成手段とを有する消費電力ピーク見積装置。
前記ネットリストに,当該ネットリスト内のゲーティッドクロックバッファにゲーティッドクロックの変化をカウントするカウンタを追加したカウンタ追加ネットリストを生成するカウンタ追加ネットリスト生成手段と,
第1の期間にわたり,前記カウンタ追加ネットリストについて論理シミュレーションを実行して,前記第1の期間内の所定の区間毎に前記ゲーティッドクロックのカウント値を抽出する一次処理手段と,
前記一次処理手段で抽出したカウント値から求められる前記ゲーティッドクロックの動作率が他の区間より高い1つ又は複数の区間からなる絞り込み区間を決定する絞り込み区間決定手段と,
前記絞り込み区間にわたり,前記ネットリストについて論理シミュレーションを実行して,前記絞り込み区間におけるクロックサイクル毎の信号波形データを抽出する二次処理手段と,
前記二次処理手段により抽出した信号波形データからクロックサイクルに対応した消費電力データを生成する消費電力生成手段とを有する消費電力ピーク見積装置。
(付記13)付記12において,
前記一次処理手段が当該一次処理を複数回繰り返し,2回目以降の一次処理では,前回の一次処理で抽出したカウンタ値から求められる前記ゲーティッドクロックの動作率が他の区間より高い1つ又は複数の区間からなる絞り込み区間にわたり,前記エミュレーションネットリストについて前記論理シミュレーションを実行して前記動作データを前回の一次処理での所定の区間より短い区間毎に抽出することを特徴とする消費電力ピーク見積装置。
前記一次処理手段が当該一次処理を複数回繰り返し,2回目以降の一次処理では,前回の一次処理で抽出したカウンタ値から求められる前記ゲーティッドクロックの動作率が他の区間より高い1つ又は複数の区間からなる絞り込み区間にわたり,前記エミュレーションネットリストについて前記論理シミュレーションを実行して前記動作データを前回の一次処理での所定の区間より短い区間毎に抽出することを特徴とする消費電力ピーク見積装置。
20:被検査LSIのネットリスト 22:ゲーティッドクロックデータ
24:セルライブラリ 26:エミュレーション用ネットリスト
28:動作率データ 30:信号波形データ
32:消費電力データ 100:論理シミュレーションツール
200:電力解析ツール 300:消費電力ピーク見積ツール
24:セルライブラリ 26:エミュレーション用ネットリスト
28:動作率データ 30:信号波形データ
32:消費電力データ 100:論理シミュレーションツール
200:電力解析ツール 300:消費電力ピーク見積ツール
Claims (9)
- ゲーティッドクロックを有するLSIのネットリストについて消費電力のピークを見積もる消費電力ピーク見積プログラムにおいて,
第1の期間にわたり,前記ネットリストについて論理シミュレーションを実行して前記第1の期間内の所定の区間毎に前記ゲーティッドクロックの動作データを抽出する一次処理手段と,
前記一次処理手段で抽出した動作データから求められる前記ゲーティッドクロックの動作率が他の区間より高い1つ又は複数の区間からなる絞り込み区間にわたり,前記ネットリストについて論理シミュレーションを実行して前記絞り込み区間におけるクロックサイクル毎の信号波形データを抽出する二次処理手段と,
前記二次処理手段により抽出した信号波形データからクロックサイクルに対応した消費電力データを生成する消費電力生成手段とを,コンピュータに構築させる消費電力ピーク見積プログラム。 - 請求項1において,
前記一次処理手段が当該一次処理を複数回繰り返し,2回目以降の一次処理では,前回の一次処理で抽出した動作データから求められる前記ゲーティッドクロックの動作率が他の区間より高い1つ又は複数の区間からなる絞り込み区間にわたり,前記ネットリストについて前記論理シミュレーションを実行して前記動作データを前回の一次処理での所定の区間より短い区間毎に抽出することを特徴とする消費電力ピーク見積プログラム。 - 請求項1において,
前記一次処理手段は,LSIのネットリストを論理シミュレーションして,ゲーティッドクロックの信号波形データを動作データとして抽出することを特徴とする消費電力ピーク見積プログラム。 - 請求項1において,
前記一次処理手段は,LSIのネットリストに前記ゲーティッドクロックのパルス数をカウントするカウンタを追加したカウンタ追加ネットリストを生成し,当該カウンタ追加ネットリストに対して前記論理シミュレーションを実行して,前記カウンタのカウント値を前記動作データとして抽出することを特徴とする消費電力ピーク見積プログラム。 - 請求項4において,
前記一次処理手段が,前記カウンタのカウント値を前記所定の区間毎に抽出することを特徴とする消費電力ピーク見積プログラム。 - 請求項1において,
前記ゲーティッドクロックの動作率が,当該ゲーティッドクロックが供給される回路に割り当てられた重み付け係数に基づいて重み付け処理され,重み付け処理された動作率に基づいて絞り込み区間が決定されることを特徴とする消費電力ピーク見積プログラム。 - ゲーティッドクロックを有するLSIのネットリストについて消費電力のピークを見積もる消費電力ピーク見積プログラムにおいて,
前記ネットリストに,当該ネットリスト内のゲーティッドクロックバッファにゲーティッドクロックの変化をカウントするカウンタを追加したカウンタ追加ネットリストを生成するカウンタ追加ネットリスト生成手段と,
第1の期間にわたり,前記カウンタ追加ネットリストについて論理シミュレーションを実行して,前記第1の期間内の所定の区間毎に前記ゲーティッドクロックのカウント値を抽出する一次処理手段と,
前記一次処理手段で抽出したカウント値から求められる前記ゲーティッドクロックの動作率が他の区間より高い1つ又は複数の区間からなる絞り込み区間を決定する絞り込み区間決定手段と,
前記絞り込み区間にわたり,前記ネットリストについて論理シミュレーションを実行して,前記絞り込み区間におけるクロックサイクル毎の信号波形データを抽出する二次処理手段と,
前記二次処理手段により抽出した信号波形データからクロックサイクルに対応した消費電力データを生成する消費電力生成手段とを,コンピュータに構築させる消費電力ピーク見積プログラム。 - ゲーティッドクロックを有するLSIのネットリストについて消費電力のピークを見積もる消費電力ピーク見積装置において,
第1の期間にわたり,前記ネットリストについて論理シミュレーションを実行して前記第1の期間内の所定の区間毎に前記ゲーティッドクロックの動作データを抽出する一次処理手段と,
前記一次処理手段で抽出した動作データから求められる前記ゲーティッドクロックの動作率が他の区間より高い1つ又は複数の区間からなる絞り込み区間にわたり,前記ネットリストについて論理シミュレーションを実行して前記絞り込み区間におけるクロックサイクル毎の信号波形データを抽出する二次処理手段と,
前記二次処理手段により抽出した信号波形データからクロックサイクルに対応した消費電力データを生成する消費電力生成手段とを有することを特徴とする消費電力ピーク見積装置。 - ゲーティッドクロックを有するLSIのネットリストについて消費電力のピークを見積もる消費電力ピーク見積装置において,
前記ネットリストに,当該ネットリスト内のゲーティッドクロックバッファにゲーティッドクロックの変化をカウントするカウンタを追加したカウンタ追加ネットリストを生成するネットリスト生成手段と,
第1の期間にわたり,前記カウンタ追加ネットリストについて論理シミュレーションを実行して,前記第1の期間内の所定の区間毎に前記ゲーティッドクロックのカウント値を抽出する一次処理手段と,
前記一次処理手段で抽出したカウント値から求められる前記ゲーティッドクロックの動作率が他の区間より高い1つ又は複数の区間からなる絞り込み区間を決定する絞り込み区間決定手段と,
前記絞り込み区間にわたり,前記ネットリストについて論理シミュレーションを実行して,前記絞り込み区間におけるクロックサイクル毎の信号波形データを抽出する二次処理手段と,
前記二次処理手段により抽出した信号波形データからクロックサイクルに対応した消費電力データを生成する消費電力生成手段とを有する消費電力ピーク見積装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006240970A JP4704299B2 (ja) | 2006-09-06 | 2006-09-06 | Lsiの消費電力ピーク見積プログラム及びその装置 |
US11/896,943 US8095354B2 (en) | 2006-09-06 | 2007-09-06 | Power consumption peak estimation program for LSI and device therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006240970A JP4704299B2 (ja) | 2006-09-06 | 2006-09-06 | Lsiの消費電力ピーク見積プログラム及びその装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008065496A JP2008065496A (ja) | 2008-03-21 |
JP4704299B2 true JP4704299B2 (ja) | 2011-06-15 |
Family
ID=39226143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006240970A Expired - Fee Related JP4704299B2 (ja) | 2006-09-06 | 2006-09-06 | Lsiの消費電力ピーク見積プログラム及びその装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8095354B2 (ja) |
JP (1) | JP4704299B2 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006133149A2 (en) * | 2005-06-03 | 2006-12-14 | Quickturn Design Systems, Inc. | Method for analyzing power consumption of circuit design using hardware emulation |
US8108194B2 (en) * | 2008-04-25 | 2012-01-31 | Cadence Design Systems, Inc. | Peak power detection in digital designs using emulation systems |
JP5151685B2 (ja) | 2008-05-23 | 2013-02-27 | 富士通株式会社 | 半導体回路設計支援プログラム |
JP5262442B2 (ja) * | 2008-08-27 | 2013-08-14 | 富士通株式会社 | 設計支援プログラム、設計支援装置、および設計支援方法 |
US8825464B2 (en) * | 2008-09-02 | 2014-09-02 | Oracle America, Inc. | Method and apparatus for parallelization of sequential power simulation |
JP5396143B2 (ja) * | 2009-05-12 | 2014-01-22 | パナソニック株式会社 | 多電源シミュレーション結果解析装置及びその結果解析方法 |
JP5262996B2 (ja) * | 2009-05-26 | 2013-08-14 | 富士通セミコンダクター株式会社 | 論理シミュレーション装置、方法、及びプログラム |
JP5368941B2 (ja) * | 2009-11-06 | 2013-12-18 | シャープ株式会社 | 論理回路設計支援方法及び装置 |
JP5423335B2 (ja) * | 2009-11-17 | 2014-02-19 | 富士通株式会社 | 電力見積ポイント選択方法及びシミュレーション装置 |
US9443045B2 (en) * | 2011-02-07 | 2016-09-13 | Apple Inc. | Power estimation in an integrated circuit design flow |
JP2012203567A (ja) * | 2011-03-24 | 2012-10-22 | Toshiba Corp | 消費電力検証支援装置 |
US20130194016A1 (en) * | 2012-01-31 | 2013-08-01 | Shmuel Wimer | System and method for generating a clock gating network for logic circuits |
TWI492181B (zh) * | 2012-11-15 | 2015-07-11 | Ind Tech Res Inst | 節費式電力能源管理裝置及方法 |
US10311184B2 (en) * | 2016-03-02 | 2019-06-04 | Synopsys, Inc. | Circuit verification on a distributed database processing system |
CN109388839B (zh) * | 2017-08-14 | 2023-05-30 | 龙芯中科技术股份有限公司 | 时钟系统性能分析方法及装置 |
CN112287626B (zh) * | 2020-10-26 | 2022-05-06 | 浙江大学 | 基于静态时序信息的开关电流模型拟合功耗变化波形方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0682136B2 (ja) | 1988-11-16 | 1994-10-19 | 三菱電機株式会社 | 消費電流見積り方法 |
JP2803119B2 (ja) | 1988-12-23 | 1998-09-24 | 日本電気株式会社 | Cmosゲートアレイ消費電力計算方式 |
AU2816495A (en) * | 1994-06-03 | 1996-01-04 | Synopsys, Inc. | Method and apparatus for estimating the power dissipated by a digital circuit |
JPH09282346A (ja) * | 1996-04-12 | 1997-10-31 | Fujitsu Ltd | セル消費電流特性算出システム |
US5815416A (en) * | 1996-04-19 | 1998-09-29 | Vlsi Technology, Inc. | Method of measuring energy consumption in a circuit simulator |
US5835380A (en) * | 1996-06-11 | 1998-11-10 | Lsi Logic Corporation | Simulation based extractor of expected waveforms for gate-level power analysis tool |
US5903476A (en) * | 1996-10-29 | 1999-05-11 | Synopsys, Inc. | Three-dimensional power modeling table having dual output capacitance indices |
JP4077899B2 (ja) * | 1997-03-13 | 2008-04-23 | 株式会社日立製作所 | 論理回路の論理動作制御方法と半導体論理回路の消費電力制御方法及び算出方法及び半導体論理回路 |
JP4428489B2 (ja) | 1999-08-23 | 2010-03-10 | パナソニック株式会社 | 集積回路装置及びそのテスト方法 |
JP2002092065A (ja) | 2000-09-11 | 2002-03-29 | Toshiba Corp | 回路設計方法及び回路設計装置 |
JP2002288257A (ja) | 2001-03-23 | 2002-10-04 | Matsushita Electric Ind Co Ltd | 消費電力評価方法および装置 |
JP4582962B2 (ja) * | 2001-06-08 | 2010-11-17 | 富士通セミコンダクター株式会社 | 電源網解析方法、電源網解析方法を実行するコンピュータプログラム、記録媒体、及び電源網解析装置 |
JP2003085233A (ja) * | 2001-09-10 | 2003-03-20 | Sanyo Electric Co Ltd | 集積回路装置の電力解析システム |
JP2003256495A (ja) | 2002-02-27 | 2003-09-12 | Nec Corp | 消費電力計算装置及び方法 |
JP3980957B2 (ja) | 2002-07-24 | 2007-09-26 | 株式会社ルネサステクノロジ | 消費電力算出方法 |
JP4120931B2 (ja) * | 2003-03-20 | 2008-07-16 | 株式会社リコー | 半導体設計支援装置 |
JP2005293163A (ja) * | 2004-03-31 | 2005-10-20 | Nec Electronics Corp | 消費電力計算方法及び装置 |
US7278120B2 (en) * | 2004-07-23 | 2007-10-02 | Synplicity, Inc. | Methods and apparatuses for transient analyses of circuits |
US20060149527A1 (en) * | 2004-12-09 | 2006-07-06 | Toms Thomas R | System and method to determine peak power demand in an integrated circuit |
WO2006133149A2 (en) * | 2005-06-03 | 2006-12-14 | Quickturn Design Systems, Inc. | Method for analyzing power consumption of circuit design using hardware emulation |
US7539958B2 (en) * | 2005-06-10 | 2009-05-26 | Azuro (Uk) Limited | Estimation of average-case activity for digital circuits |
JP4667466B2 (ja) * | 2005-09-29 | 2011-04-13 | 富士通株式会社 | 消費電力解析方法及び消費電力解析装置 |
-
2006
- 2006-09-06 JP JP2006240970A patent/JP4704299B2/ja not_active Expired - Fee Related
-
2007
- 2007-09-06 US US11/896,943 patent/US8095354B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008065496A (ja) | 2008-03-21 |
US8095354B2 (en) | 2012-01-10 |
US20080077380A1 (en) | 2008-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4704299B2 (ja) | Lsiの消費電力ピーク見積プログラム及びその装置 | |
US7134100B2 (en) | Method and apparatus for efficient register-transfer level (RTL) power estimation | |
JP4696051B2 (ja) | 消費電力解析方法及びプログラム | |
US8108194B2 (en) | Peak power detection in digital designs using emulation systems | |
US7844928B2 (en) | Method and apparatus for evaluating integrated circuit design performance using enhanced basic block vectors that include data dependent information | |
US20070276645A1 (en) | Power modelling in circuit designs | |
US20090276190A1 (en) | Method and Apparatus For Evaluating Integrated Circuit Design Performance Using Basic Block Vectors, Cycles Per Instruction (CPI) Information and Microarchitecture Dependent Information | |
Ravi et al. | Efficient RTL power estimation for large designs | |
US11755797B2 (en) | System and method for predicting performance, power and area behavior of soft IP components in integrated circuit design | |
US11461523B1 (en) | Glitch analysis and glitch power estimation system | |
US11636246B2 (en) | Systems and methods for predicting and managing power and energy use of semiconductor devices | |
US9081930B1 (en) | Throughput during high level synthesis | |
Behal et al. | An automated setup for large-scale simulation-based fault-injection experiments on asynchronous digital circuits | |
JP5034916B2 (ja) | 性能評価モデル生成方法、システム性能評価方法、及び性能評価モデル生成装置 | |
Xie et al. | DEEP: Developing extremely efficient runtime on-chip power meters | |
US8452581B2 (en) | Technique using power macromodeling for register transfer level power estimation | |
JP2008299464A (ja) | 消費電力計算方法、消費電力計算プログラムおよび消費電力計算装置 | |
Tziouvaras et al. | Instruction-flow-based timing analysis in pipelined processors | |
JP2008234240A (ja) | 消費電力解析方法及び消費電力解析装置 | |
JP5146087B2 (ja) | 消費電力見積方法、回路設計支援装置及びプログラム | |
JP6089627B2 (ja) | 消費電力見積り装置および消費電力見積り方法 | |
JP4899960B2 (ja) | 消費電力見積方法及びプログラム | |
Tenentes et al. | Leakage current analysis for diagnosis of bridge defects in power-gating designs | |
Jenihhin et al. | PSL assertion checkers synthesis with ASM based HLS tool ABELITE | |
Jiang et al. | Effective error diagnosis for RTL designs in HDLs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090519 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110224 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110308 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110309 |
|
LAPS | Cancellation because of no payment of annual fees |