JP2005293163A - 消費電力計算方法及び装置 - Google Patents
消費電力計算方法及び装置 Download PDFInfo
- Publication number
- JP2005293163A JP2005293163A JP2004106460A JP2004106460A JP2005293163A JP 2005293163 A JP2005293163 A JP 2005293163A JP 2004106460 A JP2004106460 A JP 2004106460A JP 2004106460 A JP2004106460 A JP 2004106460A JP 2005293163 A JP2005293163 A JP 2005293163A
- Authority
- JP
- Japan
- Prior art keywords
- power consumption
- power
- combinational circuit
- predicted value
- calculated
- 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
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
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)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【課題】 予測精度の低下を抑制しつつ、高速に設計対象の半導体装置の消費電力の予測値を計算することができる消費電力計算装置を提供する。
【解決手段】
アルゴリズム記述1を動作合成装置101で動作合成して、クロックレベル記述3を生成する。クロックレベル記述3を、クロックレベルシミュレーション装置102でシミュレーションし、クロックレベル記述3で示される記憶素子及び演算器の稼働率をそれぞれ算出する。記憶素子電力計算部103は、電力計算式ファイル6から読み出した電力計算式と、記憶素子の稼働率とに基づいて、記憶素子部分の消費電力の予測値を計算する。組合せ回路電力計算部104は、電力計算式ファイル6から読み出した電力計算式と、演算器の稼働率とに基づいて、演算器部分の消費電力の予測値を計算し、電力計算式ファイル6から読み出した電力計算式と、記憶素子及び演算器の稼働率と、入出力ポートの稼働率とに基づいて、演算器以外の組合せ回路の消費電力の予測値を計算する。
【選択図】 図1
【解決手段】
アルゴリズム記述1を動作合成装置101で動作合成して、クロックレベル記述3を生成する。クロックレベル記述3を、クロックレベルシミュレーション装置102でシミュレーションし、クロックレベル記述3で示される記憶素子及び演算器の稼働率をそれぞれ算出する。記憶素子電力計算部103は、電力計算式ファイル6から読み出した電力計算式と、記憶素子の稼働率とに基づいて、記憶素子部分の消費電力の予測値を計算する。組合せ回路電力計算部104は、電力計算式ファイル6から読み出した電力計算式と、演算器の稼働率とに基づいて、演算器部分の消費電力の予測値を計算し、電力計算式ファイル6から読み出した電力計算式と、記憶素子及び演算器の稼働率と、入出力ポートの稼働率とに基づいて、演算器以外の組合せ回路の消費電力の予測値を計算する。
【選択図】 図1
Description
本発明は、消費電力計算方法及び装置に関し、更に詳しくは、設計対象の半導体装置の消費電力の予測値を計算する消費電力計算方法及び装置に関する。
近年、システムLSI等の半導体装置は、回路規模が増大しており、その設計には、抽象度が高いレベルから、抽象度が低いレベルに具体化していくトップダウン設計手法が採用される。トップダウン設計は、大きく分けて、動作レベル、RT(レジスタ転送)レベル、及び、ゲートレベルの3つの設計段階を有する。通常、半導体装置の設計では、シミュレーションにより、動作検証や、処理能力の検証、消費電力の検証等が行われる。特に、携帯型装置に搭載される半導体装置には、高い低消費電力性能が要求される傾向にあり、設計段階での消費電力の検証の重要度は高まっている。
図8は、シミュレーションをゲートレベルで行う消費電力見積もりの手順を示している。このようなゲートレベルでの消費電力の見積もりは、例えば特許文献1に記載されている。システムLSI等の設計では、設計対象の半導体装置(マクロブロック)の機能が記載されたアルゴリズム記述21が、動作合成装置22により、RTレベルのハードウェア記述(RTL記述)23に変換される。RTL記述23は、論理合成装置24により、ゲートレベルのハードウェア記述(ゲートレベルネットリスト)25に変換される。
ゲート電力ライブラリ26には、テクノロジごとに、マルチプレクサやレジスタ等のハードウェア(ゲート)の消費電力の予測値が登録されている。電力計算装置27は、入力されたゲートレベルネットリスト25を基に、ゲートレベルでシミュレーションを行いつつ、各ゲートの動作状態に合わせた電力値をゲート電力ライブラリ26から取得し、設計対象の半導体装置全体の消費電力を動的に見積もる。
ゲートレベルでの消費電力見積もりでは、ゲート電力ライブラリ26に登録された各ゲートの消費電力の予測値の精度を高めることで、設計対象の半導体装置の消費電力見積もりの精度を高めることができる。しかし、ゲートレベルでのシミュレーションには時間がかかり、このようなゲートレベルでの消費電力見積もりを、特に回路規模が大きな半導体装置の設計に用いることは現実的でない。
消費電力の見積もりに要する時間を短縮する手法としては、シミュレーションをRTレベルで行う消費電力見積もりがある。図9は、シミュレーションをRTレベルで行う消費電力見積もりの手順を示している。このようなRTレベルでの電力見積もりでは、動作合成により得られたRTL記述23が、RTLコシミュレーション装置28によってコシミュレーションされる。このシミュレーションでは、半導体装置を構成すべきゲート回路のうち、RTL記述23によって特定されるレジスタやメモリ等の記憶素子に対応する部分のトグル率又はトグルの遷移確率を示す稼働率が計算される。
稼働率設定装置30は、RTL記述23を論理合成して得られたゲートレベルネットリスト25と、RTLコシミュレーション装置28によって計算された記憶素子の稼働率29とを入力し、ゲートレベルネットリスト25に含まれる各ゲートに、稼働率を設定する。各ゲートのうち、記憶素子に対応するゲートについては、RTL記述23とゲートレベルネットリストとが1対1に対応するため、稼働率設定装置30は、RTLコシミュレーション装置28により入力された記憶素子の稼働率29をそのまま用いて、記憶素子に対応するゲートの稼働率を設定する。
各ゲートのうち、記憶素子以外のゲートについては、RTL記述23とゲートレベルネットリスト25とが1対1に対応しないため、記憶素子のゲートの稼働率を、RTLコシミュレーション装置28から入力することはできない。しかし、通常、記憶素子以外のゲートは、記憶素子や入力ピンによって前後から挟み込まれるため、その部分の稼働率を、記憶素子の稼働率29から推定することはできる。そこで、稼働率設定装置30は、記憶素子の稼働率29や入力ピンからの稼働率をネットリスト上で伝播させて、記憶素子以外のゲートの稼働率を設定する。電力計算装置32は、稼働率設定装置30が出力する、ゲートごとに稼働率が設定された稼働率ファイル31と、ゲート電力ライブラリ26とを用い、各ゲートの消費電力を静的に見積もることで、設計対象の半導体装置全体の消費電力を見積もる。
RTレベルでの消費電力見積もりでは、消費電力計算装置32は、ゲートレベルでシミュレーションを行わずに、消費電力を見積もる。このように、シミュレーションを行うレベルが、ゲートレベルよりも抽象度が高いRTレベルであるため、RTレベルでの消費電力の見積もりは、図8に示すゲートレベルでの消費電力見積もりに比して、消費電力見積もりに要する時間を短縮できる。しかし、半導体装置の回路規模が大きい場合には、RTレベルでの消費電力見積もりでも十分に高速であるとはいえず、より高速に消費電力の見積もりを行いたいという要望がある。
より高速に消費電力を見積もることができる技術としては、非特許文献1に記載された技術がある。図10は、この非特許文献1に記載された消費電力見積もりの様子をフローチャートで示している。この技術では、動作レベルで記述されたアルゴリズム記述A41に、稼働率を計算するためのルーチンを挿入し(ステップS101)、アルゴリズム記述B42を得て、そのアルゴリズム記述B42を、シミュレーションする(ステップS102)。また、アルゴリズム記述B42から、動作合成で生成されるデータ構造であり、アルゴリズムの記述をサイクル動作に変換する処理(スケジューリング)で生成されるCDFG(Control Data Flow Graph)を生成する(ステップS103)。
ステップS102のシミュレーションで得られる稼働率ファイル43を、ステップS103で生成されるCDFGに割り当て(ステップS104)、リソース数やタイミングといった制約を設定し、動作合成で行うバインド処理に相当する処理を行う(ステップS105)。非特許文献1では、このようにして構築された環境に基づいて、RTレベルよりも上位のレベルにおいて、設計対象の消費電力を見積もっている(ステップS106)。
特開2001−265847号公報
特開2001−109788号公報
ORINOCO Behavioral Level Low Power Estimation <http://www.chipvision.com/>
ところで、図10に示す、シミュレーションをRTレベルよりも上位のレベルで行う消費電力の見積もりでは、動作レベルでシミュレーションを行って稼働率を計算し、その稼働率を利用して、CDFG生成及びバインドの処理により構築された環境における消費電力を見積もっている。この場合には、消費電力の見積もりは高速化できるものの、アルゴリズム記述は、時間設定がされていないアンタイムド記述であるため、ハードウェアモデルを動的にシミュレーションする場合に比べて、消費電力見積もりの精度が低いという問題がある。また、CDFG生成及びバインドの処理により構築された環境が、後にアルゴリズム記述を動作合成して得られるRTL記述に相当するものであるという保証がないため、設計対象の半導体装置の消費電力を正しく見積もれる保証がないという問題もある。
ここで、設計対象の半導体装置のシミュレーションを高速化できる技術として、特許文献2に記載された技術がある。この技術では、動作レベルより抽象度が低く、RTレベルより抽象度が高いレベルとして、クロックレベルなるレベルが提案されている。クロックレベル記述は、サイクルベースの記述である点で、構造記述であるRTL記述とは異なり、RTL記述と同じタイミングで動くハードウェアモデルである。特許文献2では、このようなクロックレベルの記述を使用してシミュレーションを行っている。同じハードウェアモデルについて、クロックレベル記述とRTL記述とを比較すると、クロックレベル記述は、RTL記述に比べて記述量が少なく、シミュレーションを高速にできるメリットがある。しかし、従来、クロックレベルのシミュレーションを使用して、設計対象の半導体装置の消費電力を見積もる技術については、知られていなかった。
本発明は、予測精度の低下を抑制しつつ、高速に設計対象の半導体装置の消費電力の予測値を計算することができる消費電力計算方法及び装置を提供することを目的とする。
上記目的を達成するために、本発明の消費電力計算方法は、設計対象の半導体装置の消費電力の予測値を計算する消費電力計算方法において、前記設計対象の半導体装置の動作をクロックレベルの動作として記述したクロックレベル記述をシミュレーションし、該クロックレベル記述で示された記憶素子及び演算器の稼働率をそれぞれ算出するステップと、前記算出された記憶素子及び演算器の稼働率と、前記記憶素子及び演算器の種類ごとに用意された電力計算式とに基づいて、各記憶素子及び各演算器の消費電力の予測値を計算するステップとを備えることを特徴とする。
また、本発明の消費電力計算装置は、設計対象の半導体装置の動作をクロックレベルの動作として記述したクロックレベル記述をシミュレーションし、前記設計対象の半導体装置の消費電力の予測値を計算する消費電力計算装置であって、前記クロックレベル記述で示された記憶素子の稼働率を算出し、該算出された記憶素子の稼働率と、記憶素子の消費電力を計算するための電力計算式とに基づいて、各記憶素子の消費電力の予測値を計算する記憶素子電力計算手段と、前記クロックレベル記述で示された演算器の稼働率を算出し、該算出された演算器の稼働率と、演算器の消費電力を計算するための電力計算式とに基づいて、各演算器の消費電力の予測値を計算する組合せ回路電力計算手段とを有することを特徴とする。
本発明の消費電力計算方法及び装置は、設計対象の半導体装置の機能がクロックごとの動作として記述されたクロックレベル記述をシミュレーションして、記憶素子及び演算器に相当する部分のトグルをカウントし、それらのトグル率やトグルの遷移確率として示される稼働率を得て、記憶素子の消費電力の予測値と、演算器の消費電力との予測値とを計算する。本発明では、シミュレーションをクロックレベルで行うため、それよりも抽象度が低いレベルでシミュレーションを行う場合に比して、稼働率を高速に求めることができる。また、クロックレベル記述で示される記憶素子及び演算器と、後に論理合成されるRTL記述で示される記憶素子及び演算器とでは、それぞれ1対1の対応が取れるため、RTレベルでシミュレーションを行ってそれらの稼働率を得る場合と同程度の精度で、設計対象の半導体装置の記憶素子及び演算器の消費電力の予測値を計算することができる。
本発明の消費電力計算方法では、前記算出された記憶素子及び演算器の稼働率と、演算器以外の組合せ回路に対応して用意された電力計算式とに基づいて、演算器以外の組合せ回路の消費電力の予測値を計算するステップを更に有することが好ましく、本発明の消費電力計算装置では、前記組合せ回路電力計算手段は、演算器以外の組合せ回路の消費電力を計算するための電力計算式と、前記算出した演算器の稼働率、及び、前記記憶素子電力計算手段が算出した記憶素子の稼働率とに基づいて、当該演算器以外の組合せ回路の消費電力の予測値を更に計算することが好ましい。
クロックレベル記述のシミュレーションでは、演算器以外の組合せ回路の稼働率を直接に求めることができず、その部分の消費電力の予測値を計算することができない。本発明では、演算器以外の組合せ回路部分の稼働率を、記憶素子及び演算器の稼働率に基づいて推定した値に設定するため、演算器以外の組合せ回路部分の消費電力の予測値を計算することができる。
クロックレベル記述のシミュレーションでは、演算器以外の組合せ回路の稼働率を直接に求めることができず、その部分の消費電力の予測値を計算することができない。本発明では、演算器以外の組合せ回路部分の稼働率を、記憶素子及び演算器の稼働率に基づいて推定した値に設定するため、演算器以外の組合せ回路部分の消費電力の予測値を計算することができる。
本発明の消費電力計算方法は、前記演算器以外の組合せ回路の消費電力の予測値を計算するステップでは、計算対象の演算器以外の組合せ回路の前後のデータパスに記憶素子及び演算器がそれぞれ1以上存在する場合には、該1以上の記憶素子及び演算器の稼働率を使用して、当該演算器以外の組合せ回路の消費電力の予測値を計算することが好ましく、本発明の消費電力計算装置では、前記組合せ回路電力計算手段は、計算対象の演算器以外の組合せ回路の前後のデータパスに記憶素子及び演算器がそれぞれ1以上存在する場合には、該1以上の記憶素子及び演算器の稼働率を使用して、当該当該演算器以外の組合せ回路の消費電力の予測値を計算することが好ましい。
例えば、演算器以外の組合せ回路の前後のデータパスに、複数の記憶素子と、複数の演算器とがあるときには、その演算器以外の組合せ回路の稼働率を、複数の記憶素子の稼働率の平均と、複数の演算器の稼働率の平均とを平均した値に設定して消費電力の予測値を計算する構成を採用することができる。
例えば、演算器以外の組合せ回路の前後のデータパスに、複数の記憶素子と、複数の演算器とがあるときには、その演算器以外の組合せ回路の稼働率を、複数の記憶素子の稼働率の平均と、複数の演算器の稼働率の平均とを平均した値に設定して消費電力の予測値を計算する構成を採用することができる。
本発明の消費電力計算方法は、前記演算器以外の組合せ回路の消費電力の予測値を計算するステップでは、計算対象の演算器以外の組合せ回路の前後のデータパスに記憶素子が1以上存在する場合には、該1以上の記憶素子の稼働率を使用して、当該演算器以外の組合せ回路の消費電力の予測値を計算することが好ましく、本発明の消費電力計算装置では、前記組合せ回路電力計算手段は、計算対象の演算器以外の組合せ回路の前後のデータパスに記憶素子が1以上存在する場合には、該1以上の記憶素子の稼働率を使用して、当該演算器以外の組合せ回路の消費電力の予測値を計算することが好ましい。
例えば、演算器以外の組合せ回路の前後のデータパスに、複数の記憶素子があるときには、その演算器以外の組合せ回路の稼働率を、複数の記憶素子の稼働率の平均値に設定して、消費電力の予測値を計算する構成を採用することができる。
例えば、演算器以外の組合せ回路の前後のデータパスに、複数の記憶素子があるときには、その演算器以外の組合せ回路の稼働率を、複数の記憶素子の稼働率の平均値に設定して、消費電力の予測値を計算する構成を採用することができる。
本発明の消費電力計算方法は、前記演算器以外の組合せ回路の消費電力の予測値を計算するステップでは、計算対象の演算器以外の組合せ回路の前後のデータパスに演算器が1以上存在する場合には、該1以上の演算器の稼働率を使用して、当該演算器以外の組合せ回路の消費電力の予測値を計算することが好ましく、本発明の消費電力計算装置では、前記組合せ回路電力計算手段は、計算対象の演算器以外の組合せ回路の前後のデータパスに演算器が1以上存在する場合には、該1以上の演算器の稼働率を使用して、当該演算器以外の組合せ回路の消費電力の予測値を計算することが好ましい。
例えば、演算器以外の組合せ回路の前後のデータパスに、複数の演算器があるときには、その演算器以外の組合せ回路の稼働率を、複数の演算器の稼働率の平均値に設定して消費電力の予測値を計算する構成を採用することができる。
例えば、演算器以外の組合せ回路の前後のデータパスに、複数の演算器があるときには、その演算器以外の組合せ回路の稼働率を、複数の演算器の稼働率の平均値に設定して消費電力の予測値を計算する構成を採用することができる。
本発明の消費電力計算方法は、前記予測値を計算するステップでは、各記憶素子の消費電力を、当該記憶素子にデータが書き込まれるときにのみクロック信号が入力されるものとして計算するものとすることができ、本発明の消費電力計算装置では、前記記憶素子電力計算手段は、各記憶素子には、当該記憶素子にデータが書き込まれるときにのみ、クロック信号が供給されるものとして、各記憶素子の消費電力の予測値を計算することができる。
例えばクロックゲーティングを考慮せずに、各記憶素子のクロック端子には、常時クロック信号が供給されていることを想定して、各記憶素子の消費電力の予測値を計算してもよく、或いは、クロックゲーティングを考慮して、各記憶素子のクロック端子には、データの書き換え時にクロック信号が供給されることを想定して、記憶素子の消費電力を計算してもよい。
例えばクロックゲーティングを考慮せずに、各記憶素子のクロック端子には、常時クロック信号が供給されていることを想定して、各記憶素子の消費電力の予測値を計算してもよく、或いは、クロックゲーティングを考慮して、各記憶素子のクロック端子には、データの書き換え時にクロック信号が供給されることを想定して、記憶素子の消費電力を計算してもよい。
本発明の消費電力計算方法は、前記クロックレベル記述に基づいて仮想配線領域を想定し、バッファの駆動能力と仮想配線の配線容量とに基づいて、前記仮想配線中に挿入するバッファの位置を計算しつつ、前記仮想配線領域内にCTS(クロックツリーシンセシス)配線を配線するステップと、前記CTS配線を配線するステップで仮想配線中に挿入されたバッファ数に基づいて、CTSによる消費電力の予測値を計算するステップとを更に有することが好ましく、本発明の消費電力計算装置は、前記クロックレベル記述に基づいて仮想配線領域を想定し、バッファの駆動能力と、仮想配線の配線容量とに基づいて、前記仮想配線中に挿入するバッファの位置を計算しつつ、該仮想配線領域内にCTS配線を配線し、前記仮想配線中に挿入されたバッファ数に基づいて、CTSによる消費電力の予測値を計算するCTS電力計算手段を更に有することが好ましい。この場合、実際のレイアウト情報が得られる前の段階において、CTSによる消費電力の予測値を計算することができる。
本発明の消費電力計算方法は、前記クロックレベル記述に基づいてゲートサイズを想定し、該想定したゲートサイズに基づいてリーク電力の予測値を計算するステップを更に有することが好ましく、本発明の消費電力計算装置は、前記クロックレベル記述に基づいてゲートサイズを想定し、該想定したゲートサイズに基づいて、リーク電力の予測値を計算するリーク電力計算手段を更に有することが好ましい。この場合、設計対象の半導体装置のリーク電力の予測値を計算することができる。
本発明の消費電力計算方法及び装置では、クロックレベル記述をシミュレーションして記憶素子及び演算器の稼働率を求め、設計対象の半導体装置の消費電力の予測値を計算するため、消費電力予測の精度の低下を抑制しつつ、RTレベルでシミュレーションを行うよりも高速に消費電力の予測値を計算することができる。
以下、図面を参照し、本発明の実施形態例に基づいて、本発明を更に詳細に説明する。図1は、本発明の一実施形態例の消費電力見積もり装置による消費電力の予測値の計算の様子を示している。消費電力見積もり装置100は、コンピュータシステムを用いて構成される動作合成装置101及びクロックレベルシミュレーション装置102を有する。クロックレベルシミュレーション装置102は、記憶素子電力計算部103と、組合せ回路電力計算部104と、CTS・リーク電力計算部105とを有する。消費電力見積もり装置100は、動作レベルよりも抽象度が低く、かつ、RTレベルよりも抽象度が高いクロックレベルでシミュレーションを行い、消費電力の予測値を見積もる。
アルゴリズム記述1には、設計対象の半導体装置(マクロブロック)の動作が、CやC++等の高級言語を用いて動作レベルで記述されている。動作合成装置101は、アルゴリズム記述1を動作合成してRTL記述2を生成すると共に、クロックレベルのクロックレベル記述3及び合成情報4を生成する。動作合成により得られるRTL記述2は、構造記述であり、論理合成されて、設計対象の半導体装置の具体的なゲート回路を決定する記述である。クロックレベル記述3は、アルゴリズム記述1に記述された設計対象の半導体装置のアンタイムドな動作を、所定の制約条件の下で、クロック単位での動作に変換して記述したものである。合成情報4は、動作合成の際の資源制約等の情報を含んでいる。
クロックレベルシミュレーション装置102は、動作合成により得られたクロックレベル記述3及び合成情報4と、設計対象のブロックと共に半導体装置に含まれるCPUコア等のIPコアの動作やバスモデルが記述されたシミュレーション用記述5とによって構築された環境で、サイクルベースのシミュレーションを実行する。このシミュレーションでは、レジスタやメモリに相当する変数タイプにトグルを計算する機構が組み込まれ、設計対象の半導体装置に含まれるべき記憶素子や演算器に相当する部分のトグルをカウントして、トグル率やトグルの遷移確率を示す稼働率が計算される。
クロックレベル記述中に含まれる記憶素子及び演算器は、それぞれ、後にRTL記述2を論理合成してハードウェア化される記憶素子及び演算器と1対1に対応する。クロックレベルシミュレーション装置102は、シミュレーションにより得られた稼働率を用い、設計対象の半導体装置を構成すべき記憶素子や、演算器、マルチプレクサなどの各部の消費電力を、各部の消費電力を計算するための式が格納された電力計算式ファイル6を参照して計算する。
記憶素子電力計算部103は、設計対象の半導体装置を構成すべき記憶素子に相当する回路部分の消費電力を、クロックレベル記述3をシミュレーションして得られた記憶素子の稼働率を用いて計算する。組合せ回路電力計算部104は、シミュレーションにより得られた記憶素子や演算器の稼働率に基づいて、設計対象の半導体装置を構成すべき記憶素子以外の、演算器を含む組合せ回路部分の消費電力を計算する。CTS・リーク電力計算部105は、設計対象の半導体装置のCTS(クロックツリーシンセシス)の電力を計算し、また、半導体装置全体でのリーク電力を計算する。クロックレベルシミュレーション装置102は、これら記憶素子に相当する回路部分の消費電力、組合せ回路に相当する回路部分の消費電力、CTSに相当する回路部分の消費電力、及び、リーク電力を合計した消費電力を、設計対象の半導体装置の見積もり電力値7として出力する。
図2は、クロックレベルシミュレーション装置102によるシミュレーション環境を示している。クロックレベルシミュレーション装置102では、クロックレベル記述3で記述されたプロセッサ部分3a、ハードウェア部分3b、及び、メモリ部分3cと、シミュレーション用記述5で記述されたプロセッサ部分5a、メモリ部分5b、及び、バス部分5cとによってシミュレーション環境が構築される。このシミュレーション環境では、シミュレーション用記述5で記述されたプロセッサ部分5a、メモリ部分5b、及び、バス部分5cは、トグルの計算のみが可能なブロックである。消費電力見積もり装置100は、このようにして構築されたシミュレーション環境を利用して、クロックレベル記述3で記述されたプロセッサ部分3a、ハードウェア部分3b、及び、メモリ部分3cの消費電力を見積もる。
図3は、消費電力の見積もりの手順を示している。通常、フリップフロップやメモリ等の記憶素子に対しては、ハードウェア化された際の面積や動作周波数から消費電力を求めることができるデータシート(電力計算式)が提供されており、その電力計算式は、電力計算式ファイル6に格納されている。記憶素子電力計算部103は、電力計算式ファイル6から、消費電力計算対象の記憶素子の電力計算式を読み込み、シミュレーションにより得られた記憶素子のトグル率から動作周波数を計算して、各記憶素子について、その消費電力の予測値を見積もる(ステップS31)。
例えば、記憶素子電力計算部103は、フリップフロップ(FF)に対しては、下記の式(1)を電力計算式ファイル6から読み出し、動作率をデータピンのトグル数/クロックピンのトグル数、周波数を(クロックピンのトグル数/シミュレーションサイクル数)×システム周波数として、式(1)に基づいてFF部分の消費電力の予測値を計算する。
Power(FF)=(パワー係数×動作率+パワー定数)×グリッド数×周波数 (1)
ここで、データピンのトグル数は、レジスタとして宣言された変数のデータ変化回数である。また、クロックピンのトグル数は、クロックゲーティングを考慮しないときにはシミュレーションサイクル数である。式(1)のパワー係数及びパワー定数は、それぞれ設計対象の半導体装置のテクノロジに応じて設定される値であり、グリッド数は、ハードウェア化された際のFFの面積に相当するものである。
Power(FF)=(パワー係数×動作率+パワー定数)×グリッド数×周波数 (1)
ここで、データピンのトグル数は、レジスタとして宣言された変数のデータ変化回数である。また、クロックピンのトグル数は、クロックゲーティングを考慮しないときにはシミュレーションサイクル数である。式(1)のパワー係数及びパワー定数は、それぞれ設計対象の半導体装置のテクノロジに応じて設定される値であり、グリッド数は、ハードウェア化された際のFFの面積に相当するものである。
記憶素子電力計算部103は、メモリに対しては、下記の式(2)を電力計算式ファイル6から読み出し、リード(ライト)周波数をリード(ライト)サイクル数/(リードサイクル数+ライトサイクル数)、動作率を(リードサイクル数+ライトサイクル数)/シミュレーションサイクル数として、式(2)に基づいてメモリ部分の消費電力の予測値を計算する。
Power(メモリ)=(I_read+I_write)×Vdd (2)
ただし、I_read=パワー係数0×ワード数+パワー係数1×ビット数+パワー係数2×ワード数×ビット数+パワー定数0)×リード周波数×動作率
I_write=パワー係数3×ワード数+パワー係数4×ビット数+パワー係数5×ワード数×ビット数+パワー定数1)×ライト周波数×動作率
である。
式(2)のパワー係数及びパワー定数は、それぞれ設計対象の半導体装置のテクノロジに応じて設定される値である。
Power(メモリ)=(I_read+I_write)×Vdd (2)
ただし、I_read=パワー係数0×ワード数+パワー係数1×ビット数+パワー係数2×ワード数×ビット数+パワー定数0)×リード周波数×動作率
I_write=パワー係数3×ワード数+パワー係数4×ビット数+パワー係数5×ワード数×ビット数+パワー定数1)×ライト周波数×動作率
である。
式(2)のパワー係数及びパワー定数は、それぞれ設計対象の半導体装置のテクノロジに応じて設定される値である。
図3に戻り、組合せ回路電力計算部104は、設計対象の半導体装置を構成すべき組合せ回路部分を、演算器部分と、演算器以外の組合せ回路部分とに分け、まず、演算器部の消費電力の予測値を計算する(ステップS32)。組合せ回路部分のうち、演算器部分については、記憶素子と同様に、クロックレベル記述3のシミュレーションにより、その稼働率が得られている。ステップS32では、組合せ回路電力計算部104は、電力計算式ファイル6から、下記式(3)で示される演算器の電力計算式を読み込み、シミュレーションにより得られた演算器のトグル率を用いて、その消費電力の予測値を計算する。
Power(演算器)=パワー係数×動作率×演算器部分のグリッド数×周波数 (3)
ここで、動作率=演算器のトグル数/シミュレーションサイクル数、周波数=システム周波数であり、パワー係数は、それぞれ対象となる設計対象の半導体装置のテクノロジに応じて設定される値である。
Power(演算器)=パワー係数×動作率×演算器部分のグリッド数×周波数 (3)
ここで、動作率=演算器のトグル数/シミュレーションサイクル数、周波数=システム周波数であり、パワー係数は、それぞれ対象となる設計対象の半導体装置のテクノロジに応じて設定される値である。
ところで、組合せ回路のクロックレベル記述3は、RTL記述2とは異なり、例えばマルチプレクサとして構成される演算器以外の組合せ回路部分の構造を保持しておらず、RTL記述2におけるマルチプレクサの構造を推測することはできないため、クロックレベル記述3のシミュレーションでは、その部分のトグル率を得ることができない。また、たとえRTL記述2におけるマルチプレクサの構造を推測できたとしても、ゲートレベルの回路は、RTL記述2を論理合成して得られため、クロックレベル記述3から、ゲートレベルのマルチプレクサの構造を予測することは不可能である。
通常、演算器以外の組合せ回路部分は、図4に示すように、記憶素子11又は演算器12からデータを入力して、記憶素子11又は演算器12にデータを出力する。或いは、設計対象の半導体装置のデータの入力ポートからデータを入力し、出力ポートへデータを出力する。このため、シミュレーションにより、演算器以外の組合せ回路13の正確なトグル数を得ることはできないものの、その部分のトグルは、記憶素子11及び演算器12のトグル、或いは、図示しない入出力ポートのトグルに基づいて推測できる。そこで、組合せ回路電力計算部104は、電力計算式ファイル6から読み込んだ電力計算式と、推定により得られた稼働率とを使用して、演算器以外の組合せ回路13の消費電力の予測値を計算する(図3のステップS33)。
図5は、図3のステップS33の演算器以外の組合せ回路13の消費電力の計算手順の詳細をフローチャートで示している。組合せ回路電力計算部104は、電力計算式ファイル6から、演算器以外の組合せ回路13の消費電力の計算に使用する下記式(4)を読み出す(ステップS51)。
Power(演算器以外の組合せ回路)
=パワー係数×動作率×演算器以外の組合せ回路のグリッド数×周波数 (4)
ここで、周波数=システム周波数であり、パワー係数は、それぞれ対象となる設計対象の半導体装置のテクノロジに応じて設定される値であり、動作率(稼働率)は、以下のようにして設定される。
Power(演算器以外の組合せ回路)
=パワー係数×動作率×演算器以外の組合せ回路のグリッド数×周波数 (4)
ここで、周波数=システム周波数であり、パワー係数は、それぞれ対象となる設計対象の半導体装置のテクノロジに応じて設定される値であり、動作率(稼働率)は、以下のようにして設定される。
組合せ回路電力計算部104は、演算器以外の組合せ回路13(図4)の周辺(前後のデータパス)に記憶素子11、演算器13、又は、入出力ポートが存在するか否かを調査し、1以上の記憶素子11、演算器13、又は、入出力ポートがあるときには、それらのトグル数をそれぞれ求める(ステップS52)。組合せ回路電力計算部104は、例えば演算器以外の組合せ回路13の周辺に記憶素子11が1以上存在するときには、それらの平均トグル数を求め、周辺に演算器12が1以上存在するときには、それらの平均トグル数を求める。
組合せ回路電力計算部104は、ステップS52で求めたトグル数に基づいて、演算器以外の組合せ回路13の動作率を推定する(ステップS53)。例えば、組合せ回路電力計算部104は、演算器以外の組合せ回路13の周辺に、1以上の記憶素子11のみが存在するときには、それら記憶素子11の平均トグル数と、演算器以外の組合せ回路13の平均トグル数とが等しいと推定し、動作率=記憶素子11の平均トグル数/シミュレーションサイクル数とする。或いは、周辺に1以上の演算器12のみが存在するときには、動作率=演算器12の平均トグル数/シミュレーションサイクル数とし、周辺に1以上の入出力ポートのみが存在するときには、動作率=入出力ポートの平均トグル数/シミュレーションサイクル数とし、周辺に1以上の記憶素子11と1以上の演算器12とが存在するときには、動作率=(記憶素子11の平均トグル数と演算器12の平均トグル数との平均)/シミュレーションサイクル数とする。組合せ回路電力計算部104は、ステップS53で推定した動作率を用いて、演算器以外の組合せ回路13の消費電力を計算する(ステップS54)。
再び図3に戻り、CTS・リーク電力計算部105は、設計対象の半導体装置に形成されるべきCTSによる電力の予測値を計算し、また、半導体装置のリーク電力を計算する(ステップS34)。CTS・リーク電力計算部105は、クロックレベル記述3に記述される動作で実現するブロック内にCTSが張られることを想定し、仮想的にCTS配線を配線して、実際のレイアウト情報が得られる前の段階において、CTSの消費電力の予測値を計算する。
図6は、CTS電力見積もり手順の詳細をフローチャートで示している。CTS・リーク電力計算部105は、クロックレベル記述3に含まれる記憶素子数に基づいて、CTSをはるエリアサイズを計算し(ステップS61)、Hツリー上に、配線モデルを作成する(ステップS62)。図7は、Hツリー配線モデルを示しており、このHツリーの末端に、記憶素子11を1つずつ配置する(ステップS63)。Hツリーの末端から、1つ上の分岐点へ移動し(ステップS64)、分岐点までの間の配線上にバッファ14を配置しないと、分岐点よりも上流側のバッファのドライブ能力を超えるか否かを判断する(ステップS65)。バッファ14を配置しなくても、ドライブ能力を超えないと判断されたときには、ステップS64へ戻り、更に上流側の分岐点へ移動する。
ステップS65で、バッファ14のドライブ能力を超えると判断されたときには、CTS・リーク電力計算部105は、Hツリーの末端から、ドライブ能力を超えると判断された分岐点までの間にバッファ14を挿入する位置を計算する(ステップS66)。挿入されたバッファ14の位置をHツリーの末端として(ステップS67)、その位置が、Hツリーのトップであるか否かを判断する(ステップS68)。ステップS68で、Hツリーのトップであると判断されないときには、ステップS64へ戻り、更に1つ上の分岐点に移動する。CTS・リーク電力計算部105は、ステップS68でHツリーのトップであると判断するまで、ステップS64からステップS68までを、繰り返し実行し、CTSツリーの構造を決定していく。
電力計算式ファイル6には、バッファ14の種類ごとに、バッファ14がドライブする容量と消費電力との関係がテーブルとして記憶されており、CTS・リーク電力計算部105は、下記式(5)を電力計算式ファイル6から読み出し、CTSの消費電力の予測値を計算する(ステップS69)。
Power(CTS)=ΣPower_table(容量,バッファ種類)×システム周波数 (5)
Power(CTS)=ΣPower_table(容量,バッファ種類)×システム周波数 (5)
また、CTS・リーク電力計算部105は、リーク電力を計算するための下記式(6)を電力計算式ファイルから読み出し、テクノロジに応じて設定される電力係数と、クロックレベル記述3から見積もったゲートサイズとから、リーク電力の予測値を計算する。ゲートサイズは、例えばクロックレベル記述3の記述量から見積もる。
power(リーク)=電力係数×ゲートサイズ (6)
クロックレベルシミュレーション装置102は、以上のようにして計算した記憶素子部分、演算器部分、演算器以外の組合せ回路部分、CTS、及び、リーク電力を合計して、半導体装置の消費電力を見積もる。
power(リーク)=電力係数×ゲートサイズ (6)
クロックレベルシミュレーション装置102は、以上のようにして計算した記憶素子部分、演算器部分、演算器以外の組合せ回路部分、CTS、及び、リーク電力を合計して、半導体装置の消費電力を見積もる。
本実施形態例では、RTレベルよりも上位のクロックレベルでシミュレーションを行い、記憶素子及び演算器部分の稼働率を得て、それらの部分の消費電力の予測値を計算している。クロックレベル記述3を用いたシミュレーションと、RTL記述2を用いたシミュレーションとを比較すると、クロックレベル記述3は、RTL記述2のように構造を持たないために記述量が少なく、クロックレベル記述3を用いたシミュレーションの方が、シミュレーションを高速に行うことができるため、消費電力の見積もりを、高速に行うことができる。
クロックレベル記述3の記憶素子及び演算器部分については、RTL記述2を論理合成することで得られるゲートレベルの回路と1対1の対応が取れるため、RTレベルでシミュレーションを行った場合と同じ程度の精度で、それらの部分の消費電力を見積もることができる。このため、非特許文献1のように動作レベルでシミュレーションを行う場合に比して、消費電力見積もりの精度を向上させることができる。また、クロックレベル記述3は、アルゴリズム記述1と同様に、CやC++といったプログラミング言語で記述可能であり、ソフトウェア等との親和性が強く、システム検証に好適に用いることができるメリットもある。
本実施形態例では、演算器以外の組合せ回路については、前後のデータパスに存在する記憶素子及び演算器の少なくとも一方の平均の稼働率を使用して、電力を見積もる。クロックレベル記述3を用いたシミュレーションでは、演算器以外の組合せ回路については稼働率を求めることができないが、本実施形態例のように、前後のデータパスに存在する記憶素子等の稼働率を用いることによって、演算器以外の組合せ回路部分の消費電力を見積もることが可能となる。
設計対象の半導体装置において、CTSは、大きな電力を消費するため、できるだけ、設計の初期の段階で、その消費電力を見積もりたいという要望がある。しかし、従来、レイアウト情報がない初期の段階で、CTSの消費電力を見積もることは困難であった。本実施形態例では、CTS・リーク電力計算部105が、仮想的にCTS配線を配線して、CTSの消費電力の予測値を計算するため、実際のレイアウト情報が得られる前の段階において、その部分の消費電力を見積もることができる。
なお、動作合成装置101による動作合成では、クロックゲーティングを行う場合、例えばFFへのデータ書き込みがないときには、FFにクロック信号が入力されないようなゲーティング回路を生成するように、RTL記述2が生成される。しかし、クロックレベル記述3は、クロックゲーティングに関する情報を有していないため、クロックゲーティングを考慮する場合には、そのままでは、FF部分の消費電力を正しく計算することができない。クロックゲーティングを考慮する場合には、記憶素子には、データの書き換え時にのみクロック信号が入力されるものとして、消費電力の計算をするとよい。具体的には、例えば記憶素子がFFとして構成されるときには、そのFFのクロック端子には、データの書き込み時にのみクロック信号が入力されるものとして、式(1)におけるクロックピンのトグル数を、レジスタとして宣言された変数の書き込み回数に置き換えて、消費電力を計算するとよい。
以上、本発明をその好適な実施形態例に基づいて説明したが、本発明の消費電力計算方法及び装置は、上記実施形態例にのみ限定されるものではなく、上記実施形態例の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
1:アルゴリズム記述
2:RTL記述
3:クロックレベル記述
4:合成情報
6:電力計算式ファイル
7:見積もり電力値
11:記憶素子
12:演算器
13:演算器以外の組合せ回路
14:バッファ
100:消費電力見積もり装置
101:動作合成装置
102:クロックレベルシミュレーション装置
103:記憶素子電力計算部
104:組合せ回路電力計算部
105:CTS・リーク電力計算部
2:RTL記述
3:クロックレベル記述
4:合成情報
6:電力計算式ファイル
7:見積もり電力値
11:記憶素子
12:演算器
13:演算器以外の組合せ回路
14:バッファ
100:消費電力見積もり装置
101:動作合成装置
102:クロックレベルシミュレーション装置
103:記憶素子電力計算部
104:組合せ回路電力計算部
105:CTS・リーク電力計算部
Claims (16)
- 設計対象の半導体装置の消費電力の予測値を計算する消費電力計算方法において、
前記設計対象の半導体装置の動作をクロックレベルの動作として記述したクロックレベル記述をシミュレーションし、該クロックレベル記述で示された記憶素子及び演算器の稼働率をそれぞれ算出するステップと、
前記算出された記憶素子及び演算器の稼働率と、前記記憶素子及び演算器にそれぞれ対応する電力計算式とに基づいて、各記憶素子及び各演算器の消費電力の予測値を計算するステップとを備えることを特徴とする消費電力計算方法。 - 前記予測値を計算するステップでは、各記憶素子の消費電力を、当該記憶素子にデータが書き込まれるときにのみクロック信号が入力されるものとして計算する、請求項1に記載の消費電力計算方法。
- 前記算出された記憶素子及び演算器の稼働率と、演算器以外の組合せ回路に対応して用意された電力計算式とに基づいて、演算器以外の組合せ回路の消費電力の予測値を計算するステップを更に有する、請求項1又は2に記載の消費電力計算方法。
- 前記演算器以外の組合せ回路の消費電力の予測値を計算するステップでは、計算対象の演算器以外の組合せ回路の前後のデータパスに記憶素子及び演算器がそれぞれ1以上存在する場合には、該1以上の記憶素子及び演算器の稼働率を使用して、当該演算器以外の組合せ回路の消費電力の予測値を計算する、請求項3に記載の消費電力計算方法。
- 前記演算器以外の組合せ回路の消費電力の予測値を計算するステップでは、計算対象の演算器以外の組合せ回路の前後のデータパスに記憶素子が1以上存在する場合には、該1以上の記憶素子の稼働率を使用して、当該演算器以外の組合せ回路の消費電力の予測値を計算する、請求項3に記載の消費電力計算方法。
- 前記演算器以外の組合せ回路の消費電力の予測値を計算するステップでは、計算対象の演算器以外の組合せ回路の前後のデータパスに演算器が1以上存在する場合には、該1以上の演算器の稼働率を使用して、当該演算器以外の組合せ回路の消費電力の予測値を計算する、請求項3に記載の消費電力計算方法。
- 前記クロックレベル記述に基づいて仮想配線領域を想定し、バッファの駆動能力と仮想配線の配線容量とに基づいて、前記仮想配線中に挿入するバッファの位置を計算しつつ、前記仮想配線領域内にCTS(クロックツリーシンセシス)配線を配線するステップと、
前記CTS配線を配線するステップで仮想配線中に挿入されたバッファ数に基づいて、CTSによる消費電力の予測値を計算するステップとを更に有する、請求項1〜6の何れか一に記載の消費電力計算方法。 - 前記クロックレベル記述に基づいてゲートサイズを想定し、該想定したゲートサイズに基づいてリーク電力の予測値を計算するステップを更に有する、請求項1〜7の何れか一に記載の消費電力計算方法。
- 設計対象の半導体装置の動作をクロックレベルの動作として記述したクロックレベル記述をシミュレーションし、前記設計対象の半導体装置の消費電力の予測値を計算する消費電力計算装置であって、
前記クロックレベル記述で示された記憶素子の稼働率を算出し、該算出された記憶素子の稼働率と、記憶素子の消費電力を計算するための電力計算式とに基づいて、各記憶素子の消費電力の予測値を計算する記憶素子電力計算手段と、
前記クロックレベル記述で示された演算器の稼働率を算出し、該算出された演算器の稼働率と、演算器の消費電力を計算するための電力計算式とに基づいて、各演算器の消費電力の予測値を計算する組合せ回路電力計算手段とを有することを特徴とする消費電力計算装置。 - 前記記憶素子電力計算手段は、各記憶素子には、当該記憶素子にデータが書き込まれるときにのみクロック信号が供給されるものとして、各記憶素子の消費電力の予測値を計算する、請求項9に記載の消費電力計算装置。
- 前記組合せ回路電力計算手段は、演算器以外の組合せ回路の消費電力を計算するための電力計算式と、前記算出した演算器の稼働率、及び、前記記憶素子電力計算手段が算出した記憶素子の稼働率とに基づいて、当該演算器以外の組合せ回路の消費電力の予測値を更に計算する、請求項9又は10に記載の消費電力計算装置。
- 前記組合せ回路電力計算手段は、計算対象の演算器以外の組合せ回路の前後のデータパスに記憶素子及び演算器がそれぞれ1以上存在する場合には、該1以上の記憶素子及び演算器の稼働率を使用して、当該演算器以外の組合せ回路の消費電力の予測値を計算する、請求項11に記載の消費電力計算装置。
- 前記組合せ回路電力計算手段は、計算対象の演算器以外の組合せ回路の前後のデータパスに記憶素子が1以上存在する場合には、該1以上の記憶素子の稼働率を使用して、当該演算器以外の組合せ回路の消費電力の予測値を計算する、請求項11に記載の消費電力計算装置。
- 前記組合せ回路電力計算手段は、計算対象の演算器以外の組合せ回路の前後のデータパスに演算器が1以上存在する場合には、該1以上の演算器の稼働率を使用して、当該演算器以外の組合せ回路の消費電力の予測値を計算する、請求項11に記載の消費電力計算装置。
- 前記クロックレベル記述に基づいて仮想配線領域を想定し、バッファの駆動能力と、仮想配線の配線容量とに基づいて、前記仮想配線中に挿入するバッファの位置を計算しつつ、前記仮想配線領域内にCTS配線を配線し、前記仮想配線中に挿入されたバッファ数に基づいて、CTSによる消費電力の予測値を計算するCTS電力計算手段を更に有する、請求項9〜14の何れか一に記載の消費電力計算装置。
- 前記クロックレベル記述に基づいてゲートサイズを想定し、該想定したゲートサイズに基づいて、リーク電力の予測値を計算するリーク電力計算手段を更に有する、請求項9〜15の何れか一に記載の消費電力計算装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004106460A JP2005293163A (ja) | 2004-03-31 | 2004-03-31 | 消費電力計算方法及び装置 |
US11/093,148 US7331024B2 (en) | 2004-03-31 | 2005-03-30 | Power-consumption calculation method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004106460A JP2005293163A (ja) | 2004-03-31 | 2004-03-31 | 消費電力計算方法及び装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005293163A true JP2005293163A (ja) | 2005-10-20 |
Family
ID=35055820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004106460A Pending JP2005293163A (ja) | 2004-03-31 | 2004-03-31 | 消費電力計算方法及び装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7331024B2 (ja) |
JP (1) | JP2005293163A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008065496A (ja) * | 2006-09-06 | 2008-03-21 | Fujitsu Ltd | Lsiの消費電力ピーク見積プログラム及びその装置 |
JP2008299464A (ja) * | 2007-05-30 | 2008-12-11 | Nec Electronics Corp | 消費電力計算方法、消費電力計算プログラムおよび消費電力計算装置 |
JP2009075970A (ja) * | 2007-09-21 | 2009-04-09 | Fujitsu Ltd | 電力演算装置、方法及びプログラム |
JP2011013713A (ja) * | 2009-06-30 | 2011-01-20 | Fujitsu Ltd | 集積回路の消費電力検証方法 |
KR101832583B1 (ko) | 2015-10-05 | 2018-02-26 | 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 | 전력 상태 커버리지 메트릭 및 이의 추정 방법 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004054756A (ja) * | 2002-07-23 | 2004-02-19 | Nec Electronics Corp | 消費電力見積り装置及び方法 |
WO2006113645A2 (en) * | 2005-04-18 | 2006-10-26 | University Of Pittsburgh-Of The Commonwealth System Of Higher Education | Method and software tool for automatic generation of software for integrated circuit processors |
US7260809B2 (en) * | 2005-07-25 | 2007-08-21 | Nec Laboratories America, Inc. | Power estimation employing cycle-accurate functional descriptions |
JP4599266B2 (ja) * | 2005-09-27 | 2010-12-15 | 株式会社東芝 | シミュレーション装置及びシミュレーション方法 |
US7783467B2 (en) * | 2005-12-10 | 2010-08-24 | Electronics And Telecommunications Research Institute | Method for digital system modeling by using higher software simulator |
US7587620B1 (en) | 2006-05-09 | 2009-09-08 | Altera Corporation | Power reduction techniques for components in integrated circuits by assigning inputs to a plurality of ports based on power consumption ratings |
JP2008112292A (ja) * | 2006-10-30 | 2008-05-15 | Hitachi Ltd | ストレージシステム及びストレージシステムの電源供給制御方法 |
US7877715B1 (en) * | 2008-03-28 | 2011-01-25 | Cadence Design Systems, Inc. | Method and apparatus to use physical design information to detect IR drop prone test patterns |
US8095900B2 (en) * | 2008-09-16 | 2012-01-10 | Cadence Design Systems, Inc. | Achieving clock timing closure in designing an integrated circuit |
US8082530B1 (en) * | 2009-02-20 | 2011-12-20 | Xilinx, Inc. | Power estimation in high-level modeling systems |
JP2010205084A (ja) * | 2009-03-04 | 2010-09-16 | Renesas Electronics Corp | 動作合成システム、動作合成方法、動作合成プログラム |
US8458501B2 (en) * | 2010-07-27 | 2013-06-04 | International Business Machines Corporation | Measuring data switching activity in a microprocessor |
JP5785725B2 (ja) * | 2010-10-15 | 2015-09-30 | 富士通株式会社 | 電力見積装置、電力見積方法及びプログラム |
US8756544B2 (en) | 2010-12-06 | 2014-06-17 | Industrial Technology Research Institute | Method for inserting characteristic extractor |
TW201224748A (en) | 2010-12-06 | 2012-06-16 | Ind Tech Res Inst | Transaction level system power estimation method and system |
US9141736B2 (en) | 2012-09-02 | 2015-09-22 | Ninad Huilgol | Method for power estimation for virtual prototyping models for semiconductors |
US9268898B1 (en) * | 2013-03-12 | 2016-02-23 | Xilinx, Inc. | Estimating power consumption of a circuit design |
US9135389B2 (en) | 2013-09-25 | 2015-09-15 | United Microelectronics Corporation | Clock skew adjusting method and structure |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5555201A (en) * | 1990-04-06 | 1996-09-10 | Lsi Logic Corporation | Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including interactive system for hierarchical display of control and dataflow information |
US5625803A (en) * | 1994-12-14 | 1997-04-29 | Vlsi Technology, Inc. | Slew rate based power usage simulation and method |
JP2001109788A (ja) | 1999-10-12 | 2001-04-20 | Nec Corp | シミュレーションモデル、その生成方法、シミュレーション方法及びその記録媒体 |
JP2001265847A (ja) | 2000-03-22 | 2001-09-28 | Nec Corp | 消費電力予測装置およびその予測方法 |
US7134100B2 (en) * | 2002-07-29 | 2006-11-07 | Nec Usa, Inc. | Method and apparatus for efficient register-transfer level (RTL) power estimation |
-
2004
- 2004-03-31 JP JP2004106460A patent/JP2005293163A/ja active Pending
-
2005
- 2005-03-30 US US11/093,148 patent/US7331024B2/en not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008065496A (ja) * | 2006-09-06 | 2008-03-21 | Fujitsu Ltd | Lsiの消費電力ピーク見積プログラム及びその装置 |
JP2008299464A (ja) * | 2007-05-30 | 2008-12-11 | Nec Electronics Corp | 消費電力計算方法、消費電力計算プログラムおよび消費電力計算装置 |
JP2009075970A (ja) * | 2007-09-21 | 2009-04-09 | Fujitsu Ltd | 電力演算装置、方法及びプログラム |
JP2011013713A (ja) * | 2009-06-30 | 2011-01-20 | Fujitsu Ltd | 集積回路の消費電力検証方法 |
KR101832583B1 (ko) | 2015-10-05 | 2018-02-26 | 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 | 전력 상태 커버리지 메트릭 및 이의 추정 방법 |
Also Published As
Publication number | Publication date |
---|---|
US7331024B2 (en) | 2008-02-12 |
US20050223344A1 (en) | 2005-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7331024B2 (en) | Power-consumption calculation method and apparatus | |
US7134100B2 (en) | Method and apparatus for efficient register-transfer level (RTL) power estimation | |
JP4994393B2 (ja) | 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法 | |
US20070276645A1 (en) | Power modelling in circuit designs | |
US20080021692A1 (en) | Method for performing power simulations on complex designs running complex software applications | |
US20090171646A1 (en) | Method for estimating power consumption | |
Scheffer | Methodologies and tools for pipelined on-chip interconnect | |
US8370780B2 (en) | Method and system for estimating power consumption of integrated circuitry | |
US20200192994A1 (en) | Performance modeling and analysis of microprocessors using dependency graphs | |
JP2004054756A (ja) | 消費電力見積り装置及び方法 | |
JP4001584B2 (ja) | シミュレーション装置 | |
Pedram | Power Simulation and Estimation in VLSI Circuits. | |
US20080300806A1 (en) | Power consumption calculating method | |
Golanbari et al. | Selective flip-flop optimization for reliable digital circuit design | |
Bergamaschi et al. | Performance modeling for early analysis of multi-core systems | |
JP5454349B2 (ja) | 性能推定装置 | |
Bommu et al. | Retiming-based factorization for sequential logic optimization | |
Lin et al. | Optimal wire retiming without binary search | |
US11842132B1 (en) | Multi-cycle power analysis of integrated circuit designs | |
JP2010277436A (ja) | メモリ構造決定支援装置、メモリ構造決定プログラム及び記録媒体 | |
JP5110206B2 (ja) | 動作合成装置、動作合成方法、ならびに、プログラム | |
TWI427496B (zh) | 製造積體電路的模型的方法和系統 | |
Ananda Kumar | Learning-based architecture-level power modeling of CPUs | |
Zervas et al. | Generalized Low Power Design Flow” | |
Lee | Implementation of VLSI design flow for MIPS-based SOC |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070112 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090115 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090528 |