連載
» 2008年01月29日 00時00分 UPDATE

FPGA開発テクニック、チューニングの心得(6):FPGAをより低消費電力にするには? (1/2)

今回は消費電力見積もりツールの使用方法とAdvisor機能を用いた「FPGAの低消費電力テクニック」について詳しく解説する。

[島田順二(アルティマ),@IT MONOist]

 前回「タイミングを改善し、動作速度を向上させるには?」をテーマに、アルテラの開発ツール「Quartus® II」のAdvisor機能によるタイミング改善の設定項目について紹介しました。

 今回は“FPGAを取り巻く消費電力の状況”“より低消費電力にするテクニック”について解説します。

FPGAを取り巻く消費電力の状況

 新たなFPGAデバイスが登場すると「○○機能が新たに拡張された!」や「性能が○○%もアップする!」などの“機能の拡張”と“性能の向上”ばかりがクローズアップされがちです。しかし、実際の開発現場では「これらの新しいデバイスを使い、従来よりも小さなスペースで、より少ない消費電力で実現しなければならない」「特定の条件下で満足のいく消費電力にしなければならない」といった使命を受け、“消費電力”を重視している設計者さんが多いのも事実です。

メモ 消費電力を重視したアルテラ製品

アルテラでは消費電力を重視した製品、MAX® IIZ CPLD、Cyclone® III FPGA、およびStratix® III FPGAを提供しています。それぞれの特徴は以下のとおりです。

  • MAX IIZ CPLD
    ポータブル機器の需要を背景に、29μAのスタンバイ電流を可能にしたCPLDです。単一電源で動作し、ホット・ソケット機能もサポートしているため、電源構成を簡素化できます。また、68ピンで5mm角というMBGA(Micro FineLine BGA)パッケージもラインアップされています。
  • Cyclone III FPGA
    FPGAを含めた半導体は、プロセスに対する消費電力の対策を講じない場合においては、スタティック消費電力が大幅に増加する可能性があります。Cyclone IIIではTSMCの低消費電力65nmプロセスをベースに作成され、Low-K低誘電体、複数のチャネル長および酸化膜、複数のトランジスタ・スレッショルド電圧の使用などが採用されています。詳細はこちらをご覧ください。
  • Stratix III FPGA
    Stratix IIIは、65nmプロセスをベースにユーザーが消費電力(特にダイナミック消費電力)を制御できる2つの機能「ユーザー選択可能なコア電圧」と「プログラマブル・パワー・テクノロジ」を持っています。

消費電力の計算方法

 では、消費電力をどのように求めればよいのでしょうか?

 消費電力は、

  • ダイナミック消費電力
  • スタティック消費電力

の2つに大きく分けることができます。

 ダイナミック消費電力とは、信号のトグルおよび容量性負荷の充電と放電によるデバイスの動作を通じて消費される電力のことで、周波数、電圧、負荷に依存します。ダイナミック消費電力は、これら3種類の変数を用いて以下の式で求められます(式1)

ダイナミック消費電力 = 負荷 × 電圧² × 周波数…… 式1 

 一方、スタティック消費電力とは、FPGAでプログラムされているがクロックで動作していないときに消費する電力のことで、デバイス内のトランジスタがリークする電流によって発生する電力です。このリーク電流は接合温度によっても変化します。

 前述のとおり、スタティック消費電力はデバイスの型番によって一意に決まりますが、ダイナミック消費電力に関しては設計仕様(ロジックやメモリ、DSPブロックなどの内部リソース使用率)、供給電圧の変更(Stratix IIIのみ)や動作周波数で変化します。そのため、FPGAで消費電力を考える場合は“事前の見積もり”が非常に重要になります。

消費電力の見積もり方法

 消費電力を事前に見積もるために、アルテラでは「PowerPlay Early Power Estimator(以下、EPE)」と「Quartus II PowerPlay Power Analyzer」の2つのツールを提供しています。

 それぞれの概要は以下のとおりです(図1)

  • PowerPlay Early Power Estimator:
    デバイスごとに専用のExcelシートを用いて必要なリソースと動作周波数を入力して消費電力を自動計算する
  • Quartus II PowerPlay Power Analyzer:
    Quartus IIによる、より正確な消費電力解析を行う

図1 アルテラが提供している消費電力見積もりツール

 消費電力見積もりツールは、デザインの特性が分かる情報が多いほど、見積もりの精度が向上します。そのため、デザインの設計段階において消費電力見積もりツールを使い分けることがポイントとなります。

PowerPlay Early Power Estimator

 EPEは、Excelシートを用いて消費電力を計算する方法です。デバイスごとのEPEについては、以下のURLからダウンロードできます。

PowerPlay Early Power Estimators(EPE)&消費電力解析
http://www.altera.co.jp/support/devices/estimator/pow-powerplay.jsp

 例として、Stratix IIIのEPEを見てみましょう(図2)

図2 Stratix IIIのEPE画面

 前述のとおり、EPEはExcelのワークシートです。大まかなロジックやメモリの使用数量が分かっている場合、その個数をワークシートに入力すると煩雑な計算をせずに、消費電力(図2の“Thermal Power(W)”)や、各電源端子にどれだけ電流を流せばよいか(図2の“Power Supply Current(A)”)が瞬時に分かります。

 筆者の場合、ある容量のデバイス、例えば「EP3SE50」に対して「使用率何%のとき、消費電力は○○W」などと事前に見積もりをして、お客さまに提示しています。

 また、すでにデザインが存在する場合はQuartus IIでEPE用のファイルを出力できます。そして、この出力ファイルを利用すれば入力の手間も省けます(図2の“Import Quartus II File”)。EPEの詳しい使い方は、こちらを参照してください。

Quartus II PowerPlay Power Analyzer

 Quartus IIは与えられた条件により、配置配線後の消費電力の詳細結果をレポートすることができます。コンパイル後であれば、その結果から必要なリソース使用量が分かりますので、要求する動作周波数を入力していればQuartus IIで消費電力を求めることができます。Quartus II PowerPlay Power Analyzerは、メニューの[Processing]−[Start]−[Start PowerPlay Power Analyzer]から起動します(図3)

図3 [Quartus II PowerPlay Power Analyzer]の起動方法

 消費電力の計算が終わると、レポート・ファイルにPowerPlay Power Analyzerの結果が表示されます(図4)

図4 [Quartus II PowerPlay Power Analyzer]の結果

 図4の項目については、以下を参考にしてください。

項目
説明
Total Thermal Power Dissipation トータルの消費電力
Core Dynamic Thermal Power Dissipation コアが消費するダイナミック消費電力
Core Static Thermal Power Dissipation コアが消費するスタティック消費電力
I/O Thermal Power Dissipation I/Oの消費電力

 以上が、消費電力見積もりツールの紹介です。続いて、次ページではAdvisor機能を使った低消費電力テクニックについて紹介します。

       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.