JP2008234240A - 消費電力解析方法及び消費電力解析装置 - Google Patents
消費電力解析方法及び消費電力解析装置 Download PDFInfo
- Publication number
- JP2008234240A JP2008234240A JP2007071739A JP2007071739A JP2008234240A JP 2008234240 A JP2008234240 A JP 2008234240A JP 2007071739 A JP2007071739 A JP 2007071739A JP 2007071739 A JP2007071739 A JP 2007071739A JP 2008234240 A JP2008234240 A JP 2008234240A
- Authority
- JP
- Japan
- Prior art keywords
- power consumption
- waveform data
- section
- data acquisition
- simulation
- 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.)
- Pending
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【課題】
本発明の解決しようとする課題は、半導体集積回路のRTL設計段階での波形データから所定クロック単位で消費電力を評価する解析ツールによる方法は波形データのシミュレーションによる取得、波形データからの消費電力算出に時間が掛かり、比較的短時間で精度良い消費電力推移、ピーク電力、平均消費電力等の電力解析ができない問題である。
【解決手段】
シミュレーション期間を分割して選択設定した波形データ取得区間の波形データをシミュレーションにより出力した波形データよりその区間の消費電力の算出を行なう。また、全ての区間についてLSI内のメモリへの単位時間当たりのアクセス時間を動作率として算出し、波形データ取得区間以外の区間の消費電力は波形データ取得区間の消費電力と動作率より換算して算出する。
【選択図】図1
本発明の解決しようとする課題は、半導体集積回路のRTL設計段階での波形データから所定クロック単位で消費電力を評価する解析ツールによる方法は波形データのシミュレーションによる取得、波形データからの消費電力算出に時間が掛かり、比較的短時間で精度良い消費電力推移、ピーク電力、平均消費電力等の電力解析ができない問題である。
【解決手段】
シミュレーション期間を分割して選択設定した波形データ取得区間の波形データをシミュレーションにより出力した波形データよりその区間の消費電力の算出を行なう。また、全ての区間についてLSI内のメモリへの単位時間当たりのアクセス時間を動作率として算出し、波形データ取得区間以外の区間の消費電力は波形データ取得区間の消費電力と動作率より換算して算出する。
【選択図】図1
Description
本発明は半導体集積回路の消費電力の解析方法及び解析装置に係り、特に半導体集積回路の開発段階において、波形データを用いる消費電力解析とメモリの動作率から消費電力の解析とを組み合わせて消費電力の見積り評価を行なう消費電力解析方法及び消費電力解析装置である。
近年の半導体集積回路は、システムLSI化による回路規模の増大、バッテリー駆動の携帯機器対応等により、低消費電力化が重要な課題になっている。
半導体集積回路の設計は、C言語などによる動作モデルからRTL(Register Transfer Level)設計段階、論理合成段階、ネットリスト生成段階、レイアウト生成段階と順次、高抽象度から低抽象度へと段階的に進められ、低消費電力化の検討が各設計段階において必要である。
RTL設計段階に適用する消費電力解析ツールが流通しており、これらの電力解析ツールにより電力解析を行い、その結果を基に目的の半導体集積回路(以後LSIと記述)の最適化作業を行っていた。しかしながら、従来方法で精度の高い消費電力解析を行うためには、消費電力解析ツールへの入力データとして回路中の全信号のシミュレーション波形データを用い、ネットリスト又はRTLを対象に解析を行う必要がある。
LSIは、その動作(処理)内容に応じて動作する回路部分や動作頻度が異なり、その状況に応じて消費電力が変化する。そのため、有効な消費電力解析を行うためには、そのLSIが取りうる全ての動作状態を網羅したシミュレーション波形データが必要になる。
図7は従来の消費電力解析方法の課題を説明する図である。シミュレーション期間の設定及びシミュレーション結果の評価に対する課題を示している。
全ての期間(全ての動作状態を網羅した)の消費電力解析シミュレーションは解析時間が長時間になり、又、データ量が膨大になり過ぎるので、結果として極狭い区間のシミュレーションしかできない、そのため、その狭い区間が電力ピークであるかどうかの判断がつかず、狭い区間の解析は見積もり位置が適切であるかの問題がある。
例えば、従来のシミュレーションは、処理時間の大半を、波形データ出力に費やしている。又、処理するデータ量も膨大なものになる。例えば、動画像系のLSIでは、少なくも数千画面のシミュレーション(実時間で1画面当たり1/30秒)を行なうために数日〜1週間以上のシミュレーション時間を要する。更に、その膨大な波形データを消費電力解析ツールで解析するのに、そのシミュレーション時間と同等かそれ以上の時間がかかることになる。
特許文献1には、LSI解析用パラメータの算出時間、データ量の削減として、トランジスタレベルの回路情報から生成したパラメータ算出条件と、回路情報により抵抗に置換してシミュレーションを行い、解析用パラメータを生成する技術が開示されている。
特許文献2には、回路接続情報と入出力端子の信号レベルに対応する消費電力パターンを記述する入力波形ファイルによりシミュレーションに対し冗長な入力波形を削除して入力波形データを低減する技術が開示されている。
特開平10−143553号公報
特開2002−73722号公報
このように従来の消費電力解析方法では、消費電力解析結果を得るのに例えば全体で2週間以上等の長時間かかる。このように消費電力解析に長時間費やすことは開発スケジュール上不可能であるため、実際には一部の限られたシミュレーション期間の波形データで消費電力解析を行っているのが現状であり、全ての期間を網羅した消費電力の解析ができない。
また、消費電力解析の目的として、LSIの機能処理全般を通じた電力推移、平均消費電力、ピーク電力を知ることも必要である。しかしながら、従来の消費電力解析方法では、LSIの特定の機能処理部分の消費電力解析になってしまうために、目的とする電力推移、平均消費電力、消費電力ピークが得られないという問題がある。
本発明は、全ての期間を網羅した半導体集積回路の消費電力推移、ピーク消費電力、平均消費電力などの消費電力解析が比較的短時間で可能な消費電力解析方法及び消費電力解析装置を提供することを目的とする。
第1の発明は、シミュレーション期間を区間に分割し、その区間毎に半導体集積回路の動作解析シミュレーションを行ない消費電力を算出する消費電力解析方法である。
前記シミュレーション期間の前記区間毎に、前記半導体集積回路にカウンタを設け、前記半導体集積回路内のメモリへのアクセス時間を測定し、前記測定したアクセス時間より前記区間毎のその区間に対するアクセス時間の割合を示す動作率を算出し、前記区間の少なくも1つの前記区間を波形データを取得する波形データ取得区間として設定し、前記波形データ取得区間について前記シミュレーションより波形データを取得し、前記取得した波形データより前記波形データ取得区間の消費電力を消費電力解析ツールにより算出し、前記波形データ取得区間以外のその他区間の消費電力を前記波形データ取得区間の消費電力と前記動作率及び前記その他区間の動作率より換算する。
第2の発明は、第1の発明の各区間の消費電力の算出は前記半導体集積回路のサブモジュール毎に算出する。
第3の発明は、第2の発明の前記サブモジュールに前記メモリが複数ある複数メモリ区間の場合は前記サブモジュール毎に前記複数メモリ区間の動作率を算出し、前記サブモジュール毎に算出した前記複数メモリ区間の動作率を平均した平均動作率を前記複数メモリ区間の動作率とする。
第4の発明は、第1の発明の換算は前記半導体集積回路の回路情報をパラメータとして換算する。
第5の発明は、シミュレーション期間を区間に分割し、その区間毎に半導体集積回路の動作解析シミュレーションを行ない消費電力を算出する消費電力解析装置である。
前記シミュレーション期間の前記区間毎に、前記半導体集積回路にカウンタを設け、前記半導体集積回路内のメモリへのアクセス時間を測定し、前記測定したアクセス時間より前記区間毎のその区間に対するアクセス時間の割合を示す動作率を算出する手段と、前記区間の少なくも1つの前記区間を波形データを取得する波形データ取得区間として設定し前記波形データ取得区間の波形データを前記シミュレーションより取得する波形データ取得手段と、前記取得した波形データより前記波形データ取得区間の消費電力を消費電力解析ツールにより算出する手段と、前記波形データ取得区間以外のその他区間の消費電力を前記波形データ取得区間の消費電力と前記動作率及び前記その他区間の動作率より換算して算出する手段と、を備える。
本発明により、長時間を要することなく全ての期間を網羅した消費電力の時間推移、長時間サイクルの平均消費電力、ピーク電力が算出でき、算出した消費電力の情報を基に設計回路を評価検討し、最適なLSI設計が可能となる。
(実施例1)
本発明はLSI回路の内部メモリの動作率(単位時間当たりのメモリのイネーブル時間)の推移がLSIの消費電力の推移とほぼ一致する関係にあることに着目したLSIの消費電力の解析方法である。
本発明はLSI回路の内部メモリの動作率(単位時間当たりのメモリのイネーブル時間)の推移がLSIの消費電力の推移とほぼ一致する関係にあることに着目したLSIの消費電力の解析方法である。
図1は本発明の消費電力算出の基本フローを示す図である。LSI開発段階における回路情報を基に消費電力算出とその評価までの基本手順を示している。
S1:LSIを構成する各サブモジュール内のメモリ(RAM)のインスタンス情報等を抽出し、各メモリにメモリへのイネーブル時間をカウントするためカウンタを挿入する。
S2:シミュレーションを一定サイクル毎の区間に分け、区間毎に内部メモリのイネーブル時間を測定する。
S3:シミュレーション時間への影響が少なくて済む程度の任意の数区間を波形データ取得の波形データ取得区間として選択する。以下では、波形データ取得区間に対し、残りの区間をその他区間と表現する。
S4:全区間についてシミュレーションを行ない、各区間についてサブモジュール毎に以下の算出を行なう。
波形データ取得区間:波形データと動作率を算出
その他区間:動作率を算出
S5:複数のメモリのあるサブモジュールについては各メモリについて算出した動作率を平均した平均動作率を算出し、該当モジュールのその区間における動作率とする。
S6:サブモジュール毎の各区間の動作率を基に、消費電力算出の近似式の係数を算出する。
S7:消費電力の算出をサブモジュール毎に以下の方法で行なう。
波形データ算出区間:消費電力解析ツールを使い算出
その他区間:消費電力を所定の情報(係数、動作率、該当区間の回路規模等)より近似式により算出
S8:算出したサブモジュール毎、区間毎に消費電力を加算してLSIの消費電力を算出する。
S1:LSIを構成する各サブモジュール内のメモリ(RAM)のインスタンス情報等を抽出し、各メモリにメモリへのイネーブル時間をカウントするためカウンタを挿入する。
S2:シミュレーションを一定サイクル毎の区間に分け、区間毎に内部メモリのイネーブル時間を測定する。
S3:シミュレーション時間への影響が少なくて済む程度の任意の数区間を波形データ取得の波形データ取得区間として選択する。以下では、波形データ取得区間に対し、残りの区間をその他区間と表現する。
S4:全区間についてシミュレーションを行ない、各区間についてサブモジュール毎に以下の算出を行なう。
波形データ取得区間:波形データと動作率を算出
その他区間:動作率を算出
S5:複数のメモリのあるサブモジュールについては各メモリについて算出した動作率を平均した平均動作率を算出し、該当モジュールのその区間における動作率とする。
S6:サブモジュール毎の各区間の動作率を基に、消費電力算出の近似式の係数を算出する。
S7:消費電力の算出をサブモジュール毎に以下の方法で行なう。
波形データ算出区間:消費電力解析ツールを使い算出
その他区間:消費電力を所定の情報(係数、動作率、該当区間の回路規模等)より近似式により算出
S8:算出したサブモジュール毎、区間毎に消費電力を加算してLSIの消費電力を算出する。
図2は本発明の一実施形態の消費電力算出の実行フローを示す図である。図1で述べた基本フローを基に消費電力算出の具体的実行手順を示している。図1の説明と一部重複して説明する。
S20:対象LSIのRTLデザイン情報をRTLデザイン1より、メモリ(RAM)のインスタンス情報、インスタンス配置の階層情報を検索してRAMインスタンス情報5に保持する。
S21:RAMインスタンス情報5より、テストベンチを生成してテストベンチ6に保持する。テストベンチにはどの区間で波形データを出力するか記述する。
S22:RTLデザイン1、テストベンチ6、カウンタ挿入済みRAMライブラリ7情報をコンパイルし、シミュレーション用データベース8を生成する。
S23:分割したシミュレーション区間の各区間について、一定サイクルシミュレーションを先頭区間より、順次行なう。シミュレーションは所定のシミュレーション・サイクル数になるまでシミュレーションを行なう。なお、1区間のサイクル数目安として、全サイクル数を100〜300等分したサイクル数とする。
S20:対象LSIのRTLデザイン情報をRTLデザイン1より、メモリ(RAM)のインスタンス情報、インスタンス配置の階層情報を検索してRAMインスタンス情報5に保持する。
S21:RAMインスタンス情報5より、テストベンチを生成してテストベンチ6に保持する。テストベンチにはどの区間で波形データを出力するか記述する。
S22:RTLデザイン1、テストベンチ6、カウンタ挿入済みRAMライブラリ7情報をコンパイルし、シミュレーション用データベース8を生成する。
S23:分割したシミュレーション区間の各区間について、一定サイクルシミュレーションを先頭区間より、順次行なう。シミュレーションは所定のシミュレーション・サイクル数になるまでシミュレーションを行なう。なお、1区間のサイクル数目安として、全サイクル数を100〜300等分したサイクル数とする。
また、シミュレーション区間はS34での消費電力の評価結果により、例えば、一部の区間を更に分割して行なうことも考えられる。
S24、S25:波形データ取得区間の場合は波形データを出力し、波形データ2に保持し、S26に進む。その他区間ではS26に進む。
S26、S27:RAMのイネーブル時間のカウント用に挿入したカウンタの値を読み出し、イネーブル時間カウント値データ9に保持する。読み出し後のカウンタ値はリセットする。
S28:全ての区間のシミュレーションを終えたか確認し、未だの場合はS23に戻り次の区間の一定サイクルシミュレーションを行い、終了した場合はS34に進む。
S29、S30:RTLデザイン1、波形データ2より波形データ取得区間の消費電力を消費電力解析ツールにより算出する。
S31:波形データ取得区間の消費電力、モジュール毎、波形取得区間の動作率より消費電力算出の係数の算出を行ない、係数データ4に保持する。係数算出の具体例は図4で説明する。
S32:シミュレーション結果として算出したモジュール毎、区間毎の動作率を取得し、複数のメモリで構成するモジュールについてはその平均動作率を算出し、動作率データ3に保持する。
S33:RAMインスタンス情報5、動作率データ3、係数データ4を使い各区間のサブモジュール毎の消費電力を以下の方法で算出する。
ア.波形データ取得区間:取得した波形データより消費電力解析ツールにより算出する。
イ.その他区間:消費電力=動作率^(係数1)×係数2+補正値で算出する。
S24、S25:波形データ取得区間の場合は波形データを出力し、波形データ2に保持し、S26に進む。その他区間ではS26に進む。
S26、S27:RAMのイネーブル時間のカウント用に挿入したカウンタの値を読み出し、イネーブル時間カウント値データ9に保持する。読み出し後のカウンタ値はリセットする。
S28:全ての区間のシミュレーションを終えたか確認し、未だの場合はS23に戻り次の区間の一定サイクルシミュレーションを行い、終了した場合はS34に進む。
S29、S30:RTLデザイン1、波形データ2より波形データ取得区間の消費電力を消費電力解析ツールにより算出する。
S31:波形データ取得区間の消費電力、モジュール毎、波形取得区間の動作率より消費電力算出の係数の算出を行ない、係数データ4に保持する。係数算出の具体例は図4で説明する。
S32:シミュレーション結果として算出したモジュール毎、区間毎の動作率を取得し、複数のメモリで構成するモジュールについてはその平均動作率を算出し、動作率データ3に保持する。
S33:RAMインスタンス情報5、動作率データ3、係数データ4を使い各区間のサブモジュール毎の消費電力を以下の方法で算出する。
ア.波形データ取得区間:取得した波形データより消費電力解析ツールにより算出する。
イ.その他区間:消費電力=動作率^(係数1)×係数2+補正値で算出する。
ここで、係数1,2は、基本的に波形取得区間の消費電力と動作率の関係から算出する、あるいは、係数1については統計的に予め決定している値を用い、係数2は、波形取得区間の消費電力と動作率の関係及び係数1から算出する。また、補正値は回路規模、動作モード、内部処理の時間的推移に伴ない変動することを考慮して設定する値である。なお、記号^はべき乗であり、動作率に(係数1)をべき乗する。
S34:算出したモジュール毎の各区間の消費電力を加算して該当区間での全消費電力、全区間に渡る消費電力の時間推移などの算出、グラフ化等により、ピーク電力の値、平均消費電力、電力削減箇所の検討などの評価を行なう。
S34:算出したモジュール毎の各区間の消費電力を加算して該当区間での全消費電力、全区間に渡る消費電力の時間推移などの算出、グラフ化等により、ピーク電力の値、平均消費電力、電力削減箇所の検討などの評価を行なう。
一部区間の消費電力を更に詳細に調査する必要があると判断した場合には、更に複数の区間に細分化してその区間の一定サイクルシミュレーションを行なう。また、電力が集中する例えばピーク値、あるいは時間変動による電力変化が大きい局所部分を波形データ取得区間とした場合の消費電力の解析も行なう。
図3は本発明の一実施形態のシミュレーション環境生成例を示す図である。
1)オリジナルのメモリモジュール
LSIを構成するメモリ(RAM)である。アドレス(adress)、チップイネーブル(ce)、ライトイネーブル(we)、ライトデータ(write data)、リード(read data)が基本となる。
2)カウンタ挿入後のメモリモジュール
オリジナルのメモリモジュールRAM01 orgにイネーブル期間をカウントするためのカウンタとしてce counter、we counterを挿入する。
3)検証対象デザイン
消費電力解析の検証対象デザインである。本例のLSIは、サブモジュール1、サブモジュール2であり、また、サブモジュール1はメモリモジュールが2つ、サブモジュール2はメモリモジュールが1つを示している。また、括弧内のRAM01_1などの表示はインスタンス名を示している。
4)テストベンチ生成
検証対象デザインより生成するテストベンチのイメージを示している。例えば、図の(a)は、サブモジュール2に配置されているメモリ(RAM01_2)に挿入されているwe counterの値をテストベンチ階層から観測できるようにする記述であり、カウンタの値を信号u2_2w_counterに代入している。また、(b)以下のalwaysから始まる記述はクロックに同期して動作し、トリガ信号の立ち上がりタイミングで対象のカウンタの値を出力する記述を示している。
5)シュミュレーション用コンパイル
上記1)、2)、3)、4)よりシュミュレーションのためのコンパイルを行なう。
6)シミュレーション環境生成
検証対象デザインの全てのRAMにカウンタが挿入され、テストベンチでそのカウンタの値を読み出す記述が追加されたシミュレーション環境が生成される。
1)オリジナルのメモリモジュール
LSIを構成するメモリ(RAM)である。アドレス(adress)、チップイネーブル(ce)、ライトイネーブル(we)、ライトデータ(write data)、リード(read data)が基本となる。
2)カウンタ挿入後のメモリモジュール
オリジナルのメモリモジュールRAM01 orgにイネーブル期間をカウントするためのカウンタとしてce counter、we counterを挿入する。
3)検証対象デザイン
消費電力解析の検証対象デザインである。本例のLSIは、サブモジュール1、サブモジュール2であり、また、サブモジュール1はメモリモジュールが2つ、サブモジュール2はメモリモジュールが1つを示している。また、括弧内のRAM01_1などの表示はインスタンス名を示している。
4)テストベンチ生成
検証対象デザインより生成するテストベンチのイメージを示している。例えば、図の(a)は、サブモジュール2に配置されているメモリ(RAM01_2)に挿入されているwe counterの値をテストベンチ階層から観測できるようにする記述であり、カウンタの値を信号u2_2w_counterに代入している。また、(b)以下のalwaysから始まる記述はクロックに同期して動作し、トリガ信号の立ち上がりタイミングで対象のカウンタの値を出力する記述を示している。
5)シュミュレーション用コンパイル
上記1)、2)、3)、4)よりシュミュレーションのためのコンパイルを行なう。
6)シミュレーション環境生成
検証対象デザインの全てのRAMにカウンタが挿入され、テストベンチでそのカウンタの値を読み出す記述が追加されたシミュレーション環境が生成される。
図4は本発明による消費電力算出の基礎データ例と消費電力算出例を示す図である。1)に係数1算出の基礎データ、2)に電力解析ツールによる波形データ取得区間の消費電力3)にシミュレーションで算出した各区間のモジュール毎の動作率を示し、4)に上記データを使用して算出したLSIの消費電力算出例を示す。
ここでは、4Mゲートの回路相当のLSIについて消費電力の算出例について説明する。このLSIはサブモジュールA(回路規模レジスタ数:1K未満、メモリ容量:100〜500バイト)、サブモジュールB(回路規模レジスタ数:10K〜100K、メモリ容量:2001〜3000バイト)、サブモジュールC(回路規模レジスタ数:1K〜10K、メモリ容量:3001バイト以上)とする。波形データ取得区間は区間1と区間5の2区間とした。以下に消費電力算出の手順を述べる。
1)係数1の抽出
ここでは係数1としてサブモジュールの回路規模により消費電力換算の統計的な値を示している。上記仮定より係数1として、モジュールAの係数1=1.3、モジュールBの係数1=3.2、モジュールCの係数1=4.2を抽出する。
2)波形データ取得区間の消費電力値取得
電力解析ツールにより、波形データ取得区間1、5の各モジュールの消費電力として2)の表の値を得られたと仮定する。例えば、区間1ではモジュールA、モジュールB、モジュールCの消費電力は各々、23mw、55mw、12mwである。
3)動作率取得
シミュレーションにより算出した各モジュールの区間毎の動作率を3)の動作率の値より抽出する。ここでは、区間2についてモジュールA動作率=0.01、モジュールB動作率=0.018、モジュールC動作率=0.13が得られたと仮定する。
4)係数2の算出
1)の係数1、2)の波形データ取得区間の消費電力、3)の動作率、及び式1より、例えば、モジュールCの区間1、区間5より次の計算を行なう。
区間1の係数2=12.488/0.1^4.2=190187.183
区間5の係数2=86.8/0.16^4.2=193721.9112
1,90187.1831、1,93721.9112の2つの数値より例えば端数を3桁小さい桁数以下を切り捨て、モジュールCの係数2を1,900,000とする。
5)補正
係数2の決定において端数を切り捨てた場合をここでは補正値を加算して誤差補正を行なう。端数を切り上げた場合は減算する。ここでは補正値を0.5とする。補正値の値は係数2算出決定における誤差の大きさに応じて任意の固定値を設定する。
6)その他区間の消費電力を算出する。
基礎データからの係数1と、算出した係数2と上記考え方の補正より、例えば、モジュールCの区間2の消費電力=0.13^4.2+1,900、000+0.5=36.58を算出する。同様にして算出した消費電力値を4)消費電力算出例に示す。
1)係数1の抽出
ここでは係数1としてサブモジュールの回路規模により消費電力換算の統計的な値を示している。上記仮定より係数1として、モジュールAの係数1=1.3、モジュールBの係数1=3.2、モジュールCの係数1=4.2を抽出する。
2)波形データ取得区間の消費電力値取得
電力解析ツールにより、波形データ取得区間1、5の各モジュールの消費電力として2)の表の値を得られたと仮定する。例えば、区間1ではモジュールA、モジュールB、モジュールCの消費電力は各々、23mw、55mw、12mwである。
3)動作率取得
シミュレーションにより算出した各モジュールの区間毎の動作率を3)の動作率の値より抽出する。ここでは、区間2についてモジュールA動作率=0.01、モジュールB動作率=0.018、モジュールC動作率=0.13が得られたと仮定する。
4)係数2の算出
1)の係数1、2)の波形データ取得区間の消費電力、3)の動作率、及び式1より、例えば、モジュールCの区間1、区間5より次の計算を行なう。
区間1の係数2=12.488/0.1^4.2=190187.183
区間5の係数2=86.8/0.16^4.2=193721.9112
1,90187.1831、1,93721.9112の2つの数値より例えば端数を3桁小さい桁数以下を切り捨て、モジュールCの係数2を1,900,000とする。
5)補正
係数2の決定において端数を切り捨てた場合をここでは補正値を加算して誤差補正を行なう。端数を切り上げた場合は減算する。ここでは補正値を0.5とする。補正値の値は係数2算出決定における誤差の大きさに応じて任意の固定値を設定する。
6)その他区間の消費電力を算出する。
基礎データからの係数1と、算出した係数2と上記考え方の補正より、例えば、モジュールCの区間2の消費電力=0.13^4.2+1,900、000+0.5=36.58を算出する。同様にして算出した消費電力値を4)消費電力算出例に示す。
図5は本発明による消費電力シミュレーション結果例を示す図である。図4で例として算出したモジュールA、モジュールB、モジュールCで構成するLSIのシミュレーションサイクルに対する消費電力を示している。各モジュールの時間推移、また全電力の時間推移が明確なり、ピーク電力も明らかである。
次に本例での消費電力算出に要するシミュレーション時間などの比較を行なう。前述した4MゲートのLSIの消費電力算出に関して、1区間を100万サイクルとし、波形データを出力する波形データ取得区間は前述の区間1と区間5の2区間である。
本発明による消費電力算出と従来方法での消費電力算出の比較を、区間数を便宜上10として行なった。
1)本発明による方法での消費電力算出に要した時間
ア.シミュレーション時間:90分=5(分/区間)×10区間+波形出力時間20分×2(区間)
イ.波形出力2区間の消費電力解析時間:60分=30分×2
ウ.後処理(係数計算+全区間の消費電力計算):15分=5(分/モジュール)×3
エ.合計時間=165分(=90+60+15)
2)従来方法での消費電力算出に要した時間
ア.シミュレーション時間:250分=5(分/区間)×10区間+波形出力時間20分×10
イ.電力解析ツールでの解析時間:300分=30分×10
ウ.後処理(区間データの結合、表作成):5分
エ.合計時間=555分(=250+300+5)
本実施例では、従来方式に対して3倍強の高速化になっている。これは説明のために区間数を10と少ない区間数で行なったためであり、通常の用途では100区間以上での評価が必要であるので、実適用上では本発明による方法により数十倍〜100倍以上の高速化が可能になる。
1)本発明による方法での消費電力算出に要した時間
ア.シミュレーション時間:90分=5(分/区間)×10区間+波形出力時間20分×2(区間)
イ.波形出力2区間の消費電力解析時間:60分=30分×2
ウ.後処理(係数計算+全区間の消費電力計算):15分=5(分/モジュール)×3
エ.合計時間=165分(=90+60+15)
2)従来方法での消費電力算出に要した時間
ア.シミュレーション時間:250分=5(分/区間)×10区間+波形出力時間20分×10
イ.電力解析ツールでの解析時間:300分=30分×10
ウ.後処理(区間データの結合、表作成):5分
エ.合計時間=555分(=250+300+5)
本実施例では、従来方式に対して3倍強の高速化になっている。これは説明のために区間数を10と少ない区間数で行なったためであり、通常の用途では100区間以上での評価が必要であるので、実適用上では本発明による方法により数十倍〜100倍以上の高速化が可能になる。
図6は本発明による消費電力解析例と実測値を示す図である。開発した実デバイスの実測値と本発明による消費電力算出方法による解析結果を比較して示している。
図6に示すように実測値と解析結果が一致しており、区間毎に算出した消費電力値から全体の消費電力を算出することでピーク電力が把握できる。
また、ピーク電力の変化が急峻となる区間をさらに分割した区間を波形データ取得区間として再度消費電力の算出を行なうことにより、より正確なピーク電力を算出することが可能となる。
(付記1)
シミュレーション期間を区間に分割し、その区間毎に半導体集積回路の動作解析シミュレーションを行ない消費電力を算出する消費電力解析方法であって、
前記シミュレーション期間の前記区間毎に、前記半導体集積回路にカウンタを設け、前記半導体集積回路内のメモリへのアクセス時間を測定し、
前記測定したアクセス時間より前記区間毎のその区間に対するアクセス時間の割合を示す動作率を算出し、
前記区間の少なくも1つの前記区間を波形データを取得する波形データ取得区間として設定し、
前記波形データ取得区間について前記シミュレーションより波形データを取得し、
前記取得した波形データより前記波形データ取得区間の消費電力を消費電力解析ツールにより算出し、
前記波形データ取得区間以外のその他区間の消費電力を前記波形データ取得区間の消費電力と前記動作率及び前記その他区間の動作率より換算して算出することを特徴とする消費電力解析方法。
(付記2)
付記1記載の各区間の消費電力の算出は前記半導体集積回路のサブモジュール毎に算出することを特徴とする付記1記載の消費電力解析方法。
(付記3)
付記2記載の前記サブモジュールに前記メモリが複数ある複数メモリ区間の場合は前記サブモジュール毎に前記複数メモリ区間の動作率を算出し、
前記サブモジュール毎に算出した前記複数メモリ区間の動作率を平均した平均動作率を前記複数メモリ区間の動作率とすることを特徴とする付記2記載の消費電力解析方法。
(付記4)
付記1記載の換算は前記半導体集積回路の回路情報をパラメータとして換算することを特徴とする付記1記載の消費電力解析方法。
(付記5)
シミュレーション期間を区間に分割し、その区間毎に半導体集積回路の動作解析シミュレーションを行ない消費電力を算出する消費電力解析装置であって、
前記シミュレーション期間の前記区間毎に、前記半導体集積回路にカウンタを設け、前記半導体集積回路内のメモリへのアクセス時間を測定し、
前記測定したアクセス時間より前記区間毎のその区間に対するアクセス時間の割合を示す動作率を算出する手段と、
前記区間の少なくも1つの前記区間を波形データを取得する波形データ取得区間として設定し前記波形データ取得区間の波形データを前記シミュレーションより取得する波形データ取得手段と、
前記取得した波形データより前記波形データ取得区間の消費電力を消費電力解析ツールにより算出する手段と、
前記波形データ取得区間以外のその他区間の消費電力を前記波形データ取得区間の消費電力と前記動作率及び前記その他区間の動作率より換算して算出する手段と、
を備えたことを特徴とする消費電力解析装置。
(付記6)
付記1記載の動作率は前記メモリの単位時間当たりのイネーブル時間であることを特徴とする付記1記載の消費電力解析方法。
(付記7)
付記3記載の前記回路情報パラメータは前記半導体集積回路の回路規模とメモリ容量であることを特徴とする付記3記載の消費電力解析方法。
(付記1)
シミュレーション期間を区間に分割し、その区間毎に半導体集積回路の動作解析シミュレーションを行ない消費電力を算出する消費電力解析方法であって、
前記シミュレーション期間の前記区間毎に、前記半導体集積回路にカウンタを設け、前記半導体集積回路内のメモリへのアクセス時間を測定し、
前記測定したアクセス時間より前記区間毎のその区間に対するアクセス時間の割合を示す動作率を算出し、
前記区間の少なくも1つの前記区間を波形データを取得する波形データ取得区間として設定し、
前記波形データ取得区間について前記シミュレーションより波形データを取得し、
前記取得した波形データより前記波形データ取得区間の消費電力を消費電力解析ツールにより算出し、
前記波形データ取得区間以外のその他区間の消費電力を前記波形データ取得区間の消費電力と前記動作率及び前記その他区間の動作率より換算して算出することを特徴とする消費電力解析方法。
(付記2)
付記1記載の各区間の消費電力の算出は前記半導体集積回路のサブモジュール毎に算出することを特徴とする付記1記載の消費電力解析方法。
(付記3)
付記2記載の前記サブモジュールに前記メモリが複数ある複数メモリ区間の場合は前記サブモジュール毎に前記複数メモリ区間の動作率を算出し、
前記サブモジュール毎に算出した前記複数メモリ区間の動作率を平均した平均動作率を前記複数メモリ区間の動作率とすることを特徴とする付記2記載の消費電力解析方法。
(付記4)
付記1記載の換算は前記半導体集積回路の回路情報をパラメータとして換算することを特徴とする付記1記載の消費電力解析方法。
(付記5)
シミュレーション期間を区間に分割し、その区間毎に半導体集積回路の動作解析シミュレーションを行ない消費電力を算出する消費電力解析装置であって、
前記シミュレーション期間の前記区間毎に、前記半導体集積回路にカウンタを設け、前記半導体集積回路内のメモリへのアクセス時間を測定し、
前記測定したアクセス時間より前記区間毎のその区間に対するアクセス時間の割合を示す動作率を算出する手段と、
前記区間の少なくも1つの前記区間を波形データを取得する波形データ取得区間として設定し前記波形データ取得区間の波形データを前記シミュレーションより取得する波形データ取得手段と、
前記取得した波形データより前記波形データ取得区間の消費電力を消費電力解析ツールにより算出する手段と、
前記波形データ取得区間以外のその他区間の消費電力を前記波形データ取得区間の消費電力と前記動作率及び前記その他区間の動作率より換算して算出する手段と、
を備えたことを特徴とする消費電力解析装置。
(付記6)
付記1記載の動作率は前記メモリの単位時間当たりのイネーブル時間であることを特徴とする付記1記載の消費電力解析方法。
(付記7)
付記3記載の前記回路情報パラメータは前記半導体集積回路の回路規模とメモリ容量であることを特徴とする付記3記載の消費電力解析方法。
1 RTLデザイン
2 波形データ
3 動作率データ
4 係数データ
5 RAMインスタンス情報
6 テストベンチ
7 カウンタ挿入済みRAMライブラリ
8 シミュレーション用データベース
9 イネーブル時間カウント値データ
2 波形データ
3 動作率データ
4 係数データ
5 RAMインスタンス情報
6 テストベンチ
7 カウンタ挿入済みRAMライブラリ
8 シミュレーション用データベース
9 イネーブル時間カウント値データ
Claims (5)
- シミュレーション期間を区間に分割し、その区間毎に半導体集積回路の動作解析シミュレーションを行ない消費電力を算出する消費電力解析方法であって、
前記シミュレーション期間の前記区間毎に、前記半導体集積回路にカウンタを設け、前記半導体集積回路内のメモリへのアクセス時間を測定し、
前記測定したアクセス時間より前記区間毎のその区間に対するアクセス時間の割合を示す動作率を算出し、
前記区間の少なくも1つの前記区間を波形データを取得する波形データ取得区間として設定し、
前記波形データ取得区間について前記シミュレーションより波形データを取得し、
前記取得した波形データより前記波形データ取得区間の消費電力を消費電力解析ツールにより算出し、
前記波形データ取得区間以外のその他区間の消費電力を前記波形データ取得区間の消費電力と前記動作率及び前記その他区間の動作率より換算して算出することを特徴とする消費電力解析方法。 - 請求項1記載の各区間の消費電力の算出は前記半導体集積回路のサブモジュール毎に算出することを特徴とする請求項1記載の消費電力解析方法。
- 請求項2記載の前記サブモジュールに前記メモリが複数ある複数メモリ区間の場合は前記サブモジュール毎に前記複数メモリ区間の動作率を算出し、
前記サブモジュール毎に算出した前記複数メモリ区間の動作率を平均した平均動作率を前記複数メモリ区間の動作率とすることを特徴とする請求項2記載の消費電力解析方法。 - 請求項1記載の換算は前記半導体集積回路の回路情報をパラメータとして換算することを特徴とする請求項1記載の消費電力解析方法。
- シミュレーション期間を区間に分割し、その区間毎に半導体集積回路の動作解析シミュレーションを行ない消費電力を算出する消費電力解析装置であって、
前記シミュレーション期間の前記区間毎に、前記半導体集積回路にカウンタを設け、前記半導体集積回路内のメモリへのアクセス時間を測定し、
前記測定したアクセス時間より前記区間毎のその区間に対するアクセス時間の割合を示す動作率を算出する手段と、
前記区間の少なくも1つの前記区間を波形データを取得する波形データ取得区間として設定し前記波形データ取得区間の波形データを前記シミュレーションより取得する波形データ取得手段と、
前記取得した波形データより前記波形データ取得区間の消費電力を消費電力解析ツールにより算出する手段と、
前記波形データ取得区間以外のその他区間の消費電力を前記波形データ取得区間の消費電力と前記動作率及び前記その他区間の動作率より換算して算出する手段と、
を備えたことを特徴とする消費電力解析装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007071739A JP2008234240A (ja) | 2007-03-20 | 2007-03-20 | 消費電力解析方法及び消費電力解析装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007071739A JP2008234240A (ja) | 2007-03-20 | 2007-03-20 | 消費電力解析方法及び消費電力解析装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008234240A true JP2008234240A (ja) | 2008-10-02 |
Family
ID=39906941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007071739A Pending JP2008234240A (ja) | 2007-03-20 | 2007-03-20 | 消費電力解析方法及び消費電力解析装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008234240A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010262472A (ja) * | 2009-05-07 | 2010-11-18 | Nec Corp | 消費電力量算出装置 |
JP2011107973A (ja) * | 2009-11-17 | 2011-06-02 | Fujitsu Ltd | 電力見積ポイント選択方法及びシミュレーション装置 |
US9021289B2 (en) | 2010-10-15 | 2015-04-28 | Fujitsu Limited | Method and system for power estimation based on a number of signal changes |
KR102089083B1 (ko) * | 2018-11-14 | 2020-03-16 | 주식회사 바움 | 회로 설계의 누설 전력을 조기에 추정하기 위한 시스템 및 방법 |
-
2007
- 2007-03-20 JP JP2007071739A patent/JP2008234240A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010262472A (ja) * | 2009-05-07 | 2010-11-18 | Nec Corp | 消費電力量算出装置 |
JP2011107973A (ja) * | 2009-11-17 | 2011-06-02 | Fujitsu Ltd | 電力見積ポイント選択方法及びシミュレーション装置 |
US9021289B2 (en) | 2010-10-15 | 2015-04-28 | Fujitsu Limited | Method and system for power estimation based on a number of signal changes |
KR102089083B1 (ko) * | 2018-11-14 | 2020-03-16 | 주식회사 바움 | 회로 설계의 누설 전력을 조기에 추정하기 위한 시스템 및 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8095354B2 (en) | Power consumption peak estimation program for LSI and device therefor | |
US8229723B2 (en) | Performance software instrumentation and analysis for electronic design automation | |
JP4696051B2 (ja) | 消費電力解析方法及びプログラム | |
US20070277144A1 (en) | Conversion of circuit description to an abstract model of the circuit | |
Pimentel et al. | Calibration of abstract performance models for system-level design space exploration | |
JP2009522652A (ja) | 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法 | |
US7260809B2 (en) | Power estimation employing cycle-accurate functional descriptions | |
KR100876717B1 (ko) | 탬퍼링 방지성 평가 장치 및 탬퍼링 방지성 평가 방법 | |
JP2008234240A (ja) | 消費電力解析方法及び消費電力解析装置 | |
JPWO2008155830A1 (ja) | 回路シミュレーションモデル生成装置、回路シミュレーションモデル生成プログラム、回路シミュレーションモデル生成方法及び回路シミュレーション装置 | |
JP2009140388A (ja) | 性能評価モデル生成方法、システム性能評価方法、及び性能評価モデル生成装置 | |
Goli et al. | Through the looking glass: Automated design understanding of SystemC-based VPs at the ESL | |
Chao et al. | Pattern selection for testing of deep sub-micron timing defects | |
JP5146087B2 (ja) | 消費電力見積方法、回路設計支援装置及びプログラム | |
Sauer et al. | On the quality of test vectors for post-silicon characterization | |
Lemma et al. | Power intent from initial ESL prototypes: Extracting power management parameters | |
Darwish et al. | Transaction level power modeling (TLPM) methodology | |
Hazott et al. | DSA monitoring framework for HW/SW partitioning of application kernels leveraging VPs | |
JP6089627B2 (ja) | 消費電力見積り装置および消費電力見積り方法 | |
Schafer | Source code error detection in high-level synthesis functional verification | |
JP4899960B2 (ja) | 消費電力見積方法及びプログラム | |
JP2011238137A (ja) | 性能推定装置 | |
Park et al. | Patran: Translation platform for test pattern program | |
JP2008204350A (ja) | 電力消費見積もりシステムおよび電力消費見積もり方法 | |
Srour | Data-dependent cycle-accurate power modeling of RTL-level IPs using machine learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091208 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110809 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110816 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120207 |