[go: up one dir, main page]

JP3980957B2 - Power consumption calculation method - Google Patents

Power consumption calculation method Download PDF

Info

Publication number
JP3980957B2
JP3980957B2 JP2002215629A JP2002215629A JP3980957B2 JP 3980957 B2 JP3980957 B2 JP 3980957B2 JP 2002215629 A JP2002215629 A JP 2002215629A JP 2002215629 A JP2002215629 A JP 2002215629A JP 3980957 B2 JP3980957 B2 JP 3980957B2
Authority
JP
Japan
Prior art keywords
power consumption
logic circuit
circuit
target logic
calculation method
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002215629A
Other languages
Japanese (ja)
Other versions
JP2004062238A (en
Inventor
昌司 吉田
光太郎 島村
鉄平 広津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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)

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 0003980957
【0012】
ここで、ptはスイッチング確率、fCLKはクロック周波数、CLは負荷容量、Vsは信号振幅、VDDは電源電圧、ISCは貫通電流平均値、ΔtSCは貫通電流が流れる時間、IDCは直流電流、ILEAKはリーク電流をそれぞれ表している。また、ゲートは、AND回路、OR回路、フリップフロップ等の基本素子を意味するものとする。これらのゲートが複数組み合わされることにより、論理回路を構成する。そして、1または複数の論理回路によりLSI等の集積回路が構成されるものとする。
【0013】
「数1」で、第1項は負荷の充放電に要する消費電力、第2項はゲートがスイッチングするときに流れる貫通電流による消費電力、第3項は直流電流による消費電力、第4項はリーク電流による消費電力である。
【0014】
これらのパラメータのうち、スイッチング確率ptは、集積回路を制御するプログラムにしたがって実際に集積回路を動作させてみないとわからない性質を持つ。他のパラメータは、集積回路を動作させなくても、静的に算出可能である。したがって、回路の消費電力を算出する際には、ゲートごとのスイッチング確率をいかに精度よく求めるかが重要となる。
【0015】
「数1」をスイッチング確率ptでまとめると、
【0016】
【数2】
Figure 0003980957
となる。
【0017】
ここで、
【0018】
【数3】
Figure 0003980957
【0019】
【数4】
Figure 0003980957
【0020】
とおくことにより、
【0021】
【数5】
Figure 0003980957
となる。
【0022】
ここで、ある特定の計測サイクル数Tにおける、ゲートの信号変化数をtとすると、
【0023】
【数6】
Figure 0003980957
したがって、
【0024】
【数7】
Figure 0003980957
となる。
【0025】
対象論理回路にn個のゲートが含まれるとき、各ゲートの出力信号の信号変化数をti (i=1,2,…,n)とし、a、bはゲートにより変わらないとすれば、
【0026】
【数8】
Figure 0003980957
【0027】
となる。「数8」は、すべてのゲートで平均的な負荷容量を仮定することになるので、厳密なものではないが、一般的によく使われている。
【0028】
また、aもゲートにより変わるとし、ai(i=1,2,…,n)とすれば、
【0029】
【数9】
Figure 0003980957
【0030】
となる。「数9」は、信号変化数tiを、ゲートごとに異なる負荷容量を含むaiで重み付けして集計していることになる。
【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」のtiに対応する信号変化数220aを出力する。信号変化計測回路220は、対象論理回路200に含まれるゲート対応に設けられる。
【0042】
加算回路230は、それぞれの信号変化計測回路220から出力される信号変化数を加算し、信号変化数レジスタ240に合計数を積算する。したがって、信号変化数レジスタ240の出力240aは「数8」の
【0043】
【数10】
Figure 0003980957
【0044】
に対応する。
【0045】
算出制御回路280は、操作者の設定等に基づいて消費電力算出期間中は1を出力し、それ以外は0を出力するように構成する。したがって、加算器260の結果を入力する計測サイクル数レジスタ270には、消費電力算出期間中はカウントアップした値が入り、それ以外はカウントアップしない値が入るので、計測サイクル数レジスタ270の出力270aは、「数8」のTに対応する計測サイクル数となる。
【0046】
電力換算回路250は、「数8」の
【0047】
【数11】
Figure 0003980957
に対応する信号変化数240aと、「数8」のTに対応する計測サイクル数270aを入力し、「数8」にしたがって、Pを計算する。
【0048】
このようにして、消費電力算出論理回路201は、「数8」に基づいて、ハードウェア的に消費電力を算出する。
【0049】
図3は、信号変化計測回路220の構成例を示すブロック図である。
【0050】
本図において、信号変化計測回路220は、排他的論理和300と、論理積310とを備えて構成される。この回路が表す論理を式で示すと、
【0051】
【数12】
Figure 0003980957
となる。
【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」のai・tiに対応する。なお、消費電力計測回路620は、対象論理回路200に含まれるゲート対応に設けられる。
【0075】
加算回路630は、消費電力計測回路620が出力するそれぞれのゲートの消費電力を加算し、消費電力レジスタ640に合計を積算する。したがって、消費電力レジスタ640の出力640aは、「数9」の
【0076】
【数13】
Figure 0003980957
に対応する。
【0077】
算出制御回路280は、操作者の設定等に基づいて消費電力算出期間中は1を出力し、それ以外は0を出力するように構成する。したがって、加算器260、計測サイクル数レジスタ270は、消費電力算出期間中はカウントアップし、それ以外はカウントアップしない。このため、計測サイクル数レジスタ270は、「数9」のTに対応する計測サイクル数を出力する。
【0078】
電力換算回路250は、「数9」の
【0079】
【数14】
Figure 0003980957
に対応する消費電力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」のaiに対応する数値が保持されている。これは、あらかじめ計算、実測等で求めておき、個々のゲートごとに値を設定しておく。
【0085】
そして、信号変化計測回路220の出力である信号変化数220aが1のときは、単位サイクルあたりの消費電力レジスタ700が、消費電力計測回路620の出力620aとして選択される。一方、信号変化計測回路220の出力である信号変化数220aが0のときは、0の値が消費電力計測回路620の出力620aとして選択される。
【0086】
このようにして、消費電力計測回路620は、ai・tiに対応する消費電力620aを出力することになる。
【0087】
本発明の第2の実施形態における消費電力算出処理の工程について図8のフロー図を参照して説明する。
【0088】
本図に示すように、本実施形態における消費電力算出処理は、従来のLSI製造工程401と、消費電力算出工程800とからなる。
【0089】
従来のLSI製造工程401は、図4に示した第1の実施形態と同様である。
【0090】
消費電力算出工程800は、従来のLSI製造工程401で、配置配線後ネットリスト411が生成された段階で、「数9」におけるaiおよび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]
BACKGROUND 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 integrated circuits, especially LSI (Large Scale Integration), has been improved and the power consumption has increased. On the other hand, as information devices equipped with LSIs have become more portable, lower power consumption of LSIs has been required. ing. In order to reduce the power consumption of an LSI, it is important to accurately calculate the power consumption of the LSI or the logic circuit that constitutes the LSI during actual operation, particularly during the development of the LSI.
[0003]
Conventionally, the following three methods have been proposed for roughly calculating power consumption.
(1) A method of calculating power consumption by desktop calculation assuming an average signal change rate based on past experience.
(2) A method of calculating power consumption by measuring voltage / current using specific hardware. Examples of prior art classified into this are JP-A-2001-34499, JP-A-2001-222561, and the like.
(3) A method of calculating power consumption with a simulator using software. In the conventional examples classified into this, there are many examples such as Japanese Patent Laid-Open Nos. H5-126872, H8-314992, H10-186601, 2000-242676, 2001-265847, 2001-350815, etc. There is.
[0004]
[Problems to be solved by the invention]
Among the above-mentioned conventional techniques, the method of obtaining power consumption by the desktop calculation of (1) has a problem that the error is large because it is calculated under different conditions from the actual operation because an average signal change rate is assumed. .
[0005]
The method of obtaining power consumption using the hardware in (2) can obtain power consumption under conditions close to those during actual operation, but actual hardware must be created to measure voltage and current. Therefore, there is a problem that it takes time to change the design to reduce power consumption. Another problem is 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 current.
[0006]
The method of calculating power consumption with the simulator using the software of (3) is highly accurate, but generally it takes time to calculate power consumption, and only power consumption when operating for a very short time is required. 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 when the operating conditions are different. For this reason, when power consumption is measured using an actually manufactured LSI, the expected value may not be obtained, and redesign may be required.
[0007]
An object of the present invention is to provide a technique for calculating power consumption that is suitable for developing an integrated circuit.
[0008]
[Means for Solving the Problems]
In order 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 the gates constituting the target logic circuit is added to the target logic circuit whose power consumption is to be calculated,
A power consumption calculation method is provided, wherein 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]
DETAILED DESCRIPTION OF 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]
[Expression 1]
Figure 0003980957
[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 through current to flow, I DC Is DC current, I LEAK Represents the leakage current. A gate means a basic element such as an AND circuit, an OR circuit, or a flip-flop. A logic circuit is configured by combining a plurality of these gates. It is assumed that an integrated circuit such as an LSI is constituted by one or a plurality of logic circuits.
[0013]
In "Equation 1," the first term is the power consumption required for charging and discharging the load, the second term is the power consumption due to the through current that flows when the gate switches, the third term is the power consumption due to the direct current, and the fourth term is This is power consumption due to leakage current.
[0014]
Of these parameters, the switching probability p t Has a property that is not known 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 accurately the switching probability for each gate is obtained.
[0015]
"Equation 1" is the switching probability p t In summary,
[0016]
[Expression 2]
Figure 0003980957
It becomes.
[0017]
here,
[0018]
[Equation 3]
Figure 0003980957
[0019]
[Expression 4]
Figure 0003980957
[0020]
By leaving
[0021]
[Equation 5]
Figure 0003980957
It becomes.
[0022]
Here, if the number of gate signal changes in a specific number of measurement cycles T is t,
[0023]
[Formula 6]
Figure 0003980957
Therefore,
[0024]
[Expression 7]
Figure 0003980957
It becomes.
[0025]
When the target logic circuit includes n gates, the number of signal changes of the output signal of each gate is expressed as t i (I = 1, 2,..., N) and a and b are not changed by the gate.
[0026]
[Equation 8]
Figure 0003980957
[0027]
It becomes. Although “Equation 8” assumes an average load capacity at all gates, it is not strict but is commonly used.
[0028]
Moreover, a also changes with gates, and a i If (i = 1, 2,..., N),
[0029]
[Equation 9]
Figure 0003980957
[0030]
It becomes. “Equation 9” is the number of signal changes t i Including a different load capacity for each gate a i It will be weighted and tabulated.
[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, the FPGA 100, an interface conversion unit 110, a computer 120, and a display screen 130. The FPGA 100 and the interface conversion unit 110 are connected via the interfaces 100a and 110a, and the interface conversion unit 110 and the computer 120 are connected via the interfaces 110b and 120a.
[0035]
The FPGA 100 is an LSI that can be programmed by the user, and functions can be freely reset. Therefore, the FPGA 100 is a reconfigurable device that can redefine the circuit many times by resetting.
[0036]
In the present embodiment, a net list (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 conversion unit 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 conversion unit 110, and the interface 110a to operate the FPGA 100. During or after the operation of the FPGA 100, data is read onto the computer 120 via the interface 100a, the interface conversion unit 110, and the interface 110b, and is displayed on the display screen 130 as necessary.
[0037]
Note that processing on the computer 120 such as creation of a netlist and downloading of the netlist onto 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 that is a target for power consumption calculation, and a power consumption calculation logic circuit 201. Here, the target logic circuit 200 can be a collection of gates for which power consumption is desired to be calculated.
[0039]
The target logic circuit 200 is assumed to include a flip-flop 210 as one of the gates constituting the logic circuit 200, for example. In the operation of the flip-flop 210, when the clock enable CE is 1, the input data 200d is output to the output data 200q at the change timing of the clock 200k. 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 measurement circuit 220 inputs the input / output signals 200d, 200e, 200k, and 200q of the flip-flop 210, and t i The number of signal changes 220a corresponding to is output. The signal change measurement circuit 220 is provided for the gate included in the target logic circuit 200.
[0042]
The adder circuit 230 adds the signal change numbers output from the respective signal change measurement circuits 220 and accumulates the total number in the signal change number register 240. Therefore, the output 240a of the signal change number register 240 is “Expression 8”.
[0043]
[Expression 10]
Figure 0003980957
[0044]
Corresponding to
[0045]
The calculation control circuit 280 is configured to output 1 during the power consumption calculation period based on an operator setting or the like, and output 0 otherwise. Accordingly, the measurement cycle number register 270 to which the result of the adder 260 is input contains a value counted up during the power consumption calculation period and a value not counted up otherwise, so the output 270a of the measurement cycle number register 270 Is the number of measurement cycles corresponding to T in “Equation 8”.
[0046]
The power conversion circuit 250 is represented by “Equation 8”
[0047]
[Expression 11]
Figure 0003980957
The number of signal changes 240a corresponding to, and the number of measurement cycles 270a corresponding to T of "Equation 8" are input, and P is calculated according to "Equation 8".
[0048]
In this way, the power consumption calculation logic circuit 201 calculates the power consumption in 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 this figure, the signal change measurement circuit 220 is configured to include an exclusive OR 300 and an AND 310. The logic represented by this circuit can be expressed as an equation:
[0051]
[Expression 12]
Figure 0003980957
It becomes.
[0052]
That is, when the clock enable 200e is 1 and the signal 200d (input signal of the flip-flop 210) is different from the signal 200q (output signal of the flip-flop 210), the value of the signal 200q is inverted and signal change measurement is performed. 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 process of the power consumption calculation process in 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 target.
[0054]
As shown in the figure, the power consumption calculation process in this embodiment includes a conventional LSI manufacturing process 401 and a power consumption calculation process 400.
[0055]
In the conventional LSI manufacturing process 401, first, a logic synthesis tool is obtained from RTL (register transfer level) data 405 and synthesis constraint data 406, which are description levels expressing the target logic circuit 200 in FIG. Is used to perform a logic synthesis process 407 to generate a net list 408 indicating the gate connection relationship.
[0056]
Next, from the generated netlist 408 and the placement and routing constraint data 409, the placement and routing processing 410 is performed using the placement and routing tool to generate a post-placement and routing netlist 411 representing gate placement, gate-to-gate wiring, and the like. To do.
[0057]
Then, an actual LSI 412 is manufactured based on the post-place and route netlist 411.
[0058]
The power consumption calculation process 400 is a calculation logic addition process 430 while referring to the cell library 440 including information on a and b in “Equation 8” when the netlist 408 is generated in the conventional LSI manufacturing process 401. To generate a net list 450 with calculation logic. Here, the calculation logic addition processing 430 is processing for adding the calculation logic net list 420 representing the calculation logic circuit 201 in FIG. 2 to the net list 408.
[0059]
From this calculated logic-added netlist 450, an FPGA synthesis tool 460 is used to generate an FPGA netlist 470 using an FPGA synthesis tool. Then, the FPGA net list 470 is downloaded and written into the FPGA 480.
[0060]
By operating the FPGA 480, the power consumption calculation process 490 can be performed. The obtained power consumption is input to the computer 120 via the interface 110a, the interface conversion unit 110, and the interface 110b of FIG.
[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 modified RTL 405 and the logic synthesis processing 407 using the synthesis constraint data 406 to the generation of the netlist 408 and the steps from the calculation logic addition processing 430 to the power consumption calculation processing 490 are performed again. It can be confirmed whether the power consumption has been reduced by correcting the data 406. Of course, these steps can be repeated many times.
[0062]
On the other hand, if it is not necessary to reduce power consumption, the LSI 412 is actually manufactured based on the post-place-and-route netlist 411 generated in the place-and-route process 410. Thus, 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 process of confirming the reduction of power consumption.
[0064]
In the first embodiment of the present invention, the signal change measurement circuit 220 shown in FIG. 3 can be configured as shown in FIG. In this figure, the signal change measurement circuit 220 ′ is configured to include a register 500 and an exclusive OR 510.
[0065]
The register 500 holds the 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. For this reason, the output 220a becomes 1 only when the signal change of the output signal 200q occurs.
[0066]
As described above, the signal change measurement circuit 220 may be configured not to use 200d and 200e. Various other realization methods are possible.
[0067]
In the present embodiment, an FPGA is used as a reconfigurable device. However, the present invention is not limited to an FPGA and can be applied. Further, in theory, it can be replaced with LSI. In this case, the net list 470 is realized on the 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 the load capacity 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. Similar to the first embodiment shown in FIG. 2, a target logic circuit 200 that is a target of power consumption calculation and a power consumption calculation logic circuit 601 are provided.
[0072]
As in the first embodiment, the target logic circuit 200 is assumed to include a flip-flop 210 as one of the gates constituting the logic circuit 200.
[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 measuring circuit 620 receives the input / output signals 200d, 200e, 200k, and 200q of the flip-flop 210, calculates the power consumption, and outputs it as an output signal 620a. This power consumption is expressed by a i ・ T i Corresponding to The power consumption measuring circuit 620 is provided for the gate included in the target logic circuit 200.
[0075]
The adder circuit 630 adds the power consumption of each gate output from the power consumption measurement circuit 620 and accumulates the total in the power consumption register 640. Therefore, the output 640a of the power consumption register 640 is “Equation 9”.
[0076]
[Formula 13]
Figure 0003980957
Corresponding to
[0077]
The calculation control circuit 280 is configured to output 1 during the power consumption calculation period based on an operator setting 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 otherwise. Therefore, the measurement cycle number register 270 outputs the number of measurement cycles corresponding to T of “Equation 9”.
[0078]
The power conversion circuit 250 is represented by “Equation 9”.
[0079]
[Expression 14]
Figure 0003980957
Is input, and 270a corresponding to T of “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 in 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 this figure, the power consumption measuring circuit 620 includes a signal change measuring circuit 220, a power consumption register 700 per unit cycle, and a selector 710.
[0083]
The signal change measuring 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 includes “a” of “Equation 9”. i The numerical value corresponding to is held. This is obtained in advance by calculation, actual measurement, etc., and a value is set for each individual gate.
[0085]
When the signal change number 220a, which is the output of 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 that is the output of 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]
In this way, the power consumption measuring circuit 620 i ・ T i The power consumption 620a corresponding to is output.
[0087]
The process of the power consumption calculation process in the 2nd Embodiment of this invention is demonstrated with reference to the flowchart of FIG.
[0088]
As shown in this figure, the power consumption calculation process in this embodiment includes a conventional LSI manufacturing process 401 and a power consumption calculation process 800.
[0089]
A conventional LSI manufacturing process 401 is the same as that of the first embodiment shown in FIG.
[0090]
The power consumption calculation process 800 is performed when the post-place-and-route netlist 411 is generated in the conventional LSI manufacturing process 401. i The calculation logic addition processing 830 is performed while referring to the cell library 840 including the information of “b” and “b” to generate the net list 850 with calculation logic. 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. 6 to the post-place and route net list 411.
[0091]
From the net list with calculation logic 850, an FPGA synthesis process 860 is performed using an FPGA synthesis tool to generate an FPGA net list 870. Then, the FPGA net list 870 is downloaded and written into the FPGA 880.
[0092]
By operating the FPGA 880, the power consumption calculation 890 can be performed. The obtained power consumption is input to the computer 120 via the interface 110a, the interface conversion unit 110, and the interface 110b of FIG.
[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, by performing the steps from the post-place and route netlist 411 generation using the corrected RTL 405 and the like and the steps of calculation logic addition 830 to power consumption calculation 890, the RTL 405, the synthesis constraint data 406, and the placement and routing constraint 409 It can be confirmed 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 power consumption, the LSI 412 is actually manufactured based on the post-place-and-route netlist 411 generated in the place-and-route process 410.
[0095]
As described above, according to the present embodiment, it is possible to check 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 process of confirming the reduction of power consumption.
[0096]
Further, according to the present embodiment, the number of signal changes can be weighted and totaled based on the load capacity, and the power consumption of the target logic circuit 200 can be calculated more strictly.
[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. Similar to the first embodiment shown in FIG. 2, a target logic circuit 200 that is a target of power consumption calculation and a power consumption calculation logic circuit 901 are provided.
[0100]
In the present embodiment, it is assumed that 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 drawing so that the signal change numbers are held in the signal change number registers 920 and 940. To do. Thereafter, the selection information register 950 is controlled so that the selectors 910 and 930 select the lower input signal in the figure, so that the information held in the signal change number registers 920 and 940 is sequentially shifted and read. It has become. As a result, 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 conversion unit 110, and the interface 110a of FIG. The computer 120 performs conversion to power consumption by performing processing of addition integration and power conversion as shown in the first embodiment.
[0104]
That is, according to the present embodiment, the addition circuit 230, the signal change number register 240, and the power conversion circuit 250 in FIG. 2 are realized by software on the computer 120. At this time, by controlling the selection information register 950, the signal change number register to be read can be specified, so that the power consumption for 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 process of the power consumption calculation process in the fourth embodiment of the present invention will be described with reference to the flowchart of FIG.
[0109]
As shown in this figure, the power consumption calculation process in this 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. From the RTL 405 and the synthesis constraint data 406, a logic synthesis process 407 is performed using a logic synthesis tool to generate a net list 408 indicating the connection relation of the gates.
[0111]
Next, from the generated netlist 408 and the placement and routing constraint data 409, the placement and routing processing 410 is performed using the placement and routing tool to generate a post-placement and routing netlist 411 representing gate placement, gate-to-gate wiring, and the like. To do.
[0112]
Then, an actual LSI 412 is manufactured based on the post-place and route netlist 411.
[0113]
The power consumption calculation process 1000 performs a calculation logic addition process 1030 while referring to the cell library 1040 including the information of “a” and “b” in “Formula 8” when the RTL 405 is generated in the conventional LSI manufacturing process 413. , RTL 1050 with calculation logic is generated. 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 the RTL 1050 with calculation logic, an FPGA synthesis process 1060 is performed using an FPGA synthesis tool to generate an FPGA netlist 1070. Then, the FPGA net list 1070 is downloaded and written into the FPGA 1080.
[0115]
By operating the FPGA 1080, power consumption calculation 1090 can be performed. The obtained power consumption is input to the computer 120 via the interface 100a, the interface conversion unit 110, and the interface 110b of FIG.
[0116]
After that, 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 process 1030 to the power consumption calculation process 1090 again, it is possible to confirm whether the power consumption has been reduced by correcting 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 it is not necessary to reduce the power consumption, the logic synthesis process 407 and the subsequent processes are performed, and the LSI 412 is actually manufactured based on the post-place-and-route netlist 411 generated in the place-and-route process 410. Thus, according to the present embodiment, it is possible to add calculation logic on the RTL description and calculate the power consumption using the FPGA 1080 before manufacturing the LSI.
[0118]
At this time, it is possible to perform high-level synthesis processing for synthesizing RTL with reduced power consumption by repeating the process of confirming reduction of 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 exemplary embodiment of the present invention. The present embodiment shows the configuration of the calculation control circuit 280 when the target logic circuit 200 in the first embodiment is a CPU.
[0121]
The technology for configuring the CPU is well known, for example, by Patterson & Hennessy, translated by Mitsuaki Narita, “Computer Configuration and Design”, Nikkei BP, p. H.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]
A program address 1101a is output from the program counter 1100. By reading the contents of the address indicated by the program address 1101a from the instruction memory 1101, the 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]
Data is output by reading the content of the address indicated by the data address 1103 a from the data memory 1204 and stored in the register 1202.
[0126]
The calculation control circuit 280A includes four event detection units including a data area detection unit 1110, a program area 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 1110 a becomes 1 when the data address 1103 a is included between the start address of the start register 1110 and the end address of the end register 1112. Thereby, 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 detection unit 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 1120 a becomes 1 when the program address 1100 a is included between the start address of the start register 1130 and the end address of the end register 1132. Thereby, 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 detecting means 1130 includes an address register 1132 and a comparator 1131 and outputs a signal 1130a.
[0132]
The signal 1130 a becomes 1 when the data address 1103 a matches the address of the address register 1132. Thereby, it is possible to calculate the power consumption when the data address 1103a is at a specific address, that is, when accessing a specific variable.
[0133]
The instruction detection unit 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 of the instruction register 1142. Thereby, the power consumption in a specific command can be calculated.
[0135]
The output 280a of the calculation control circuit 280A is a signal that outputs 1 during the power consumption calculation period and outputs 0 otherwise, as described above, but the four types of control signals are output according to the information in the selection information register 1150. 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. Thereby, 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 gate signal changes to a logic circuit that is a power consumption calculation target, and the power consumption is calculated based on the measured number of signal changes. Since power is calculated, the power consumption of the logic circuit can be obtained under conditions close to those during actual operation. In addition, the power consumption can be calculated at high speed because the calculation is performed using hardware regardless 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 acquired 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 for calculating the power consumption of a logic circuit suitable for development of 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 in the first embodiment.
FIG. 4 is a flowchart for explaining a process of power consumption calculation processing in the first embodiment.
5 is a block diagram showing another configuration example of the signal change measurement circuit 220. FIG.
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 for explaining a process of power consumption calculation processing in 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 for explaining a process of power consumption calculation processing in the fourth embodiment.
FIG. 11 is a block diagram showing a configuration of a calculation control circuit 280 in the fifth embodiment.
[Explanation of symbols]
110: Interface converter
120 ... Calculator
130 ... display screen
200 ... Target logic circuit
201: Power consumption calculation logic circuit
210 ... flip-flop
220 ... Signal change measuring circuit
230 ... Adder circuit
240 ... Signal change number register
250 ... Power conversion circuit
260 ... adder
270 ... Measurement cycle number register
280 ... Calculation control circuit
620 ... Power consumption measuring circuit
630 ... Adder 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 (9)

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

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007037017A1 (en) 2005-09-29 2007-04-05 Fujitsu Limited Consumed power analyzing method, and consumed power analyzing device
JP2007293542A (en) * 2006-04-24 2007-11-08 Fujitsu Ltd FPGA consumption current relational expression derivation method and program, FPGA consumption current relational expression derivation system, and FPGA estimation tool accuracy evaluation program
JP4704299B2 (en) 2006-09-06 2011-06-15 富士通株式会社 LSI power consumption peak estimation program and apparatus
EP2109053B1 (en) * 2006-12-28 2015-08-19 NEC Corporation Signal selection device, method, and program
JP4899960B2 (en) * 2007-03-19 2012-03-21 富士通株式会社 Power consumption estimation method and program
JP4924130B2 (en) * 2007-03-19 2012-04-25 富士通株式会社 Power consumption analysis support program, recording medium storing the program, and power consumption analysis support device
JP4985466B2 (en) * 2008-02-26 2012-07-25 富士通株式会社 Power consumption estimation method, power consumption estimation device, and power consumption estimation program
JP5012611B2 (en) * 2008-03-25 2012-08-29 日本電気株式会社 Behavioral synthesis apparatus, behavioral synthesis method, and program
JP5262996B2 (en) * 2009-05-26 2013-08-14 富士通セミコンダクター株式会社 Logic simulation apparatus, method, and program
US10599794B2 (en) 2014-10-06 2020-03-24 Synopsys, Inc. Efficient power analysis
JP6506010B2 (en) * 2014-10-30 2019-04-24 株式会社メガチップス Power consumption estimation technology for semiconductor integrated circuits
JP7611632B2 (en) 2023-01-30 2025-01-10 パナソニックオートモーティブシステムズ株式会社 Power Measurement Circuit

Also Published As

Publication number Publication date
JP2004062238A (en) 2004-02-26

Similar Documents

Publication Publication Date Title
US7047166B2 (en) Method and VLSI circuits allowing to change dynamically the logical behavior
Bryant et al. Limitations and challenges of computer-aided design technology for CMOS VLSI
JP4696051B2 (en) Power consumption analysis method and program
US8095354B2 (en) Power consumption peak estimation program for LSI and device therefor
JP3980957B2 (en) Power consumption calculation method
CN115315702A (en) Prediction of Machine Learning-Based Metrics in Early Stage Circuit Design
US20100318946A1 (en) Various methods and apparatuses for estimating characteristics of an electronic systems design
US12210810B2 (en) System and method for predicting performance, power and area behavior of soft IP components in integrated circuit design
US20120060133A1 (en) Annotation of RTL to Simplify Timing Analysis
US7813908B2 (en) Clock control module simulator and method thereof
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
US7266791B2 (en) High level synthesis device, method for generating a model for verifying hardware, method for verifying hardware, control program, and readable recording medium
JP4492803B2 (en) Behavioral synthesis apparatus and program
JP5454349B2 (en) Performance estimation device
JP2005316647A (en) Wiring analyzing method, logic synthesizing method and circuit dividing method for integrated circuit
JP2008299464A (en) Power consumption calculation method, power consumption calculation program, and power consumption calculation device
JP2009271653A (en) Power consumption estimation method, circuit design support device and program
JP3613314B2 (en) Information processing system
Beyer et al. Correct hardware by synthesis from PVS
JP5622257B2 (en) Behavioral synthesis system and behavioral synthesis program
JP7335535B2 (en) hardware trojan detection device and hardware trojan detection program
JP5110206B2 (en) Behavioral synthesis apparatus, behavioral synthesis method, and program
JPH03269736A (en) computer system
JP2000057188A (en) Hardware / Software Co-Evaluation System
Palayath Godage Don Benchmark methodologies for the optimized physical synthesis of RISC-V microprocessors

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