JP2004062238A - Power consumption calculating method - Google Patents

Power consumption calculating method Download PDF

Info

Publication number
JP2004062238A
JP2004062238A JP2002215629A JP2002215629A JP2004062238A JP 2004062238 A JP2004062238 A JP 2004062238A JP 2002215629 A JP2002215629 A JP 2002215629A JP 2002215629 A JP2002215629 A JP 2002215629A JP 2004062238 A JP2004062238 A JP 2004062238A
Authority
JP
Japan
Prior art keywords
power consumption
circuit
logic circuit
calculation method
target logic
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.)
Granted
Application number
JP2002215629A
Other languages
Japanese (ja)
Other versions
JP3980957B2 (en
Inventor
Masashi Yoshida
吉田 昌司
Kotaro Shimamura
島村 光太郎
Teppei Hirotsu
広津 鉄平
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2002215629A priority Critical patent/JP3980957B2/en
Publication of JP2004062238A publication Critical patent/JP2004062238A/en
Application granted granted Critical
Publication of JP3980957B2 publication Critical patent/JP3980957B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technique of calculating the power consumption of a logic circuit which is suitable for the development of an integrated circuit. <P>SOLUTION: A device is constituted by adding a measuring circuit which measures the number of signal changes of a gate to the logic circuit whose power consumption is calculated in the integrated circuit. The power consumption of the logic circuit is calculated by integrating the measured number of signal changes. The device preferably uses a reconstitutable FPGA. Consequently, the power consumption of the logic circuit can be found under conditions close to those in actual operation. Further, the power consumption can be calculated at a high speed since no simulation calculation is adopted. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は回路の消費電力算出するための技術に関する。
【0002】
【従来の技術】
近年、集積回路、特に、LSI(Large Scale Integration)の動作周波数が向上し消費電力が増大する反面、LSIを備えた情報機器の携帯化が進んでいるため、LSIの低消費電力化が求められている。LSIの低消費電力化を実現するためには、特に、LSIの開発時において、実際の稼働時のLSIあるいはLSIを構成する論理回路の消費電力を正確に算出することが重要である。
【0003】
従来、消費電力を算出する方法には、大きく分けて以下の3つが提案されている。
(1)過去の経験から平均的な信号変化率を仮定し、机上計算で消費電力を求める方法。
(2)具体的なハードウェアを用いて、電圧・電流を計測し、消費電力を算出する方法。これに分類される従来例には、特開2001−34499、特開2001−222561などがある。
(3)ソフトウェアを用いたシミュレータで消費電力を算出する方法。これに分類される従来例には、特開平5−126872、特開平8−314992、特開平10−186001、特開2000−242676、特開2001−265847、特開2001−350815など、多くの例がある。
【0004】
【発明が解決しようとする課題】
上記従来技術のうち、(1)の机上計算で消費電力を求める方法は、平均的な信号変化率を仮定するため、実際の稼働時とは異なる条件で算出され、誤差が大きいという問題がある。
【0005】
(2)のハードウェアを用いて消費電力を求める方法は、実際の稼働時に近い条件で消費電力を求めることができるが、電圧・電流を計測を行なうため実際のハードウェアを作成しなければならず、省電力削減のための設計変更に手間がかかるという問題がある。また、電圧・電流を計測する必要から、ハードウェア内における論理回路の消費電力の内訳を把握しにくいという問題もある。
【0006】
(3)のソフトウェアを用いたシミュレータで消費電力を算出する方法は、精度は高くなるが、一般に、消費電力の算出に時間がかかってしまい、非常に短時間稼動した際の消費電力しか求められないという問題があった。この場合、典型的な場合の消費電力を求めたとしても、動作条件が異なる場合に消費電力がどう変化するか十分に見極めができない。このため、実際に製造されたLSIを用いて消費電力を測ると、期待通りの値が得られず、設計し直しが必要となる場合が起こり得る。
【0007】
本発明の目的は、集積回路の開発時に好適な、消費電力を算出する技術を提供することにある。
【0008】
【課題を解決するための手段】
上記課題を解決するため、本発明によれば、
消費電力を算出すべき対象論理回路に、前記対象論理回路を構成するゲートの信号変化数を計測する計測回路を付加した回路を構成し、
計測された信号変化数に基づいて前記対象論理回路の消費電力を算出することを特徴とする消費電力算出方法が提供される。
【0009】
ここで、前記計測回路を付加した回路は、フィールド・プログラマブル・ゲート・アレイ(FPGA)等の再構成可能なデバイスの中に構成することができる。
【0010】
【発明の実施の形態】
まず、消費電力算出の理論について簡単に説明する。論理回路の基本構成となっているCMOSのゲート当たりの消費電力は、一般に、「数1」のように表せることが知られている。(出典:桜井貴康編、「低消費電力、高速LSI技術」、株式会社リアライズ社、1998年)
【0011】
【数1】

Figure 2004062238
【0012】
ここで、pはスイッチング確率、fCLKはクロック周波数、Cは負荷容量、Vは信号振幅、VDDは電源電圧、ISCは貫通電流平均値、ΔtSCは貫通電流が流れる時間、IDCは直流電流、ILEAKはリーク電流をそれぞれ表している。また、ゲートは、AND回路、OR回路、フリップフロップ等の基本素子を意味するものとする。これらのゲートが複数組み合わされることにより、論理回路を構成する。そして、1または複数の論理回路によりLSI等の集積回路が構成されるものとする。
【0013】
「数1」で、第1項は負荷の充放電に要する消費電力、第2項はゲートがスイッチングするときに流れる貫通電流による消費電力、第3項は直流電流による消費電力、第4項はリーク電流による消費電力である。
【0014】
これらのパラメータのうち、スイッチング確率pは、集積回路を制御するプログラムにしたがって実際に集積回路を動作させてみないとわからない性質を持つ。他のパラメータは、集積回路を動作させなくても、静的に算出可能である。したがって、回路の消費電力を算出する際には、ゲートごとのスイッチング確率をいかに精度よく求めるかが重要となる。
【0015】
「数1」をスイッチング確率pでまとめると、
【0016】
【数2】
Figure 2004062238
となる。
【0017】
ここで、
【0018】
【数3】
Figure 2004062238
【0019】
【数4】
Figure 2004062238
【0020】
とおくことにより、
【0021】
【数5】
Figure 2004062238
となる。
【0022】
ここで、ある特定の計測サイクル数Tにおける、ゲートの信号変化数をtとすると、
【0023】
【数6】
Figure 2004062238
したがって、
【0024】
【数7】
Figure 2004062238
となる。
【0025】
対象論理回路にn個のゲートが含まれるとき、各ゲートの出力信号の信号変化数をt (i=1,2,…,n)とし、a、bはゲートにより変わらないとすれば、
【0026】
【数8】
Figure 2004062238
【0027】
となる。「数8」は、すべてのゲートで平均的な負荷容量を仮定することになるので、厳密なものではないが、一般的によく使われている。
【0028】
また、aもゲートにより変わるとし、a(i=1,2,…,n)とすれば、
【0029】
【数9】
Figure 2004062238
【0030】
となる。「数9」は、信号変化数tを、ゲートごとに異なる負荷容量を含むaで重み付けして集計していることになる。
【0031】
上記の理論に基づいた本発明の実施形態について図面を参照して説明する。
【0032】
本発明の第1の実施形態は、a、bを定数とみなし、「数8」を用いるものである。
【0033】
図1は、本発明の第1の実施形態の全体構成を示すブロック図である。
【0034】
本図に示すように、本実施形態は、FPGA(Field Programmable Gate Array)100と、FPGA100と、インタフェース変換部110と、計算機120と、表示画面130とで構成することができる。FPGA100とインタフェース変換部110とは、インタフェース100aおよび110aを介して接続され、インタフェース変換部110と計算機120とは、インタフェース110bおよび120aを介して接続される。
【0035】
FPGA100は、利用者がプログラミングすることのできるLSIであり、機能を自由に再設定できるようになっているので、リセットすることで何度も回路を定義し直せる再構成可能なデバイスである。
【0036】
本実施形態では、計算機120上で、FPGA100に構成すべきネットリスト(ゲートレベルの論理回路)を作成し、インタフェース120a、インタフェース変換部110、インタフェース110aを介して、FPGA100上にダウンロードする。そして、FPGA100の論理を動作させるのに必要なプログラムなどのデータをインタフェース120a、インタフェース変換部110、インタフェース110aを介して、FPGA100上に書き込み、FPGA100を動作させる。FPGA100の動作中または動作後に、データをインタフェース100a、インタフェース変換部110、インタフェース110bを介して、計算機120上に読み出し、必要に応じて表示画面130にデータを表示させる。
【0037】
なお、ネットリストの作成、ネットリストのFPGA100上へのダウンロード等の計算機120上における処理は、FPGA向けに開発された汎用のツール等を用いて行なうことができる。
【0038】
図2は、FPGA100の中に構成する論理回路の例を示すブロック図である。FPGA100で動作させる論理回路は、消費電力算出の対象となる対象論理回路200と、消費電力算出論理回路201とを備えて構成される。ここで、対象論理回路200は、消費電力の算出を希望するゲートの集まりとすることができる。
【0039】
対象論理回路200は、例えば、論理回路200を構成するゲートの一つとしてフリップフロップ210を含むとする。このフリップフロップ210の動作は、クロックイネーブルCEが1のとき、クロック200kの変化のタイミングで、入力データ200dを出力データ200qに出力する。クロックイネーブル200eが0のとき、出力データ200qは変化せず、現在の値を保持する。
【0040】
消費電力算出論理回路201は、信号変化計測回路220、加算回路230、信号変化数レジスタ240、電力換算回路250、加算器260、計測サイクル数レジスタ270、算出制御回路280を備えて構成される。
【0041】
信号変化計測回路220は、フリップフロップ210の入出力信号200d、200e、200k、200qを入力し、「数8」のtに対応する信号変化数220aを出力する。信号変化計測回路220は、対象論理回路200に含まれるゲート対応に設けられる。
【0042】
加算回路230は、それぞれの信号変化計測回路220から出力される信号変化数を加算し、信号変化数レジスタ240に合計数を積算する。したがって、信号変化数レジスタ240の出力240aは「数8」の
【0043】
【数10】
Figure 2004062238
【0044】
に対応する。
【0045】
算出制御回路280は、操作者の設定等に基づいて消費電力算出期間中は1を出力し、それ以外は0を出力するように構成する。したがって、加算器260の結果を入力する計測サイクル数レジスタ270には、消費電力算出期間中はカウントアップした値が入り、それ以外はカウントアップしない値が入るので、計測サイクル数レジスタ270の出力270aは、「数8」のTに対応する計測サイクル数となる。
【0046】
電力換算回路250は、「数8」の
【0047】
【数11】
Figure 2004062238
に対応する信号変化数240aと、「数8」のTに対応する計測サイクル数270aを入力し、「数8」にしたがって、Pを計算する。
【0048】
このようにして、消費電力算出論理回路201は、「数8」に基づいて、ハードウェア的に消費電力を算出する。
【0049】
図3は、信号変化計測回路220の構成例を示すブロック図である。
【0050】
本図において、信号変化計測回路220は、排他的論理和300と、論理積310とを備えて構成される。この回路が表す論理を式で示すと、
【0051】
【数12】
Figure 2004062238
となる。
【0052】
つまり、クロックイネーブル200eが1で、かつ信号200d(フリップフロップ210の入力信号)が、信号200q(フリップフロップ210の出力信号)と異なっているとき、信号200qの値が反転して、信号変化計測回路220の出力信号の変化が発生する。すなわち、フリップフロップ210で信号変化が発生したとき、出力220aは1となり、信号変化が発生しないとき、出力220aは0となる。
【0053】
本発明の第1の実施形態における消費電力算出処理の工程について図4のフロー図を参照して説明する。以下では、製造対象としてLSIを例に説明する。
【0054】
本図に示すように、本実施形態における消費電力算出処理は、従来のLSI製造工程401と、消費電力算出工程400とからなる。
【0055】
従来のLSI製造工程401は、まず、図2における対象論理回路200をレジスターおよびレジスター間の組み合わせで表現した記述レベルであるRTL(register transfer level)データ405と合成制約データ406とから、論理合成ツールを用いて論理合成処理407を行ない、ゲートの接続関係を示すネットリスト408を生成する。
【0056】
つぎに、生成されたネットリスト408と配置配線制約データ409とから、配置配線ツールを用いて配置配線処理410を行ない、ゲートの配置、ゲート間の配線等を表す配置配線後ネットリスト411を生成する。
【0057】
そして、この配置配線後ネットリスト411に基づいて実際のLSI412を製造する。
【0058】
消費電力算出工程400は、従来のLSI製造工程401で、ネットリスト408が生成された段階で、「数8」におけるaおよびbの情報を含むセルライブラリ440を参照しながら、算出論理追加処理430を行い、算出論理付ネットリスト450を生成する。ここで、算出論理追加処理430は、ネットリスト408に、図2における算出論理回路201を表す算出論理ネットリスト420を追加する処理である。
【0059】
この算出論理付ネットリスト450から、FPGA合成ツールを用いて、FPGA合成処理460を行ない、FPGAネットリスト470を生成する。そして、このFPGAネットリスト470を、FPGA480にダウンロードして書き込む。
【0060】
このFPGA480を動作させることで、消費電力算出処理490を行うことができる。求められた消費電力は、図1のインタフェース110a、インタフェース変換部110、インタフェース110bを介して計算機120に入力し、表示画面130に表示する。
【0061】
その後、消費電力を削減する必要がある場合には、RTL405、合成制約データ406を、消費電力が削減するように修正する。そして、修正したRTL405、合成制約データ406を用いた論理合成処理407によるネットリスト408生成までの工程および算出論理追加処理430から消費電力算出処理490までの工程を再度行なうことで、RTL405、合成制約データ406の修正により消費電力が削減したかを確認することができる。もちろん、これらの工程は、何度も繰り返すことができる。
【0062】
一方、消費電力を削減する必要がない場合には、配置配線処理410で生成された配置配線後ネットリスト411に基づいて、実際にLSI412を製造する。このようにして、本実施形態によれば、LSIの製造前に、FPGA480を用いて消費電力を確認することが可能となる。
【0063】
このとき、消費電力の削減を確認する工程を繰り返すことにより、消費電力を削減した論理回路を合成することができる。
【0064】
なお、本発明の第1の実施形態において、図3に示した信号変化計測回路220は、図5に示すような構成とすることもできる。本図において、信号変化計測回路220’は、レジスタ500と、排他的論理和510とを備えて構成される。
【0065】
レジスタ500は、出力信号200qを1サイクル保持する。排他的論理和510は、1サイクル保持した信号と、もともとの出力信号200qとが異なっているとき1を出力するようになっている。このため、出力220aは、出力信号200qの信号変化が発生したときのみ1となる。
【0066】
このように、信号変化計測回路220は、200dおよび200eを用いない構成とすることもできる。また、その他にもいろいろな実現方法が可能である。
【0067】
なお、本実施形態では、再構成可能なデバイスとしてFPGAを用いたが、本発明は、FPGAに限らず適用することができる。さらには、理論上は、LSIに置き換えることもできる。この場合は、ネットリスト470をLSI上に実現する。
【0068】
つぎに、本発明の第2の実施形態について説明する。
【0069】
本発明の第2の実施形態は、負荷容量を含むaがゲートごとに異なると考えた場合の例で、「数9」を用いるものである。
【0070】
第2の実施形態の全体構成は、図1のブロック図に示したように第1の実施形態と同様とすることができる。
【0071】
図6は、第2の実施形態におけるFPGA100の中に構成する論理回路の例を示すブロック図である。図2に示した第1の実施形態と同様に、消費電力算出の対象となる対象論理回路200と、消費電力算出論理回路601とを備えて構成される。
【0072】
対象論理回路200は、第1の実施形態と同様に、論理回路200を構成するゲートの一つとしてフリップフロップ210を含むとする。
【0073】
消費電力算出論理回路601は、消費電力計測回路620、加算回路630、消費電力レジスタ640、電力換算回路650、加算器260、計測サイクル数レジスタ270、算出制御回路280を備えて構成される。
【0074】
消費電力計測回路620は、フリップフロップ210の入出力信号200d、200e、200k、200qを入力し、消費電力を算出して、出力信号620aとして出力する。この消費電力は、「数9」のa・tに対応する。なお、消費電力計測回路620は、対象論理回路200に含まれるゲート対応に設けられる。
【0075】
加算回路630は、消費電力計測回路620が出力するそれぞれのゲートの消費電力を加算し、消費電力レジスタ640に合計を積算する。したがって、消費電力レジスタ640の出力640aは、「数9」の
【0076】
【数13】
Figure 2004062238
に対応する。
【0077】
算出制御回路280は、操作者の設定等に基づいて消費電力算出期間中は1を出力し、それ以外は0を出力するように構成する。したがって、加算器260、計測サイクル数レジスタ270は、消費電力算出期間中はカウントアップし、それ以外はカウントアップしない。このため、計測サイクル数レジスタ270は、「数9」のTに対応する計測サイクル数を出力する。
【0078】
電力換算回路250は、「数9」の
【0079】
【数14】
Figure 2004062238
に対応する消費電力640aと、「数9」のTに対応する270aとを入力し、「数9」にしたがって、Pを計算する。
【0080】
このようにして、消費電力算出論理回路601は、「数9」に基づいて、ハードウェア的に消費電力を算出する。
【0081】
図7は、消費電力計測回路620の構成例を示すブロック図である。
【0082】
本図において、消費電力計測回路620は、信号変化計測回路220と、単位サイクルあたりの消費電力レジスタ700と、セレクタ710とを備えて構成される。
【0083】
信号変化計測回路220は、図3(符号220)または図5(符号220’)に示した例と同様に構成することができる。
【0084】
単位サイクルあたりの消費電力レジスタ700には、「数9」のaに対応する数値が保持されている。これは、あらかじめ計算、実測等で求めておき、個々のゲートごとに値を設定しておく。
【0085】
そして、信号変化計測回路220の出力である信号変化数220aが1のときは、単位サイクルあたりの消費電力レジスタ700が、消費電力計測回路620の出力620aとして選択される。一方、信号変化計測回路220の出力である信号変化数220aが0のときは、0の値が消費電力計測回路620の出力620aとして選択される。
【0086】
このようにして、消費電力計測回路620は、a・tに対応する消費電力620aを出力することになる。
【0087】
本発明の第2の実施形態における消費電力算出処理の工程について図8のフロー図を参照して説明する。
【0088】
本図に示すように、本実施形態における消費電力算出処理は、従来のLSI製造工程401と、消費電力算出工程800とからなる。
【0089】
従来のLSI製造工程401は、図4に示した第1の実施形態と同様である。
【0090】
消費電力算出工程800は、従来のLSI製造工程401で、配置配線後ネットリスト411が生成された段階で、「数9」におけるaおよびbの情報を含むセルライブラリ840を参照しながら、算出論理追加処理830を行い、算出論理付ネットリスト850を生成する。ここで、算出論理追加処理830は、配置配線後ネットリスト411に、図6における算出論理回路601を表す算出論理ネットリスト820を追加する処理である。
【0091】
この算出論理付ネットリスト850から、FPGA合成ツールを用いて、FPGA合成処理860を行ない、FPGAネットリスト870を生成する。そして、このFPGAネットリスト870を、FPGA880にダウンロードして書き込む。
【0092】
このFPGA880を動作させることで、消費電力算出890を行なうことができる。求められた消費電力は、図1のインタフェース110a、インタフェース変換部110、インタフェース110bを介して計算機120に入力し、表示画面130に表示する。
【0093】
その後、消費電力を削減する必要がある場合には、RTL405、合成制約データ406、配置配線制約409を、消費電力を削減するように修正する。そして、修正後のRTL405等を用いた配置配線後ネットリスト411生成までの工程および算出論理追加830から消費電力算出890の工程を再度行なうことで、RTL405、合成制約データ406、配置配線制約409の修正により消費電力が削減したかを確認することができる。もちろん、これらの工程は、何度も繰り返すことができる。
【0094】
一方、消費電力を削減する必要がない場合には、配置配線処理410で生成された配置配線後ネットリスト411に基づいて実際にLSI412を製造する。
【0095】
このようにして、本実施形態によれば、LSIの製造前に、FPGA880を用いて消費電力を確認することが可能となる。このとき、消費電力の削減を確認する工程を繰り返すことにより、消費電力を削減した論理回路を合成することができる。
【0096】
また、本実施形態によれば、前記信号変化数を、負荷容量に基づいて重み付けして集計することができ、より厳密に対象論理回路200の消費電力を算出することが可能となる。
【0097】
つぎに、本発明の第3の実施形態について説明する。
【0098】
第3の実施形態の全体構成は、図1のブロック図に示したように第1の実施形態と同様とすることができる。
【0099】
図9は、第3の実施形態におけるFPGA100の中に構成する論理回路の例を示すブロック図である。図2に示した第1の実施形態と同様に、消費電力算出の対象となる対象論理回路200と、消費電力算出論理回路901とを備えて構成される。
【0100】
本実施形態において、対象論理回路200は、フリップフロップ210、211を含むとする。
【0101】
消費電力算出論理回路901は、信号変化計測回路220、221、セレクタ910、930、信号変化数レジスタ920、940、算出制御回路280、選択情報レジスタ950を備えて構成される。
【0102】
選択情報レジスタ950は、消費電力算出するときには、セレクタ910、930が、本図において上側の入力信号を選択するように制御し、信号変化数レジスタ920、940に信号変化数が保持されるようにする。その後、選択情報レジスタ950を、セレクタ910、930が本図において下側の入力信号を選択するように制御することで、信号変化数レジスタ920、940に保持される情報を順にシフトして読み出すようになっている。これにより読み出す信号変化数レジスタ920、940を選択することができる。この制御は、例えば、計算機120から行なうことができる。
【0103】
読み出された信号変化数は、図1のインタフェース100a、インタフェース変換部110、インタフェース110aを介して、計算機120に入力する。計算機120では、第1の実施形態で示したような加算積算および電力換算の処理を施すことで、消費電力に換算する。
【0104】
つまり、本実施形態によれば、図2における加算回路230、信号変化数レジスタ240、電力換算回路250の部分を計算機120上のソフトウェアで実現するものである。このとき、選択情報レジスタ950を制御することにより、読み出す信号変化数レジスタを特定することができるため、対象論理回路200に含まれるゲートごとの消費電力も容易に取得することができる。
【0105】
つぎに、本発明の第4の実施形態について説明する。
【0106】
第4の実施例は、全体構成は図1と同様、信号変化計測回路220の構成例は図2と同様である。
【0107】
第4の実施形態の全体構成は、図1のブロック図に示したように第1の実施形態と同様とすることができる。また、信号変化計測回路220の構成も図2のブロック図に示したように第1の実施形態と同様とすることができる。
【0108】
本発明の第4の実施形態における消費電力算出処理の工程について図10のフロー図を参照して説明する。
【0109】
本図に示すように、本実施形態における消費電力算出処理は、従来のLSI製造工程413と、消費電力算出工程1000とからなる。
【0110】
従来のLSI製造工程413は、仕様データ402、高位合成制約データ403から高位合成ツールを用いて高位合成処理404を行って、RTL405を出力する。RTL405および合成制約データ406から、論理合成ツールを用いて論理合成処理407を行ない、ゲートの接続関係を示すネットリスト408を生成する。
【0111】
つぎに、生成されたネットリスト408と配置配線制約データ409とから、配置配線ツールを用いて配置配線処理410を行ない、ゲートの配置、ゲート間の配線等を表す配置配線後ネットリスト411を生成する。
【0112】
そして、この配置配線後ネットリスト411に基づいて実際のLSI412を製造する。
【0113】
消費電力算出工程1000は、従来のLSI製造工程413で、RTL405が生成された段階で、「数8」におけるaおよびbの情報を含むセルライブラリ1040を参照しながら、算出論理追加処理1030を行ない、算出論理付RTL1050を生成する。ここで、算出論理追加処理1030は、RTL405に、算出論理のRTLを表す算出論理RTL1020を追加する処理である。
【0114】
この算出論理付RTL1050から、FPGA合成ツールを用いて、FPGA合成処理1060を行ない、FPGAネットリスト1070を生成する。そして、このFPGAネットリスト1070を、FPGA1080にダウンロードして書き込む。
【0115】
このFPGA1080を動作させることで、消費電力算出1090を行なうことができる。求められた消費電力は、図1のインタフェース100a、インタフェース変換部110、インタフェース110bを介して計算機120に入力し、表示画面130に表示する。
【0116】
その後、消費電力を削減する必要がある場合には、仕様データ402、高位合成制約データ403、RTL405を、消費電力を削減するように修正する。そして、算出論理追加処理1030から消費電力算出処理1090までの工程を再度行なうことで、仕様データ402、高位合成制約データ403、RTL405の修正により消費電力が削減したかを確認することができる。もちろん、これらの工程は何度も繰り返すことができる。
【0117】
一方、消費電力を削減する必要が生じない場合には、論理合成処理407以降の処理を行ない、配置配線処理410で生成された配置配線後ネットリスト411に基づいて、実際にLSI412を製造する。このようにして、本実施形態によれば、LSIの製造前に、RTL記述上で算出論理を追加し、FPGA1080を用いて消費電力を算出することができる。
【0118】
このとき、消費電力の削減を確認する工程を繰り返すことにより、消費電力を削減したRTLを合成する高位合成処理を行なうことができる。
【0119】
つぎに、本発明の第5の実施形態について説明する。
【0120】
図11は、本発明の第5の実施形態の構成を示すブロック図である。本実施形態は、第1の実施形態における対象論理回路200をCPUとしたときの算出制御回路280の構成を示したものである。
【0121】
CPUを構成する技術はよく知られており、例えば、パターソン&ヘネシー著、成田光彰訳、「コンピュータの構成と設計」、日経BP社、p.245に記載されている。
【0122】
対象論理回路200Aは、プログラムカウンタ1100、命令メモリ1101、レジスタ1102、ALU1103、データメモリ1104を備えて構成される。
【0123】
プログラムカウンタ1100からはプログラムアドレス1101aが出力される。プログラムアドレス1101aが示すアドレスの内容を命令メモリ1101から読み出すことで、命令コード1101aが出力される。
【0124】
命令コード1101aに含まれるレジスタ番号によりレジスタ1202のデータがALU1203で演算され、データアドレス1103aとなる。
【0125】
データアドレス1103aが示すアドレスの内容をデータメモリ1204から読み出すことで、データが出力され、レジスタ1202に格納される。
【0126】
算出制御回路280Aは、データ領域検出手段1110、プログラム領域検出手段1120、データアドレス検出手段1130、命令検出手段1140の4つのイベント検出手段と、選択情報レジスタ1150、セレクタ1160とを備えて構成される。
【0127】
データ領域検出手段1110は、スタートレジスタ1115、比較器1111、エンドレジスタ1112、比較器1113、論理積1114を備えており、信号1110aを出力する。
【0128】
信号1110aは、データアドレス1103aがスタートレジスタ1110のスタートアドレスからエンドレジスタ1112のエンドアドレスまでの間に含まれるときに1となる。これにより、データアドレス1103aが、スタートアドレスからエンドアドレスまでの特定の範囲にあるときの消費電力算出することができる。
【0129】
プログラム領域検出手段1120は、スタートレジスタ1125、比較器1121、エンドレジスタ1122、比較器1123、論理積1124を備えており、信号1120aを出力する。
【0130】
信号1120aは、プログラムアドレス1100aがスタートレジスタ1130のスタートアドレスからエンドレジスタ1132のエンドアドレスまでの間に含まれるときに1となる。これにより、プログラムアドレス1100aがスタートアドレスからエンドアドレスまでの特定の範囲にあるとき、つまり特定の関数についての消費電力を算出することができる。
【0131】
データアドレス検出手段1130は、アドレスレジスタ1132、比較器1131を備えており、信号1130aを出力する。
【0132】
信号1130aは、データアドレス1103aがアドレスレジスタ1132のアドレスに一致するときに1となる。これにより、データアドレス1103aが特定の番地にあるとき、つまり特定の変数をアクセスしているときの消費電力を算出することができる。
【0133】
命令検出手段1140は、命令レジスタ1142、比較器1141を備えており、信号1140aを出力する。
【0134】
信号1140aは、命令コード1101aが命令レジスタ1142の命令コードに一致するときに1となる。これにより、ある特定の命令における消費電力を算出することができる。
【0135】
算出制御回路280Aの出力280aは、上述のように、消費電力算出期間中は1を出力し、それ以外は0を出力する信号であるが、選択情報レジスタ1150の情報により、4種類の制御信号1110a、1120a、1130a、1140aから、対象とする制御信号を選択する。
【0136】
選択情報レジスタ1150は、例えば、計算機120から制御することができる。これにより、種々の算出条件下で、消費電力の算出を行なうことができる。
【0137】
以上のように、本発明による消費電力算出方法は、消費電力算出対象の論理回路にゲートの信号変化数を計測する回路を付加してデバイスを構成し、計測された信号変化数に基づいて消費電力を算出するため、実際の稼働時に近い条件で論理回路の消費電力を求めることができる。また、シミュレーション計算によらず、ハードウェアを用いて算出するために、消費電力を高速に算出することができる。さらに、FPGA等の再構成可能なデバイスを用いることで、開発時における設計変更の負担を削減することができる。また、論理回路ごとに信号変化数を取得可能なため、集積回路内における消費電力の内訳を把握することができる。
【0138】
【発明の効果】
本発明によれば、集積回路の開発時に好適な、論理回路の消費電力を算出する技術が提供される。
【図面の簡単な説明】
【図1】は、第1の実施形態の全体構成を示すブロック図である。
【図2】は、第1の実施形態におけるFPGA100の中に構成する論理回路の例を示すブロック図である。
【図3】は、第1の実施形態における信号変化計測回路220の構成例を示すブロック図である。
【図4】は、第1の実施形態における消費電力算出処理の工程について説明するためのフロー図である。
【図5】は、信号変化計測回路220の別構成例を示すブロック図である。
【図6】は、第2の実施形態におけるFPGA100の中に構成する論理回路の例を示すブロック図である。
【図7】は、第2の実施形態における消費電力計測回路620の構成例を示すブロック図である。
【図8】は、第2の実施形態における消費電力算出処理の工程について説明するためのフロー図である。
【図9】は、第3の実施形態におけるFPGA100の中に構成する論理回路の例を示すブロック図である。
【図10】は、第4の実施形態における消費電力算出処理の工程について説明するためのフロー図である。
【図11】は、第5の実施形態における算出制御回路280の構成を示すブロック図である。
【符号の説明】
110…インタフェース変換部
120…計算機
130…表示画面
200…対象論理回路
201…消費電力算出論理回路
210…フリップフロップ
220…信号変化計測回路
230…加算回路
240…信号変化数レジスタ
250…電力換算回路
260…加算器
270…計測サイクル数レジスタ
280…算出制御回路
620…消費電力計測回路
630…加算回路
640…消費電力レジスタ
650…電力換算回路
700…消費電力レジスタ
901…消費電力算出論理回路
920…信号変化数レジスタ
950…選択情報レジスタ[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a technique for calculating power consumption of a circuit.
[0002]
[Prior art]
In recent years, the operating frequency of an integrated circuit, particularly, an LSI (Large Scale Integration) has been improved and the power consumption has been increased. On the other hand, information devices including the LSI have been increasingly portable, so that low power consumption of the LSI is required. ing. In order to reduce the power consumption of the LSI, it is important to accurately calculate the power consumption of the LSI or a logic circuit constituting the LSI during actual operation, particularly during development of the LSI.
[0003]
Conventionally, the following three methods have been proposed for calculating power consumption.
(1) A method of assuming an average signal change rate from past experience and calculating power consumption by desktop calculation.
(2) A method of measuring voltage and current using specific hardware to calculate power consumption. Conventional examples classified into this include JP-A-2001-34499 and JP-A-2001-222561.
(3) A method of calculating power consumption by a simulator using software. Conventional examples classified into this include many examples such as JP-A-5-126873, JP-A-8-314992, JP-A-10-186001, JP-A-2000-242676, JP-A-2001-265847, and JP-A-2001-350815. There is.
[0004]
[Problems to be solved by the invention]
Among the above-mentioned prior arts, the method of calculating the power consumption by the desktop calculation of (1) has a problem that the average signal change rate is assumed, so that the calculation is performed under conditions different from those in the actual operation, and the error is large. .
[0005]
In the method of (2) for calculating power consumption using hardware, power consumption can be obtained under conditions close to actual operation, but actual hardware must be created to measure voltage and current. However, there is a problem that it takes time to change the design for reducing power consumption. Further, there is a problem that it is difficult to grasp the breakdown of the power consumption of the logic circuit in the hardware because it is necessary to measure the voltage and the current.
[0006]
The method of calculating the power consumption by the simulator using software of (3) has high accuracy, but generally requires a long time to calculate the power consumption, and only requires the power consumption when the operation is performed for a very short time. There was no problem. In this case, even if the power consumption in a typical case is obtained, it is not possible to sufficiently determine how the power consumption changes under different operating conditions. For this reason, when power consumption is measured using an actually manufactured LSI, a value as expected cannot be obtained, and a case where redesign is required may occur.
[0007]
An object of the present invention is to provide a technique for calculating power consumption, which is suitable when developing an integrated circuit.
[0008]
[Means for Solving the Problems]
To solve the above problems, according to the present invention,
A circuit in which a measurement circuit for measuring the number of signal changes of a gate constituting the target logic circuit is added to a target logic circuit for which power consumption is to be calculated,
A power consumption calculating method is provided, wherein the power consumption of the target logic circuit is calculated based on the measured number of signal changes.
[0009]
Here, the circuit to which the measurement circuit is added can be configured in a reconfigurable device such as a field programmable gate array (FPGA).
[0010]
BEST MODE FOR CARRYING OUT THE INVENTION
First, the theory of power consumption calculation will be briefly described. It is known that the power consumption per gate of a CMOS, which is a basic configuration of a logic circuit, can be generally expressed as “Equation 1”. (Source: Takayasu Sakurai, "Low Power Consumption, High Speed LSI Technology", Realize Inc., 1998)
[0011]
(Equation 1)
Figure 2004062238
[0012]
Where p t Is the switching probability, f CLK Is the clock frequency, C L Is the load capacity, V s Is the signal amplitude, V DD Is the power supply voltage, I SC Is the average through current, Δt SC Is the time for the through current to flow, I DC Is the direct current, I LEAK Represents the leak current. The gate means a basic element such as an AND circuit, an OR circuit, and a flip-flop. A logic circuit is formed by combining a plurality of these gates. It is assumed that an integrated circuit such as an LSI is configured by one or a plurality of logic circuits.
[0013]
In Equation 1, the first term is the power consumption required for charging / discharging the load, the second term is the power consumption due to the through current flowing when the gate is switched, the third term is the power consumption due to the DC current, and the fourth term is Power consumption due to leakage current.
[0014]
Of these parameters, the switching probability p t Has a property that cannot be understood unless the integrated circuit is actually operated according to a program for controlling the integrated circuit. Other parameters can be calculated statically without operating the integrated circuit. Therefore, when calculating the power consumption of a circuit, it is important how to accurately determine the switching probability for each gate.
[0015]
"Equation 1" is the switching probability p t In summary,
[0016]
(Equation 2)
Figure 2004062238
It becomes.
[0017]
here,
[0018]
[Equation 3]
Figure 2004062238
[0019]
(Equation 4)
Figure 2004062238
[0020]
By setting
[0021]
(Equation 5)
Figure 2004062238
It becomes.
[0022]
Here, assuming that the number of signal changes of the gate in a certain number of measurement cycles T is t,
[0023]
(Equation 6)
Figure 2004062238
Therefore,
[0024]
(Equation 7)
Figure 2004062238
It becomes.
[0025]
When the target logic circuit includes n gates, the number of signal changes of the output signal of each gate is represented by t i (I = 1, 2,..., N), and if a and b are not changed by the gate,
[0026]
(Equation 8)
Figure 2004062238
[0027]
It becomes. Although “Equation 8” assumes an average load capacitance at all gates, it is not strictly used, but is generally used.
[0028]
Also, it is assumed that a also changes depending on the gate, and a i (I = 1, 2,..., N)
[0029]
(Equation 9)
Figure 2004062238
[0030]
It becomes. “Equation 9” is the signal change number t. i With a different load capacitance for each gate i Is calculated by weighting with.
[0031]
An embodiment of the present invention based on the above theory will be described with reference to the drawings.
[0032]
In the first embodiment of the present invention, “a” and “b” are regarded as constants, and “Equation 8” is used.
[0033]
FIG. 1 is a block diagram showing the overall configuration of the first embodiment of the present invention.
[0034]
As shown in the figure, the present embodiment can be configured by an FPGA (Field Programmable Gate Array) 100, an FPGA 100, an interface conversion unit 110, a computer 120, and a display screen 130. The FPGA 100 and the interface converter 110 are connected via interfaces 100a and 110a, and the interface converter 110 and the computer 120 are connected via interfaces 110b and 120a.
[0035]
The FPGA 100 is an LSI that can be programmed by a user, and is a reconfigurable device whose functions can be freely reconfigured, so that the circuit can be redefined many times by resetting.
[0036]
In the present embodiment, a netlist (a gate-level logic circuit) to be configured in the FPGA 100 is created on the computer 120 and downloaded to the FPGA 100 via the interface 120a, the interface converter 110, and the interface 110a. Then, data such as a program necessary for operating the logic of the FPGA 100 is written on the FPGA 100 via the interface 120a, the interface converter 110, and the interface 110a, and the FPGA 100 is operated. During or after the operation of the FPGA 100, the data is read out to the computer 120 via the interface 100a, the interface conversion unit 110, and the interface 110b, and the data is displayed on the display screen 130 as necessary.
[0037]
Processing on the computer 120, such as creation of a netlist and downloading of the netlist to the FPGA 100, can be performed using a general-purpose tool or the like developed for the FPGA.
[0038]
FIG. 2 is a block diagram illustrating an example of a logic circuit configured in the FPGA 100. The logic circuit operated by the FPGA 100 includes a target logic circuit 200 for which power consumption is to be calculated, and a power consumption calculation logic circuit 201. Here, the target logic circuit 200 can be a group of gates whose power consumption is to be calculated.
[0039]
Assume that the target logic circuit 200 includes, for example, a flip-flop 210 as one of the gates included in the logic circuit 200. The operation of the flip-flop 210 outputs the input data 200d to the output data 200q at the timing of the change of the clock 200k when the clock enable CE is 1. When the clock enable 200e is 0, the output data 200q does not change and holds the current value.
[0040]
The power consumption calculation logic circuit 201 includes a signal change measurement circuit 220, an addition circuit 230, a signal change number register 240, a power conversion circuit 250, an adder 260, a measurement cycle number register 270, and a calculation control circuit 280.
[0041]
The signal change measuring circuit 220 inputs the input / output signals 200d, 200e, 200k, and 200q of the flip-flop 210, and calculates t of “Equation 8”. i Is output. The signal change measurement circuit 220 is provided corresponding to a gate included in the target logic circuit 200.
[0042]
The adder circuit 230 adds the number of signal changes output from each signal change measuring circuit 220, and integrates the total number in the signal change number register 240. Therefore, the output 240a of the signal change number register 240 is
[0043]
(Equation 10)
Figure 2004062238
[0044]
Corresponding to
[0045]
The calculation control circuit 280 is configured to output 1 during the power consumption calculation period based on the setting of the operator or the like, and output 0 otherwise. Therefore, the value counted up during the power consumption calculation period is input to the measurement cycle number register 270 to which the result of the adder 260 is input, and the value not counted up otherwise is input. Therefore, the output 270a of the measurement cycle number register 270 is input. Is the number of measurement cycles corresponding to T in “Equation 8”.
[0046]
The power conversion circuit 250 calculates
[0047]
[Equation 11]
Figure 2004062238
Is input, and the number of measurement cycles 270a corresponding to T in “Equation 8” is input, and P is calculated according to “Equation 8”.
[0048]
In this way, the power consumption calculation logic circuit 201 calculates the power consumption by hardware based on “Equation 8”.
[0049]
FIG. 3 is a block diagram illustrating a configuration example of the signal change measurement circuit 220.
[0050]
In the figure, the signal change measuring circuit 220 includes an exclusive OR 300 and a logical product 310. When the logic represented by this circuit is expressed by an equation,
[0051]
(Equation 12)
Figure 2004062238
It becomes.
[0052]
That is, when the clock enable 200e is 1 and the signal 200d (the input signal of the flip-flop 210) is different from the signal 200q (the output signal of the flip-flop 210), the value of the signal 200q is inverted and the signal change is measured. A change in the output signal of circuit 220 occurs. That is, when a signal change occurs in the flip-flop 210, the output 220a becomes 1, and when no signal change occurs, the output 220a becomes 0.
[0053]
The steps of the power consumption calculation process according to the first embodiment of the present invention will be described with reference to the flowchart of FIG. Hereinafter, an LSI will be described as an example of a manufacturing object.
[0054]
As shown in the figure, the power consumption calculation processing in the present embodiment includes a conventional LSI manufacturing process 401 and a power consumption calculation process 400.
[0055]
In the conventional LSI manufacturing process 401, first, RTL (register transfer level) data 405, which is a description level expressing the target logic circuit 200 in FIG. 2 by a combination of registers and registers, and synthesis constraint data 406, are used. To perform a logic synthesis process 407 to generate a net list 408 indicating a gate connection relationship.
[0056]
Next, from the generated netlist 408 and the placement and routing constraint data 409, a placement and routing process 410 is performed using a placement and routing tool to generate a post-placement and routing netlist 411 representing the placement of gates, wiring between gates, and the like. I do.
[0057]
Then, an actual LSI 412 is manufactured based on the netlist 411 after the placement and routing.
[0058]
In the power consumption calculating step 400, when the net list 408 is generated in the conventional LSI manufacturing step 401, the calculation logic adding processing 430 is performed by referring to the cell library 440 including the information of a and b in “Equation 8”. To generate a net list 450 with calculation logic. Here, the calculation logic addition process 430 is a process of adding the calculation logic netlist 420 representing the calculation logic circuit 201 in FIG. 2 to the netlist 408.
[0059]
From the netlist with calculation logic 450, an FPGA synthesis process 460 is performed using an FPGA synthesis tool to generate an FPGA netlist 470. Then, the FPGA net list 470 is downloaded to the FPGA 480 and written.
[0060]
By operating the FPGA 480, the power consumption calculation processing 490 can be performed. The calculated power consumption is input to the computer 120 via the interface 110a, the interface converter 110, and the interface 110b in FIG. 1 and displayed on the display screen 130.
[0061]
Thereafter, when it is necessary to reduce the power consumption, the RTL 405 and the synthesis constraint data 406 are modified so that the power consumption is reduced. Then, the steps from the generation of the net list 408 by the logic synthesis processing 407 using the corrected RTL 405 and the synthesis constraint data 406 and the steps from the calculation logic addition processing 430 to the power consumption calculation processing 490 are performed again, so that the RTL 405 and the synthesis constraint Whether the power consumption has been reduced by the modification of the data 406 can be confirmed. Of course, these steps can be repeated many times.
[0062]
On the other hand, if it is not necessary to reduce the power consumption, the LSI 412 is actually manufactured based on the post-place and route netlist 411 generated in the place and route processing 410. As described above, according to the present embodiment, it is possible to check the power consumption using the FPGA 480 before manufacturing the LSI.
[0063]
At this time, a logic circuit with reduced power consumption can be synthesized by repeating the step of confirming reduction in power consumption.
[0064]
Note that, in the first embodiment of the present invention, the signal change measurement circuit 220 shown in FIG. 3 may be configured as shown in FIG. In the figure, the signal change measuring circuit 220 'includes a register 500 and an exclusive OR 510.
[0065]
Register 500 holds output signal 200q for one cycle. The exclusive OR 510 outputs 1 when the signal held for one cycle is different from the original output signal 200q. Therefore, the output 220a becomes 1 only when a signal change of the output signal 200q occurs.
[0066]
As described above, the signal change measurement circuit 220 may be configured not to use the signals 200d and 200e. Various other realization methods are also possible.
[0067]
In the present embodiment, an FPGA is used as a reconfigurable device, but the present invention is not limited to an FPGA and can be applied. Furthermore, it can theoretically be replaced with an LSI. In this case, the net list 470 is implemented on an LSI.
[0068]
Next, a second embodiment of the present invention will be described.
[0069]
The second embodiment of the present invention is an example in which a including load capacitance is considered to be different for each gate, and uses "Equation 9".
[0070]
The overall configuration of the second embodiment can be the same as that of the first embodiment as shown in the block diagram of FIG.
[0071]
FIG. 6 is a block diagram illustrating an example of a logic circuit configured in the FPGA 100 according to the second embodiment. As in the first embodiment shown in FIG. 2, the logic circuit includes a target logic circuit 200 for which power consumption is to be calculated and a power consumption calculation logic circuit 601.
[0072]
The target logic circuit 200 includes a flip-flop 210 as one of the gates constituting the logic circuit 200, as in the first embodiment.
[0073]
The power consumption calculation logic circuit 601 includes a power consumption measurement circuit 620, an addition circuit 630, a power consumption register 640, a power conversion circuit 650, an adder 260, a measurement cycle number register 270, and a calculation control circuit 280.
[0074]
The power consumption measurement circuit 620 receives the input / output signals 200d, 200e, 200k, and 200q of the flip-flop 210, calculates power consumption, and outputs the result as an output signal 620a. This power consumption is represented by a i ・ T i Corresponding to Note that the power consumption measurement circuit 620 is provided for a gate included in the target logic circuit 200.
[0075]
The addition circuit 630 adds the power consumption of each gate output from the power consumption measurement circuit 620, and integrates the sum into the power consumption register 640. Therefore, the output 640 a of the power consumption register 640 is
[0076]
(Equation 13)
Figure 2004062238
Corresponding to
[0077]
The calculation control circuit 280 is configured to output 1 during the power consumption calculation period based on the setting of the operator or the like, and output 0 otherwise. Therefore, the adder 260 and the measurement cycle number register 270 count up during the power consumption calculation period, and do not count up in other periods. Therefore, the measurement cycle number register 270 outputs the number of measurement cycles corresponding to T in “Equation 9”.
[0078]
The power conversion circuit 250 calculates
[0079]
[Equation 14]
Figure 2004062238
Is input, and 270a corresponding to T in “Equation 9” is input, and P is calculated according to “Equation 9”.
[0080]
In this way, the power consumption calculation logic circuit 601 calculates the power consumption by hardware based on “Equation 9”.
[0081]
FIG. 7 is a block diagram illustrating a configuration example of the power consumption measurement circuit 620.
[0082]
In the figure, the power consumption measurement circuit 620 includes a signal change measurement circuit 220, a power consumption register 700 per unit cycle, and a selector 710.
[0083]
The signal change measurement circuit 220 can be configured similarly to the example shown in FIG. 3 (reference numeral 220) or FIG. 5 (reference numeral 220 ′).
[0084]
The power consumption register 700 per unit cycle contains a i Holds the numerical value corresponding to. This is obtained in advance by calculation, actual measurement, or the like, and a value is set for each gate.
[0085]
When the signal change count 220a output from the signal change measurement circuit 220 is 1, the power consumption register 700 per unit cycle is selected as the output 620a of the power consumption measurement circuit 620. On the other hand, when the signal change number 220a output from the signal change measurement circuit 220 is 0, a value of 0 is selected as the output 620a of the power consumption measurement circuit 620.
[0086]
Thus, the power consumption measuring circuit 620 calculates a i ・ T i Will be output.
[0087]
The steps of the power consumption calculation process according to the second embodiment of the present invention will be described with reference to the flowchart of FIG.
[0088]
As shown in the figure, the power consumption calculation process in the present embodiment includes a conventional LSI manufacturing process 401 and a power consumption calculation process 800.
[0089]
The conventional LSI manufacturing process 401 is the same as that of the first embodiment shown in FIG.
[0090]
In the power consumption calculating step 800, when the post-placement and wiring netlist 411 is generated in the conventional LSI manufacturing step 401, a i The calculation logic adding process 830 is performed with reference to the cell library 840 including the information of the calculation logic and the information b, and the calculation logic-added netlist 850 is generated. Here, the calculation logic addition process 830 is a process of adding the calculation logic net list 820 representing the calculation logic circuit 601 in FIG.
[0091]
From the netlist with calculation logic 850, an FPGA synthesis process 860 is performed using an FPGA synthesis tool to generate an FPGA netlist 870. Then, the FPGA net list 870 is downloaded to the FPGA 880 and written.
[0092]
By operating the FPGA 880, power consumption calculation 890 can be performed. The calculated power consumption is input to the computer 120 via the interface 110a, the interface converter 110, and the interface 110b in FIG. 1 and displayed on the display screen 130.
[0093]
Thereafter, when it is necessary to reduce the power consumption, the RTL 405, the synthesis constraint data 406, and the placement and routing constraint 409 are modified so as to reduce the power consumption. Then, the steps up to the generation of the post-placement and routing netlist 411 using the corrected RTL 405 and the like and the steps from the addition of the calculation logic 830 to the power consumption calculation 890 are performed again, whereby the RTL 405, the synthesis constraint data 406, It can be checked whether the power consumption has been reduced by the correction. Of course, these steps can be repeated many times.
[0094]
On the other hand, if it is not necessary to reduce the power consumption, the LSI 412 is actually manufactured based on the post-placement and routing netlist 411 generated in the placement and routing process 410.
[0095]
As described above, according to the present embodiment, it is possible to confirm the power consumption using the FPGA 880 before manufacturing the LSI. At this time, a logic circuit with reduced power consumption can be synthesized by repeating the step of confirming reduction in power consumption.
[0096]
Further, according to the present embodiment, the number of signal changes can be weighted and totalized based on the load capacity, and the power consumption of the target logic circuit 200 can be calculated more precisely.
[0097]
Next, a third embodiment of the present invention will be described.
[0098]
The overall configuration of the third embodiment can be the same as that of the first embodiment as shown in the block diagram of FIG.
[0099]
FIG. 9 is a block diagram illustrating an example of a logic circuit configured in the FPGA 100 according to the third embodiment. As in the first embodiment shown in FIG. 2, the logic circuit includes a target logic circuit 200 for which power consumption is to be calculated and a power consumption calculation logic circuit 901.
[0100]
In the present embodiment, the target logic circuit 200 includes flip-flops 210 and 211.
[0101]
The power consumption calculation logic circuit 901 includes signal change measurement circuits 220 and 221, selectors 910 and 930, signal change number registers 920 and 940, a calculation control circuit 280, and a selection information register 950.
[0102]
When calculating the power consumption, the selection information register 950 controls the selectors 910 and 930 to select the upper input signal in the figure, and the signal change number registers 920 and 940 hold the signal change number. I do. After that, by controlling the selection information register 950 so that the selectors 910 and 930 select the lower input signal in the figure, the information held in the signal change number registers 920 and 940 is sequentially shifted and read. It has become. Thereby, the signal change number registers 920 and 940 to be read can be selected. This control can be performed from the computer 120, for example.
[0103]
The read signal change number is input to the computer 120 via the interface 100a, the interface converter 110, and the interface 110a in FIG. The computer 120 performs the processing of addition integration and power conversion as described in the first embodiment to convert it into power consumption.
[0104]
That is, according to the present embodiment, the parts of the adder circuit 230, the signal change number register 240, and the power conversion circuit 250 in FIG. At this time, the signal change number register to be read can be specified by controlling the selection information register 950, so that the power consumption of each gate included in the target logic circuit 200 can be easily obtained.
[0105]
Next, a fourth embodiment of the present invention will be described.
[0106]
In the fourth embodiment, the overall configuration is the same as in FIG. 1, and the configuration example of the signal change measurement circuit 220 is the same as in FIG.
[0107]
The overall configuration of the fourth embodiment can be the same as that of the first embodiment as shown in the block diagram of FIG. Further, the configuration of the signal change measuring circuit 220 can be the same as that of the first embodiment as shown in the block diagram of FIG.
[0108]
The steps of the power consumption calculation process according to the fourth embodiment of the present invention will be described with reference to the flowchart of FIG.
[0109]
As shown in the figure, the power consumption calculation process in the present embodiment includes a conventional LSI manufacturing process 413 and a power consumption calculation process 1000.
[0110]
The conventional LSI manufacturing process 413 performs a high-level synthesis process 404 from the specification data 402 and the high-level synthesis constraint data 403 using a high-level synthesis tool, and outputs an RTL 405. A logic synthesis process 407 is performed from the RTL 405 and the synthesis constraint data 406 using a logic synthesis tool to generate a net list 408 indicating a gate connection relationship.
[0111]
Next, from the generated netlist 408 and the placement and routing constraint data 409, a placement and routing process 410 is performed using a placement and routing tool to generate a post-placement and routing netlist 411 representing the placement of gates, wiring between gates, and the like. I do.
[0112]
Then, an actual LSI 412 is manufactured based on the netlist 411 after the placement and routing.
[0113]
In the power consumption calculation step 1000, when the RTL 405 is generated in the conventional LSI manufacturing step 413, the calculation logic addition processing 1030 is performed with reference to the cell library 1040 including the information of “a” and “b” in “Equation 8”. , RTL 1050 with calculation logic. Here, the calculation logic addition process 1030 is a process of adding a calculation logic RTL 1020 representing the RTL of the calculation logic to the RTL 405.
[0114]
From this RTL with calculation logic 1050, an FPGA synthesis process 1060 is performed using an FPGA synthesis tool to generate an FPGA netlist 1070. Then, this FPGA net list 1070 is downloaded to the FPGA 1080 and written.
[0115]
By operating the FPGA 1080, power consumption calculation 1090 can be performed. The calculated power consumption is input to the computer 120 via the interface 100a, the interface converter 110, and the interface 110b in FIG. 1 and displayed on the display screen 130.
[0116]
Thereafter, when it is necessary to reduce the power consumption, the specification data 402, the high-level synthesis constraint data 403, and the RTL 405 are modified so as to reduce the power consumption. Then, by performing the steps from the calculation logic addition processing 1030 to the power consumption calculation processing 1090 again, it is possible to confirm whether the power consumption has been reduced by modifying the specification data 402, the high-level synthesis constraint data 403, and the RTL 405. Of course, these steps can be repeated many times.
[0117]
On the other hand, if there is no need to reduce the power consumption, processing after the logic synthesis processing 407 is performed, and the LSI 412 is actually manufactured based on the post-placement and routing netlist 411 generated in the placement and routing processing 410. In this manner, according to the present embodiment, before the LSI is manufactured, the calculation logic can be added on the RTL description, and the power consumption can be calculated using the FPGA 1080.
[0118]
At this time, a high-level synthesis process for synthesizing the RTL with reduced power consumption can be performed by repeating the process of confirming the reduction in power consumption.
[0119]
Next, a fifth embodiment of the present invention will be described.
[0120]
FIG. 11 is a block diagram showing the configuration of the fifth embodiment of the present invention. This embodiment shows a configuration of the calculation control circuit 280 when the target logic circuit 200 in the first embodiment is a CPU.
[0121]
Techniques for configuring a CPU are well known. For example, Patterson & Hennessy, translated by Mitsuaki Narita, "Computer Configuration and Design", Nikkei BP, p. 245.
[0122]
The target logic circuit 200A includes a program counter 1100, an instruction memory 1101, a register 1102, an ALU 1103, and a data memory 1104.
[0123]
The program counter 110 outputs a program address 1101a. By reading the contents of the address indicated by the program address 1101a from the instruction memory 1101, an instruction code 1101a is output.
[0124]
The data in the register 1202 is calculated by the ALU 1203 based on the register number included in the instruction code 1101a, and becomes the data address 1103a.
[0125]
By reading the contents of the address indicated by the data address 1103a from the data memory 1204, data is output and stored in the register 1202.
[0126]
The calculation control circuit 280A includes four event detection units, a data region detection unit 1110, a program region detection unit 1120, a data address detection unit 1130, and an instruction detection unit 1140, a selection information register 1150, and a selector 1160. .
[0127]
The data area detection unit 1110 includes a start register 1115, a comparator 1111, an end register 1112, a comparator 1113, and a logical product 1114, and outputs a signal 1110a.
[0128]
The signal 1110a becomes 1 when the data address 1103a is included between the start address of the start register 1110 and the end address of the end register 1112. As a result, it is possible to calculate the power consumption when the data address 1103a is in a specific range from the start address to the end address.
[0129]
The program area detecting means 1120 includes a start register 1125, a comparator 1121, an end register 1122, a comparator 1123, and a logical product 1124, and outputs a signal 1120a.
[0130]
The signal 1120a becomes 1 when the program address 1100a is included between the start address of the start register 1130 and the end address of the end register 1132. Thus, when the program address 1100a is in a specific range from the start address to the end address, that is, the power consumption for a specific function can be calculated.
[0131]
The data address detection means 1130 includes an address register 1132 and a comparator 1131 and outputs a signal 1130a.
[0132]
The signal 1130a becomes 1 when the data address 1103a matches the address of the address register 1132. This makes it possible to calculate power consumption when the data address 1103a is at a specific address, that is, when a specific variable is being accessed.
[0133]
The instruction detecting means 1140 includes an instruction register 1142 and a comparator 1141, and outputs a signal 1140a.
[0134]
The signal 1140a becomes 1 when the instruction code 1101a matches the instruction code in the instruction register 1142. This makes it possible to calculate the power consumption of a specific instruction.
[0135]
As described above, the output 280a of the calculation control circuit 280A is a signal that outputs 1 during the power consumption calculation period and outputs 0 in other cases. A target control signal is selected from 1110a, 1120a, 1130a, and 1140a.
[0136]
The selection information register 1150 can be controlled from the computer 120, for example. Thus, power consumption can be calculated under various calculation conditions.
[0137]
As described above, in the power consumption calculation method according to the present invention, a device is configured by adding a circuit for measuring the number of signal changes of a gate to a logic circuit to be calculated, and the power consumption is calculated based on the measured number of signal changes. Since the power is calculated, the power consumption of the logic circuit can be obtained under conditions close to the actual operation. Further, the power consumption can be calculated at high speed because the calculation is performed using hardware instead of the simulation calculation. Furthermore, by using a reconfigurable device such as an FPGA, it is possible to reduce the burden of design changes during development. Further, since the number of signal changes can be obtained for each logic circuit, it is possible to grasp the breakdown of power consumption in the integrated circuit.
[0138]
【The invention's effect】
According to the present invention, there is provided a technique suitable for calculating the power consumption of a logic circuit when developing an integrated circuit.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an overall configuration of a first embodiment.
FIG. 2 is a block diagram illustrating an example of a logic circuit configured in the FPGA 100 according to the first embodiment.
FIG. 3 is a block diagram illustrating a configuration example of a signal change measurement circuit 220 according to the first embodiment.
FIG. 4 is a flowchart for explaining a process of a power consumption calculation process in the first embodiment.
FIG. 5 is a block diagram showing another configuration example of the signal change measurement circuit 220.
FIG. 6 is a block diagram illustrating an example of a logic circuit configured in the FPGA 100 according to the second embodiment.
FIG. 7 is a block diagram illustrating a configuration example of a power consumption measurement circuit 620 according to the second embodiment.
FIG. 8 is a flowchart illustrating a process of a power consumption calculation process according to the second embodiment.
FIG. 9 is a block diagram illustrating an example of a logic circuit configured in the FPGA 100 according to the third embodiment.
FIG. 10 is a flowchart illustrating a process of a power consumption calculation process according to the fourth embodiment.
FIG. 11 is a block diagram illustrating a configuration of a calculation control circuit 280 according to the fifth embodiment.
[Explanation of symbols]
110 ... Interface conversion unit
120 ... Calculator
130 ... Display screen
200: target logic circuit
201: Power consumption calculation logic circuit
210 ... Flip-flop
220 ... Signal change measurement circuit
230 ... addition circuit
240 ... Signal change number register
250 ... Power conversion circuit
260 ... Adder
270 ... Measurement cycle number register
280 ... calculation control circuit
620 ... power consumption measurement circuit
630 ... addition circuit
640: Power consumption register
650: power conversion circuit
700: power consumption register
901: power consumption calculation logic circuit
920: Signal change number register
950 ... Selection information register

Claims (8)

消費電力を算出すべき対象論理回路に、前記対象論理回路を構成するゲートの信号変化数を計測する計測回路を付加した回路を構成し、
計測された信号変化数に基づいて前記対象論理回路の消費電力を算出することを特徴とする消費電力算出方法。
A circuit in which a measurement circuit for measuring the number of signal changes of a gate constituting the target logic circuit is added to a target logic circuit for which power consumption is to be calculated,
A power consumption calculation method comprising calculating power consumption of the target logic circuit based on the measured number of signal changes.
消費電力を算出すべき集積回路に含まれる論理回路のそれぞれに、前記対象論理回路を構成するゲートの信号変化数を計測する計測回路を付加した回路を構成し、
計測されたそれぞれの信号変化数の積算値に基づいて前記集積回路の消費電力を算出することを特徴とする消費電力算出方法。
Each of the logic circuits included in the integrated circuit whose power consumption is to be calculated is configured with a circuit to which a measurement circuit for measuring the number of signal changes of the gates constituting the target logic circuit is added,
A power consumption calculation method, comprising: calculating a power consumption of the integrated circuit based on an integrated value of the measured signal change numbers.
請求項1または2に記載の消費電力算出方法において、
前記計測回路を付加した回路は、
再構成可能なデバイスの中に構成することを特徴とする消費電力算出方法。
The power consumption calculation method according to claim 1, wherein
The circuit to which the measurement circuit is added,
A power consumption calculation method, wherein the method is configured in a reconfigurable device.
請求項3に記載の消費電力算出方法において、
前記再構成可能なデバイスは、フィールド・プログラマブル・ゲート・アレイ(FPGA)であることを特徴とする消費電力算出方法。
The power consumption calculation method according to claim 3,
The method according to claim 1, wherein the reconfigurable device is a field programmable gate array (FPGA).
請求項1〜4のいずれか一項に記載の消費電力算出方法において、
前記信号変化数を、ゲートの負荷容量に基づく重み付けを行なうことにより、前記対象論理回路の消費電力を算出することを特徴とした消費電力算出方法。
The power consumption calculation method according to any one of claims 1 to 4,
A power consumption calculation method, wherein the power consumption of the target logic circuit is calculated by weighting the number of signal changes based on a load capacitance of a gate.
請求項1〜5のいずれか一項に記載の消費電力算出方法において、
前記対象理論回路で実行されるプログラムコードの参照アドレスを示すプログラムカウンタを監視し、プログラムカウンタが所定の範囲内にある場合に、前記対象論理回路の消費電力を算出することを特徴とする消費電力算出方法。
The power consumption calculation method according to any one of claims 1 to 5,
Monitoring a program counter indicating a reference address of a program code executed by the target logical circuit, and calculating power consumption of the target logic circuit when the program counter is within a predetermined range. Calculation method.
請求項1〜5のいずれか一項に記載の消費電力算出方法において、
前記対象理論回路でプログラム実行中に参照されるメモリのアドレスを監視し、メモリアドレスが所定の範囲内にある場合に、前記対象論理回路の消費電力を算出することを特徴とする消費電力算出方法。
The power consumption calculation method according to any one of claims 1 to 5,
Monitoring a memory address referred to during execution of a program by the target logic circuit, and calculating a power consumption of the target logic circuit when the memory address is within a predetermined range. .
請求項1〜5のいずれか一項に記載の消費電力算出方法において、
前記対象理論回路でプログラム実行中に参照されるメモリのアドレスを監視し、メモリアドレスが所定の値である場合に、前記対象論理回路の消費電力を算出することを特徴とする消費電力算出方法。
The power consumption calculation method according to any one of claims 1 to 5,
A power consumption calculation method comprising: monitoring an address of a memory referred to during execution of a program by the target logic circuit; and calculating a power consumption of the target logic circuit when the memory address has a predetermined value.
JP2002215629A 2002-07-24 2002-07-24 Power consumption calculation method Expired - Fee Related JP3980957B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002215629A JP3980957B2 (en) 2002-07-24 2002-07-24 Power consumption calculation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002215629A JP3980957B2 (en) 2002-07-24 2002-07-24 Power consumption calculation method

Publications (2)

Publication Number Publication Date
JP2004062238A true JP2004062238A (en) 2004-02-26
JP3980957B2 JP3980957B2 (en) 2007-09-26

Family

ID=31937610

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002215629A Expired - Fee Related JP3980957B2 (en) 2002-07-24 2002-07-24 Power consumption calculation method

Country Status (1)

Country Link
JP (1) JP3980957B2 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007293542A (en) * 2006-04-24 2007-11-08 Fujitsu Ltd Fpga current consumption relational expression deriving method and program, fpga current consumption relational expression deriving system, and accuracy evaluation program for fpga estimation tool
WO2008081669A1 (en) * 2006-12-28 2008-07-10 Nec Corporation Signal selection device, system, circuit emulator, method, and program
JP2008234224A (en) * 2007-03-19 2008-10-02 Fujitsu Ltd Method and program for estimating power consumption
JP2008234187A (en) * 2007-03-19 2008-10-02 Fujitsu Ltd Power consumption analysis support program, recording medium recording this program, and power consumption analysis support device
JP2009205270A (en) * 2008-02-26 2009-09-10 Fujitsu Ltd Power consumption estimation method, power consumption estimation device, and power consumption estimation program
JP2009230602A (en) * 2008-03-25 2009-10-08 Nec Corp Behavioral synthesis apparatus, behavioral synthesis method and program
JP2010277179A (en) * 2009-05-26 2010-12-09 Fujitsu Semiconductor Ltd Logical simulation device, method, and program
US7900172B2 (en) 2005-09-29 2011-03-01 Fujitsu Limited Method and apparatus for analyzing power consumption
US8095354B2 (en) 2006-09-06 2012-01-10 Fujitsu Limited Power consumption peak estimation program for LSI and device therefor
JP2016091088A (en) * 2014-10-30 2016-05-23 株式会社メガチップス Technology of estimating power consumption of semiconductor integrated circuit
JP2017537374A (en) * 2014-10-06 2017-12-14 シノプシス, インコーポレイテッドSyn0Psys, Inc. Efficient power analysis

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7900172B2 (en) 2005-09-29 2011-03-01 Fujitsu Limited Method and apparatus for analyzing power consumption
JP2007293542A (en) * 2006-04-24 2007-11-08 Fujitsu Ltd Fpga current consumption relational expression deriving method and program, fpga current consumption relational expression deriving system, and accuracy evaluation program for fpga estimation tool
US8095354B2 (en) 2006-09-06 2012-01-10 Fujitsu Limited Power consumption peak estimation program for LSI and device therefor
US8739107B2 (en) 2006-12-28 2014-05-27 Nec Corporation Signal selection apparatus and system, and circuit emulator and method and program
JPWO2008081669A1 (en) * 2006-12-28 2010-04-30 日本電気株式会社 Signal selection apparatus, system, circuit emulator, method, and program
JP5012816B2 (en) * 2006-12-28 2012-08-29 日本電気株式会社 Signal selection apparatus, system, circuit emulator, method, and program
TWI396109B (en) * 2006-12-28 2013-05-11 Nec Corp Signal selection device, system, circuit emulator, method and program
WO2008081669A1 (en) * 2006-12-28 2008-07-10 Nec Corporation Signal selection device, system, circuit emulator, method, and program
JP2008234187A (en) * 2007-03-19 2008-10-02 Fujitsu Ltd Power consumption analysis support program, recording medium recording this program, and power consumption analysis support device
JP2008234224A (en) * 2007-03-19 2008-10-02 Fujitsu Ltd Method and program for estimating power consumption
JP2009205270A (en) * 2008-02-26 2009-09-10 Fujitsu Ltd Power consumption estimation method, power consumption estimation device, and power consumption estimation program
JP2009230602A (en) * 2008-03-25 2009-10-08 Nec Corp Behavioral synthesis apparatus, behavioral synthesis method and program
JP2010277179A (en) * 2009-05-26 2010-12-09 Fujitsu Semiconductor Ltd Logical simulation device, method, and program
JP2017537374A (en) * 2014-10-06 2017-12-14 シノプシス, インコーポレイテッドSyn0Psys, Inc. Efficient power analysis
US10599794B2 (en) 2014-10-06 2020-03-24 Synopsys, Inc. Efficient power analysis
JP2016091088A (en) * 2014-10-30 2016-05-23 株式会社メガチップス Technology of estimating power consumption of semiconductor integrated circuit

Also Published As

Publication number Publication date
JP3980957B2 (en) 2007-09-26

Similar Documents

Publication Publication Date Title
US5680332A (en) Measurement of digital circuit simulation test coverage utilizing BDDs and state bins
US6425116B1 (en) Automated design of digital signal processing integrated circuit
Basu et al. RATS: Restoration-aware trace signal selection for post-silicon validation
US6378123B1 (en) Method of handling macro components in circuit design synthesis
US8024697B2 (en) Various methods and apparatuses for estimating characteristics of an electronic systems design
US20060130029A1 (en) Programming language model generating apparatus for hardware verification, programming language model generating method for hardware verification, computer system, hardware simulation method, control program and computer-readable storage medium
Kranitis et al. Hybrid-SBST methodology for efficient testing of processor cores
JP2008134824A (en) Power consumption analysis method and program
JP2005293163A (en) Power consumption calculation method and apparatus
JP3980957B2 (en) Power consumption calculation method
US7813908B2 (en) Clock control module simulator and method thereof
Koul et al. Aha: An agile approach to the design of coarse-grained reconfigurable accelerators and compilers
US7266791B2 (en) High level synthesis device, method for generating a model for verifying hardware, method for verifying hardware, control program, and readable recording medium
US7257786B1 (en) Method and apparatus for solving constraints
US8739094B2 (en) Power estimation using activity information
Cong et al. Accelerating monte carlo based SSTA using FPGA
JP2008299464A (en) Power consumption calculation method, power consumption calculation program, and power consumption calculation device
JP5146087B2 (en) Power consumption estimation method, circuit design support apparatus and program
JP3613314B2 (en) Information processing system
Taraate et al. Logic Synthesis and SOC Prototyping
JP2008234187A (en) Power consumption analysis support program, recording medium recording this program, and power consumption analysis support device
Preußer et al. The portable open-source ip core and utility library poc
JP2010277436A (en) Memory structure determination support device, memory structure determination program and recording medium
JP2000515658A (en) Design method of complex digital integrated circuit and circuit structure
Hung et al. Transparent in-circuit assertions for FPGAs

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040317

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20040317

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040317

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070320

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070327

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070525

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: 20070626

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070628

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: 20100706

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110706

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110706

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20110706

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees