ここからはStratix IIIを例に、Advisor機能を使った具体的な低消費電力の設定方法について解説します。
まず、Quartus IIのAdvisor機能にある「Power Optimization Advisor」を起動してみましょう。
メニューの[Tools]−[Advisors]−[Power Optimization Advisor]から起動します(図5)。
図5 [Power Optimization Advisor]の起動方法
起動すると2つの「Stage」が表示されます。そして、すでに設定されている項目にはマーク(チェックマーク)、まだ設定されていない項目にはマーク(アラートマーク)が表示されています(図6)(注)。
図6 [Power Optimization Advisor]を開いた画面
注:設定しているデバイスにより、表示形式は異なります。 |
それでは、「Stage1」から見ていきましょう。
まずは、“Select a Low Core Voltage”です。
これが「メモ:消費電力を重視したアルテラ製品」で紹介した「ユーザー選択可能なコア電圧」です。この設定はStratix IIIのみサポートしている機能で、デバイスのコアに供給する電圧は「1.1V」または「0.9V」のいずれかを選択することができます。また、この機能は以下のように型番の末尾に“L”の付くStratix IIIデバイスで使用できます。
EP3SE50F484C4L
※“L”デバイスではスピード・グレードは4のみの提供になります。
ちなみに、型番が「EP3SE50F484C4」の場合、末尾に“L”がないのでコア電圧は「1.1V」だけしか選択できません。
それでは具体的に設定していきましょう。“Select a Low Core Voltage”の画面右下の“Open Settings dialog box - Operating Settings and conditions Voltage page”をクリックします(図7)。
図7 “Select a low Core Voltage”の設定画面
すると“Setting”の“Voltage”を設定する画面が表示されます。この画面の“Core supply voltage”を「0.9V」に変更します(図8)。
図8 “Core supply voltage”の設定画面
では、コアに供給する電圧を「1.1V」ではなく「0.9V」にすると、どのくらい消費電力が下がるのでしょうか?
コアに供給する電圧が下がるので「消費電力の計算方法」でも紹介したように、スタティック消費電力とダイナミック消費電力の両方に影響が出るはずです。アルテラの資料によると前世代のStratix II(1.2Vのコア電圧)からスタティック消費電力で64%、ダイナミック消費電力で55%の低減率があると記載されています。
これらを踏まえて、「0.9V」のコア電圧にするかどうかを判断したい場合は、
の2点を考慮する必要があります。
また、タイミングを満たしているかどうかを確認する方法については、「FPGAの動作スピードを改善するポイントとは?」で紹介していますので再度確認してみてください。
次に“Power-Driven Synthesis”と“Power-Driven Fitting”の2つを見ていきましょう。
これらの設定はQuartus IIでコンパイルを行うときに、論理合成や配置配線で低消費電力を優先させます。特にStratix IIIをデバイスに選んでいる場合は、「プログラマブル・パワー・テクノロジ」と呼ぶ新しい低消費電力制御機能を用いて、デバイス内のリソース(ここでは“タイル”と呼ぶ)を高速モードと低消費電力モードに分けて制御します。タイルは「LAB」「DSPブロック」「メモリ・ブロック」「カラム I/O インターフェイス」で構成されます(図9)。
図9 プログラマブル・パワー・テクノロジをサポートしたFPGAの配置イメージ図
“Power-Driven Synthesis”の[Correct Settings]ボタンをクリックするとRecommendedの“Extra Effort”の設定になります(図10)。
図10 “Power-Driven Synthesis”の設定画面
この“Extra Effort”のオプションは「プログラマブル・パワー・テクノロジ」だけではなく、デザインに指定されたタイミング制約に基づいて、ロジックを近くに配置して高トグルするネットを局所化したり、低キャパシタンスの配線を使うことで、より低消費電力化を実行します。そのためコンパイル時間が延びる可能性があります。ちなみに、これらの設定はプロジェクト単位で設定できます。
いよいよ「Stage1」の最後の設定です。
“Minimum Area Synthesis”は、その名のとおりデザインが必要とするリソースを最小限にする設定です(図11)。
図11 “Minimum Area Synthesis”の設定画面
通常の設定では、“Optimization Technique”が“BALANCED”になっており、動作周波数、使用リソース、消費電力の3要素がバランスよく配置されます。しかし、低消費電力を優先したい場合は、デバイスのリソースをいかに少なく使うかがポイントとなりますので、“Correct Settings”を押して使用リソースを最小化する“AREA”を設定しましょう。また、エリアをさらに小さくしたい場合は「集積効率のよい結果を引き出すには?」も併せて参考にしてください。
次に、「Stage2」に進んでみましょう。
「Stage2」の設定は“Use Only Low Power LABs”の1つだけです。この設定はタイルの中でLABに焦点を当て、さらに低消費電力にできるLABを探します(図12)。
図12 “Use Only Low Power LABs”の設定画面
[Correct Settings]ボタンをクリックすると“MINIMIZE_POWER_ONLY”と低消費電力を最優先させたコンパイルを行います。そのため、タイミング要求をすべて満たしている場合は、高速動作モード・タイルをまったく使用せずに、低消費電力モード・タイルだけで配置配線する可能性もあります。
さて、これまでの連載でアルテラの開発ツールQuartus IIのAdvisor機能によるチューニング・テクニックを紹介してきました。これで終了です……。
ではなくて! まだ紹介していないAdvisor機能があります。
最後に、特別付録として紹介するAdvisor機能は“Incremental Compilation Advisor”です(図13)。
図13 “Incremental Compilation Advisor”の起動方法
本連載ではQuartus IIの無償評価版であるWeb Editionをターゲットに解説してきましたが、実は今回紹介する“Incremental Compilation Advisor”は、Web Editionに含まれていません。しかし、せっかくこれまでAdvisor機能について説明してきたので、ここで紹介します。
なお、Quartus IIサブスクリプション・エディションの「30日間の無償トライアルライセンス」を利用すれば、Incremental Compile機能を実際に試すことが可能です。Quartus IIサブスクリプション・エディションは、こちらからダウンロードできます。
まず、Incremental Compileという機能について説明します。
「コンパイル時間を早めるには?」の中でも触れましたが、新しいデバイスなどの場合、集積度が高いためコンパイル時間が長くなる傾向にあります。わずかなデザイン変更などが発生した際に、再度すべてのデザインをコンパイルし直すことは時間の無駄となります。
そこで登場した機能が、追加コンパイルという意味のIncremental Compileです。この機能を用いることでコンパイル時間を短縮できるほか、出来上がったデザイン・ブロックからコンパイルをする、以前タイミングを満たしたデザイン・ブロックを別のプロジェクトで性能を変えずに流用するなど、より広い用途で使用できます。
実際のデザインがデバイス上に配置された状態を以下に示します(図14)。
図14 デザインのデバイス配置図
Incremental Compileは、ユーザーが設定したパーティションごとにデザインを分割して、デバイス内に配置します。これにより、あるパーティションの性能を維持しながら別のパーティションの配置を最適化することができ、デザイン全体の性能向上を図ることが可能です。
図15は、Incremental Compilation Advisorの画面です。これまで紹介してきたAdvisorと同様にマーク(チェックマーク)やマーク(アラートマーク)が表示されています。
図15 Incremental Compilation Advisorの画面
ここでは各設定に関して詳細は説明しませんが、興味のある方はアルテラから提供している資料に詳しい内容が記載されています。また、アルティマの技術サイト「EDISON(エジソン)」にも詳細資料が公開されています。アルティマFPGA/CPLD関連情報サイト「Alt-vista」からユーザー登録をすれば、無料で閲覧できますので、併せてご活用ください。
◇
今回は、より低消費電力にするために、消費電力見積もりツールの使用方法とAdvisor機能を用いて低消費電力にするテクニックを解説しました。消費電力の見積もりや低減は、システム設計をするうえで非常に重要となりますので、本連載を参考に再度確認してみてください。
さて、今回で本連載は終了となります。この連載が設計者の皆さんの設計工数の削減に少しでも貢献できれば筆者としてはうれしい限りです。最後まで連載にお付き合いいただきまして本当にありがとうございました。
Copyright © ITmedia, Inc. All Rights Reserved.