JP5040625B2 - Lsiの電力見積方法及びその装置 - Google Patents

Lsiの電力見積方法及びその装置 Download PDF

Info

Publication number
JP5040625B2
JP5040625B2 JP2007315742A JP2007315742A JP5040625B2 JP 5040625 B2 JP5040625 B2 JP 5040625B2 JP 2007315742 A JP2007315742 A JP 2007315742A JP 2007315742 A JP2007315742 A JP 2007315742A JP 5040625 B2 JP5040625 B2 JP 5040625B2
Authority
JP
Japan
Prior art keywords
model
power
parameter
power consumption
function model
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
Application number
JP2007315742A
Other languages
English (en)
Other versions
JP2009140222A (ja
Inventor
泰基 中村
真紀子 伊藤
俊樹 小原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007315742A priority Critical patent/JP5040625B2/ja
Publication of JP2009140222A publication Critical patent/JP2009140222A/ja
Application granted granted Critical
Publication of JP5040625B2 publication Critical patent/JP5040625B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は,LSIの電力見積方法及びその装置に関し,特に,電力見積時間を短縮した方法及び装置に関する。
LSIを設計する工程において,事前に電力を見積もることが要求されている。LSIの電力見積の方法としては,トランジスタレベルでシミュレーションを行い電力を見積もる方法がある。この方法では,LSIに含まれる全てのトランジスタのON/OFF回数と,全ての信号線の充放電回数をカウントし,この回数に,個々のトランジスタのON/OFFで生じる消費電力や,信号線の充放電容量できまる充放電電力を掛け合わせて,電力を見積もる。この方法では,LSIに含まれる膨大な数のトランジスタや信号線を全てシミュレーションする必要があり,電力見積には膨大な計算時間が必要になる。
LSIの電力見積方法として別の方法では,LSIに含まれる機能マクロ(IP)の電力を固定値としてあらかじめ与えておき,LSI内のIPの電力を積算することで電力を見積もる。しかし,この方法では,LSIのアプリケーションに対応した動作に依存しない一定の電力値を使用しているので,機能マクロ(IP)に動作を指令するアプリケーションプログラムによる電力の違いを見積もることはできない。
LSIの電力見積方法としては,以下の特許文献1,2,3にも種々提案されている。特許文献1によれば,LSIをクロック回路部分とそれ以外の回路部分とに分けて,クロック回路部分をゲートレベルまたはトランジスタレベルで消費電力を見積もり,それ以外の回路部分をRTレベルで消費電力を見積もり,両者を加算する。
また,特許文献2によれば,メモリ部をトランジスタレベルで電力見積を行い,LSI全体をRTレベルでシミュレーションしたときのメモリ部のアクセス回数を反映させてLSIの平均消費電力及びピーク消費電力を計算する。
そして,特許文献3によれば,組み合わせ回路をブロック化して消費電力を計算してライブラリ化し,順序回路と併せてチップ全体の消費電力を計算する。
特開平2004−287669号公報 特開平2003−256495号公報 特開平2002−15022号公報
従来の電力見積方法は,トランジスタレベルでシミュレーションを行って動作に対応した消費電力を見積もる方法はあるものの,膨大な計算時間を要する。また,短時間での電力見積方法では,LSIの動作に対応した電力見積ができていない。
そこで,本発明の目的は,LSIの動作に対応した消費電力を短時間で見積もることができる電力見積方法とその装置を提供することにある。
上記の目的を達成するために,本発明の第1の側面によれば,事前準備として,ビヘイビアレベル或いはレジスタトランスファレベルのソースコードで記述されている機能モデルを解析して消費電力に影響を与える機能モデルパラメータ(信号や変数など)を抽出し,機能モデルから生成され,ネットリストで記述されているネットリストモデルを解析して機能モデルパラメータに対応するネットリストパラメータ(端子名やレジスタ名など)を抽出し,両者の対応関係を保持しておく。さらに,事前準備として,ネットリストモデルを動作シミュレーションして消費電力を測定する。そして,測定結果から,電力に影響を与える機能モデルパラメータの組み合わせとそれに対応する消費電力とからなる電力モデルを作成する。以上が事前準備(事前モデリング)工程である。
そして,電力見積対象のアプリケーションプログラムについて機能モデルを動作シミュレーションし,そのアプリケーションプログラムを実行したときの機能モデルパラメータのログを取得する。そして,事前モデリング工程で生成した電力モデルを参照し,ログの機能モデルパラメータの組み合わせに対応する電力を抽出し,電力見積対象のアプリケーションの動作における機能モデルの消費電力を見積もる。以上が電力見積対象アプリケーションにおける機能モデルの電力見積工程である。
事前モデリング工程で,機能モデルについて,ネットリストモデルで動作シミュレーションを実行して,トランジスタレベルまたはレジスタレベルでの動作シミュレーションで消費電力を求める。この工程では膨大な計算時間が必要になるが比較的正確な消費電力を求めることができる。そして,この動作シミュレーションで得た機能モデルパラメータの組み合わせと消費電力との対応を有する電力モデルを記憶しておけば,電力見積対象のアプリケーションプログラムの実行時における機能モデルについて,動作シミュレーションを実行し,そこで得られた機能モデルパラメータのログから,前述の電力モデルを参照して電力値を見積もることができる。この機能モデルでの動作シミュレーションはネットリストモデルの場合ほど長い計算時間は必要ない。よって,短時間でアプリケーションプログラムの動作に依存した機能モデルの消費電力を見積もることができる。
上記の目的を達成するために,本発明の第2の側面によれば,LSIの消費電力を見積もる電力見積方法は,
(a)ソースコードで記述されている機能モデルを解析して消費電力に影響を与える機能モデルパラメータを抽出し,前記機能モデルに対応し,ネットリストで記述されているネットリストモデルを解析して前記機能モデルパラメータに対応するネットリストパラメータを抽出し,前記機能モデルパラメータとネットリストパラメータの対応関係を保持する工程と,
(b)前記ネットリストモデルを動作シミュレーションして前記機能モデルパラメータの値と消費電力を測定する工程と,
(c)工程(b)で得られた機能モデルパラメータの値の組み合わせとそれに対応する消費電力との関係からなる電力モデルを作成する工程と,
(d)見積対象アプリケーションプログラムの動作における機能モデルの動作シミュレーションを実行し,その実行したときの機能モデルパラメータの値の組み合わせに対応する消費電力を,前記電力モデルを参照して抽出し,前記見積対象アプリケーションの動作における機能モデルの消費電力を見積もる工程とを有する。
以下,図面にしたがって本発明の実施の形態について説明する。但し,本発明の技術的範囲はこれらの実施の形態に限定されず,特許請求の範囲に記載された事項とその均等物まで及ぶものである。
LSIの消費電力は,一般的にLSIの内部の動作に関連しているので,内部の動作が決まると消費電力も決まる。一方,内部の動作は,内部の信号線やレジスタの値などのパラメータ値に反映されている。ただし,消費電力は,全てのパラメータ値に依存しているわけではなく,消費電力に影響を与える特定のパラメータ値に依存している。
たとえば,DMA(ダイレクトメモリアクセス)機能を有するマクロ(IP)の消費電力は,DMA動作の有無,リードやライト時の内部パラメータ値,例えばバーストサイズなど,に依存して決まる。または,MPEGデコーダの機能を有するマクロの場合は,画像サイズや画像の種類などの内部パラメータ値に依存して電力が決まる。
そこで,本実施の形態では,機能モデルについて,そのネットリストモデルの動作シミュレーションを実行して機能モデルパラメータの組み合わせと消費電力との関係を電力モデルとしてあらかじめ求めておく。そして,見積対象アプリケーションプログラムを実行した場合の機能モデルの動作をシミュレーションし,そのときの機能モデルパラメータ値のログを取得する。このログの機能モデルパラメータの組み合わせについて,前述の電力モデルを参照して,対応する消費電力を求める。見積対象アプリケーションプログラムについて機能モデルをシミュレーションするだけで,ネットリストモデルのシミュレーションの精度で消費電力を見積もることができる。
上記の機能モデルは,回路の動作や振る舞いを表現したレベルであるビヘイビアレベルの記述レベルであり,例えばSystemCなどの言語で記述される。または,機能モデルは,レジスタ間の動作を表現したレベルであるレジスタトランスファレベル(RTL)の記述レベルであってもよい。
図1は,本実施の形態における電力見積方法の概略を示す図である。この電力見積方法は,事前準備としての事前モデリング(S1,S2,S3)と,見積対象アプリケーションについての電力見積(S4)とで構成される。最初の工程は,モデルの全パラメータを抽出する工程S1である。ここでは,見積対象のモデル10を周辺マクロとして有するシステム100において,モデル10のパラメータを抽出する(S1)。
具体的には,モデル10に対応するビヘイビアレベルのソースコード(例えば言語SystemC)で記述された機能モデル10Fの記述を解析して,それに含まれる機能モデルパラメータ12Fを抽出し(S11),さらに,モデル10に対応するネットリストで記述されたネットリストモデル10Nの記述を解析して,それに含まれるネットリストパラメータ12Nを抽出する(S12)。両パラメータは1対1に対応付けられることが望ましい。
次に,ネットリストモデル10Nについて,シミュレーションシステム200により,動作シミュレーションを実行し電力を測定する(S2)。このとき,パラメータの値とそれらに対する消費電力のログを取得する。そして,電力に関係する機能モデルパラメータの値の組み合わせと消費電力との相関関係を示す電力モデル208を作成する(S3)。このとき,電力モデルは,電力値に関係する(影響を与える)機能モデルパラメータ210に絞り込むことが望ましい。以上で事前モデリングが終了する。
そして,見積対象アプリケーションプログラムをシステム300が実行した場合の機能モデルシミュレーションにより電力見積を行う(S4)。具体的には,見積対象アプリケーションプログラムをシステム300が実行した場合における,機能モデル10Fの動作シミュレーションを実行し,その時の機能モデルパラメータの値のログを取得する(S41)。この機能モデルパラメータの値のログ(シミュレーション結果)から,前述の電力モデルを参照し,同じ値の組み合わせに対応する消費電力を抽出し,機能モデル10Fの電力を見積もる(S42)。
以下,各工程について具体例を参照しながら説明する。
図2は,工程S1の詳細なフローチャート図である。モデルの全パラメータを抽出する工程S1は,前述の通り機能モデル10Fのソースコードを解析して機能モデルパラメータ12Fを抽出する工程S11と,ネットリストモデルを解析してネットリストパラメータ12Nを抽出する工程S12とからなる。
図3,図4は,機能モデルの一例としてDMA(ダイレクトメモリアクセス)の機能を有するモデルを説明する図である。図3には,システム110の構成が示されている。このシステムは,CPUと,2つのメモリRAMa,RAMbと,システムバスBUSと,DMA機能を有する機能マクロ10とを有する。DMAマクロ10は,リードユニットReadとライトユニットWriteと転送バッファBufとを有する転送ユニット112と,コントローラ114と,レジスタ群116とを有する。レジスタ群116は,DMAの転送元アドレスを格納するソースアドレスレジスタSrcAdrと,DMAの転送先アドレスを格納するデスティネーションアドレスレジスタDstAdrと,DMA転送データ量を示す転送サイズを格納するサイズレジスタSizeと,1回のDMAリクエストに対する転送回数(バーストサイズ)を格納するバーストサイズレジスタBurstSizeと,DMA転送フラグを格納するアクティブレジスタActiveとを有する。
DMAマクロ10では,例えばCPUが,レジスタ群116内のソースアドレスレジスタSrcAdrと,デスティネーションアドレスレジスタDstAdrと,サイズレジスタSizeと,バーストサイズレジスタBurstSizeとにそれぞれ,転送元アドレスと,転送先アドレスと,転送サイズと,バーストサイズを設定した後に,CPUがアクティブレジスタを活性状態の「1」に設定して,DMAリクエストをアサートする。DMAマクロ10のコントローラ114は,アクティブレジスタに「1」が設定されたことに応答して,転送元アドレスへの読み出し動作を読み出しユニットReadに実行させ,読み出したデータを転送バッファBufに格納させ,転送先アドレスへの書き込み動作を書き込みユニットWriteに実行させる。そして,コントローラ114が,レジスタ内の転送元アドレスと転送先アドレスと転送サイズとを更新する。そして,コントローラ114は,転送サイズが「0」になるまで,上記の読み出しと書き込み動作を繰り返し,転送サイズが「0」になると,アクティブレジスタに非活性状態の「0」を設定してDMA転送を終了する。
図4は,DMAマクロに対応するビヘイビアレベルのソースコードで記述されている機能モデルの例を示している。ただし,図4では,SystemCの言語やRTL言語では記述されておらず,より高度な擬似コードで記述されている。
図4の左側の機能モデル10F(1)には,モデル名「DMA」の宣言,制御レジスタと外部信号線とが宣言されている。さらに,右側の機能モデル10F(2)には,DMA起動シーケンスのビヘイビアと,DMA動作のビヘイビアとが記述されている。この擬似コードで記述されたDMA起動シーケンスとDMA動作シーケンスは,前述したDMAマクロ10のDMA転送の動作シーケンスと一致している。ただし,実際の機能モデル10Fは,SystemC言語やRTL言語などの高級言語によるソースコードで記述されている。
そして,そのソースコードの記述には,外部とのインターフェースになる信号線と,変数とが含まれている。図2の工程S11による機能モデルのソースコード解析(例えば構文解析)により,ソースコードの記述に含まれている信号線と変数が機能モデルパラメータとして抽出される。
図5は,DMA機能モデルにおける機能モデルパラメータとネットリストパラメータの例を示す図である。図4に示した機能モデル10Fのソースコードによる記述を解析して,インターフェースになる信号「address」「data」「ReadEnable」「WriteEnable」と,変数「SrcAdr」「DstAdr」「size」「burstsize」「Active」とが機能モデルパラメータ12Fとして抽出されている。
図2に示したとおり,機能モデル10Fは,論理合成ツールなどの変換ツール14により対応するネットリスト10Nに変換される。この変換ツール14では,機能モデルの機能モデルパラメータに対応して,ネットリストのネットリストパラメータとして,機能モデルパラメータと同じ名称で,または異なるが対応する名称に変換する。したがって,機能モデルパラメータ12Fとネットワークパラメータ12Nとは1対1に対応する関係を有する。
そこで,ネットリストモデル10Nについてネットリスト解析S12を行うことで,ネットリストパラメータ12Nが抽出される。変換ツール14が変換時に作成したパラメータ対応表などを参照することで,機能モデルパラメータ12Fとネットリストパラメータ12Nとを1対1に対応付けすることができる。
図5の右側には,ネットリストパラメータ12Nの一例が示されている。この例では,ネットリストパラメータ12Nが,端子名として「Taddress」「Tdata」「TReadEnable」「TWriteEnable」が,レジスタ名として「RSrcAdr」「RDstAdr」「Rsize」「Rburstsize」「RActive」がそれぞれ抽出されている。そして,この例では,ネットリストパラメータの端子名とレジスタ名は,機能モデルパラメータの信号名と変数名に「T」「R」を頭文字に加えたものに変更されている。このように,図5に示されるとおり,機能モデルパラメータ12Fとネットリストパラメータ12Nとは1対1の対応関係を有している。
図6は,ネットリストシミュレーションによる電力測定工程S2を説明する図である。ネットリストの動作シミュレーションを行って電力を測定するツールは一般に普及している。したがって,その電力測定ツールであるシミュレーションシステム200により,ネットリスト10Nに複数の入力パターンを与えて動作シミュレーションを実行する。入力パターン202は,ネットリストパラメータ12Nのパラメータ値の多数の組み合わせからなる入力データパターンであり,多数の入力パラメータ202(1)〜202(x)について動作シミュレーションを実行し,実行時のパラメータ値206と電力値204とのログを取得する。
図7は,ネットリストシミュレーションで取得したパラメータ値と電力値の一例を示す図である。図7には,横軸時間に対して電力値の変化と,機能モデルパラメータに対応するパラメータ値の変化が示されている。ネットリストシミュレーションでは,図7中の複数の垂直線で示したサンプリングタイミングでの電力値と全てのパラメータの値(図中丸の位置の値)とがログとして記録される。図7の例に示されるとおり,パラメータ値の変化に対応して電力値が逐次変化していることが理解できる。特に,アクティブレジスタの変数Activeが「1」になるとDMAマクロがDMA転送を実行して電力値が上昇することが認められる。また,電力値は,それ以外のパラメータ値,例えばリードイネーブル,ライトイネーブルなどの影響を受けて変動している。
図8は,図7のネットワークシミュレーションを実行して得られたパラメータ値の組み合わせと対応する電力値のログを示す図である。多数の入力パターンに対して動作シミュレーションが行われるので,得られるログのデータ量はかなりの数になる。図8には,そのごく一部のみが一例として示され,9つのパラメータ(機能モデルパラメータで示されている)の値に対する電力値がそれぞれ示されている。
図9は,図1の工程S3の具体的なフローチャート図である。工程S3では,ネットリストシミュレーションで得られた電力とパラメータ値のデータ204,206(図8のログデータ)から,電力値に関係しない機能モデルパラメータを削除し(S32),ログデータのデータ量を低減する。そして,電力値に関係する機能モデルパラメータと電力値の対応表を作成して電力モデル208を生成する(S34)。つまり,電力モデル208は,電力値に関係する機能モデルパラメータと電力値の対応表である。
図10は,図9の上記の工程S32の処理プログラムの擬似コードを示す図である。まず,機能モデルパラメータX1〜Xnと,機能モデルパラメータX1〜Xnの組み合わせに対する電力値W(X1〜Xn)を定義する(P1)。そして,プログラムP2では,全てのパラメータについて,その指定したパラメータが電力に関係あるか否かをチェックするサブルーチンSUB1を実行し,関係がない場合はそのパラメータを削除する。
サブルーチンSUB1では,図8の全ての測定データについて,パラメータXk(Xk=X0〜Xn)の値がNk0〜Nknの場合の電力値の平均値をそれぞれ求め,その電力値の平均値の分散を計算する。そして,この電力値の平均値の分散が規定値S以下の場合は,そのパラメータXkは電力が依存しない,つまり電力に関係しない(影響を与えない)パラメータであると判定する。電力値の平均値の分散が規定値Sを超える場合は,そのパラメータは電力が依存するパラメータと判定する。分散が規定値Sを超える場合は,パラメータXkの値に関連して電力値が変化する度合いが大きいからである。
図10の処理プログラムによれば,電力値に関係しないパラメータを検出することができ,測定データのログからそのパラメータを削除することができ,電力モデルのデータ量を少なくすることができる。
図11は,図1の工程S3の別の具体的なフローチャート図である。これによれば,工程S3では,ネットリストシミュレーションで得られた電力とパラメータ値のデータ204,206(図8のログデータ)から,電力値に関係しない機能モデルパラメータを2つのアルゴリズムにより2段階で削除し(S32,S32−1,S32−2),ログデータのデータ量を低減する。2段階でパラメータを削減することが,図9と異なる点である。そして,電力値に関係する機能モデルパラメータと電力値の対応表を作成して電力モデル208を生成する(S34)。
図12は,図11の上記の工程S32−1,S32−2の処理プログラムの擬似コードを示す図である。図10と同様に,まず,機能モデルパラメータX1〜Xnと,機能モデルパラメータX1〜Xnの組み合わせに対する電力値W(X1〜Xn)を定義する(P1)。そして,プログラムP2では,全てのパラメータについて,その指定したパラメータが電力に関係あるか否かをチェックするサブルーチンSUB2を実行し,関係がない場合はそのパラメータを削除する。
サブルーチンSUB2では,図8の全ての測定データについて,パラメータXkの値がNk0〜Nknの場合での電力値の平均値と平均値の分散とをそれぞれ求める(P3)。そして,パラメータXkの値がNk0〜Nknの場合での電力値の分散が規定値S以下の場合は,そのパラメータ値Xk=Nk0〜Nknの時に,それ以外のパラメータには依存しないと判定する(S4)。この判定P4は,図11のアルゴリズムAL1に基づくものであり,あるパラメータXkが特定の値Nkkの時にそれ以外のパラメータは電力値に影響を与えないことが判別できれば,電力モデルからパラメータの組み合わせ数を減らすことができる。
さらに,アルゴリズムAL2として,電力値の平均値の分散が規定値S以下の場合は,そのパラメータXkは電力が依存しないパラメータであると判定する。電力値の平均値の分散が規定値Sを超える場合は,そのパラメータは電力が依存するパラメータと判定する(P5)。このアルゴリズムAL2は,図10のサブルーチンSUB1と同じである。
図13は,ネットリストシミュレーションで取得した測定データの一例を示す図である。図13(A)は,横軸がバーストサイズBurstSize,縦軸が電力値であり,アクティブActive=0の場合においてバーストサイズが1,2,4,8,16と変化した時の電力値がプロットされている。白丸が測定値であり黒丸がその平均値である。これによれば,アルゴリズムAL1による判別処理により,アクティブActive=0の場合には,電力値の分散がほとんどないので,他のパラメータであるバーストサイズは電力に影響を与えないことが判別できる。つまり,アクティブActive=0の場合にバーストサイズは「ノットケア(依存せず)」になる。
図13(B)も,横軸がバーストサイズBurstSize,縦軸が電力値であり,ただし,アクティブActive=1の場合においてバーストサイズが1,2,4,8,16と変化した時の電力値がプロットされている。これによれば,アクティブActive=1の場合には,バーストサイズに依存した電力値が検出されている。これによれば,アルゴリズムAL1による判別処理により,アクティブActive=1の場合には,電力値の分散が大きく,他のパラメータであるバーストサイズは電力に影響を与えることが判別され,アクティブActive=1の場合においてバーストサイズというパラメータを削減することはできない。
しかも,アクティブActiveについては,「0」の場合と「1」の場合とで電力値が異なり分散しているので,アルゴリズムAL2による判別処理により,パラメータのアクティブActiveが削除されることはない。
図14は,図13の測定データ例を工程S32−1,S32−2の処理プログラムで生成した電力モデルの例を示す図である。この電力モデル208のパラメータでは,図8の測定データ204/206から電力値に依存しないパラメータを削除し,さらにあるパラメータが特定の値の場合に電力値に依存しないパラメータも削除している。
例えば,M1は,アクティブActive=0の場合に他の3つのパラメータの値には電力値が依存しないことを示している。また,M2は,アクティブActive=1の場合でもリードイネーブルReadEnable=0,ライトイネーブルWriteEnable=0の場合には,バーストサイズBurstSizeに依存しないことを示している。それ以外のM3〜M8は,4つのパラメータの値の組み合わせに応じた電力値が対応付けられている。
上記のモデルM2を判別するためには,アクティブActive=1,リードイネーブルReadEnable=0,ライトイネーブルWriteEnable=0の場合での,バーストサイズBurstSizeを可変にした時の電力値が分散していないことが検出される必要がある。よって,図12のプログラムP3,P4では,パラメータXkの部分集合が取りうる組み合わせについて全て電力値の平均値を分散を計算することが必要になる。
よって,図12において,プログラムP5の処理を最初に行ってある程度のパラメータを削除し,その後,プログラムP3,P4について,単独のパラメータが特定の値をとるときの電力値の分散値,複数のパラメータが特定の値の組み合わせをとるときの電力値の分散値を共に求めて,その分散値と規定値Sとの比較から電力値との関係をチェックすることが望ましい。
図14に示されるとおり,電力モデル208では,測定データよりもパラメータの数が削減され,且つパラメータの値の組み合わせ数も削減される。
図15は,工程S4の具体的なフローチャートを示す図である。機能モデルシステム300は,CPUや他のIP(マクロ)に加えて,電力測定対象のIPマクロ(機能モデル)10Fを有する。このIPマクロ10Fは,前述の例では図3のDMAマクロ10をSystemCなどで記述した機能モデルである。ただし,機能モデルシステム300は,図1中の機能モデルシステム100とは異なる見積対象アプリケーションプログラム212を実行する。この見積対象アプリケーションプログラム212は,例えばMPEGデコードプログラムなどであり,そのアプリケーションプログラム212を実行した場合における,電力測定対象のIPマクロであるDMAマクロ10Fの消費電力を,電力モデル208を参照することで見積もることができる。
図15に記載されるとおり,見積対象アプリケーションプログラム212と,対象IPマクロ10に対応する機能モデル10Fの機能モデルパラメータのうち電力値に影響を与える機能モデルパラメータ210とを機能モデルシミュレータに入力して,機能モデルシミュレーションS41を実行する。このシミュレーションS41は,例えば,記述言語の一例であるベリログ(Verilog)の機能シミュレータや,記述言語の他の例であるSystemCの機能シミュレータや,RTL言語の機能シミュレータなど,既存の機能シュミレータツールを利用して行うことができる。機能モデルシミュレーションS41を実行することで,ソースコードで記述された機能モデル10Fについて,見積対象アプリケーションプログラム212を実行した場合の機能モデルパラメータの変化をログにとることができる。
その結果,一定時間間隔毎の機能モデルパラメータの値がシミュレーションのログLOGとして取得される。
図16は,機能モデルパラメータのログとそれから見積もられる電力値の一例を示す図である。図16(A)は,図15で求められたログLOGを示す図である。このログLOGは,電力モデルに残っている4つの機能モデルパラメータburstSize,Active,ReadEnable,WriteEnableの値のサンプリングタイミング毎の値を有する。見積対象アプリケーションプログラム,例えばMPEGデコーダ処理プログラムを実行した時に,CPUが必要に応じてDMA要求を発行し,それに応答してDMAマクロ10がDMAを実行した場合の機能モデルパラメータの変化が,LOGとして取得される。
図15に戻り,機能モデルシミュレーションS41で取得したログLOGについて,あらかじめ生成していた電力モデル208を参照し,対応するパラメータ値の組み合わせに対応する電力値を抽出して,図16(B)に示す見積電力値214を生成することができる。
以上説明したとおり,本実施の形態によれば,図1に示すとおり,事前モデリングで電力見積対象のIPマクロについて,ネットリストシミュレーションS2で電力値を測定し,機能マクロパラメータの組み合わせに対応する電力値を有する電力モデル208を生成しておく。そして,電力見積対象のアプリケーションプログラムを実行した時の,電力見積対象のIPマクロの機能モデル10Fの機能マクロパラメータのログを,機能モデルシミュレーションにより取得し(S41),電力モデル208を参照してログに含まれる機能マクロパラメータの値の組み合わせに対応する電力値を抽出し,電力見積を行うことができる(S42)。よって,様々な動作における電力値を機能モデルについてシミュレーションを実行するだけで,より正確な電力値を見積もることができる。
以上の実施の形態をまとめると,次の付記のとおりである。
(付記1)LSIの消費電力を見積もる電力見積方法において,
(a)ソースコードで記述されている機能モデルを解析して消費電力に影響を与える機能モデルパラメータを抽出し,前記機能モデルに対応し,ネットリストで記述されているネットリストモデルを解析して前記機能モデルパラメータに対応するネットリストパラメータを抽出し,前記機能モデルパラメータとネットリストパラメータの対応関係を保持する工程と,
(b)前記ネットリストモデルを動作シミュレーションして前記機能モデルパラメータの値と消費電力を測定する工程と,
(c)工程(b)で得られた機能モデルパラメータの値の組み合わせとそれに対応する消費電力との関係からなる電力モデルを作成する工程と,
(d)見積対象アプリケーションプログラムの動作における機能モデルの動作シミュレーションを実行し,その実行したときの機能モデルパラメータの値の組み合わせに対応する消費電力を,前記電力モデルを参照して抽出し,前記見積対象アプリケーションの動作における機能モデルの消費電力を見積もる工程とを有する電力見積方法。
(付記2)付記1において,
前記機能モデルパラメータは,前記機能モデルの記述に含まれる信号及び変数を含み,
前記ネットリストパラメータは,前記ネットリストの記述に含まれる端子名やレジスタ名を含む電力見積方法。
(付記3)付記1において,
前記工程(c)は,前記消費電力に影響を与えない機能モデルパラメータを削除して前記電力モデル内の機能モデルパラメータの組み合わせ数を低減する低減工程を有する電力見積方法。
(付記4)付記3において,
前記低減工程では,機能モデルパラメータの異なる値に対応する消費電力の分散が基準値以下の場合に,当該機能モデルパラメータを削除する電力見積方法。
(付記5)付記4において,
前記低減工程では,機能モデルパラメータの第1の値に対応する消費電力の分散が第1の基準値以下の場合に,前記機能モデルパラメータの第1の値に対応する消費電力の平均値を,当該機能モデルパラメータが第1の値でありそれ以外の機能モデルパラメータが任意の値の時の消費電力とする電力見積方法。
(付記6)付記1において,
前記工程(b)において,前記ネットリストモデルの動作シミュレーションでは,複数種類の入力パターンについて動作シミュレーションを実行し,サンプリングタイミング毎の前記ネットリストパラメータの値とその時の消費電力のログを記録することを特徴とする電力見積方法。
(付記7)付記1において,
前記工程(d)において,前記機能モデルの動作シミュレーションでは,サンプリングタイミング毎の前記機能モデルパラメータの値のログを記録することを特徴とする電力見積方法。
(付記8)LSIの消費電力を見積もる電力見積装置において,
(a)ソースコードで記述されている機能モデルを解析して消費電力に影響を与える機能モデルパラメータを抽出し,前記機能モデルに対応し,ネットリストで記述されているネットリストモデルを解析して前記機能モデルパラメータに対応するネットリストパラメータを抽出し,前記機能モデルパラメータとネットリストパラメータの対応関係を保持する手段と,
(b)前記ネットリストモデルを動作シミュレーションして前記機能モデルパラメータの値と消費電力を測定する手段と,
(c)工程(b)で得られた機能モデルパラメータの値の組み合わせとそれに対応する消費電力との関係からなる電力モデルを作成する手段と,
(d)見積対象アプリケーションの動作における機能モデルの動作シミュレーションを実行し,その実行したときの機能モデルパラメータの値の組み合わせに対応する消費電力を,前記電力モデルを参照して抽出し,前記見積対象アプリケーションの動作における機能モデルの消費電力を見積もる手段とを有する電力見積装置。
本実施の形態における電力見積方法の概略を示す図である。 工程S1の詳細なフローチャート図である。 機能モデルの一例としてDMA(ダイレクトメモリアクセス)の機能を有するモデルを説明する図である。 機能モデルの一例としてDMA(ダイレクトメモリアクセス)の機能を有するモデルを説明する図である。 DMA機能モデルにおける機能モデルパラメータとネットリストパラメータの例を示す図である。 ネットリストシミュレーションによる電力測定工程S2を説明する図である。 ネットリストシミュレーションで取得したパラメータ値と電力値の一例を示す図である。 図7のネットワークシミュレーションを実行して得られたパラメータ値の組み合わせと対応する電力値のログを示す図である。 図1の工程S3の具体的なフローチャート図である。 図9の上記の工程S32の処理プログラムの擬似コードを示す図である。 図1の工程S3の別の具体的なフローチャート図である。 図11の上記の工程S32−1,S32−2の処理プログラムの擬似コードを示す図である。 ネットリストシミュレーションで取得した測定データの一例を示す図である。 図13の測定データ例を工程S32−1,S32−2の処理プログラムで生成した電力モデルの例を示す図である。 工程S4の具体的なフローチャートを示す図である。 機能モデルパラメータのログとそれから見積もられる電力値の一例を示す図である。
符号の説明
10F:機能モデル 10N:ネットリスト
12N:ネットリストパラメータ 12F:機能モデルパラメータ
208:電力モデル

Claims (3)

  1. LSIの消費電力を見積もる電力見積方法において,
    コンピュータが,ソースコードで記述されている機能モデルの前記ソースコード記述を解析して前記ソースコード記述に含まれる信号及び変数を含む機能モデルパラメータを抽出し,前記機能モデルから論理合成により生成されたネットリストモデルのネットリストを解析して前記機能モデルパラメータの信号及び変数に対応する端子及びレジスタを含むネットリストパラメータを抽出し,前記機能モデルパラメータと前記ネットリストパラメータの対応関係を保持する工程と,
    コンピュータが,前記ネットリストモデルを動作シミュレーションしてサンプリングタイミングでの前記機能モデルパラメータの値及び消費電力のログを測定する工程と,
    コンピュータが,前記ログを測定する工程により測定された前記機能モデルパラメータの値の組み合わせとそれに対応する消費電力との関係からなる電力モデルを作成する工程と,
    コンピュータが,見積対象アプリケーションプログラムの動作における機能モデルの動作シミュレーションを実行してサンプリングタイミング毎の前記機能モデルパラメータの値のログを取得し前記機能モデルの動作シミュレーションを実行したときの機能モデルパラメータの値の組み合わせに対応する消費電力を,前記電力モデルを参照して抽出し,前記見積対象アプリケーションの動作における機能モデルの消費電力を見積もる工程とを有する電力見積方法。
  2. 請求項1において,
    前記電力モデルを作成する工程は,機能モデルパラメータの異なる値に対応する消費電力の分散が基準値以下の場合に,当該機能モデルパラメータを削除して前記電力モデル内の機能モデルパラメータの組み合わせ数を低減する低減工程を有する電力見積方法。
  3. LSIの消費電力を見積もる電力見積装置において,
    ースコードで記述されている機能モデルの前記ソースコード記述を解析して前記ソースコード記述に含まれる信号及び変数を含む機能モデルパラメータを抽出し,前記機能モデルから論理合成により生成されたネットリストモデルのネットリストを解析して前記機能モデルパラメータの信号及び変数に対応する端子及びレジスタを含むネットリストパラメータを抽出し,前記機能モデルパラメータと前記ネットリストパラメータの対応関係を保持する手段と,
    記ネットリストモデルを動作シミュレーションしてサンプリングタイミングでの前記機能モデルパラメータの値及び消費電力のログを測定する手段と,
    前記ログを測定する手段により測定された前記機能モデルパラメータの値の組み合わせとそれに対応する消費電力との関係からなる電力モデルを作成する手段と,
    積対象アプリケーションの動作における機能モデルの動作シミュレーションを実行し,その実行してサンプリングタイミング毎の前記機能モデルパラメータの値のログを取得し,前記機能モデルの動作シミュレーションを実行したときの機能モデルパラメータの値の組み合わせに対応する消費電力を,前記電力モデルを参照して抽出し,前記見積対象アプリケーションの動作における機能モデルの消費電力を見積もる手段とを有する電力見積装置。
JP2007315742A 2007-12-06 2007-12-06 Lsiの電力見積方法及びその装置 Expired - Fee Related JP5040625B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007315742A JP5040625B2 (ja) 2007-12-06 2007-12-06 Lsiの電力見積方法及びその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007315742A JP5040625B2 (ja) 2007-12-06 2007-12-06 Lsiの電力見積方法及びその装置

Publications (2)

Publication Number Publication Date
JP2009140222A JP2009140222A (ja) 2009-06-25
JP5040625B2 true JP5040625B2 (ja) 2012-10-03

Family

ID=40870769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007315742A Expired - Fee Related JP5040625B2 (ja) 2007-12-06 2007-12-06 Lsiの電力見積方法及びその装置

Country Status (1)

Country Link
JP (1) JP5040625B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6051629B2 (ja) * 2012-07-09 2016-12-27 富士通株式会社 電力見積支援プログラム、電力見積支援装置および電力見積支援方法
JP6897438B2 (ja) 2017-09-06 2021-06-30 富士通株式会社 情報処理装置、情報処理システム及びプログラム
KR102089082B1 (ko) * 2018-04-27 2020-04-23 주식회사 바움 클락 네트워크를 포함하는 집적 회로를 제조하기 위한 장치 및 방법
JP7348138B2 (ja) * 2020-06-16 2023-09-20 株式会社神戸製鋼所 誘導加熱方法および誘導加熱制御装置
JP7348137B2 (ja) * 2020-06-16 2023-09-20 株式会社神戸製鋼所 温度異常判定装置および温度異常判定方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0844788A (ja) * 1994-05-24 1996-02-16 Toshiba Corp 集積回路の消費電力算出方法及びその装置

Also Published As

Publication number Publication date
JP2009140222A (ja) 2009-06-25

Similar Documents

Publication Publication Date Title
US7711536B2 (en) System and method for verification aware synthesis
US8122398B2 (en) Conversion of circuit description to an abstract model of the circuit
JP4994393B2 (ja) 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法
US9026966B1 (en) Co-simulation methodology to address performance and runtime challenges of gate level simulations with, SDF timing using emulators
US10699049B2 (en) System design using accurate performance models
JP6448195B2 (ja) ランタイムにfpgaの信号値にランダムにアクセスするための方法、データ処理装置、コンピュータプログラム、ディジタル記憶媒体及びfpgaビルドの実施方法
US11301608B2 (en) Layout-based side-channel emission analysis
US8271252B2 (en) Automatic verification of device models
JP5040625B2 (ja) Lsiの電力見積方法及びその装置
Šijačić et al. Towards efficient and automated side-channel evaluations at design time
US11636246B2 (en) Systems and methods for predicting and managing power and energy use of semiconductor devices
US8418099B2 (en) Performance counters for integrated circuits
US20160125105A1 (en) Automatic Generation of Properties to Assist Hardware Emulation
JP5514211B2 (ja) 分岐オーバーライドを用いたプロセッサ実行のシミュレーション
US20160224714A1 (en) Logical equivalency check with dynamic mode change
JP5034916B2 (ja) 性能評価モデル生成方法、システム性能評価方法、及び性能評価モデル生成装置
US9021289B2 (en) Method and system for power estimation based on a number of signal changes
Wolf et al. Execution cost interval refinement in static software analysis
US10816600B1 (en) Protocol analysis and visualization during simulation
US20140325468A1 (en) Storage medium, and generation apparatus for generating transactions for performance evaluation
JP5454349B2 (ja) 性能推定装置
US11295052B1 (en) Time correlation in hybrid emulation system
JP2000293557A (ja) 消費電力のシミュレーション方法
US10546083B1 (en) System, method, and computer program product for improving coverage accuracy in formal verification
KR101832583B1 (ko) 전력 상태 커버리지 메트릭 및 이의 추정 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100715

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120412

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120612

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120625

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150720

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees