JP2008299464A - 消費電力計算方法、消費電力計算プログラムおよび消費電力計算装置 - Google Patents
消費電力計算方法、消費電力計算プログラムおよび消費電力計算装置 Download PDFInfo
- Publication number
- JP2008299464A JP2008299464A JP2007142826A JP2007142826A JP2008299464A JP 2008299464 A JP2008299464 A JP 2008299464A JP 2007142826 A JP2007142826 A JP 2007142826A JP 2007142826 A JP2007142826 A JP 2007142826A JP 2008299464 A JP2008299464 A JP 2008299464A
- Authority
- JP
- Japan
- Prior art keywords
- power consumption
- level
- functional block
- power
- low
- 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/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)
- Microelectronics & Electronic Packaging (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【課題】半導体装置の消費電力の予測にかかる時間を短縮する。
【解決手段】(a)動作レベルで記述された集積回路(15)を、動作レベルより抽象度の低い低レベルで記述して低レベル回路モデル(17)を構成し、低レベル回路モデル(17)に基づいて機能ブロックの動作を示す動作情報(21)を生成するステップと、
(b)動作情報(21)と機能ブロックを構成する素子が消費する素子消費電力(19)とに基づいて、機能ブロックで消費される機能ブロック消費電力(22)を求めるステップと、
(c)機能ブロック消費電力(22)と集積回路(15)の動作時に機能ブロックが実行される回数とに基づいて、集積回路が消費する全体消費電力(24)を求めるステップとを具備する消費電力計算方法によって計算する。
【選択図】図4
【解決手段】(a)動作レベルで記述された集積回路(15)を、動作レベルより抽象度の低い低レベルで記述して低レベル回路モデル(17)を構成し、低レベル回路モデル(17)に基づいて機能ブロックの動作を示す動作情報(21)を生成するステップと、
(b)動作情報(21)と機能ブロックを構成する素子が消費する素子消費電力(19)とに基づいて、機能ブロックで消費される機能ブロック消費電力(22)を求めるステップと、
(c)機能ブロック消費電力(22)と集積回路(15)の動作時に機能ブロックが実行される回数とに基づいて、集積回路が消費する全体消費電力(24)を求めるステップとを具備する消費電力計算方法によって計算する。
【選択図】図4
Description
本発明は、消費電力計算方法、消費電力計算プログラムおよび消費電力計算装置に関し、特に動作レベルで記述された集積回路の消費電力計算方法、消費電力計算プログラム、消費電力計算装置、その消費電力計算装置に使用可能なライブラリ、および、そのライブラリの作成方法に関する。
半導体技術の進歩に伴って、システムLSI等の半導体装置では回路規模が増大してきている。回路規模が大きい半導体装置の設計として、抽象度が高いレベルから、抽象度が低いレベルに具体化していくトップダウン設計という設計手法が知られている。トップダウン設計では、大きく分けて、動作レベル、RT(レジスタ転送)レベル、及び、ゲートレベルの3つの設計段階に対応して半導体装置の設計を行っている。半導体装置の設計では、シミュレーションにより、設計対象の半導体装置の動作検証や、処理能力の検証、消費電力の検証等が行われる。
電子機器に搭載される半導体装置は、低い消費電力であることが要求されている。そのため、設計段階で半導体装置の消費電力を検証する技術が知られている(例えば、非特許文献1、特許文献1参照)。
図1は、非特許文献1に記載された消費電力見積もりの様子を示すフローチャートである。非特許文献1に記載の技術では、動作レベルで記述された第1アルゴリズム記述141に、稼働率を計算するためのルーチンを挿入し(ステップS1)、第2アルゴリズム記述142を得て、その第2アルゴリズム記述142を、シミュレーションする(ステップS2)。また、第2アルゴリズム記述142から、動作合成で生成されるデータ構造であり、アルゴリズムの記述をサイクル動作に変換する処理(スケジューリング)で生成されるCDFG(Control Data Flow Graph)を生成する(ステップS3)。
ステップS2のシミュレーションで得られる稼働率ファイル143を、ステップS3で生成されるCDFGに割り当て(ステップS4)、リソース数やタイミングといった制約を設定し、動作合成で行うバインド処理に相当する処理を行う(ステップS5)。非特許文献1では、このようにして構築された環境に基づいて、RTレベルよりも上位のレベルにおいて、設計対象の消費電力を見積もっている(ステップS6)。
また、高速に設計対象の半導体装置の消費電力の予測値を計算する技術として、例えば、特許文献1(特開2005−293163号公報)に記載の技術が知られている。図2は、特許文献1に記載の消費電力見積もり装置100による消費電力の予測値の計算の様子を示す図である。図2を参照すると、従来の消費電力見積もり装置100では、アルゴリズム記述111を動作合成装置101で動作合成して、クロックレベル記述113を生成している。そして、そのクロックレベル記述113を、シミュレーション用記述115に基づいてクロックレベルシミュレーション装置102でシミュレーションし、クロックレベル記述113で示される記憶素子及び演算器の稼働率をそれぞれ算出している。
記憶素子電力計算部103は、電力計算式ファイル116から読み出した電力計算式と、記憶素子の稼働率とに基づいて、記憶素子部分の消費電力の予測値を計算している。また、組合せ回路電力計算部104は、電力計算式ファイル116から読み出した電力計算式と、演算器の稼働率とに基づいて、演算器部分の消費電力の予測値を計算し、電力計算式ファイル116から読み出した電力計算式と、記憶素子及び演算器の稼働率と、入出力ポートの稼働率とに基づいて、演算器以外の組合せ回路の消費電力の予測値を計算している。
また、アルゴリズムレベル記述とRTレベル記述との中間のレベルのシミュレーションを可能にする技術が知られている(例えば、特許文献2参照)。
また、アルゴリズムレベル記述とRTレベル記述との中間のレベルのシミュレーションを可能にする技術が知られている(例えば、特許文献2参照)。
ORINOCO Behavioral Level Low Power Estimation <http://www.chipvision.com/>
特開2005−293163号公報
特開2001−109788号公報
非特許文献1に記載の技術では、シミュレーションをRTレベルよりも上位のレベルで行って消費電力を見積もっている。具体的には、動作レベルでシミュレーションを行って稼働率を計算し、その稼働率を利用して、CDFG生成及びバインドの処理により構築された環境における消費電力を見積もっている。
非特許文献1に記載の技術におけるアルゴリズム記述は、時間設定がされていないアンタイムド記述である。そのため、ハードウェアモデルを動的にシミュレーションする場合に比べて、消費電力見積もりの精度が低くなってしまう場合がある。また、非特許文献1に記載の技術では、CDFG生成及びバインドの処理により構築された環境が、後にアルゴリズム記述を動作合成して得られるRTL記述に相当するものであるという保証がない。そのため、設計対象の半導体装置の消費電力を正確に見積もることが困難な場合がある。
特許文献1に記載の技術では、非特許文献1に記載の技術に比較して、高速に設計対象の半導体装置の消費電力の予測値を計算することが可能となっている。システムLSI等の半導体装置の回路規模は増大してきている。半導体装置の回路規模が大きくなると、設計段階でのシミュレーションによる検証に多くの時間が費やされてしまう。短期間で半導体装置の設計を行うために、設計対象の半導体装置の消費電力を、より高速に予測する技術が望まれる。
以下に、[発明を実施するための最良の形態]で使用される番号を用いて、課題を解決するための手段を説明する。これらの番号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
少なくとも一つの機能ブロックを有する集積回路の消費電力を、
(a)動作レベルで記述された集積回路(15)を、前記動作レベルより抽象度の低い低レベルで記述して低レベル回路モデル(17)を構成し、前記低レベル回路モデル(17)に基づいて前記機能ブロックの動作を示す動作情報(21)を生成するステップと、
(b)前記動作情報(21)と前記機能ブロックを構成する素子が消費する素子消費電力(19)とに基づいて、前記機能ブロックで消費される機能ブロック消費電力(22)を求めるステップと、
(c)前記機能ブロック消費電力(22)と前記集積回路(15)の動作時に前記機能ブロックが実行される回数とに基づいて、前記集積回路が消費する全体消費電力(24)を求めるステップとを具備する消費電力計算方法によって計算する。
(a)動作レベルで記述された集積回路(15)を、前記動作レベルより抽象度の低い低レベルで記述して低レベル回路モデル(17)を構成し、前記低レベル回路モデル(17)に基づいて前記機能ブロックの動作を示す動作情報(21)を生成するステップと、
(b)前記動作情報(21)と前記機能ブロックを構成する素子が消費する素子消費電力(19)とに基づいて、前記機能ブロックで消費される機能ブロック消費電力(22)を求めるステップと、
(c)前記機能ブロック消費電力(22)と前記集積回路(15)の動作時に前記機能ブロックが実行される回数とに基づいて、前記集積回路が消費する全体消費電力(24)を求めるステップとを具備する消費電力計算方法によって計算する。
この計算方法では、動作レベルで記述された集積回路の消費電力を求めるときに、その動作レベルより一段抽象度が低いレベルで、かつ、機能ブロックごとに消費電力を求めている。その消費電力を示す情報をライブラリとして保持しておく。動作レベル記述を用いたシミュレーションを実行するときに、シミュレータが機能ブロックに対応する記述を読み出したら、そのライブラリを参照して、その読み出された機能ブロックに対応する消費電力を得る。機能ブロックの読み出し回数と、予めライブラリ化された消費電力とに基づいて、集積回路全体の消費電力を見積もる。
本発明によると、短時間で半導体装置の消費電力の予測することが可能となる。
以下に、図面を参照して本発明を実施するための形態について説明を行う。図3は、本実施形態の消費電力計算装置10の構成を例示するブロック図である。図3を参照すると、本実施形態の消費電力計算装置10は、情報処理装置1と、入力装置2と、出力装置3とを含んで構成されている。
情報処理装置1は、プログラムに示される手順に従って情報処理を高速に行うコンピュータである。情報処理装置1は、入力、記憶、演算、制御および出力の5つの機能を備えている。入力装置2は、情報処理装置1にデータを入力するマンマシンインターフェースである。入力装置2の代表としては、キーボードやマウスなどが例示される。出力装置3は、情報処理装置1の処理結果を外部に出力するマンマシンインターフェースである。出力装置3の代表としては、ディスプレイやプリンタなどが例示される。
情報処理装置1は、CPU4と、RAM5と、大容量記憶装置6とを含んで構成され、それらはバス7を介して接続されている。CPU4は、情報処理装置1に備えられた各種装置の制御やデータの処理を行う演算処理装置である。CPU4は、入力装置2から入力されるデータを、バス7を介して受け取り、受け取ったそのデータを解釈して演算し、結果を出力装置3などに出力する。RAM5は、CPU4がソフトウェアを実行する場合に使用される記憶媒体である。大容量記憶装置6は、ハードディスクや不揮発性半導体メモリなどに例示される情報記憶装置である。大容量記憶装置6は、ユーザによるデータ削除が実行されるまで、記憶しているデータを保持し続ける機能を備えている。
CPU4は、プログラム格納領域8とデータ格納領域9とを含んで構成されている。プログラム格納領域8には、動作合成ツール11と、クロックレベル電力情報抽出ツール12と、機能ブロック電力情報13と、動作レベル電力情報14とが格納されている。データ格納領域9には、動作レベルC記述15と、RTL記述16と、クロックレベル記述17と、制御情報18と、電力計算式ファイル19と、機能ブロックレジスタ情報21と、機能ブロック電力計算式ファイル22、シミュレーション用記述23と、システム見積もり電力24と、が格納されている。
動作レベルC記述15は、設計対象の集積回路(モジュール)の動作を、動作レベル(BL:Behavior Level)を用いて記述している。本実施形態の動作レベルC記述15は、設計対象の集積回路(モジュール)の動作を記述したシミュレーションモデルであり、特定の処理のまとまり(以下、機能ブロックと呼ぶ)に対して、その機能ブロックが実行されるときに要する時間が定義されている。動作レベルC記述15が示す集積回路は、少なくとも一つのIP(Intellectual Propertyと呼ばれる半導体回路設計ブロック)を含んで構成されている。そのIPは、更に少なくとも一つの機能ブロックを備えている。なお、以下の実施形態においては、動作レベルC記述15がC言語やC++等の高級プログラミング言語で記述されている場合を例示しているが、これは、動作レベルC記述15の構成を制限するものではない。
RTL記述16は、動作合成により得られる。RTL記述16は、ハードウェア記述言語で記述される構造記述であり、論理合成されて、設計対象の集積回路(モジュール)の具体的なゲート回路を決定している。本実施形態のRTL記述16は、モジュールの動作を記述したシミュレーションモデルであり、サイクル単位に動作が定義されている。RTL記述16は、論理合成によりゲートレベル記述に変換できる。
クロックレベル記述17は、動作レベルよりも抽象度が低く、かつ、RTレベルよりも抽象度が高いクロックレベルでシミュレーションを行うための記述である。クロックレベル記述17の中に含まれるレジスタ(記憶素子)及び演算器はそれぞれ、後にRTL記述16を論理合成してハードウェア化されるレジスタ(記憶素子)及び演算器と1対1に対応する。クロックレベル記述17には、動作レベルC記述15に記述された設計対象の半導体装置のアンタイムドな動作が、所定の制約条件の下で、クロック単位での動作に変換されて記述されている。クロックレベル記述17は、モジュール(設計対象の半導体装置)の動作を記述したシミュレーションモデルであり、サイクル単位に動作が定義されている。本実施形態のクロックレベル記述17には、機能ブロックを示す記述が本実施形態においては、クロックレベル記述17が、C言語またはC++言語で記述されている場合を例示して説明を行う。
制御情報18は、動作合成ツール11が出力する情報であり、動作合成の際の資源制約等の情報を含んでいる。具体的には、制御情報18は、動作レベルC記述15内の変数に関する情報や、RTL記述16のレジスタ変数の対応情報等を含んでいる。例えば、あるレジスタが、FSMにおけるどの状態の、どの条件が成立した場合に、当該レジスタ変数が変化するかという情報を含んでいる。
電力計算式ファイル19は、フリップフロップやメモリ等のレジスタ(記憶素子)に対する消費電力を求めるためのデータシート(電力計算式)を有するファイルである。その電力計算式は、レジスタ(記憶素子)がハードウェア化された際の面積や動作周波数に関するデータを含んでいる。本実施形態において、電力計算式ファイル19は、各部の消費電力を計算するための式が格納されたライブラリとして予め構成されている。
機能ブロックレジスタ情報21は、機能ブロックと、その機能ブロックを構成するレジスタと、その機能ブロックの状態におけるそのレジスタのトグル回数との対応を示している。上述の動作レベルC記述15に示される集積回路が、複数のIP(Intellectual Property)を備えている場合、機能ブロックレジスタ情報21は、それぞれのIPに対応して構成されている。それらのIPには、少なくとも一つの機能ブロックが備えられている。機能ブロックレジスタ情報21には、その機能ブロックごとに消費電力を求めるための情報が含まれている。ここにおいて、機能ブロックとは、ある処理のまとまりを表している。本実施形態において、このまとまりの粒度は、動作モード(待機モード/動作モード)、Cレベルの構文単位(関数、if文やswitch分の分岐の単位)などに応じて可変的に構成することが可能である。
機能ブロック電力計算式ファイル22は、消費電力を計算するための計算式を有するファイルである。機能ブロック電力計算式ファイル22は、機能ブロックレジスタ情報21と電力計算式ファイル19とに基づいて生成され、特定の機能ブロックに対する消費電力を求めるためのデータシート(電力計算式)として構成されている。
シミュレーション用記述23は、システムを構成するモジュールのシミュレーション用モデルであり、設計対象の集積回路(モジュール)に含まれるCPUコア等のIPコアの動作や、バスモデルが記述されている。本実施形態におけるシミュレーション用記述23は、動作レベルC記述15と合わせてシステムを構成することが可能である。
システム見積もり電力24は、動作レベルC記述15を用いたシステムレベルシミュレーションによって得られた設計対象の集積回路(モジュール)の見積もり消費電力情報である。
動作合成ツール11は、動作レベルC記述15を動作合成してRTL記述16を生成する。また、動作合成ツール11は、動作レベルC記述15を動作合成してクロックレベル記述17を生成する。さらに、動作合成ツール11は、制御情報18を生成する。本実施形態において、動作合成ツール11は、制御情報18に示される情報に基づいて、機能ブロックの動作に要する時間を示す時間情報を含むようにクロックレベル記述17を構成する。この時間情報は、ある機能ブロックの動作に要する総所要時間を示している。クロックレベル記述17は、その総所要時間における機能ブロックの動作を単位時間ごとにどのように実行されるかを示している。
クロックレベル電力情報抽出ツール12は、クロックレベルの電力情報を得るための装置である。ダイナミックシミュレータ、シミュレーション結果より消費電力を計算するための装置、および、静的消費電力計算装置などを含んで構成されている。クロックレベル電力情報抽出ツール12は、シミュレーションにより得られた稼働率を用い、設計対象の半導体装置を構成すべきレジスタ(記憶素子)や、演算器、マルチプレクサなどの各部の消費電力を、電力計算式ファイル19を参照して計算する。本実施形態のクロックレベル電力情報抽出ツール12は、クロックレベルでの電力情報である機能ブロックレジスタ情報21を算出する。なお、本実施形態において、クロックレベル電力情報抽出ツール12への入力がRTL記述16である場合を例示しているが、クロックレベル電力情報抽出ツール12への入力はゲートレベル記述でも構わない。
機能ブロック電力情報13は、機能ブロックレジスタ情報21に示される情報に基づいて機能ブロック単位に電力をマッピングして機能ブロック電力計算式ファイル22を生成する。動作レベル電力情報14は、動作レベルモデルを入力とするシミュレーションを行い、システムの消費電力を計算する。
以下に、本実施形態の動作について説明を行う。本実施形態の動作は、情報処理装置1が、所定のコンピュータプログラムに示される手順に対応して動作することによって実現する。図4は、情報処理装置1の動作を例示するフローチャートである。このフローチャートのステップS101からステップS104は、本実施形態の情報処理装置1が実行可能な行為の連鎖を例示している。
ステップS101において、情報処理装置1は、動作合成ツール11を起動する。動作合成ツール11は、データ格納領域9に保持されている動作レベルC記述15を読み出し、RTL記述16と、クロックレベル記述17と、制御情報18とを生成する。以下に、動作合成ツール11の出力について説明を行う。
図5は、動作レベルC記述15の構成を例示する図である。図5の動作レベルC記述リスト31は、動作レベルC記述15の一部を抜き出して例示したリストである。動作レベルC記述15は、時間の概念を含む動作レベル記述である。本実施形態における動作レベルC記述15の時間の概念(時間情報)は、サイクルレベルで定義されておらず、機能ブロックの単位で累積時間が定義されている。図5を参照すると、動作レベルC記述15の58行目(動作レベルC記述リスト31の上から7行目)には、この機能ブロックの処理の累積時間が3クロックであることが示されている。本実施形態では、その動作レベルC記述15のWaitで指定された時間情報を考慮してIPが消費する電力の見積もりを行う。
図5の動作レベルC記述リスト31は、動作レベルC記述15に含まれる一つの関数を一つの機能ブロックとした場合を例示している。本実施形態では、機能ブロック単位で消費電力情報を抽出するため、以下では、
機能ブロック=関数
として説明を行うものとする。なお、動作レベルC記述リスト31において、If文の分岐単位で消費電力情報を抽出した場合は、
機能ブロック=if文の分岐
となる。
機能ブロック=関数
として説明を行うものとする。なお、動作レベルC記述リスト31において、If文の分岐単位で消費電力情報を抽出した場合は、
機能ブロック=if文の分岐
となる。
図6は、動作合成ツール11が出力する制御情報18の構成を例示する図である。本実施形態において、動作合成ツール11は、動作合成前の動作レベルC記述15の記述と、動作合成後に生成されるクロックレベル記述17内の、レジスタとの対応情報を示す制御情報18を生成する。また、その制御情報18は、動作合成前の動作レベルC記述15の記述と、生成されたHWの状態遷移とを対応付けている。図6は、制御情報18の構成を視覚的に示す動作合成ツール出力情報テーブル32である。図6に示されているように、制御情報18は、レジスタ情報33と関数情報34とを含んで構成されている。
レジスタ情報33は、動作レベル記述変数名33−1と、bit数33−2と、レジスタID33−3と、状態ID33−4と、動作レベル記述行番号33−5と、レジスタ変化条件33−6と、条件ID33−7とを対応付けている。関数情報34は、関数名34−1と、関数番号34−2と、動作レベル記述行番号34−3と、条件ID34−5とを対応付けている。
レジスタ情報33の動作レベル記述変数名33−1は、動作合成結果としてレジスタに変換された変数名である。図6に示されているように、制御情報18を参照することによって、その動作レベル記述変数名33−1を特定したときに、FSMの状態に対応する状態ID33−4と、動作レベルモデルの行番号である動作レベル記述行番号33−5と、レジスタの値が変化する条件であるレジスタ変化条件33−6とを抽出することができる。また、図6に示されているように、制御情報18を参照することによって、動作レベルモデル内に含まれる関数を示す関数名34−1と、その関数が呼び出される条件(呼び出し条件34−4、条件ID34−5)についても抽出することができる。
後述するクロックレベル電力情報抽出ツール12は、機能ブロックの単位のレジスタ(記憶素子)の動作率を求めるために、動作合成ツール11が出力する制御情報18を読み出して利用する。
図7は、動作合成ツール11が出力するクロックレベル記述17の構成を例示する図である。図7は、クロックレベル記述17の一部を抜き出したリスト(クロックレベル記述リスト35)の構成を例示している。本実施形態のクロックレベル記述17には、状態ID33−4と条件ID33−7とを示す記述が含まれている。図7のクロックレベル記述リスト35を参照すると、クロックレベル記述17の21行目から26行目(クロックレベル記述リスト35の上から1行目から6行目まで)は、動作レベルC記述15の53行目の記述に対応している。クロックレベル記述17の22行目から23行目(クロックレベル記述リスト35の上から2行目から3行目まで)の記述は、動作レベルC記述15の53行目の記述が、動作合成後、
状態ID ST_02
条件ID CND_01
に相当することを示している。また、クロックレベル記述17の27行目から31行目には、動作レベル記述の54行目が、動作合成後、
状態ID ST_03
に相当することが示されている。
状態ID ST_02
条件ID CND_01
に相当することを示している。また、クロックレベル記述17の27行目から31行目には、動作レベル記述の54行目が、動作合成後、
状態ID ST_03
に相当することが示されている。
また、クロックレベル記述17の32行目から35行目は、何も行わないサイクルが動作合成ツールにより挿入されたことを示している。さらに、クロックレベル記述17の36行目から41行目には、動作レベルC記述15の55行目が、動作合成後、
状態ID ST_02
条件ID CND_02
に相当することが示され、クロックレベル記述17の42行目から47行目には、動作レベル記述の56行目が、動作合成後、
状態ID ST_03
に相当することが示されている。
状態ID ST_02
条件ID CND_02
に相当することが示され、クロックレベル記述17の42行目から47行目には、動作レベル記述の56行目が、動作合成後、
状態ID ST_03
に相当することが示されている。
図4に戻り、ステップS102において、情報処理装置1はクロックレベル電力情報抽出ツール12を起動し、クロックレベルでの消費電力を見積もる。クロックレベル電力情報抽出ツール12は、機能ブロック情報を含む制御情報18と、図7のクロックレベル記述リスト35のような記述を含むクロックレベル記述17と、電力計算式ファイル19とを入力としてシミュレーションを実行する。このとき、クロックレベル電力情報抽出ツール12は、
SET_STATE
SET_CONDITION
が呼ばれるたびに、その情報を記録する。なお、クロックレベル記述リスト35に示される条件設定や状態設定において、挿入された全ての行がレジスタ変化を示すものではない。例えば、時間経過に対応して継続的に同じ状態(同じ値)が続く場合には、クロックレベル電力情報抽出ツール12は、レジスタが変化していないことを示す情報を記録する。クロックレベル電力情報抽出ツール12は、この記録と、動作合成が出力した制御情報18とを合わせて、シミュレーションの実行中に各レジスタが何回変化したかを得る。
SET_STATE
SET_CONDITION
が呼ばれるたびに、その情報を記録する。なお、クロックレベル記述リスト35に示される条件設定や状態設定において、挿入された全ての行がレジスタ変化を示すものではない。例えば、時間経過に対応して継続的に同じ状態(同じ値)が続く場合には、クロックレベル電力情報抽出ツール12は、レジスタが変化していないことを示す情報を記録する。クロックレベル電力情報抽出ツール12は、この記録と、動作合成が出力した制御情報18とを合わせて、シミュレーションの実行中に各レジスタが何回変化したかを得る。
クロックレベル電力情報抽出ツール12は、機能ブロックの単位でレジスタ(記憶素子)のトグル回数(動作率)を示すデータを生成する。クロックレベル電力情報抽出ツール12は、IPが備える複数の機能ブロックのそれぞれに対応して上述のようなデータを生成する。クロックレベル電力情報抽出ツール12はそれらのデータに基づいて、IPのクロックレベル消費電力見積もりを示す機能ブロックレジスタ情報21を生成する。また、クロックレベル電力情報抽出ツール12は、設計対象の集積回路が複数のIPを含んでいる場合、その複数のIPのそれぞれに対応する機能ブロックレジスタ情報21を生成する。
図8は、機能ブロックが消費する電力を示す見積もり消費電力データの構成を例示するテーブル(以下、見積もり消費電力データテーブル36と呼ぶ)である。機能ブロックレジスタ情報21は、IPが備える複数の機能ブロックのそれぞれに対応して、見積もり消費電力データテーブル36を備えている。図8を参照すると、見積もり消費電力データテーブル36は、ある機能ブロックを構成するレジスタ(記憶素子)とその機能ブロックの状態とを特定したときに、それらのレジスタ(記憶素子)のトグル回数が得られるように構成されている。ここにおいて、機能ブロックは、特定の動作モード、状態遷移、動作レベルモデル内の関数、あるいは内部の分岐単位等の粒度を選択できるものとする。また、クロックレベル電力情報抽出ツール12は、関数の呼び出し回数等を取得することも可能であり、条件を考慮した変化回数を得ることができる。なお、クロックレベル電力情報抽出ツール12が実行するシミュレーションには、RTLやC言語のクロックレベルモデルを用いた、ダイナミックシミュレーションによる見積もり手法や、RTLを用いて静的に見積もる手法などが例示される。本実施形態では、設計対象の半導体装置に含まれるレジスタ(記憶素子)の動作率を基に計算する手法であれば、どのような手法を採用しても良い。
図4に戻り、ステップS103において、機能ブロック電力情報13は、機能ブロックレジスタ情報21に示されるIPのクロックレベル消費電力見積もりを、動作レベルC記述15の機能ブロックへマッピングする。機能ブロック電力情報13は、機能ブロックとその中に含まれるレジスタ(記憶素子)との対応を、機能ブロックレジスタ情報21を参照して取得し、その対応を利用して機能ブロック単位での消費電力計算式を求める。この計算式には、クロック周波数を考慮した、機能ブロック単位での総消費電力量と、機能ブロックに定義された時間情報を基に得られる平均消費電力値の計算式がある。
機能ブロック電力情報13は、消費電力計算を行う際に、レジスタ(記憶素子)の種類に応じて用意された電力計算式を電力計算式ファイル19から読み出す。上述したように、電力計算式ファイル19には、レジスタ(記憶素子)がハードウェア化された際の面積や動作周波数に関するデータが含まれている。電力計算式ファイル19は、そのデータに基づいて、レジスタ(記憶素子)の一回の動作で消費される電力の計算が可能なように構成されている。機能ブロック電力情報13は、電力計算式ファイル19を参照して得られた電力計算式と、機能ブロックレジスタ情報21に基づいて、機能ブロックに含まれるフリップフロップ、演算器、リーク電流による電力を見積もる。1回の機能ブロックの実行で消費される電力を“機能ブロック消費電力”とすると、機能ブロック電力情報13は、下記の(1)式からその機能ブロック消費電力を算出する。
機能ブロック消費電力
=Σ(機能ブロック内のレジスタの平均消費電力) + Σ(機能ブロック内のレジスタ以外の演算器の平均消費電力)・・・(1)
上述のように、機能ブロック電力情報13は、(1)式に基づいて、機能ブロック電力計算式ファイル22を生成する。生成された機能ブロック電力計算式ファイル22は、ライブラリとして情報処理装置1のデータ格納領域9に保持される。
機能ブロック消費電力
=Σ(機能ブロック内のレジスタの平均消費電力) + Σ(機能ブロック内のレジスタ以外の演算器の平均消費電力)・・・(1)
上述のように、機能ブロック電力情報13は、(1)式に基づいて、機能ブロック電力計算式ファイル22を生成する。生成された機能ブロック電力計算式ファイル22は、ライブラリとして情報処理装置1のデータ格納領域9に保持される。
ステップS104において、動作レベル電力情報14は、時間情報を含む動作レベルC記述15を用いてシミュレーションを実行し、システム見積もり電力24を生成する。この時、動作レベル電力情報14は、動作レベルC記述15の機能ブロックの稼働率(機能ブロックが呼ばれた回数)をシミュレーション実行中に計算する。設計対象の集積回路全体で消費される電力を“総消費電量”とすると、動作レベル電力情報14は、この稼働率と、機能ブロック単位の消費電力計算式とを基にして、下記(2)式に基づいてその総消費電量を見積もる。
総消費電量
=Σ(機能ブロックの動作率 × 機能ブロックの消費電力値) + モジュールのリーク電流・・・(2)
上述のようにして、動作レベル電力情報14は総消費電量を算出する。動作レベル電力情報14は、その総消費電量をシステム見積もり電力24としてデータ格納領域9に格納する。
総消費電量
=Σ(機能ブロックの動作率 × 機能ブロックの消費電力値) + モジュールのリーク電流・・・(2)
上述のようにして、動作レベル電力情報14は総消費電量を算出する。動作レベル電力情報14は、その総消費電量をシステム見積もり電力24としてデータ格納領域9に格納する。
換言すると、本実施形態では、設計対象の半導体装置の動作を、時間情報を含む動作レベルモデルをシミュレーションすることによって、その設計対象の半導体装置の消費電力の予測値を計算している。この予測値は、まず動作記述で示された機能ブロックの稼働率を算出し、その算出された機能ブロックの稼働率と、クロック周波数にそれぞれ対応する電力計算式とに基づいて算出されている。この予測値の計算手段は、IPを構成する各機能ブロックが呼び出された時に、その機能モデルが動作するものとして各機能ブロックの消費電力の予測値を計算する。また、この予測値の計算手段は、シミュレーションを行った際に、算出された機能ブロックの動作率に基づき、消費電力の予測値を計算する。このとき、動作が一切呼び出されない場合には、その場合に対応する電力計算式と、その動作が呼び出されない時間に基づいて、消費電力の予測値を計算する。
上述してきた消費電力計算方法によると、動作レベル記述の機能ブロックでは、動作レベルモデル中で時間情報を設定する単位を1機能ブロックとしている。そして、その機能ブロックの単位で、クロックレベル記述のシミュレーション結果から得られた見積もり電力値を積算した電力値を消費するものとして計算している。
また、動作レベルモデル中で時間情報を追加する単位を1機能ブロックとしたとき、機能ブロック毎に、クロックレベル記述のシミュレーション結果から得られた消費電力計算式を求めることができる。ここにおいて、予測値を計算する工程では、各機能ブロックが呼び出された時にのみ、その機能ブロックが動作するものとして計算することが好ましい。さらに、予測値を計算する工程では、動作が一切呼び出されない場合の電力計算式と、その動作が呼び出されない時間に基づいて、消費電力の予測値を計算しても良い。
また、動作レベルモデル中で時間情報を追加する単位を1機能ブロックとしたとき、機能ブロック毎に、クロックレベル記述のシミュレーション結果から得られた消費電力計算式を求めることができる。ここにおいて、予測値を計算する工程では、各機能ブロックが呼び出された時にのみ、その機能ブロックが動作するものとして計算することが好ましい。さらに、予測値を計算する工程では、動作が一切呼び出されない場合の電力計算式と、その動作が呼び出されない時間に基づいて、消費電力の予測値を計算しても良い。
本実施形態の情報処理装置1は、クロックレベルシミュレーションで求めた消費電力量を利用して、総消費電量の計算を行っている。そのため、全消費電力量を高い精度で求めることができる。本実施形態の情報処理装置1は、初期のアーキテクチャ検討段階での十分な精度で、消費電力を見積もることができる。
また、本実施形態の情報処理装置1では、動作レベルモデルを利用してシミュレーションを実施している。したがって、システムの規模が増加するにつれて、クロックレベルシミュレーションに要する時間が大きくなる場合であっても、高速にシステムの消費電力を求めることができる。
なお、上述の実施形態において、動作合成ツール11が、状態ID33−4と条件ID33−7とを示す記述を含むクロックレベル記述17を出力する場合を例示した。本発明では、上記の構成に制限されることは無く、例えば、RTL記述16に状態ID33−4と条件ID33−7とを示す記述を含ませても良い。この場合には、RTLレベルで消費電力を求めることのできるツールと、論理合成用のライブラリとを用いて、RTL上のレジスタ(記憶素子)を、実際のハードウェアにマッピングした上で電力計算を行うことが好ましい。
また、上述の実施形態における機能ブロックは、特定の動作モード、状態遷移、動作レベルモデル内の関数、あるいは内部の分岐単位等、粒度の選択が可能である。この場合において、動作レベルC記述15におけるレジスタの変化回数が大きく変わる記述箇所を区切りとして機能ブロックを構成することが好ましい。
また上述したように、動作レベルC記述15には、集積回路を構成する機能ブロックが実行されるときに要する時間が定義されている。上述の実施形態では、動作合成ツール11は、機能ブロックの動作に要する時間を示す時間情報を含むクロックレベル記述17を構成している。本実施形態の消費電力計算装置10において、動作合成ツール11は、時間情報に依存せずにクロックレベル記述17(またはRTL記述16)を出力することが可能である。このとき、動作合成ツール11は、時間情報を含むことなくRTL記述16やクロックレベル記述17を生成する。そして、クロックレベル電力情報抽出ツール12は、そのRTL記述16またはクロックレベル記述17を使用して機能ブロックレジスタ情報21を生成する。その場合には、機能ブロック電力情報13は、動作レベルC記述15に定義された時間情報と、機能ブロックレジスタ情報21とに基づいて、機能ブロック電力計算式ファイル22を生成する構成を備えていることが好ましい。これによって、本実施形態の消費電力計算装置10は、動作合成ツール11が動作レベルC記述15に定義されている時間の制約なしに動作合成を行う場合であっても、適切にシステム見積もり電力24を生成することが可能となる。
1…情報処理装置
2…入力装置
3…出力装置
4…CPU
5…RAM
6…大容量記憶装置
7…バス
8…プログラム格納領域
9…データ格納領域
10…消費電力計算装置
11…動作合成ツール
12…クロックレベル電力情報抽出ツール
13…機能ブロック電力情報
14…動作レベル電力情報
15…動作レベルC記述
16…RTL記述
17…クロックレベル記述
18…制御情報
19…電力計算式ファイル
21…機能ブロックレジスタ情報
22…機能ブロック電力計算式ファイル
23…シミュレーション用記述
24…システム見積もり電力
31…動作レベルC記述リスト
32…動作合成ツール出力情報テーブル
33…レジスタ情報
33−1…動作レベル記述変数名
33−2…bit数
33−3…レジスタID
33−4…状態ID
33−5…動作レベル記述行番号
33−6…レジスタ変化条件
33−7…条件ID
34…関数情報
34−1…関数名
34−2…関数番号
34−3…動作レベル記述行番号
34−4…呼び出し条件
34−5…条件ID
35…クロックレベル記述リスト
36…見積もり消費電力データテーブル
100…消費電力見積もり装置
101…動作合成装置
102…クロックレベルシミュレーション装置
103…レジスタ(記憶素子)電力計算部
104…組合せ回路電力計算部
111…アルゴリズム記述
113…クロックレベル記述
115…シミュレーション用記述
116…電力計算式ファイル
141…第1アルゴリズム記述
142…第2アルゴリズム記述
143…稼働率ファイル
2…入力装置
3…出力装置
4…CPU
5…RAM
6…大容量記憶装置
7…バス
8…プログラム格納領域
9…データ格納領域
10…消費電力計算装置
11…動作合成ツール
12…クロックレベル電力情報抽出ツール
13…機能ブロック電力情報
14…動作レベル電力情報
15…動作レベルC記述
16…RTL記述
17…クロックレベル記述
18…制御情報
19…電力計算式ファイル
21…機能ブロックレジスタ情報
22…機能ブロック電力計算式ファイル
23…シミュレーション用記述
24…システム見積もり電力
31…動作レベルC記述リスト
32…動作合成ツール出力情報テーブル
33…レジスタ情報
33−1…動作レベル記述変数名
33−2…bit数
33−3…レジスタID
33−4…状態ID
33−5…動作レベル記述行番号
33−6…レジスタ変化条件
33−7…条件ID
34…関数情報
34−1…関数名
34−2…関数番号
34−3…動作レベル記述行番号
34−4…呼び出し条件
34−5…条件ID
35…クロックレベル記述リスト
36…見積もり消費電力データテーブル
100…消費電力見積もり装置
101…動作合成装置
102…クロックレベルシミュレーション装置
103…レジスタ(記憶素子)電力計算部
104…組合せ回路電力計算部
111…アルゴリズム記述
113…クロックレベル記述
115…シミュレーション用記述
116…電力計算式ファイル
141…第1アルゴリズム記述
142…第2アルゴリズム記述
143…稼働率ファイル
Claims (26)
- 少なくとも一つの機能ブロックを有する集積回路の消費電力を計算する消費電力計算方法であって、
(a)動作レベルで記述された集積回路を、前記動作レベルより抽象度の低い低レベルで記述して低レベル回路モデルを構成し、前記低レベル回路モデルに基づいて前記機能ブロックの動作を示す動作情報を生成するステップと、
(b)前記動作情報と前記機能ブロックを構成する素子が消費する素子消費電力とに基づいて、前記機能ブロックで消費される機能ブロック消費電力を求めるステップと、
(c)前記機能ブロック消費電力と前記集積回路の動作時に前記機能ブロックが実行される回数とに基づいて、前記集積回路が消費する全体消費電力を求めるステップと
を具備する
消費電力計算方法。 - 請求項1に記載の消費電力計算方法において、
前記(a)ステップは、
前記集積回路を動作合成し、前記機能ブロックの動作に要する時間を示す時間情報を含む前記低レベル回路モデルを生成するステップと、
前記低レベル回路モデルに対するシミュレーションを実行し、単位時間ごとの前記低レベル回路モデルの動作に基づいて前記動作情報を生成するステップ
を含む
消費電力計算方法。 - 請求項2に記載の消費電力計算方法において、
前記時間情報は、前記機能ブロックの動作に要する総所要時間を示し、
前記低レベル回路モデルは、前記総所要時間における前記機能ブロックの動作を、単位時間ごとに示す
消費電力計算方法。 - 請求項1から3の何れか一項に記載の消費電力計算方法において、
前記(a)ステップは、
前記集積回路と前記低レベル回路モデルとの対応を示す制御情報を出力するステップと、
前記制御情報に基づいて前記動作情報を生成するステップと
を含む
消費電力計算方法。 - 請求項1から4の何れか一項に記載の消費電力計算方法において、
前記(b)ステップは、
前記機能ブロックの動作時に前記素子が動作する動作回数を、前記動作情報から抽出するステップと、
前記動作回数と前記素子の一回の動作で消費される消費電力とに基づいて前記機能ブロック消費電力を算出するステップとを
含む
消費電力計算方法。 - 請求項5に記載の消費電力計算方法において、
前記素子は、複数のレジスタを含み、
前記機能ブロック消費電力は、
前記複数のレジスタのそれぞれが消費する複数のレジスタ消費電力の和を示し、
前記複数の前記レジスタ消費電力のそれぞれは、
前記複数のレジスタのそれぞれの動作回数と前記複数のレジスタのそれぞれが一回の動作で消費する消費電力との積を示す
消費電力計算方法。 - 請求項1から6の何れか一項に記載の消費電力計算方法において、
前記(c)ステップは、
前記動作レベルで記述された前記集積回路のシミュレーションを実行するステップと、
前記シミュレーションの実行中に、前記機能ブロックが実行される回数をカウントするステップと、
前記回数と前記機能ブロック消費電力との積に基づいて前記全体消費電力を求めるステップと
を含む
消費電力計算方法。 - コンピュータを、設計対象の半導体装置の消費電力を計算する消費電力計算装置として機能させるための消費電力計算プログラムであって、
(a)動作レベルで記述された前記集積回路を、前記動作レベルより抽象度の低い低レベルで記述して低レベル回路モデルを構成し、前記低レベル回路モデルに基づいて前記機能ブロックの動作を示す動作情報を生成するステップと、
(b)前記動作情報と前記機能ブロックを構成する素子が消費する素子消費電力とに基づいて、前記機能ブロックで消費される機能ブロック消費電力を求めるステップと、
(c)前記機能ブロック消費電力と前記集積回路の動作時に前記機能ブロックが実行される回数とに基づいて、前記集積回路が消費する全体消費電力を求めるステップと
を具備する方法によってコンピュータを消費電力計算装置として機能させるための
消費電力計算プログラム。 - 請求項8に記載の消費電力計算プログラムにおいて、
前記(a)ステップは、
前記集積回路を動作合成し、前記機能ブロックの動作に要する時間を示す時間情報を含む前記低レベル回路モデルを生成するステップと、
前記低レベル回路モデルに対するシミュレーションを実行し、単位時間ごとの前記低レベル回路モデルの動作に基づいて前記動作情報を生成するステップ
を含む
消費電力計算プログラム。 - 請求項9に記載の消費電力計算プログラムにおいて、
前記時間情報は、前記機能ブロックの動作に要する総所要時間を示し、
前記低レベル回路モデルは、前記総所要時間における前記機能ブロックの動作を、単位時間ごとに示す
消費電力計算プログラム。 - 請求項8から10の何れか一項に記載の消費電力計算プログラムにおいて、
前記(a)ステップは、
前記集積回路と前記低レベル回路モデルとの対応を示す制御情報を出力するステップと、
前記制御情報に基づいて前記動作情報を生成するステップと
を含む
消費電力計算プログラム。 - 請求項8から11何れか一項に記載の消費電力計算プログラムにおいて、
前記(b)ステップは、
前記機能ブロックの動作時に前記素子が動作する動作回数を、前記動作情報から抽出するステップと、
前記動作回数と前記素子の一回の動作で消費される消費電力とに基づいて前記機能ブロック消費電力を算出するステップとを
含む
消費電力計算プログラム。 - 請求項12に記載の消費電力計算プログラムにおいて、
前記素子は、複数のレジスタを含み、
前記機能ブロック消費電力は、
前記複数のレジスタのそれぞれが消費する複数のレジスタ消費電力の和を示し、
前記複数の前記レジスタ消費電力のそれぞれは、
前記複数のレジスタのそれぞれの動作回数と前記複数のレジスタのそれぞれが一回の動作で消費する消費電力との積を示す
消費電力計算プログラム。 - 請求項8から13の何れか一項に記載の消費電力計算プログラムにおいて、
前記(c)ステップは、
前記動作レベルで記述された前記集積回路のシミュレーションを実行するステップと、
前記シミュレーションの実行中に、前記機能ブロックが実行される回数をカウントするステップと、
前記回数と前記機能ブロック消費電力との積に基づいて前記全体消費電力を求めるステップと
を含む
消費電力計算プログラム。 - 少なくとも一つの機能ブロックを有する集積回路の消費電力を計算する消費電力計算装置であって、
動作レベルで記述された集積回路モデルを、前記動作レベルより抽象度の低い低レベルで記述して低レベル回路モデルを構成する動作合成装置と、
前記低レベル回路モデルに基づいて前記機能ブロックの動作を示す動作情報を生成する低レベル電力情報抽出装置と、
前記動作情報と前記機能ブロックを構成する素子が消費する素子消費電力とに基づいて、前記機能ブロックで消費される機能ブロック消費電力を求める機能ブロック電力情報抽出装置と、
前記機能ブロック消費電力と前記集積回路モデルの動作時に前記機能ブロックが実行される回数とに基づいて、前記集積回路モデルが消費する全体消費電力を求める動作レベル電力情報抽出装置と
を具備する
消費電力計算装置。 - 請求項15に記載の消費電力計算装置において、
前記動作合成装置は、
前記集積回路モデルを動作合成し、前記機能ブロックの動作に要する時間を示す時間情報を含む前記低レベル回路モデルを生成し、
前記低レベル電力情報抽出装置は、
前記低レベル回路モデルに対するシミュレーションを実行し、単位時間ごとの前記低レベル回路モデルの動作に基づいて前記動作情報を生成する
消費電力計算装置。 - 請求項16に記載の消費電力計算装置において、
前記時間情報は、前記機能ブロックの動作に要する総所要時間を示し、
前記低レベル回路モデルは、前記総所要時間における前記機能ブロックの動作を、単位時間ごとに示す
消費電力計算装置。 - 請求項15から17の何れか一項に記載の消費電力計算装置において、
前記動作合成装置は、
前記集積回路モデルと前記低レベル回路モデルとの対応を示す制御情報を出力し、
前記低レベル電力情報抽出装置は、
前記制御情報に基づいて前記動作情報を生成する
消費電力計算装置。 - 請求項15から18の何れか一項に記載の消費電力計算装置において、さらに、
前記素子が一回の動作で消費する消費電力を示す電力計算式を保持するライブラリ
を備え、
前記機能ブロック電力情報抽出装置は、
前記機能ブロックの動作時に前記素子が動作する動作回数を前記動作情報から抽出し、前記ライブラリから読み出した前記電力計算式と前記動作回数とに基づいて前記機能ブロック消費電力を算出する
消費電力計算装置。 - 請求項19に記載の消費電力計算装置において、
前記素子は、複数のレジスタを含み、
前記機能ブロック消費電力は、
前記複数のレジスタのそれぞれが消費する複数のレジスタ消費電力の和を示し、
前記複数の前記レジスタ消費電力のそれぞれは、
前記複数のレジスタのそれぞれの動作回数と前記複数のレジスタのそれぞれが一回の動作で消費する消費電力との積を示す
消費電力計算装置。 - 請求項15から20の何れか一項に記載の消費電力計算装置において、
前記動作レベル電力情報抽出装置は、
前記動作レベルで記述された前記集積回路のシミュレーションの実行中に、前記機能ブロックが実行される回数をカウントし、前記回数と前記機能ブロック消費電力との積に基づいて前記全体消費電力を求める
消費電力計算装置。 - 動作レベルで記述され、複数の機能ブロックを有する集積回路モデルの消費電力を計算するためのライブラリを作成するライブラリ作成方法であって、
(a)前記複数の機能ブロックから、ライブラリ作成対象の機能ブロックを特定するステップと、
(b)特定した前記機能ブロックを含むIPモデルを動作合成し、前記機能ブロックの動作に要する時間を示す時間情報を含む低レベルIPモデルを前記動作レベルより抽象度の低い低レベルで記述し、前記低レベルIPモデルに基づいて前記機能ブロックの動作を示す動作情報を生成するステップと、
(c)前記動作情報と前記機能ブロックを構成する素子が消費する電力を示す電力計算式とに基づいて、前記機能ブロックで消費される電力を示す機能ブロック電力計算式を生成するステップと、
(d)前記複数の機能ブロックのそれぞれに対して機能ブロック電力計算式を生成して前記ライブラリを構成するステップ
ライブラリ作成方法。 - 請求項22に記載のライブラリ作成方法において、
前記時間情報は、前記機能ブロックの動作に要する総所要時間を示し、
前記低レベルIPモデルは、前記総所要時間における前記機能ブロックの動作を、単位時間ごとに示し、
前記(b)ステップは、
前記集積回路モデルと前記低レベルIPモデルとの対応を示す制御情報を出力するステップと、
前記低レベルIPモデルに対するシミュレーションを実行して得られた単位時間ごとの前記低レベルIPモデルの動作と前記制御情報とに基づいて前記動作情報を生成するステップと
を含む
ライブラリ作成方法。 - 請求項22または23に記載のライブラリ作成方法において、
前記(c)ステップは、
前記機能ブロックの動作時に前記素子が動作する動作回数を、前記動作情報から抽出する動作回数抽出ステップと、
前記動作回数と前記素子の一回の動作で消費される消費電力とに基づいて前記機能ブロック電力計算式を生成する計算式生成ステップと
を含む
ライブラリ作成方法。 - 請求項24に記載のライブラリ作成方法において、
前記素子は、複数のレジスタを含み、
前記機能ブロック電力計算式は、
前記複数のレジスタのそれぞれが消費する複数のレジスタ消費電力の和を示し、
前記複数の前記レジスタ消費電力のそれぞれは、
前記複数のレジスタのそれぞれの動作回数と前記複数のレジスタのそれぞれが一回の動作で消費する消費電力との積を示す
ライブラリ作成方法。 - 請求項22から25の何れか一項に記載のライブラリ作成方法で作成された
ライブラリ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007142826A JP2008299464A (ja) | 2007-05-30 | 2007-05-30 | 消費電力計算方法、消費電力計算プログラムおよび消費電力計算装置 |
US12/155,082 US20080300806A1 (en) | 2007-05-30 | 2008-05-29 | Power consumption calculating method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007142826A JP2008299464A (ja) | 2007-05-30 | 2007-05-30 | 消費電力計算方法、消費電力計算プログラムおよび消費電力計算装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008299464A true JP2008299464A (ja) | 2008-12-11 |
Family
ID=40089188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007142826A Pending JP2008299464A (ja) | 2007-05-30 | 2007-05-30 | 消費電力計算方法、消費電力計算プログラムおよび消費電力計算装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080300806A1 (ja) |
JP (1) | JP2008299464A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009271653A (ja) * | 2008-05-02 | 2009-11-19 | Fujitsu Ltd | 消費電力見積方法、回路設計支援装置及びプログラム |
JP2011013713A (ja) * | 2009-06-30 | 2011-01-20 | Fujitsu Ltd | 集積回路の消費電力検証方法 |
CN106126804A (zh) * | 2016-06-21 | 2016-11-16 | 上海无线电设备研究所 | 一种功放底层电路的行为级建模与验证方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8825464B2 (en) * | 2008-09-02 | 2014-09-02 | Oracle America, Inc. | Method and apparatus for parallelization of sequential power simulation |
US8756544B2 (en) | 2010-12-06 | 2014-06-17 | Industrial Technology Research Institute | Method for inserting characteristic extractor |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH033348A (ja) * | 1989-05-31 | 1991-01-09 | Toshiba Corp | Lsiの設計方法 |
JPH0660139A (ja) * | 1992-08-05 | 1994-03-04 | Mitsubishi Electric Corp | Mosトランジスタの論理機能ブロックの消費電力計算装置 |
JPH0721243A (ja) * | 1993-06-28 | 1995-01-24 | Matsushita Electric Ind Co Ltd | 自動設計方法及びその装置、部品生成方法及びその装置並びに設計支援方法及びその装置 |
JPH0737957A (ja) * | 1993-07-23 | 1995-02-07 | Mitsubishi Denki Semiconductor Software Kk | 消費電力推定装置 |
JPH11161692A (ja) * | 1997-11-28 | 1999-06-18 | Matsushita Electric Ind Co Ltd | 消費電力のシミュレーション方法 |
JP2001109788A (ja) * | 1999-10-12 | 2001-04-20 | Nec Corp | シミュレーションモデル、その生成方法、シミュレーション方法及びその記録媒体 |
JP2004054756A (ja) * | 2002-07-23 | 2004-02-19 | Nec Electronics Corp | 消費電力見積り装置及び方法 |
JP2005293163A (ja) * | 2004-03-31 | 2005-10-20 | Nec Electronics Corp | 消費電力計算方法及び装置 |
WO2007037017A1 (ja) * | 2005-09-29 | 2007-04-05 | Fujitsu Limited | 消費電力解析方法及び消費電力解析装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6151568A (en) * | 1996-09-13 | 2000-11-21 | Sente, Inc. | Power estimation software system |
US6671857B1 (en) * | 1999-08-18 | 2003-12-30 | Matsushita Electric Industrial Co., Ltd. | Method of designing integrated circuit device using common parameter at different design levels, and database thereof |
JP2001338010A (ja) * | 2000-05-25 | 2001-12-07 | Matsushita Electric Ind Co Ltd | 集積回路の設計方法 |
JP4082653B2 (ja) * | 2001-11-15 | 2008-04-30 | 松下電器産業株式会社 | 高位合成方法および高位合成装置 |
US7134100B2 (en) * | 2002-07-29 | 2006-11-07 | Nec Usa, Inc. | Method and apparatus for efficient register-transfer level (RTL) power estimation |
US20040186703A1 (en) * | 2003-03-20 | 2004-09-23 | Rajakrishnan Radjassamy | System and method for estimating power consumption for at least a portion of an integrated circuit |
US7725848B2 (en) * | 2005-01-27 | 2010-05-25 | Wolfgang Nebel | Predictable design of low power systems by pre-implementation estimation and optimization |
US7278120B2 (en) * | 2004-07-23 | 2007-10-02 | Synplicity, Inc. | Methods and apparatuses for transient analyses of circuits |
-
2007
- 2007-05-30 JP JP2007142826A patent/JP2008299464A/ja active Pending
-
2008
- 2008-05-29 US US12/155,082 patent/US20080300806A1/en not_active Abandoned
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH033348A (ja) * | 1989-05-31 | 1991-01-09 | Toshiba Corp | Lsiの設計方法 |
JPH0660139A (ja) * | 1992-08-05 | 1994-03-04 | Mitsubishi Electric Corp | Mosトランジスタの論理機能ブロックの消費電力計算装置 |
JPH0721243A (ja) * | 1993-06-28 | 1995-01-24 | Matsushita Electric Ind Co Ltd | 自動設計方法及びその装置、部品生成方法及びその装置並びに設計支援方法及びその装置 |
JPH0737957A (ja) * | 1993-07-23 | 1995-02-07 | Mitsubishi Denki Semiconductor Software Kk | 消費電力推定装置 |
JPH11161692A (ja) * | 1997-11-28 | 1999-06-18 | Matsushita Electric Ind Co Ltd | 消費電力のシミュレーション方法 |
JP2001109788A (ja) * | 1999-10-12 | 2001-04-20 | Nec Corp | シミュレーションモデル、その生成方法、シミュレーション方法及びその記録媒体 |
JP2004054756A (ja) * | 2002-07-23 | 2004-02-19 | Nec Electronics Corp | 消費電力見積り装置及び方法 |
JP2005293163A (ja) * | 2004-03-31 | 2005-10-20 | Nec Electronics Corp | 消費電力計算方法及び装置 |
WO2007037017A1 (ja) * | 2005-09-29 | 2007-04-05 | Fujitsu Limited | 消費電力解析方法及び消費電力解析装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009271653A (ja) * | 2008-05-02 | 2009-11-19 | Fujitsu Ltd | 消費電力見積方法、回路設計支援装置及びプログラム |
JP2011013713A (ja) * | 2009-06-30 | 2011-01-20 | Fujitsu Ltd | 集積回路の消費電力検証方法 |
CN106126804A (zh) * | 2016-06-21 | 2016-11-16 | 上海无线电设备研究所 | 一种功放底层电路的行为级建模与验证方法 |
Also Published As
Publication number | Publication date |
---|---|
US20080300806A1 (en) | 2008-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4994393B2 (ja) | 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法 | |
US7331024B2 (en) | Power-consumption calculation method and apparatus | |
US8122398B2 (en) | Conversion of circuit description to an abstract model of the circuit | |
Piccolboni et al. | COSMOS: Coordination of high-level synthesis and memory optimization for hardware accelerators | |
US20080077380A1 (en) | Power consumption peak estimation program for LSI and device therefor | |
JP2000057201A (ja) | 低電力vlsiデザインのための制限付きレジスタ共用方法及びそのシステム | |
JP2006285333A (ja) | 動作合成装置及び方法 | |
JP2007164780A (ja) | 方法、システムおよびプログラム(設計を検証する方法およびシステム) | |
JP2008299464A (ja) | 消費電力計算方法、消費電力計算プログラムおよび消費電力計算装置 | |
JP5034916B2 (ja) | 性能評価モデル生成方法、システム性能評価方法、及び性能評価モデル生成装置 | |
US7971168B1 (en) | Method for repeated block timing analysis | |
Raghunathan et al. | High-level macro-modeling and estimation techniques for switching activity and power consumption | |
US10606972B2 (en) | Method, design program, and design apparatus of a high level synthesis process of a circuit | |
US8555228B2 (en) | Tool for glitch removal | |
Engel et al. | Aspects in hardware: what do they look like? | |
US7181384B1 (en) | Method and apparatus for simulating a hybrid system with registered and concurrent nodes | |
JP2010277436A (ja) | メモリ構造決定支援装置、メモリ構造決定プログラム及び記録媒体 | |
Bachmann et al. | Efficient algorithms for multilevel power estimation of VLSI circuits | |
Deschamps et al. | Development Tools | |
WO2011007640A1 (ja) | 動作合成装置、動作合成方法、ならびに、記録媒体 | |
Azadi et al. | Extending Memory Compatibility with Yosys Front-End in VTR Flow | |
Eggenberger et al. | Fine-Grained Adaptive Simulation | |
Dömer et al. | Cycle-accurate RTL modeling with multi-cycled and pipelined components | |
Bappudi | Example Modules for Hardware-software Co-design | |
Varma et al. | Methodology for Implementing Accelerators |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100415 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111025 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111028 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120308 |