(57)【要約】      （修正有）【課題】本発明はFPGAの消費電流を精度よく算出する方法と、見積りツールの算出精度を評価する方法に関する。【解決手段】FPGAのカスケード接続した論理セルの個数、クロック周波数、信号反転率の３つのパラメータのうちの１つを可変として実測した複数の消費電流データを読み込む実測データ読み込み手順と、そのデータを用いて、前記パラメータと消費電流との関係を一次式で表したときの係数を算出する関係式導出手順とを有するFPGAの消費電流関係式導出方法。【選択図】図５
2007293542.tif 000002
【特許請求の範囲】
【請求項１】
FPGAのカスケード接続した論理セルの個数、クロック周波数、信号反転率の３つのパラメータのうちの１つを可変として実測した複数の消費電流データを読み込む実測データ読み込み手順と、
実測した複数の消費電流データを用いて、前記パラメータと消費電流との関係を一次式で表したときの係数を算出する関係式導出手順と
を有するFPGAの消費電流関係式導出方法。
【請求項２】
コンピュータを、
FPGAのカスケード接続した論理セルの個数、クロック周波数、信号反転率の３つのパラメータのうちの１つを可変として実測した複数の消費電流データを読み込む実測データ読み込み手順と、
実測した複数の消費電流データを用いて、前記パラメータと消費電流との関係を一次式で表したときの係数を算出する関係式導出手順と
して動作させるFPGAの消費電流関係式導出プログラム。
【請求項３】
請求項１または請求項２において用いる実測データを計測する場合のFPGA上に構成する回路としての、論理セルの数の異なる、論理セルをカスケード接続した複数のコンフィギュレーション・データを保持するデータ・ファイルと、
要求に応じて、前記コンフィギュレーション・データを順次FPGAにロードする手段と、
コンフィギュレーション・データがロードされたFPGAの消費電流を測定した結果を読み込む手段と
実測した複数の消費電流データを用いて、前記パラメータと消費電流との関係を一次式で表したときの係数を算出する関係式導出手段とを有する、FPGAの消費電流関係式導出システム。
【請求項４】
請求項１記載の消費電流算出方法または請求項２記載の消費電流算出プログラムによって得られた係数と、FPGA付属の消費電流見積りツールにより得られる係数とにより、パラメータと消費電力との関係を比較・表示する見積りツール精度評価プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はFPGAの消費電流を精度よく算出する方法と、見積りツールの算出精度を評価する方法に関する。
【背景技術】
【０００２】
FPGAは回路規模の増加、および高速化に伴い、消費電流が増大している。FPGAを搭載する装置においては電源設計、熱設計のためにFPGAの消費電流を高精度で見積もる必要がある。
【０００３】
LSIにおいて消費電力を予測することは古くから行われている。
【特許文献１】特開平８−３１４９９２号公報  これは、論理シミュレーション結果を入力として、変化信号を識別し、この信号が接続されている全ての部品を計算対象として出力値と、入力値変化による部品内部の消費エネルギーを計算する。しかし、論理設計が終了した段階で適用するものであり、正確ではあるが簡便さにかける。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
FPGAメーカからは初期のデザイン・コンセプト段階で使用するスプレッドシートベースの消費電流見積りツールと、デバイス・リソースの利用率と配置配線結果を考慮した消費電流見積りツールの両方または片方が提供されているが、両種のツールとも見積り精度が明確ではないため目安程度であり、実運用上、大きな問題となる。
【課題を解決するための手段】
【０００５】
FPGAの基本的な構成要素である論理セルの基本構造を図１(a)に示す。論理セルは、論理を構成するメモリLUTとその出力に付加されたレジスタFFとで構成されている。FPGAは、この論理セルを大量にアレイとして配置したもので、論理セルの相互接続とLUT部分のデータとを設計により適宜決定し構成することにより全体の論理回路を構成するものである。なお、この他にメモリやプロセッサなどのマクロ素子を含む場合もあるが、それらについては、ここでは対象外（定数として扱う）とする。
【０００６】
現在のFPGAはMOS回路で構成されている。MOS回路は、すなわちFPGAは、電源からみると１つの静電容量Cとみなすことができる。
【０００７】
すなわち、FPGAに流れる消費電流Iccは次の一次式であらわされる。
【０００８】
Icc=f*C*V+k
ここで、f:動作周波数、C:等価容量、V:電圧振幅、であり、kはマクロ素子や漏洩電流等を考慮した定数である。
【０００９】
電源電圧を一定とすると消費電流Iccを決定する基本パラメータは、fに関与するクロック周波数Fと信号の反転率R、およびCに関与する回路規模すなわち論理セル数Nである。したがって、jを定数として、
Icc=j*F*R*N+k
と表現できる。
【００１０】
定数jとkとが決まっていれば、クロック周波数Fと信号の反転率R、および論理セル数Nを想定することにより消費電流Iccを見積ることができる。
【００１１】
本発明は、基本パラメータを変えて消費電流を実測し、その結果から定数jとkとを定めれば消費電流Iccを決定することができることを利用する。
【００１２】
すなわち、FPGAのカスケード接続した論理セルの個数、クロック周波数、信号反転率の３つのパラメータのうちの１つを可変として実測した複数の消費電流データを読み込む実測データ読み込み手順と、実測した複数の消費電流データを用いて、前記パラメータと消費電流との関係を一次式で表したときの係数を算出する関係式導出手順とによりFPGAの消費電流関係式を導出することができる。また、これをコンピュータのプログラムとして構成することもできる。
【００１３】
ここで、実際の全体の論理回路の構成は様々であるが、消費電流の実測データを計測する場合のFPGA上に構成する回路としては単純化して、論理セル数Nであらわすことで実用上問題ないため、図１(b)のようにカスケード接続とする。
【００１４】
すなわち、論理セル数の異なる、論理セルをカスケード接続したコンフィギュレーション・データを複数もち、要求に応じて順次FPGAにロードする手段と、コンフィギュレーション・データをロードされたFPGAの消費電流を測定した結果を読み込む手段と、実測した複数の消費電流データを用いて、前記パラメータと消費電流との関係を一次式で表したときの係数を算出する関係式導出手段とを有することにより、FPGAの消費電流関係式導出システムとなる。
【００１５】
基本パラメータに対して消費電流の実測値と見積り値とを、図３に示すように比較、解析することにより、消費電流見積りツールの見積り精度を求めることが可能である。
【発明の効果】
【００１６】
精度の高いオリジナルな消費電流見積りツールの構築が可能になる。また、FPGAメーカ提供の消費電流見積りツールの精度を定義し、補正係数を設定することによって、消費電流見積リツールの実運用が可能となる。したがって、FPGAを搭載する装置の電源設計、熱設計の設計品質が向上する。
【発明を実施するための最良の形態】
【００１７】
（実施例１）
本発明の基礎となる電流の実測を行う回路の構成例を図２に示す。評価対象のFPGA１は適当な評価ボード２に搭載され、電源３からマルチメータ４を介して電流を供給される。マルチメータ４でFPGA１に流れる電流を測定する。FPGA１の動作のためのクロックはパルス・ジェネレータ５から供給される。入力データパターンは、FPGA１上にパターン生成回路６として組み込んだ回路から供給することができる。生成パターンを外部から切り替えることができるようにしておく。この回路は単純な回路であるので詳細は省略する。
【００１８】
FPGA１には図１(b)のように、論理セルをN個カスケード接続した消費電流評価用回路が配置されている。なお、論理セルの数Nを変えた回路データを複数用意してあり、必要に応じてローディングして用いる。論理セルの入力は通常４ビットであるが、そのうちの１ビットのみ使用することでよい。消費電流に大きな影響はないので、適宜決めればよいことである。
【００１９】
この電流の実測において、FPGA１の消費電流Iccの支配項となる基本パラメータを次のように容易に制御することができる。
・クロック周波数:入力クロック周波数をパルス・ジェネレータにより制御可能。
・信号反転率:入力DATAパターン(例:0001,0011,0101)を変えることにより制御可能。
・回路規模:論理セルをカスケード接続する数Nにより制御可能。
【００２０】
本例ではまず内部の評価回路が動作しないOFF状態(クロック周波数、信号反転率、論理セル数が0の状態)での消費電流値を測定する。その後クロック周波数、信号反転率、論理セル数の基本パラメータの１つを変えて消費電流値を測定する。回路規模すなわち論理セル数を変更する場合には、FPGAの内部構成を変えるためコンフィギュレーション・データ・ファイルのデータを替えてローディングすることで行う。
【００２１】
容易に制御可能であるとした基本パラメータの値が消費電流測定評価回路の中でどの部分にあたり、実際の消費電流測定を進めていくかを説明する。
１.回路規模は論理セルの段数Nにより決定する。例：1000個
２.クロックはすべてのFFに入力される。例：50MHz、100MHz、150MHz、・・・・
３.信号反転率は入力端子に入力するデータパターンにより決める。例：“00001111”として25%
上記パラメータ時の消費電流を測定したら、回路規模とクロック周波数は同条件で変えずにデータパターンを、“00110011”として反転率50%、“01010101”として反転率100%の時の消費電流を測定するというように測定を進める。それが済んだら、論理セルの段数Nとデータパターンを固定し、クロック周波数を100MHz、150MHz、・・・・と変えて消費電流を測定し、次にクロック周波数とデータパターンを固定して論理セルの段数Nを2000個、3000個・・と変えて消費電流を測定する。
【００２２】
図４は測定手順を示すフローチャートの例である。評価ボードは簡易なもので、測定そのものは手作業とした最も単純なものを示す。
S1  コンフィギュレーシーション・データ・ファイルＡから一つをロードする。
S2  測定開始を指示する。
S3  測定を待つ。（例：操作者が基本パラメータのクロックを50MHzに設定し、反転率を変えて消費電流を測定するものとする。適宜終了を示す信号を出す。）
S4  測定終了を検知したら結果を読み込む。（例：操作者が基本パラメータの値と実測した消費電流との組を入力するものとする。複数のデータを入力できるように画面表示し、入力されたものをファイルにする。）
S5  測定範囲済か判定する。（例：クロック周波数  100MHz、150MHz、等、終了か）
S6  実測結果を解析して係数を算出する。
S7  次のコンフィギュレーシーション・データをロードする。S1へ。
【００２３】
すべて終了するまで繰り返す。最終的に関係式を導出、結果を表示する。
【００２４】
図２では省略してあるが、評価ボードとのインタフェースを強化してこれらの操作をコンピュータを用いて自動化することもできる。
【００２５】
係数・関係式を導出するにあたり、例えば、測定結果を用いて最小二乗法などにより回帰分析して基本パラメータと消費電流との関係を表す係数を求めることができる。結果は係数の値、または関係式として出してもよいが、実用的には、クロック周波数、信号反転率、セル数の１つに対する消費電流グラフとして表示・出力するのがよい。（他の二つのパラメータは指定に応じて適宜設定）
また、それぞれ同一条件についてFPGAメーカ提供の消費電流見積りツールで算出した値と比較・表示する。
【００２６】
図３は本評価方法を用いて解析したときの結果グラフの模式図である。
【００２７】
この２種の結果を比較して、消費電流見積りツールを定量的に評価し、消費電流見積りツールの見積もり精度を判定することができる。また、補正係数を決めて見積りツールの精度を高くして使うことも可能である。
【００２８】
関係式導出システムとして構成した例を図５に示す。
【００２９】
FPGAの構成を決めるコンフィギュレーション・データ・ファイルAは、ここでは論理セルをN個カスケード接続したもので、数Nを変えた複数のデータとして保持されている。これを指示に応じて順次、FPGAにロード手段１１によりロードする。
【００３０】
電流測定用のハードウェア１０を用いて測定した実測データBを結果読み込み手段１２により読み込む。このデータを関係式導出手段１３により解析して関係式Cを得る。結果の表示はグラフ表示等適宜行えばよい。
【図面の簡単な説明】
【００３１】
【図１】FPGAの構成
【図２】測定時の回路構成例
【図３】計測／見積り模式図
【図４】測定手順を示すフローチャート
【図５】関係式導出システムの構成例
【符号の説明】
【００３２】
１    FPGA
２    評価ボード
３    電源
４    マルチメータ
５    パルス・ジェネレータ
６    パターン生成回路
１０    電流測定ハードウェア
１１    ロード手段
１２    結果読み込み手段
１３    関係式導出手段
A    コンフィギュレーション・データ・ファイル
B    実測データ
C    関係式／グラフ表示等
【図１】
2007293542.tif 000003
【図２】
2007293542.tif 000004
【図３】
2007293542.tif 000005
【図４】
2007293542.tif 000006
【図５】
2007293542.tif 000007