はじめに
FPGA 設計において、消費電力や熱設計は避けて通れないテーマであり、設計の初期段階から消費電力を見積もり、適切な電源および冷却設計を行うことが重要です。
本記事では、アルテラ社が提供する Power and Thermal Calculator (PTC) を使用して、Agilex™ 3 デバイスの消費電力を簡易的に見積もる方法をご紹介します。
なお、今回は設計途中を想定したデザインを事前に作成しています。このデザインを使用して消費電力の見積もりを行いますので、PTC の使用フローの参考になれば幸いです (デザインはページ下部に添付)。
参考資料:
「FPGA の消費電力の種類と計算方法」 や 「Altera®FPGA 消費電力の見積もり方法」 については、以下のコンテンツでも詳しく解説されていますので、User Guide とあわせてご確認ください。
- FPGA の消費電力の種類と計算方法
- Altera® FPGA 消費電力の見積もり方法
- Power and Thermal Calculator User Guide
1. PTC とは?
1-1. PTC の概要
Power and Thermal Calculator (PTC) は、Agilex™ 3/5/7, Stratix 10 向けの消費電力および熱設計見積もりツールです。
設計前・設計途中・設計後の各フェーズで、FPGA の消費電力や温度パラメータを迅速に見積もることができます。
1-2. PTC の主な特徴
- 設計初期から使える:RTL が未完成でも、リソース見積もりで消費電力を算出
- 階層ごとの分析:設計階層ごとに消費電力を分解・可視化
- データのエクスポート/インポート:チーム設計や再利用に便利
-
GUI で直感的操作:リソース入力や結果確認が簡単
1-3. PTC の精度と注意点
- PTC の結果はあくまで見積もり。実機での消費電力は、設計内容や入力信号により変動する
- 設計完了後は Quartus® Prime Power Analyzer (QPA) での詳細解析が推奨される
1-4. PTC へのアクセス
PTC は Standalone 機能 (PTC 単体でダウンロードして使用) として、または Quartus® Prime ソフトウェアに組み込まれた形で提供されます。
ポイント:
本記事では、Quartus® Prime ソフトウェアをフルインストールした状態での PTC 動作をご紹介します。PTC は以下の URL からダウンロードすることが可能です。
- Quartus® Prime Pro Edition Design Software Version 25.1.1 for Windows
2. PTC の使用例
2-1. 起動方法
Quartus の Tools メニュー > Power and Thermal Calculator または、コマンドシェルで "quartus_ptc" と入力します。>
2-2. デバイス・パッケージの選択
PTC の起動後、デバイスファミリやパッケージ、スピードグレードなどをプルダウンから選択します。
デバイスは Terasic 社から提供される "Atum A3 Nano" を想定し、"A3CZ135BB18AE7S" を選択しています。
今回は事前に設計途中を想定したデザインを作成しており、以下に "Flow Summary" を示します。
(作成したデザインについて、プロジェクトのアーカイブファイルをページ最下部に添付しますので、ご参考ください。)
本デザインの代表的なリソースは以下の通りです。
- Logic utilization (in ALMs)
- Total RAM Blocks
- Total DSP Blocks
2-3. リソース情報の入力
PTC では、設計で使用する各リソース(Logic, RAM, DSP, Clock, I/O, Transceiver など)ごとに、使用数・動作周波数・トグル率などを入力します。
今回のフローでは事前に作成したデザインから .qptc ファイルを生成して PTC にインポートする手法をご紹介します (デザイン作成中の消費電力を見積もるケース。サンプルデザインはページ最下部に添付)。
ヒント:
PTC への入力は GUI で行います。詳細な入力手法や各種パラメーターについては以下の資料をご確認ください。
- Power and Thermal Calculator User Guide : 3. Power and Thermal Calculator Graphical User Interface
Quartus の Processing メニュー > Start > Start Power Analyzer (PA) を実行
(デザインの Fitter まで完了している必要があります。)
PA を実行すると、プロジェクトフォルダに .qptc ファイルが生成
-
.qptc ファイルを PTC にインポート
File メニュー > Import Design... > "top.qptc" を選択メモ:
PTC を開く際、プロジェクトフォルダで作業を継続している場合には、生成した .qptc ファイルを起動時に読み込ませることもできますので、重複して .qptc ファイルを読み込まないようにご注意ください (リソースが倍、登録されてしまいます) 。
-
インポートが完了すると以下のような画面が表示
メモ:
インポート時に、一部の設定が反映されず Warning メッセージが表示される場合もありますので、内容を確認して PTC 上で設定を追加するか、Quartus ソフトウェアの方で事前に設定を入力してご利用ください。
入力した内容は File > Save または Save As... で保存可能 (.ptc 形式)
2-4. 見積もり結果の確認
PTC には現時点でのデザインに対する各ブロックごとの消費電力が表示されています。
例えば、Logic タブをチェックすると、現時点での Total thermal power (W) は 0.126 ですが、今後の回路設計で ALM と FF を追加することを想定した場合の影響を確認します。
今回は "ALM : 50000、FF : 50000" の回路 (top_add) を追加します (デザインの Clock Freq は 200 MHz で統一)。
[編集前 : 0.126 W]
[編集後 : 0.273 W]
"top_add" 回路を追加し、Total thermal power (W) が 0.126 から 0.273 に増加したことが確認できました。
以上のように、PTC ではリソースごとに消費電力が計算され、全体的な消費電力を素早く確認することが可能です。
ポイント:
正確な電力の見積もりは、各種情報 (使用数・動作周波数・トグル率) の入力精度に依存します。
例えば、トグル率はデザインがどのような入力を受け、どのくらいの頻度でトグルするのかを把握する必要があり、設計が完了している場合には、シミュレーションによって値を算出します。また、未完成の場合には設計内の個々のモジュールを機能ごとに分離し、リソースの使用量とリソースのトグルレートを過去の設計資産などのデータを元に見積もります。
以下の User Guide にも PTC の精度に関する情報がまとめられていますので、ぜひご確認ください。
- Power and Thermal Calculator User Guide : 5. Factors Affecting the Accuracy of the PTC
メモ:
今回は設計途中での電力見積もりを想定し、コンパイル済みのデザインを取り込んで回路を追加する例を示しましたが、PA を実行せずに、RTL が存在しない状態での見積もりも、PTC では簡単に行うことが可能です。
以下に参考手順を示しますので、設計のフェーズにあわせてご利用ください。
[PTC 起動 : RTL 設計前]
[PTC 入力 : Logic リソース 80% 程度での見積もり]
まとめ
- PTC は設計初期から消費電力・熱設計を意識するための強力なツール
- 階層ごとの分析やデータエクスポートで、チーム設計や再利用も効率化
- 見積もり精度を高めるには、現実的なトグル率やリソース利用率の設定が重要
- RTL の設計前でもざっくりとした電力見積もりが可能
- 設計完了後は Quartus Prime Power Analyzer (QPA) での詳細解析を忘れずに!
おすすめ記事/資料はこちら
- Altera FPGA の開発フロー/FPGA トップページ
- FPGA Power Solutions Resources
- Power Distribution Network
- Agilex™ 3 でやってみた ~ すぐに学べる FPGA の基本機能と使い方~
添付ファイル
- Agilex3_RAM_DSP_LE_Design_v2511.qar
※ 今回の目的は消費電力の見積もりのため、最低限のタイミング制約しか付与しておりませんのでご了承ください。
以下のように、各リソース (シフトレジスタ / RAM / DSP) を Top のパラメーターの変更でも調整できますので、必要に応じて編集してご利用ください。