+ All Categories
Home > Documents > Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907...

Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907...

Date post: 07-Aug-2020
Category:
Upload: others
View: 11 times
Download: 0 times
Share this document with a friend
66
Vivado Design Suite ユーザー ガイド 消費電力解析および最適化 UG907 (v2013.2) 2013 6 19
Transcript
Page 1: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

Vivado Design Suite ユーザー ガイド

消費電力解析および最適化

UG907 (v2013.2) 2013 年 6 月 19 日

Page 2: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力解析および最適化 japan.xilinx.com 2UG907 (v2013.2) 2013 年 6 月 19 日

Notice of DisclaimerThe information disclosed to you hereunder (the “Materials”) is provided solely for the selection and use of Xilinx products.To the maximum extent permitted by applicable law:(1) Materials are made available "AS IS" and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort, including negligence, or under any other theory of liability) for any loss or damage of any kind or nature related to, arising under, or in connection with, the Materials (including your use of the Materials), including for any direct, indirect, special, incidental, or consequential loss or damage (including loss of data, profits, goodwill, or any type of loss or damage suffered as a result of any action brought by a third party) even if such damage or loss was reasonably foreseeable or Xilinx had been advised of the possibility of the same.Xilinx assumes no obligation to correct any errors contained in the Materials or to notify you of updates to the Materials or to product specifications.You may not reproduce, modify, distribute, or publicly display the Materials without prior written consent.Certain products are subject to the terms and conditions of the Limited Warranties which can be viewed at http://www.xilinx.com/warranty.htm; IP cores may be subject to warranty and support terms contained in a license issued to you by Xilinx.Xilinx products are not designed or intended to be fail-safe or for use in any application requiring fail-safe performance; you assume sole risk and liability for use of Xilinx products in Critical Applications:http://www.xilinx.com/warranty.htm#critapps.© Copyright 2012 – 2013 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Vivado, Zynq, and other designated brands included herein are trademarks of Xilinx in the United States and other countries.All other trademarks are the property of their respective owners.

本資料は英語版 (v2013.2) を翻訳したもので、 内容に相違が生じる場合には原文を優先します。資料によっては英語版の更新に対応していないものがあ り ます。日本語版は参考用と してご使用の上、 新情報につきましては、 必ず 新英語版をご参照ください。

この資料に関するフ ィードバッ クおよびリ ンクなどの問題につきましては、[email protected] までお知らせください。 いただきましたご意見を参考に早急に対応させていただきます。 なお、 このメール アドレスへのお問い合わせは受け付けており ません。 あらかじめご了承ください。

改訂履歴次の表に、 この文書の改訂履歴を示します。

日付 バージョ ン 改訂内容

2013/03/20 2013.1 Vivado Design Suite 2013.1 リ リース用に変更 : • 「信号レート 」 および 「 ト グル レート 」 の定義を修正

• [Properties] ビューの [Power] タブの変更点を含有 ( 「Vivado IDE からの What If? 解析の実行」 )

• 実行される 適化のタイプを説明するため 「Vivado IDE での消費電力 適化の実行」 を変更

2013/06/19 2013.2 Vivado Design Suite 2013.2 リ リース用に変更 :• 「ベクター ベースの予測」 に 「ベク ターレスの消費電力予測は、 スイ ッチング レートおよ

び %high を大幅に上書きしない限り、 デザインの平均消費電力の予測です。」 という記述を追加

• 「Vivado IDE からの消費電力レポートの解析」に Zynq-7000 AP SoC の消費電力解析に関する重要事項を追加

• 「Vivado IDE での消費電力 適化レポートの表示」 セクシ ョ ンを追加 (新規の Vivado 機能)

Page 3: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力解析および最適化 japan.xilinx.com 3UG907 (v2013.2) 2013 年 6 月 19 日

目次

改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

第 1 章 : FPGA の消費電力はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

消費電力の用語 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

FPGA の電源 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

FPGA の消費電力と全般的な設計プロセス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

ザイ リ ンクス消費電力予測/解析/ 適化ツール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

第 2 章 : 消費電力予測手法 : 初期評価段階はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Xilinx Power Estimator での初期消費電力予測 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

第 3 章 : 消費電力予測手法 :Vivado Design Suite でのデザイン フロー段階はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

状況説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Vivado IDE での消費電力概算の実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

第 4 章 : Vivado Design Suite での消費電力解析および最適化はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

消費電力解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

消費電力の 適化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

第 5 章 : 消費電力削減のためのヒン トおよび手法はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

システム レベル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

デザイン レベル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

付録 A : その他のリソースザイ リ ンクス リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

ソ リ ューシ ョ ン センター . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

リ ファレンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Page 4: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

第 1 章

FPGA の消費電力

はじめにこの章では、ボードに搭載した FPGA の消費電力の説明で使用される用語を説明します。システム開発における FPGAの開発についても説明し、設計フローの各段階でどのよ うな操作が実行されるかを示します。また、消費電力の概算、解析および 適化に使用されるザイ リ ンクス ツールについても説明します。

消費電力の用語このガイ ドでは、 次の用語が使用されます。

静止電流

出力電流負荷、 アクティブなプルアップ抵抗がなく、 すべての I/O ピンが ト ライステート状態でフロート しているブランク デバイスによ り引き込まれる電流

デバイスのスタテ ィ ッ ク消費電力

接続されているすべての電源レールの ト ランジスタの リーク電流、およびコンフ ィギュレーシ ョ ン後に FPGA が正常に動作するために必要な回路からの消費電力。 プロセス、 電圧、 および温度の関数で求められ、 デバイスの安定した状態での寄生リーク電流を表します。

デザインの消費電力

入力データのパターンおよびデザインの内部動作によ り発生するユーザー デザインの消費電力。 瞬間的なものであり、 各ク ロ ッ ク サイクルで異なり ます。 電圧レベル、 使用されるロジッ ク リ ソースおよび配線リ ソースによ り決まり ます。 これには、 I/O 終端、 ク ロ ッ ク マネージャー、 および使用時に電力を必要とするその他の回路からのスタティ ッ ク電流が含まれます。 オフチップ デバイスに供給される電力は含まれません。

オンチップの総消費電力

FPGA 内の消費電力の合計で、 デバイスのスタティ ッ ク消費電力とデザインの消費電力を加算したものです。 熱消費電力と も呼ばれます。

消費電力解析および最適化 japan.xilinx.com 4UG907 (v2013.2) 2013 年 6 月 19 日

Page 5: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力の用語

オフチップ消費電力

電源から FPGA の電源ピンを介して I/O から放出され、 外部ボード コンポーネン トで消費される電流。 FPGA から供給される電流は、通常 I/O 終端、LED、ほかのチップの I/O バッファーなどのオフチップ コンポーネン トで消費され、デバイスのジャンクシ ョ ン温度の上昇には関係しません。

パワーオン電流

FPGA に 初に電源を投入したと きに発生する過渡電流。 各電圧電源、 FPGA の構造、 電源が公称電圧まで上昇する能力によって異な り ます。 この電流は、 温度、 電源の投入順などのデバイスの動作条件にもよ り ます。 アーキテクチャの向上や、 適切な電源投入順によ り、 パワーオン電流は動作電流よ り も通常小さ くな り ます。

ジャンクシ ョ ン温度 (°C)動作中のデバイスの温度。 デバイスを選択する際は、 通常温度グレードを選択します。 この温度グレードは、 デバイスが仕様どおり正常に動作する温度範囲を定義します。動作条件がグレードの 大温度を超え、絶対 大温度未満である場合、 デバイスの動作は保証されません。 絶対 大温度を超える と、 デバイスが破損する可能性があ り ます。

ジャンクシ ョ ン温度 = 周囲温度 + 熱消費電力 * 周囲空気に対する熱抵抗

周囲温度 (°C)システムの動作条件下におけるデバイス周囲の空気の温度。

周囲空気に対する熱抵抗 (Θ JA (°C/W))Theta-JA、TJA と も記述されます。FPGA シ リ コンから周囲の環境 (デバイス ジャンクシ ョ ンから周囲空気) に消費電力がどのよ うに放散されるかを定義する係数です。シ リ コン チップの寸法から周囲空気までのすべての要素、およびパッケージ、 PCB、 ヒート シンク、 エアフローなどの要素が影響します。 これは通常、 発生した熱が環境に放散される次の 2 つの主なパスからの熱抵抗と相互依存性を組み合わせたものです。

• ダイから上方の空気へ (ジャンクシ ョ ンから周囲空気、 ΘJA)

• ダイからボードを介して下方の空気へ (ジャンクシ ョ ンからボード、 ΘJB)

デバイス特性

• Advance

デバイスのデータ モデルが早期プロダクシ ョ ン デバイス ロ ッ トからのシ ミ ュレーシ ョ ン結果または計測結果に基づいているこ とを示します。 このデータは通常、 製品リ リースから 1 年以内に入手可能とな り ます。 消費電力モデル データは比較的安定しており、余裕を持たせた設定ですが、実際の値は上下する可能性があ り ます。 この仕様のデータは、 Preliminary や Production 仕様のデータほど正確ではあ り ません。

• Preliminary

デバイスのデータ モデルがエンジニア リ ング サンプル シ リ コンの特性評価データに基づいているこ とを示します。 この仕様では、デバイス ファブリ ッ ク内にあるほぼすべてのブロ ッ クが特性評価されています。 Advance 仕様と比較する と、 消費電力値の精度は高くな り ます。

• Production

特定のデバイス ファ ミ リの十分な量産を経た上で特性評価が行われ、多数の生産ロッ ト を対象と した完全な電力相互関係が確立された後にリ リースされたこ とを示します。この特性化データのデバイス モデルは、通常変更されません。

消費電力解析および最適化 japan.xilinx.com 5UG907 (v2013.2) 2013 年 6 月 19 日

Page 6: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

FPGA の電源

信号レート

シングル レートは、 秒ごとのエレ メン トがステート (high から low、 low から high) を変更した回数で、 ザイ リ ンクスツールでは、 秒ごとの遷移数が百万単位で示されます (Mtr/s)。

トグル レート

ト グル レートは、同期ロジッ ク エレ メン トの出力がその入力に対して切り替わるレート (%) を示し、 0 ~ 200% の範囲で表示されます。 ト グル レートが 100% の場合、 出力は各クロ ッ ク サイ クルごとに平均 1 回ト グルします。 ト グル レートが 200% の場合、各クロ ッ ク サイクルで出力が平均で 2 回ト グルこ とを示し、有効出力信号周波数はクロ ック周波数と同じになり ます。

ク ロ ッ クに同期しないネッ トやロジッ クなどの非同期エレ メン トでは、 ト グル レートは算出されません。 Vivado 消費電力ツールでは、 これらのタイプのエレ メン トにシングル レートが使用されるこ とが前提と されます。

ヒン ト : 同期エレ メン トに接続される個々の I/O のト グル レートは、 同期エレ メン トのイネーブル レート (通常セット / リセッ ト /クロ ッ ク イネーブル ポート ) によ り調整されている可能性があ り ます。

スタテ ィ ック確率レート

解析期間中にエレ メン トが High に駆動される期間の割合を定義します。 このレートは 「% High」 と も記述されます。

クロック バッファー イネーブル

ク ロ ッ ク バッファーがイネーブルになっている割合の平均値 (%) を示します。

シングル/ダブル データ レート

同期 I/O に対し、 このモジュールの I/O のデータ レート を示します。

FPGA の電源FPGA には、 複数の電源が必要です。 各電源では、 さまざまな FPGA リ ソースで必要になる電力が提供されます。 これによ り、異なる電圧レベルでさまざまな リ ソースを動作させるこ とができるので、 ノ イズや寄生効果に対して高い耐性を保ちながら、 パフォーマンスおよび信号強度を向上できます。

表 1-1 に、各種電源およびその電源が供給されるザイ リ ンクス FPGA 内のロジッ ク リ ソースを示します。 これらの詳細は、 ザイ リ ンクス デバイス ファ ミ リによって異なる場合があるので、 この表はガイ ド ラ インと してのみ示しています。

消費電力解析および最適化 japan.xilinx.com 6UG907 (v2013.2) 2013 年 6 月 19 日

Page 7: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

FPGA の消費電力と全般的な設計プロセス

FPGA の消費電力と全般的な設計プロセスプロジェク ト考案から完成まで、消費電力に影響するさまざまな側面を考慮する必要があ り ます。 ほかのすべての制約 (機能、 パフォーマンス、 コス ト、 およびタイム ト ゥ マーケッ ト ) を一時的に除外する と、 消費電力に関連するタスクは次の 2 つに分類できます。

• 物理的

エンクロージャ、 ボードの形状、 電源、 電源分配ネッ ト ワーク (PDN)、 消費電力の熱による散逸構造

• 論理的

エリ ア、 パフォーマンス、 I/O インターフェイスのシグナル インテグ リティ

次の章で、 これらの 2 つの分野の依存関係を示します。 ただし、 前者はハード ウェアの決定事項、 後者は主に FPGAの論理デザインが関係する という点が異な り ます。 通常、 ハード ウェアの選択およびサイズ設定は、 プロ ト タ イプボードを構築できるよ う、デザイン フローの初期段階で行います。 FPGA の機能による消費電力への影響は早期に予測可能で、デザイン ロジッ クが完成に近づくにつれ、 よ り正確な値が得られるよ うにな り ます。図 1-1 に典型的なシステムの設計プロセスを示し、 消費電力に関連する判断箇所をハイライ ト します。 この図では、 デバイス とその冷却

表 1-1 : FPGA リソースとその電源

電源 電源が供給されるリソース

VCCINT

および

VCCBRAM(3)

• すべての CLB リ ソース

• すべての配線リ ソース

• すべてのクロ ッ ク バッファーを含むクロ ッ ク ツ リー全体

• ブロ ッ ク RAM/FIFO(1)

• DSP スライス (1)

• すべての入力バッファー

• IOB に含まれるロジッ ク エレ メン ト (ILOGIC/OLOGIC)(1)

• ISERDES/OSERDES(1)

• ク ロ ッ ク マネージャー (MMCM、 PLL など) (大部分は Vccauxで供給されるため少量のみを供給)

• MGT の PCIE および PCS 部分

VCCAUX

および

VCCAUX_IO(3)

• ク ロ ッ ク マネージャー (MMCM、 PLL など)(1)

• IODELAY/IDELAYCTRL(1)

• すべての出力バッファー

• 差動入力バッファー

• VREF ベースのシングルエンド I/O 規格 (HSTL18_I など)• 位相器

VCCO • すべての出力バッファー • 一部の入力バッファー

• デジタル制御インピーダンス (DCI) 回路 (オンチップ終端(OCT))(2)

MGT* • ト ランシーバーの PMA 回路

注記 :1. 一部のデバイス ファ ミ リのみに含まれます。詳細は、該当するデータシートおよびユーザー ガイ ド

を参照して ください。

2. バンク 0 の VCCO (VCCO_0 または V0CCO_CONFIG) は、 バンク 0 に含まれるすべての I/O と コンフ ィ

ギュレーシ ョ ン回路に電源を供給します。詳細は、該当するコンフ ィギュレーシ ョ ン ユーザー ガイ

ドを参照して ください。

3. ザイ リ ンクス 7 シ リーズ FPGA のみ

消費電力解析および最適化 japan.xilinx.com 7UG907 (v2013.2) 2013 年 6 月 19 日

Page 8: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

FPGA の消費電力と全般的な設計プロセス

パーツを選択する時点では、 FPGA ロジッ クが完成していないこ とがわかり ます。 このため、 FPGA ロジッ クの消費電力要件を予測する手法が必要です。 これらの手法については、 第 2 章, 消費電力予測手法 : 初期評価段階および第 3 章, 消費電力予測手法 : Vivado Design Suite でのデザイン フロー段階で説明します。

この後の章で、 設計プロセス全体において消費電力を解析し、 削減する手法を示します。

X-Ref Target - Figure 1-1

図 1-1 : FPGA の設計プロセスにおける消費電力

消費電力解析および最適化 japan.xilinx.com 8UG907 (v2013.2) 2013 年 6 月 19 日

Page 9: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

ザイリンクス消費電力予測/解析/最適化ツール

ザイリンクス消費電力予測/解析/最適化ツールザイ リ ンクスでは、FPGA の温度要件および電源要件をデザイン サイクルを通して評価できるツールおよび資料を提供しています。 図 1-2 に、 FPGA の各デザイン サイクルで使用できるツールを示します。 ツールには、 スタンドアロンのものと インプリ メンテーシ ョ ン ツールに統合されているものがあ り、後者は設計プロセスの各段階で利用できる環境および情報と一貫しています。すべてのツールには通信チャネルがあ り、解析が効率よ く行えるよ うに情報を交換できます。

Xilinx Power Estimator (XPE)Xilinx Power Estimator (XPE) は、 通常プロジェ ク ト の設計前と インプ リ メ ンテーシ ョ ン前の段階で使用されるスプレッ ドシート形式の消費電力予測ツールです。XPE はアーキテクチャの評価およびデバイスの選択に利用でき、 またアプリ ケーシ ョ ンに適切な電源や温度管理コンポーネン トの選択に役立ちます。XPE インターフェイス (図 1-3) では、デザインのリ ソース使用量、 アクティビティ レート、 I/O 負荷などのさまざまな要素を指定でき、 これらをデバイスモデルと組み合わせて電力分配が予測されます。

また、デザイン サイクル後半のインプリ メンテーシ ョ ンおよび消費電力を 適化する段階でも、たとえば設計変更指示 (ECO) の消費電力への影響を評価する場合などに、 XPE がよ く使用されます。 複数のチームによ り インプ リ メ ント される大型デザインでは、 プロジェ ク ト リーダーが XPE を使用して各チームのモジュールの使用量およびアクティビティをインポート して総消費電力を監視し、 制約が満たされるよ うに消費電力の割り当てを変更できます。

XPE スプレッ ドシートは、 ザイ リ ンクス ウェブサイ トの消費電力効果のページから入手できます。http://japan.xilinx.com/power.

X-Ref Target - Figure 1-2

図 1-2 : FPGA 設計プロセスで使用できる Vivado 消費電力予測/解析ツール

消費電力解析および最適化 japan.xilinx.com 9UG907 (v2013.2) 2013 年 6 月 19 日

Page 10: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

ザイリンクス消費電力予測/解析/最適化ツール

X-Ref Target - Figure 1-3

図 1-3 : Xilinx Power Estimator スプレッ ドシート

消費電力解析および最適化 japan.xilinx.com 10UG907 (v2013.2) 2013 年 6 月 19 日

Page 11: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

ザイリンクス消費電力予測/解析/最適化ツール

Vivado 消費電力解析

Vivado™ 消費電力解析機能は、 合成後、 配置後、 配線後など、 フローのさまざまな段階で消費電力解析を実行します。配線後には、インプ リ メン ト済みのデザインのデータベースから実際に使用されるロジッ ク リ ソースおよび配線リ ソース情報が読み出されるので、 精度が も高くなり ます。図 1-4 に、消費電力レポートのサマ リ と、 ク ロ ッ ク ドメ イン、 リ ソースの種類、 デザイン階層など、 使用可能なさまざまなビューを示します。 Vivado 統合設計環境 (IDE)で環境設定やデザイン アクティビティを変更でき、デザインの電源および熱消費電力をどのよ うに減らすかを検討できます。消費電力レポートからデザインにクロスプローブするこ と も可能で、消費電力の大きい階層やリ ソースを特定および評価するのに便利です。

Vivado Design Suite アーキテクチャのサポートについては、』 『Vivado Design Suite ユーザー ガイ ド : リ リース ノート、インス トールおよびライセンス』 (UG973) [参照 1] を参照して ください。

Vivado 消費電力最適化

Vivado デザイン ツールでは、 さまざまな消費電力の 適化が提供されており、 デザインのダイナミ ッ ク消費電力を大 30% 削減できます。 これらの 適化では、 ASIC で使用されるクロ ッ ク ゲーティング手法が使用され、デザイン

の出力に影響しない部分や、そのクロ ッ ク サイクルでステートのアップデートが不要な部分のアクティ ビティを 小限に抑えるこ とができます。 消費電力 適化は、 デザイン全体に適用するか、 選択した部分のみに適用できます。

Vivado では、 Vivado IDE または Tcl コマンドを使用して消費電力 適化を実行できます。

X-Ref Target - Figure 1-4

図 1-4 : Vivado 消費電力解析

消費電力解析および最適化 japan.xilinx.com 11UG907 (v2013.2) 2013 年 6 月 19 日

Page 12: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

第 2 章

消費電力予測手法 : 初期評価段階

はじめにこの章では、 デザイン サイクルの初期評価段階でデザインの消費電力を評価する方法を説明します。 この段階では、Xilinx Power Estimator を使用します。

初期評価段階が終了している場合は、デザイン サイクルの後の段階でデザインの消費電力を評価する方法を説明する次の章に進んでください。 後の段階では、 消費電力予測を自動的に簡単に実行できる Vivado™ Design Suite を使用します。

Xilinx Power Estimator での初期消費電力予測

状況説明

この段階では、 アプ リ ケーシ ョ ンにとって FPGA が も効率のよい技術であるこ とが判断されています。 こ こでは、要求される機能、 パフォーマンス、 コス ト 、 および消費電力に合うベンダー、 ファ ミ リ、 およびパッケージを決定する必要があ り ます。つま り、 ロジッ クがまだ 1 つも開発されていない段階でデバイスの総消費電力を予測する必要がある という こ とです。 総消費電力要件を理解しておく と、 電力分配および冷却仕様を定義する際に役立ちます。 電源はいくつ必要か、各電源で使用される電力はどれく らいか、吸収されたエネルギーでどれく らいの熱が生成されるかなどについて考慮するのが一般的です。 Xilinx Power Estimator を使用する と、 これらの質問に対する答えを得るこ とができます。 XPower Estimator は、 FPGA ロジッ ク とデバイスがはんだ付けされるプ リ ン ト回路基板を同時に開発するのに役立ちます。 これによ り、 必要なマージンを理解し、 インプ リ メン ト後にシステムを指定範囲内で動作させるこ とができるよ うにな り ます。 図 2-1 に、 Xilinx Power Estimator のインターフェイスを示します。

消費電力解析および最適化 japan.xilinx.com 12UG907 (v2013.2) 2013 年 6 月 19 日

Page 13: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

Xilinx Power Estimator での初期消費電力予測

X-Ref Target - Figure 2-1

図 2-1 : Xilinx Power Estimator (XPE) で示される消費電力情報

消費電力解析および最適化 japan.xilinx.com 13UG907 (v2013.2) 2013 年 6 月 19 日

Page 14: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

Xilinx Power Estimator での初期消費電力予測

Xilinx Power Estimator での消費電力予測

FPGA デザインでは、 正常に機能する信頼性の高いシステムを作成するには、 消費電力使用および冷却使用を適切に設定する必要があ り ます。ほとんどの場合、PCB を設計する前に温度仕様および消費電力仕様を設定しておく必要があ り、 FPGA は柔軟性が高いため、 システム デザインや PCB 製造の前に FPGA デザインが完了していないか開始していないこ とがよ く あ り ます。 FPGA デザインではビッ ト ス ト リーム、 ク ロ ッキング、 およびチップに入力されるデータによって温度特性および電力特性が大き く変化するので、 これは課題とな り ます。

電力または温度システムを過小設計する と、 FPGA が仕様範囲外で動作する結果とな り、 FPGA が目的のパフォーマンスで動作しなかったり、 重要な問題が発生する可能性があ り ます。 電力システムを過剰設計した場合、 通常問題はそれほど深刻ではあ り ませんが、不必要にコス トが高くなったり、全体的な FPGA デザインがよ り複雑になるこ とがあ り ます。 デザインが完了する前に消費電力を予測するのは簡単なこ とではあ り ません。

次の手順は、消費電力解析に焦点を置いているこ とに注意して ください。複数の消費電力の 適化を解析中に試したり適用したりでき、 消費電力の大幅な削減につながるこ とがあ り ます。 これらの 適化手法については、 次の章で説明します。

手順 1 : ターゲッ ト デバイス用の最新版 Xilinx Power Estimator の入手

新版の Xilinx Power Estimator (XPE) ツールを使用するこ とが重要です。 消費電力情報は、 新の消費電力モデルおよび特性化データに基づいて随時ア ッ プデー ト されます。 新版の XPE は、 ザイ リ ン ク ス ウ ェブサイ トhttp://japan.xilinx.com/power から入手できます。 設計プロセス中このウェブサイ ト を と きどき確認して、 新しいバージ ョ ンが入手可能であるかど うかを確認する こ と をお勧めします。 新しいバージ ョ ンが入手可能な場合は、 新しいバージ ョ ンの [Summary] シートで [Import File] ボタンをク リ ッ クする と、 以前のバージ ョ ンからデータをインポートできます。 Xilinx Power Estimator を 新の状態にしておく こ とで、 消費電力解析に常に 新の消費電力情報が使用されるよ うにな り ます。

手順 2 : [Summary] シートへのデバイス情報の入力

[Summary] シートの [Device] セクシ ョ ンの各フ ィールドを適切に設定してください。 各設定が、 スタティ ッ ク消費電力およびクロッキング消費電力などの消費電力の算出に大き く影響します (図 2-2)。

消費電力解析および最適化 japan.xilinx.com 14UG907 (v2013.2) 2013 年 6 月 19 日

Page 15: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

Xilinx Power Estimator での初期消費電力予測

[Device] セクシ ョ ンに次の情報を入力します。

• [Family] および [Device] :不適切なファ ミ リ またはデバイスを選択する と、 ク ロ ッ クのデザイン消費電力など、デバイスおよびデザインの消費電力予測が不正なものとな り ます。また、使用可能なデバイス リ ソースも不正になり ます。

• [Package] :パッケージの選択は、 デバイスの放熱、 そして 終的なジャンクシ ョ ン温度に影響します。 ジャンクシ ョ ン温度が不正な場合、 デバイスのスタティ ッ ク消費電力算出が不正になり ます。

• [Speed Grade] (指定可能な場合) :デザインの要件に も適したスピード グレードを選択します。 一部の FPGAファ ミ リでは、 スピード グレードによって消費電力仕様が異なり ます。

• [Temp Grade] :デバイスに適した温度グレードを選択します。通常は [Commercial] または [Industrial] です。この設定によ り スタティ ッ ク消費電力仕様が異なるデバイスもあ り ます。 これを適切に設定するこ とによ り、選択したデバイスに対して正しいジャンクシ ョ ン温度範囲が表示されます。

• [Process] :ワース ト ケース解析では、 [Maximum] に設定するこ とをお勧めします。デフォルト設定は [Typical] で、スタテ ィ ッ クに計測した場合に近い結果が得られますが、 [Maximum] に変更する と、 消費電力仕様がワース トケースの値に変更されます。

• [Voltage ID Used] :Voltage ID (VID) 電圧は、FPGA がパフォーマンスの仕様を満たしながら動作可能な 小 VCCINT電圧です。 この電圧は FPGA の製造時にテス ト されており、 その値は FPGA の DNA (デバイス識別子) eFUSE レジスタにプログラムされています。VID 機能をデザインで有効にして FPGA をこの VID 電圧で動作させる と、公称電圧での動作時と比較してスタティ ッ ク消費電力を大幅に削減できます。

注記 : このオプシ ョ ンは、Virtex®-7 で [Speed Grade] に [-1]、[Temp Grade] に [Commercial]、[Process] に [Maximum]を指定した場合にのみ有効になり ます。

X-Ref Target - Figure 2-2

図 2-2 : [Summary] シートのデバイス情報

消費電力解析および最適化 japan.xilinx.com 15UG907 (v2013.2) 2013 年 6 月 19 日

Page 16: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

Xilinx Power Estimator での初期消費電力予測

手順 3 : [Summary] シートへの環境情報の入力

[Summary] シートの [Environment] セクシ ョ ンで適切な環境条件を設定します (図 2-3)。

[Environment] セクシ ョ ンに次の情報を入力します。

• [Ambient Temp (°C)] :FPGA デザインを含むエンクロージャ内で達する可能性のある 大温度を指定します。 この設定と、エアフローやその他の放熱経路 (ヒート シンクなど) によ り、 ジャンクシ ョ ン温度が正確に算出され、デバイスのスタティ ッ ク消費電力がよ り正確に算出されます。

• [Airflow (LFM)] :チップのエアフローは、 LFM ( リ ニア フ ィート /分) で計測されます。 LFM は、 CFM (立方フィート /分) で表されたファンの出力を空気が通過する断面で除算して求めるこ とができます。 FPGA およびファンの具体的な配置が FPGA 上の空気の動きに影響し、放熱に影響する可能性があ り ます。 このパラ メーターのデフォル ト 値は 250LFM です。 エアフローなし (静止空気中) で FPGA を動作させる場合、 デフォル ト の 250LFM を0LFM に変更する必要があ り ます。

• [Heat Sink] :ヒー ト シンクを使用しており、詳細な放熱情報がない場合は、使用する ヒート シンクのタイプに適切なプロファイルを選択します。 このパラ メーターとほかのパラ メーターを使用して、 有効 ΘJB が算出され、 より正確なジャンクシ ョ ン温度および静止消費電力が算出されます。 ソケッ トの設計および構造によって、 ヒートシンク と して機能するものもあ り ます。

• [Board Selection] および [# of Board Layers] :ボードのおおよそのサイズとスタ ッ クを選択する と、ボード自体の熱伝導性を考慮するこ とによ り、 有効 ΘJB の算出に役立ちます。

• [ΘJB] :ボードおよびシステムのよ り正確な温度モデルが存在する場合は、FPGA からの放熱量をしていするために ΘJB (プリ ン ト回路基板 の熱抵抗) を使用する必要があ り ます。

X-Ref Target - Figure 2-3

図 2-3 : [Summary] シートの環境情報

消費電力解析および最適化 japan.xilinx.com 16UG907 (v2013.2) 2013 年 6 月 19 日

Page 17: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

Xilinx Power Estimator での初期消費電力予測

よ り正確なカスタム [ΘJB] を指定する と、ジャンクシ ョ ン温度がよ り正確に予測され、デバイスのスタティ ッ ク消費電力をよ り正確に算出できるよ うにな り ます。

重要 : カスタム [ΘJB] を指定するには、 [Board Selection] を [Custom] に設定する必要があ り ます。 カスタム [ΘJB] を指定する場合は、 正確な消費電力を算出するため、 [Board Temperature] も指定する必要があ り ます。

手順 4 : すべての電源に対してワース ト ケースの電源電圧を設定

デフォルトでは、 デバイスの各電圧レールは公称値に設定されます。 正確な消費電力予測を得るためには、 FPGA デバイスでのワース ト ケースの値 ( 大電圧値) を指定する必要があ り ます。これは通常、各レールへの電源/レギュレータの公称出力値と許容誤差を使用して算出されます。 特に未調整の電源で IR (電圧) が大き く低下する可能性がある場合は、 電圧降下を 大電圧の計算に含める必要があ り ます。

一部の VCCO または MGT 電源を使用しない場合は、 これらの電源の値はデフォルトのままにしてください (図 2-4)。

手順 5 : クロッ クおよびリソース情報の入力

デザインを Vivado ツールで既に実行している場合、 デザインの前リ ビジ ョ ンがあ り解析の開始点と して使用できる場合は、デザインの XPower エクスポート ファ イル (.xpe) を XPE にインポート して リ ソース情報を入力できます。これには、 [Summary] シートで [Import File] ボタンをク リ ッ ク します。 Vivado XPE インポート ファ イルを読み込んだ場

X-Ref Target - Figure 2-4

図 2-4 : [Summary] シートの電源情報

消費電力解析および最適化 japan.xilinx.com 17UG907 (v2013.2) 2013 年 6 月 19 日

Page 18: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

Xilinx Power Estimator での初期消費電力予測

合でも、 データが正しいこ とを確認して ください。 インポート した情報は、 完全な情報ではなく、 情報を入力するための開始点と考えてください。 いずれの場合でも、 各リ ソースのタブを確認して、 デザインで使用される リ ソースを入力して ください。

• ク ロ ッ ク ツ リー

[CLOCK] シートでは、 ク ロ ッ ク、 周波数 ([Frequency])、 使用されるクロ ッ ク リ ソースを入力します (図 2-5)。 使用されるク ロッ ク リ ソースが不明な場合は、 [Type] をデフォルトの [Global] のままにして ください。 この時点では、 ファンアウ ト ([Fanout]) を気にする必要はあ り ません。 これについては、手順 6 で説明します。 [Clock BufferEnable] は [100%]、 [Slice Clock Enable] は [50%] のデフォルト値のままにします。

• ロジッ ク

[LOGIC] シートでは、 使用されるスライス リ ソースの予測数を入力します (図 2-6)。 [LUTs as] 列には、 演算またはロジッ クに使用される LUT 数 ([Logic])、 SRL と してコンフ ィギュレーシ ョ ンされる LUT 数 ([Shift Registers])、メモ リ と してコンフ ィギュレーシ ョ ンされる LUT 数 (Distributed RAMs]) を入力します。 [Registers] 列には、デザインにコンフ ィギュレーシ ョ ンされるレジスタまたはラ ッチの数を入力します。異なるロジッ ク ファンクシ ョ ンまたは特性 (クロ ッ ク スピード、 ト グル レート など) に個別の行を使用して ください。

X-Ref Target - Figure 2-5

図 2-5 : [CLOCK] シート

消費電力解析および最適化 japan.xilinx.com 18UG907 (v2013.2) 2013 年 6 月 19 日

Page 19: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

Xilinx Power Estimator での初期消費電力予測

FPGA 設計の初期段階では、 これらのリ ソースの正確な数を入手するこ とは困難なので、 初期段階では概算値を使用し、 設計プロセスが進行したら値を更新していく よ うにします。

ヒン ト : ク ロ ッ ク周波数情報を入力する際は、 Excel のセルを関連付ける機能を使用し、 [CLOCK] シートに入力されているセルと関連付けます。 これには、 [LOGIC] シートで [Clock (MHz)] セルを選択し、 「=]と入力して、 そのロジックのク ロ ッ ク ソースに関連するセルを [CLOCK] シート で選択します。 これで、 そのセルに [CLOCK] シート の値が自動的に入力されるよ うにな り ます。 このよ うにする と、仕様の変更や消費電力と周波数のト レードオフを調べる際など、 クロ ッ ク周波数を変更する必要がある場合に、 値を 1 箇所で変更するだけですみます。 また、 データの入力ミスも避けるこ とができます。

• I/O

XPE の [IO] シート を入力する と、 チップのすべてのレールの全体的な予測値が正確なものとな り ます (図 2-7)。選択した I/O 規格および I/O 回路によって、 VCCO レールだけでなく、 VCCINT および VCCAUX レールでも多量の電力が消費される可能性があ り ます。多くの場合、各デバイス インターフェイスを個別に入力し、 またインターフェイス信号をデータ、制御、 ク ロ ッ ク信号に分割するのが も簡潔です。 このよ うにする と、異なる I/O 規格、ロードやト グル レート などのその他の I/O 特性を指定しやすくな り ます。

推奨 : XPE で [Add Memory Interface] をク リ ッ ク し、 [XPE Memory Interface Configuration] ダイアログ ボッ クスを使用する と、 複雑なメモリ インターフェイスに関連する I/O を簡単に追加できます。

X-Ref Target - Figure 2-6

図 2-6 : [LOGIC] シート

消費電力解析および最適化 japan.xilinx.com 19UG907 (v2013.2) 2013 年 6 月 19 日

Page 20: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

Xilinx Power Estimator での初期消費電力予測

I/O の電流の算出では、 標準ボード ト レースおよび終端が適用されている と想定した予測電力が使用されます。

ヒン ト : 差動 I/O を使用している場合、 各入力および出力はペアと して指定する必要があ り ます。 スプレッ ドシートの 2 つの入力を指定して 1 つの差動入力を表すこ とはしないでください。

DDR 規格などの複雑な規格のデータを入力するには、 [XPE Memory Interface Configuration] ダイアログ ボッ クスを使用する と簡単です (図 2-8)。 このダイアログ ボッ クスに関連する入力を入力する と、 [IO] シートの該当する行に情報が入力されます。

• ブロッ ク RAM

X-Ref Target - Figure 2-7

図 2-7 : [IO] シート

X-Ref Target - Figure 2-8

図 2-8 : [IO] シートの [XPE Memory Interface Configuration] ダイアログ ボックス

消費電力解析および最適化 japan.xilinx.com 20UG907 (v2013.2) 2013 年 6 月 19 日

Page 21: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

Xilinx Power Estimator での初期消費電力予測

[BRAM] シート (図 2-9) では、デザインで使用するブロ ッ ク RAM (BRAM) の数と コンフ ィギュレーシ ョ ンを入力します。 [Enable Rate] を ENA または ENB ポートがイネーブルである時間の割合に変更して ください。 RAM がイネーブルの時間はダイナミ ッ ク消費電力に直接比例するので、BRAM の消費電力を正し く予測するには、 このパラ メーターに適切な値を入力するこ とが重要です。

推奨 : XPE で [Add Memory] をク リ ッ ク し、 [XPE Memory Configuration] ダイアログ ボッ クスを使用する と、デザインのブロッ ク RAM を簡単に追加できます。

• DSP

[DSP] シート を入力します。 DSP ブロ ッ クは、 カウンター、 バレル シフター、 MUX、 その他の一般的な機能など、 乗算器以外の目的でも使用できます。

• ク ロ ッ ク マネージャー (CLKMGR)

デザインで MMCM または PLL が使用されている場合は、 [CLKMGR] シート でその使用法と コンフ ィギュレーシ ョ ンを指定します。

• GT

デザインで GT (シ リ アル ト ランシーバー ) が使用されている場合は、[GTX] シートでその使用法と コンフ ィギュレーシ ョ ンを指定します。

推奨 : [Add GTX Interface] ボタンをク リ ッ ク し、 [XPE Transceiver Configuration] ダイアログ ボッ ク スを使用する と、データを簡単に正確に入力できます(図 2-10)。

X-Ref Target - Figure 2-9

図 2-9 : [BRAM] シート

消費電力解析および最適化 japan.xilinx.com 21UG907 (v2013.2) 2013 年 6 月 19 日

Page 22: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

Xilinx Power Estimator での初期消費電力予測

手順 6 : トグルおよび接続パラメーターの設定

[Toggle Rate]、 [Average Fanout]、 または [Enable Rate] を含むタブで、 これらの値を確認します。 ト グル レートおよびイネーブル レートがわかっていない場合は、デフォルト値のままにするこ とをお勧めしますが、デフォルト値がデザインの特性を表していない場合は、必要に応じて変更して ください。たとえば、 メモ リ インターフェイスにインターフェイス上の ト グル レート を高く保つト レーニング パターン ルーチンがあるこ とがわかっている場合は、 これを反映して ト グル レート を高く します。 また、 回路のクロ ッ ク イネーブルが回路全体のアクティビティを削減するよ うに指定されている場合は、 ト グル レー ト を低 く し ます。 ト グル レー ト を決定する方法の詳細は、 『Xilinx PowerEstimator ユーザー ガイ ド』 (UG440)[参照 4] を参照して ください。

ク ロ ッ ク ファンアウ トの も簡単な指定方法は、 特定のクロ ッ ク ド メ インにあるすべての同期エレ メン ト を加算する式を作成するこ とです。 たとえば、 ある ク ロ ッ クの [Fanout] セルを選択し、 「=SUM(」 と入力して、 そのクロ ッ クが供給される同期エレ メン ト (BRAM、 フ リ ップフロ ップ、 シフ ト レジスタ、 SelectRAM など) の数を指定するセルをすべて選択します。 選択し終わったら閉じかっこを入力します。 これで、 [Fanout] セルに適切な値が入力されるようにな り ます。 ク ロ ッ ク ファンアウ ト をこのよ うに入力する と、簡単であるだけでなく、 リ ソース数が変更された場合に自動的にアップデート されます。 終的な式は、 次のよ うにな り ます。

=SUM(LOGIC!E3:G3,IO!E3:G3,BRAM!C4,MULT!C3)

ロジッ クのファンアウ ト では、 データ パスおよび制御パスの特性を考慮する必要があ り ます。 DSP デザインなど、シーケンシャル データ パスが適切に構築されているデザインでは、 ファンアウ トは通常デフォルト値よ り も小さ くな り ます。エンベデッ ド デザインなど、データ実行パスが多数あるデザインでは、 ファンアウ トはデフォルト値よ り

X-Ref Target - Figure 2-10

図 2-10 : [XPE Transceiver Configuration] ダイアログ ボックスを使用した GT のコンフ ィギュレーシ ョ ン

消費電力解析および最適化 japan.xilinx.com 22UG907 (v2013.2) 2013 年 6 月 19 日

Page 23: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

Xilinx Power Estimator での初期消費電力予測

も大き くなるこ とがあ り ます。 ト グル レート と同様、 この情報がない場合は、デフォルト値のままにし、後で必要に応じて調整します。

I/O の [Output Load] には、 各デザイン出力の単純な容量性負荷を入力します。 この値は、 駆動される出力のダイナミ ッ ク消費電力に影響します。 [Output Load] の値は、主にその出力に接続されている各デバイスの入力容量の合計から求められます。 入力容量は通常、 FPGA I/O が接続されているデバイスのデータシートに記載されています。

手順 7 : 結果の解析

結果を解析する前に、必要に応じて手順 1 ~ 6 を実行して ください。 これらの手順を完了したら、結果を解析します。ジャンクシ ョ ン温度が範囲を超えておらず、消費電力がプロジェク トで割り当てられている消費電力を超えていないこ とを確認して ください。 放熱または電力特性が指定範囲外の場合は、 適切な結果が得られるよ うに環境特性 (エアフロー、 ヒート シンクなど) を調整するか、 デザインのリ ソースおよび電力特性を調整して ください。 消費電力を抑えて必要な機能を達成できるよ うにするため、 ト レードオフを考慮します。 ト レードオフのオプシ ョ ンは、 設計プロセスの初期段階で探索するのが 適です。データの入力が完了してデバイスが選択したグレードの制限温度範囲内で動作している場合は、 XPE でレポート された消費電力を使用して、デザインの電源レールを決定できます。入力したデータの信頼性が高くない場合は、 FPGA の消費電力システムを過小設計しないよ うに、 数値を多少水増しするこ とが可能です。 ただし、 データが十分に信頼できる場合は、 ツールでレポート された数値を水増しする必要はあ り ません。

設計プロセスの進行に応じてスプレッ ドシートの情報を確認して更新し、 新の要件およびインプ リ メンテーシ ョ ンの詳細が使用されるよ うにします。 このよ うにするこ とでデザインの消費電力の 新の状態がわかり、消費電力要件の調整が必要かど うかを早期に判断できます。

デザイン サイクルの後半でデザインの消費電力を評価する方法は第 3 章 「消費電力予測手法 : Vivado Design Suite でのデザイン フロー段階」 を、 デザインの消費電力を削減する手法は第 5 章 「消費電力削減のためのヒ ン トおよび手法」 を参照して ください。

消費電力解析および最適化 japan.xilinx.com 23UG907 (v2013.2) 2013 年 6 月 19 日

Page 24: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

第 3 章

消費電力予測手法 :Vivado Design Suite でのデザイン フロー段階

はじめにこの章では、デザイン フロー段階での消費電力予測を自動的に簡単に実行できる Vivado™ Design Suite の機能を説明します。 Vivado Design Suite で消費電力予測を生成し、 解析したら、 第 5 章 「消費電力削減のためのヒ ン トおよび手法」 に進み、 デバイスの消費電力を 小限に抑えるためにシステムを調べて変更する手法を学びます。

状況説明デザイン フローが合成およびインプ リ メンテーシ ョ ン段階に進行するのに伴い、消費電力を定期的に調べ、放熱量が要件の範囲内に収まっているこ とを確認して、制約に近づきすぎているエ リアがある場合に早期に発見して対処できるよ うにする必要があ り ます。 消費電力予測の精度は、 デザインの段階によって異なり ます。

Vivado IDE での消費電力概算の実行このセクシ ョ ンでは、Vivado IDE の [Report Power] コマンドを使用した消費電力解析について説明します。 こ こでは、合成後に初めて消費電力解析を設定する こ とを想定しており、 ツールにアクテ ィ ビテ ィ情報を入力します。 後続のrun では、 Vivado IDE の [Report Power] コマンドを使用して消費電力レポート を表示するか、 または同等の Tcl コマンド (report_power) を使用して、 Vivado IDE を使用せずにテキス ト形式の消費電力レポート を表示するかを選択できます。

消費電力解析および最適化 japan.xilinx.com 24UG907 (v2013.2) 2013 年 6 月 19 日

Page 25: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

Vivado IDE での消費電力概算の実行

ユーザー入力

特定のノードのアクテ ィ ビテ ィは、 システムの仕様または FPGA が通信するインターフェイスによ り決定されるので、 どのデザインでも通常は既知です。 特に FPGA の複数のセルを駆動する ノード (セッ ト、 リセッ ト、 ク ロ ッ ク イネーブル、 ク ロ ッ ク信号) に関してこの情報をツールに供給する と、 消費電力予測に有益です。

これらのノードには、 次が含まれます。

• ク ロ ッ ク アクティビティ

すべての FPGA クロ ッ ク ド メ インの正確な周波数、および外部から供給されるのか (入力ポート )、内部で生成されるのか、 または外部からプリ ン ト回路基板に供給されるのか (出力ポート ) は、 通常判明しています。

• I/O データ ポート

FPGA からのデータの入出力のプロ ト コルおよびフォーマッ トが判明している と、 通常はツールで少なく と も一部の I/O に対して信号の遷移レートや信号の % High を指定できます。 たとえば、 プロ ト コルに DC バランス要件 (信号の % High が 50%) がある場合や、メモ リ インターフェイスへのデータの書き込みおよびメモリ インターフェイスからのデータの読み出し頻度が判明している場合は、ス ト ローブ信号およびデータ信号のデータ レートを設定できます。

X-Ref Target - Figure 3-1

図 3-1 : Vivado での消費電力解析 : 解析用のデータを入力

消費電力解析および最適化 japan.xilinx.com 25UG907 (v2013.2) 2013 年 6 月 19 日

Page 26: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

Vivado IDE での消費電力概算の実行

• I/O および内部制御信号

システムおよびその機能から、セッ ト 、 リセッ ト 、 ク ロ ッ ク イネーブルなどの制御信号のアクティ ビティを予測できる場合があ り ます。 これらの信号は通常、デザイン ロジッ クの広範囲部分をオン、オフにできるので、 このアクティビティ情報を供給するこ とで消費電力予測の精度が高くな り ます。

ベクター ベースの予測

通常は、 デザイン開発の各段階でシ ミ ュレーシ ョ ンを実行し、 デザインが要件どおりに動作するかを検証します。 デザインの開発段階、 複雑性、 または企業の方針に応じて、 さまざまな検証手法があ り ます。 次に、 取得可能な有益なデータ と、 これらのデータを使用して消費電力を解析する際に犯しやすいミ スについて説明します。正確な消費電力予測を実行するには、デザインのアクティビティ レートが現実的である必要があ り ます。 アクティビティ レートは、シ ミ ュレーシ ョ ンされるブロ ッ クに入力されるデータの通常の動作またはワース ト ケースの動作を示す必要があ ります。 このよ うな情報は、 検証や機能の確認中には必ずしも供給されません。 無効なデータが供給されたために、 無効なデータやコマンドが入力されたと きでも、システムが問題なく処理して安定した状態を保持するこ とができる と検証されてしま う場合もあ り ます。このよ うなテス ト ケースを使用して消費電力解析を実行する と、デザイン ロジックに通常のシステム動作状況と同じよ うに入力が供給されないため、 消費電力予測が不正確になり ます。

• システム ト ランザクシ ョ ン レベル

デザイン サイクル初期に、 PCB 上のデバイス間または FPGA アプリ ケーシ ョ ンの異なるファンクシ ョ ン間で発生する ト ランザクシ ョ ンを記述している場合があ り ます。 この記述から、 特定の I/O ポートおよびほとんどのクロ ッ ク ド メ インのアクテ ィ ビテ ィ をファンクシ ョ ン ブロ ッ クご とに抽出できます。 この情報は、 Xilinx PowerEstimator スプレッ ドシートの入力の際に役立ちます。

• FPGA 記述レベル

アプリ ケーシ ョ ンの RTL を定義する際は、 ビヘイビアー シ ミ ュレーシ ョ ンを実行して機能を検証する必要がある場合があ り ます。 これは、 データ フローおよびクロ ッ ク サイ クルに対する計算の有効性を検証するのに役立ちます。 この段階では、 使用される FPGA リ ソース数およびコンフ ィギュレーシ ョ ンは確定していません。 リソース使用量を推定して、 I/O ポート または内部制御信号 (セッ ト、 リセッ ト 、 ク ロ ッ ク イネーブル) のアクティビティを抽出できます。 この情報を Xilinx Power Estimator スプレッ ドシートに適用する と、結果が向上します。

シ ミ ュレータでノード アクテ ィ ビテ ィ を抽出し、 SAIF ファ イル フォーマッ ト でエクスポート できます。 このファ イルは、 Vivado デザイン フローでよ り正確な消費電力解析を実行するために保存できます。 たとえば、 インプリ メンテーシ ョ ン後のシ ミ ュレーシ ョ ンを実行するつも りがない場合などは、配置配線後にこのファイルを使用できます。

• FPGA インプ リ メンテーシ ョ ン レベル

インプリ メンテーシ ョ ン プロセスの異なる段階でシ ミ ュレーシ ョ ンを実行し、消費電力に関連するさまざまな情報を取得できます。 この追加情報を使用して、Xilinx Power Estimator スプレッ ドシートおよび Vivado 消費電力解析の結果を向上できます。 また、 I/O ポートおよび特定のモジュールのアクティ ビティを保存し、 合成後、 配置後、 配線後に Vivado 消費電力解析機能で再利用できます。

° 合成後 : ネッ ト リ ス トがターゲッ ト デバイスで使用可能な実際のリ ソースにマップされます。

° 配置後 : ネッ ト リ ス ト コンポーネン トが実際のデバイス リ ソースに配置されます。このパッ ク情報を基に終的なロジッ ク リ ソース数およびコンフ ィギュレーシ ョ ンが判明するので、 Xilinx Power Estimator スプレッドシートで情報を更新できます。

° 配線後 : 配線が完了する と、 使用される配線リ ソースに関するすべての詳細およびデザインに含まれる各パスの的確なタイ ミ ング情報が定義されます。 シ ミ ュレータでは、 インプ リ メン ト された回路の機能をベス トケースおよびワース ト ケースのゲートおよび配線遅延で検証するこ とに加え、グ リ ッチを含む内部ノードの的確なアクティビティがレポート されます。 このレベルの消費電力解析の精度では、 プロ ト タイプのボードで消費電力を実際に計測する前で も高くな り ます。

消費電力解析および最適化 japan.xilinx.com 26UG907 (v2013.2) 2013 年 6 月 19 日

Page 27: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

Vivado IDE での消費電力概算の実行

ベクターレス予測

デザイン ノードのアクティビティがユーザーまたはシ ミ ュレーシ ョ ン結果から供給されない場合、ベクターレス消費電力予測アルゴ リズムでこのアクティビティを推測できます。ベクターレス エンジンは、未定義ノードすべてに初期シード (デフォルトの信号レートおよびスタティ ッ ク確率) を割り当て、デザインの主要入力から内部ノードの出力までアクティビティを伝搬し、 主要出力に到達するまでこの操作を繰り返します。 このアルゴ リズムでは、 デザインの接続性、 リ ソースの機能、 およびコンフ ィギュレーシ ョ ンが識別されます。 ヒ ューリ スティ クスによ り、 ネッ ト リ ストに含まれるどのノードのグ リ ッチ レートでも予測できます。 グ リ ッチは、 デザイン エレ メン トがアクティブなクロッ ク エッジ間で 終的な値に安定するまでに数回ステートが変わる と発生します。 ベクターレス伝搬エンジンは、時間が比較的かかる配線後のシ ミ ュレーシ ョ ンほど正確ではあ り ませんが、精度と計算速度のバランスを取った優れた方法です。

ヒン ト : ベクターレスの消費電力予測は、スイ ッチング レートおよび %high を大幅に上書きしない限り、デザインの平均消費電力の予測です。

解析に使用する入力データの指定

• シ ミ ュレーシ ョ ン結果 (SAIF または VCD ファ イル)

Vivado の [Report Power] コマンドでは、デザイン データベース内のネッ ト をシ ミ ュレーシ ョ ン結果のネッ ト リ スト内の名前と一致させます。シ ミ ュレーシ ョ ン結果のネッ ト リ ス トは SAIF (Switching Activity Interchange Format)または VCD (Value Change Dump) ファ イルです。 一致したネッ トすべてにスイ ッチング アクテ ィ ビテ ィ と スタティ ッ ク確率が適用され、 デザインの消費電力が算出されます。 シ ミ ュレーシ ョ ン結果は、 合成前や配置配線の前のデザイン フロー早期に生成されている場合があ り ます。この場合、シ ミ ュレーシ ョ ン結果からモジュールのI/O ポートのアクティビティのみをキャプチャして、 ベクターレス エンジンで内部ノードのアクティ ビティを予測するよ うにします。論理シ ミ ュレーシ ョ ンでは、 グ リ ッチ アクティビティはキャプチャされません。 また、 インプ リ メ ンテーシ ョ ン中のロジッ ク変換 ( 適化、 複製、 ゲーテ ィ ング、 リ タ イ ミ ングなど) のため、 [ReportPower] コマンドでデザインとシ ミ ュレーシ ョ ン ネッ ト リ ス ト間で一部のノードを一致できないこ とがあ り ますが、 ほとんどの主要ポートおよび制御信号は一致するので、一致したノードに対しては現実的なアクティ ビティが供給されます。アクティビティは、ベクターレス エンジンによ り一致しなかったデザイン部分に伝搬されるので、 消費電力予測の精度が高くな り ます。

シ ミ ュレーシ ョ ン結果を供給する際は、 次のよ うなシ ミ ュレーシ ョ ン結果を使用して ください。

° シ ミ ュレーシ ョ ンへのテス ト ベクターおよび入力が、デザインの典型的な動作または意図した動作を表しているこ とを確認します。 エラー処理およびコーナー ケース (稀にしか発生しないケース) のシ ミ ュレーシ ョンでは、 通常の動作条件でロジッ クがシ ミ ュレーシ ョ ンされません。

° インプリ メンテーシ ョ ン後のシ ミ ュレーシ ョ ン結果の方が、ビヘイビアー シ ミ ュレーシ ョ ン結果よ り も好まれます。

重要 : Vivado IDE で [Report Power] ダイアログ ボッ クスの [Input Files] タブに SAIF または VCD ファ イル名を指定して、 SAIF または VCD シ ミ ュレーシ ョ ン出力ファ イルを読み込んで、 ファ イルに記述されているスイ ッチング アクテ ィ ビテ ィ を使用して一致するネッ ト リ ス ト エレ メ ン ト をア ノ テー ト して く ださい。 または、 Tcl コマン ドのread_saif または read_vcd を使用して SAIF または VCD シ ミ ュレーシ ョ ン出力ファイルを読み込みます。

重要 : Vivado™ Design Suite 内でMentor Graphics 社の ModelSim シ ミ ュレーターから SAIF ファ イルを生成して消費電力を解析する場合は、 アンサー 53544 を参照して ください。

• 既知のエレ メン ト

アプ リ ケーシ ョ ンの動作の情報は、 入力ファ イルで定義されていないアクテ ィ ビテ ィ を定義する際に役立つので、 この手順はデザインのダイナミ ッ ク消費電力を算出するのに重要です。

° I/O アクティビティ

消費電力解析および最適化 japan.xilinx.com 27UG907 (v2013.2) 2013 年 6 月 19 日

Page 28: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

Vivado IDE での消費電力概算の実行

I/O インターフェイスのデータ パターンがわかっている場合は、 このアクテ ィビティ (信号レートおよびスタ テ ィ ッ ク確率 (% High)) を Vivado IDE の [Properties] ビ ューの [Power] タブまたは Tcl コマン ドset_switching_activity で指定します。スプレッ ドシート など別のツールで電源ごとの総消費電力を算出していない場合、 出力の終端方法を指定して、 [Report Power] コマンドで FPGA の電源から これらの外部コンポーネン トに供給する電力量が含められるよ うにします。

° 制御信号のアクティビティ

[Report Power] コマンドでは、すべての制御信号が [Power] ビューの [Signals] ページに表示されます。アプ リケーシ ョ ンの予測される動作から、一部のセッ ト / リセッ ト信号が通常のデザイン動作ではアクティブではないこ となどがわかる場合は、 これらの信号のアクテ ィ ビテ ィ を調整する必要があ り ます。 同様に、 アプ リケーシ ョ ンに含まれる一部の信号によ り、ブロ ッ クが使用されないと きにブロ ッ ク全体がディ スエーブルになる場合があ り ます。機能に合わせてアクティビティを調整して ください。合成および配置配線アルゴ リズムでは、 RTL 記述を 適化するために制御信号が推論またはマップし直される こ とがあるので、 これらのビューに表示される信号に不明な信号が含まれているこ とがあ り ます。 これらの信号は、 ツールによ りアクティビティを決定させます。

I/O アクティビティおよび制御信号のアクティビティ値の設定方法は、 第 4 章 「Vivado IDE からの What If? 解析の実行」 を参照して ください。

デバイス/デザイン設定を確認して既知のエレメン トのアクテ ィビテ ィ を調整

[Report Power] ダイアログ ボッ クスは、 Flow Navigator で [Report Power] をク リ ッ クする と開きます。 このダイアログボッ クスで消費電力設定を確認し、 既知のエレ メン トのアクティビティを調整します (図 3-2)。

消費電力解析および最適化 japan.xilinx.com 28UG907 (v2013.2) 2013 年 6 月 19 日

Page 29: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

Vivado IDE での消費電力概算の実行

• [Output text file]

プロジェク トの記録と して消費電力予測結果を保存する必要がある場合があ り ます。 また、パフォーマンスまたはエリ ア制約を満たすために別のマップ、 配置、 および配線オプシ ョ ンを試す場合、 各試行の消費電力結果を保存しておく と、複数の条件で要件が満たされたと きに も消費電力が低いソ リ ューシ ョ ンを選択するのに役立ちます。

• [Output XPE file] (Xilinx Power Estimator 用)

環境情報、 デバイス使用量、 デザイン アクテ ィ ビテ ィすべてを 1 つのファ イル (.xpe) に保存し、 Xilinx PowerEstimator スプレッ ドシートにインポートできます。消費電力要件を超えており、 ツールの 適化機能だけでは要件を満たすこ とができないよ うな場合に有益です。この場合、現在のインプリ メンテーシ ョ ン結果を Xilinx PowerEstimator にインポート し、 異なるマップ、 ゲーティング、 畳み込み、 およびその他の手法を試して、 それらの消費電力への影響を予測してから、 RTL コードを変更し、 インプ リ メンテーシ ョ ンを再実行します。 また、 XXilinxPower Estimator スプレッ ドシートでの予測と合成結果を比較して、 XPower Estimator の値を必要に応じて変更します。

X-Ref Target - Figure 3-2

図 3-2 : [Report Power] ダイアログ ボックス

消費電力解析および最適化 japan.xilinx.com 29UG907 (v2013.2) 2013 年 6 月 19 日

Page 30: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

Vivado IDE での消費電力概算の実行

各シート を確認して、 システムが正し く表現されているか確認します。

• [Environment] タブ : [Environment] タブで編集可能なオプシ ョ ンを確認します。 プロセス、電圧、 環境データが意図した環境に近いものであるこ とを確認します。 これらの設定は、 予測される総消費電力に大き く影響します。

[Environment] タブでは、 次のオプシ ョ ンを設定できます。

[Device Settings]

- [Temp Grade] : デバイスに適した温度グレードを選択します。 通常は [Commercial] または [Industrial] です。 この設定によ り スタティ ッ ク消費電力仕様が異なるデバイスもあ り ます。 これを適切に設定することによ り、 選択したデバイスに対して正しいジャンクシ ョ ン温度範囲が表示されます。

- [Process] : ワース ト ケース解析では、 [Maximum] に設定するこ とをお勧めします。 デフォルト設定は[Typical] で、 スタティ ッ クに計測した場合に近い結果が得られますが、 [Maximum] に変更する と、 消費電力仕様がワース ト ケースの値に変更されます。

[Environment Settings]

- [Output Load] (pF) : I/O ポートの出力で駆動されるボードおよびその他の外部容量を指定します。

- [Ambient Temperature] (°C) : FPGA デザインを含むエンクロージャ内で達する可能性のある 大温度を指定します。 この設定と、エアフローやその他の放熱経路 (ヒート シンクなど) によ り、 ジャンクシ ョ ン温度が正確に算出され、 デバイスのスタティ ッ ク消費電力がよ り正確に算出されます。

- [Airflow (LFM)] : チップのエアフローは、 LFM ( リ ニア フ ィート /分) で計測されます。 LFM は、 CFM (立方フ ィー ト /分) で表されたファンの出力を空気が通過する断面で除算して求める こ とができます。FPGA およびファンの具体的な配置が FPGA 上の空気の動きに影響し、 放熱に影響する可能性があ り ます。このパラ メーターのデフォルト値は 250LFM です。エアフローなし (静止空気中) で FPGA を動作させる場合、 デフォルトの 250LFM を 0LFM に変更する必要があ り ます。

- [Heat Sink] : ヒート シンクを使用しており、 詳細な放熱情報がない場合は、 使用する ヒート シンクのタイプに適切なプロファ イルを選択します。 このパラ メーターとほかのパラ メーターを使用して、 有効ΘJB が算出され、よ り正確なジャンクシ ョ ン温度および静止消費電力が算出されます。 ソケッ トの設計および構造によって、 ヒート シンク と して機能するものもあ り ます。

- [Board Selection] および [# of Board Layers] : ボードのおおよそのサイズとスタッ クを選択する と、ボード自体の熱伝導性を考慮するこ とによ り、 有効 ΘJB の算出に役立ちます。

- [ΘJB] : ボードおよびシステムのよ り正確な温度モデルが存在する場合は、FPGA からの放熱量をしていするために ΘJB (プリ ン ト回路基板 の熱抵抗) を使用する必要があ り ます。

よ り正確なカスタム [ΘJB] を指定する と、ジャンクシ ョ ン温度がよ り正確に予測され、デバイスのスタティ ッ ク消費電力をよ り正確に算出できるよ うにな り ます。

重要 : カスタム [ΘJB] を指定するには、 [Board Selection] を [Custom] に設定する必要があ り ます。 カスタム [ΘJB] を指定する場合は、 正確な消費電力を算出するため、 [Board Temperature] も指定する必要があ り ます。

• [Power Supply] タブ : 電源情報が既知の場合は、 [Power Supply] タブで各電源に正しい電圧値が設定されていることを確認します。 電圧は、 スタティ ッ ク消費電力およびダイナミ ッ ク消費電力の両方に大き く影響します。

• [Clocks] :

° すべてのクロッ クが指定されているこ とを確認します。 推奨はしませんが、 場合によっては、 インプ リ メンテーシ ョ ン ツールでの処理エフォート を高く した り、 タ イ ミ ング マージンを大き くするために、 デザインの制約を厳し く設定するこ とがあ り ます。消費電力予測では、デザインがボードで実行される際の実際のクロッ ク周波数を使用する必要があ り ます。 そ うでないと、デザインのダイナミ ッ ク消費電力の精度が下がります。

° [Show Constrained Clocks] リ ンクをク リ ッ クする と、 デザインで制約されているク ロ ッ クがすべて リ ス ト されます。 ク ロ ッ ク周波数が正し く設定されているこ とを確認します。

• [Initial Settings] : [Initial Settings] タブでツールの現在のデフォルト値を確認し、アプ リケーシ ョ ンの値がデフォルト値から大き くずれないかを予測し、 調整が必要かど うかを判断します。 これらの設定は多数の代表的なユーザー デザインに基づいているので、 変更しないこ とをお勧めします。 GUI または入力ファ イルからアクテ ィビ

消費電力解析および最適化 japan.xilinx.com 30UG907 (v2013.2) 2013 年 6 月 19 日

Page 31: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

Vivado IDE での消費電力概算の実行

ティが供給されなかったノードに対して、 これらの値がシード と して使用されます。 この後、 伝搬エンジンにより各ノードのアクテ ィ ビテ ィがロジッ クの駆動コーンから伝搬されるアクテ ィ ビテ ィに基づいて変更されるので、 これらの値は伝搬エンジンによ り上書きされる可能性が高くあ り ます。

° [Set Signal Probability] : セッ ト信号と してコンフ ィギュレーシ ョ ンされるデザインの全プライマ リ入力の可能性を % で指定した値に設定します。

° [Reset Signal Probability] : リセッ ト信号と してコンフ ィギュレーシ ョ ンされるデザインの全プライマ リ入力の可能性を % で指定した値に設定します。

° [Enable Signal Probability] : ク ロ ッ ク イネーブル信号と してコンフ ィギュレーシ ョ ンされるデザインの全プライマ リ入力の可能性を % で指定した値に設定します。

° [IO Toggle Rate] : デザインの全プライマ リ入力の ト グル レート を指定した値に設定します。

° [IO Enable Probability] : IO イネーブル信号と してコンフ ィギュレーシ ョ ンされるデザインの全プライマ リ入力の可能性を % で指定した値に設定します。

° [Register Toggle Rate] : デザインの順次エレ メン トの全出力のト グル レート を指定した値に設定します。

° [BRAM Write Probability] : デザインの全 BRAM 書き込みイネーブル信号の可能性を % で指定した値に設定します。

° [BRAM Enable Probability] : デザインの全 BRAM イネーブル信号の可能性を % で指定した値に設定します。

° [DSP Toggle Rate] : デザインの DSP の全出力の ト グル レート を指定した値に設定します。

• [Input Files] : Vivado の [Report Power] を実行するには、 デザインに対して生成された SAIF または VCD シ ミ ュレーシ ョ ン データを入力と して使用します。 [Report Power] コマンドでは、 デザイン データベース内のネッ ト をシ ミ ュレーシ ョ ン結果のネッ ト リ ス ト内の名前と一致させます。 シ ミ ュレーシ ョ ン結果 (SAIF または VCD ファイル) からの情報を入力して、 さ らに精度の高い消費電力解析を取得する方法については、 ユーザー入力を参照して ください。

解析の実行

[Report Power] ダイアログ ボッ クスに必要なデータを入力したら、 解析を実行します。 ファ イルおよびユーザー入力によ り供給されたアクティビティがネッ ト リ ス トがアノテート され、残りの未定義のノードにデフォルト値が適用されます。 その後、 未定義のノードのアクティビティ予測の精度を上げるため、 この初期アクティ ビティが主な入力からデザインの主な出力に伝搬されます。 後に、 使用される各リ ソースのダイナミ ッ ク消費電力が算出され、 これらのリ ソースでのスイ ッチング アクティビティによ り生成される追加のスタティ ッ ク消費電力が推論され、デバイスで予測されるジャンクシ ョ ン温度および総消費電力要件が算出されます。

デザインでの電力配分の確認

消費電力解析が完了したら、[Power] ビューの [Summary] ページで [Total On-Chip Power] (総オンチップ消費電力) および温度プロパティを確認します。 [On-Chip Power] グラフでは、 デバイス リ ソース タイプごとの消費電力が示されます。 このグラフから、 デザインで も消費電力が高い箇所を特定できます (図 3-3)。

消費電力解析および最適化 japan.xilinx.com 31UG907 (v2013.2) 2013 年 6 月 19 日

Page 32: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

Vivado IDE での消費電力概算の実行

[Power Supply] ページには、 各電源の電流およびそのスタティ ッ ク消費電力およびダイナミ ッ ク消費電力の内訳が表示されます。

[Utilization Details] の下でリ ソース タイプを選択する と、 そのリ ソースにおける消費電力の詳細を表示できます (図 3-4)。各リ ソースのページは、 ツ リー形式の表になっています。列ヘッダーをド ラ ッグする と、列の順序を変更できます。 また、 列ヘッダーをク リ ッ クする と並べ替え順を変更できます。

X-Ref Target - Figure 3-3

図 3-3 : Vivado 消費電力解析 : 消費電力レポート

消費電力解析および最適化 japan.xilinx.com 32UG907 (v2013.2) 2013 年 6 月 19 日

Page 33: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

Vivado IDE での消費電力概算の実行

レポート されている消費電力が要件を超えている場合は、第 5 章 「消費電力削減のためのヒン トおよび手法」 のデバイスの消費電力を削減する手法を参照して ください。使用できる手法は、デザインの完成度や開発プロセスの変更許容度によって異なり ます。

X-Ref Target - Figure 3-4

図 3-4 : Vivado 消費電力解析 : I/O の消費電力の詳細

消費電力解析および最適化 japan.xilinx.com 33UG907 (v2013.2) 2013 年 6 月 19 日

Page 34: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

第 4 章

Vivado Design Suite での消費電力解析および最適化

はじめにこの章では、 Vivado™ Design Suite で実行可能な消費電力に関連した機能およびフローを説明し、 消費電力予測、 解析、 および 適化を実行できるよ うにします。

消費電力解析は、 合成後、 配置後、 または配線後に実行できます。 RTL エラボレーシ ョ ン後には実行できません。

消費電力の 適化は、 合成後にのみ実行できます。

消費電力の解析および 適化は、 Vivado IDE または Tcl プロンプ トのいずれかを使用して実行可能で、 ダイナミ ッ クに What If? シナリオを試すこ とができます。

消費電力解析Vivado IDE の消費電力に関連した機能を使用する と、デザインのインプ リ メンテーシ ョ ンで次の消費電力予測および解析を実行できます。

• デザインのスタティ ッ ク消費電力に影響する次の温度特性をレポート

° ジャンクシ ョ ン温度、 周囲温度などの温度値

° ボード層の数、 ボードの温度など、 選択したボードに関するデータ

° デザインで使用されるエアフローおよびヒート シンク プロファイルのデータ

• 各種電源の FPGA 電流要件のレポート

• 消費電力の分配を詳細に解析するこ とによ り、 ダイナミ ッ ク消費電力、 熱消費電力、 またはオフチップ消費電力を削減する消費電力節約ス ト ラテジを特定

図 4-1 に、 典型的な消費電力予測および解析フローを示します。 高精度の結果を得られるよ う、 予測または解析を実行する前に必要なツールへの入力および設定を行う手順も含まれています。 消費電力予測および解析コマン ドは、Vivado IDE または Tcl プロンプ トから実行できます。

消費電力解析および最適化 japan.xilinx.com 34UG907 (v2013.2) 2013 年 6 月 19 日

Page 35: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力解析

サポート されるデバイス アーキテクチャ

• Vivado Design Suite アーキテクチャのサポートについては、』『Vivado Design Suite ユーザー ガイ ド : リ リース ノート、 インス トールおよびライセンス』 (UG973) [参照 1] を参照して ください。

サポート される入力

• タイ ミ ング制約を指定する XDC 制約ファイル

• ビヘイビアーまたはタイ ミ ング シ ミ ュレーシ ョ ンからのシ ミ ュレーシ ョ ン出力アクティビティ ファ イル(SAIF/VCD ファ イル)

• 環境、動作条件、ツール デフォルト、および個々のネッ ト リ ス ト ノード アクティ ビティを指定する XDC/Tcl ファイル コマンド

• Vivado 消費電力解析ツールには、 デフォルトの値およびノード アクティビティ レート を入力する メカニズムが複数含まれます。 次のリ ス トは、 そのさまざまなメカニズムを示したもので、 優先順にリ ス ト されています。

1.スタティ ッ ク (定数は GND または VCC に接続)

2.[Power Results] ビューの [Utilization Details] タブにユーザーの入力した値

X-Ref Target - Figure 4-1

図 4-1 : 消費電力予測および解析フロー

消費電力解析および最適化 japan.xilinx.com 35UG907 (v2013.2) 2013 年 6 月 19 日

Page 36: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力解析

3.インポート されたシ ミ ュレーシ ョ ン アクティビティ ファ イル (SAIF または VCD).

4.インポート された制約ファイル – 制約ファイル (XDC) またはデザイン ネッ ト リ ス トからインポート されたクロ ッ ク制約

5.ベクターレス予測 – 前にリ ス ト された入力のいずれにも定義されていないノードに対して、 デフォルト値とノードへの入力アクティビティに基づいて、 アクティビティが予測されます。

6.デフォルト値 – ベクターレス予測で予測できなかったノードに対して、デザインのプライマ リ入力の場合と同様に、 デフォルト値が割り当てられます。

注記 : デフォルト値は、 [Report Power] ダイアログ ボッ クスの [Initial Settings] タブで変更できます。詳細は、第 3 章「デバイス /デザイン設定を確認して既知のエレ メン トのアクティビティを調整」を参照してください。

サポート される出力

• GUI およびテキス ト形式の消費電力レポート

• 指定のネッ ト リ ス ト エレ メン トの使用量および統計を取得する Tcl コマンド

• Vivado IDE ビューでさ らに解析するためのネッ ト リ ス ト

Vivado IDE を使用した消費電力解析

消費電力予測は、合成後のデザイン フローのどの段階でも実行できます。図 4-2 に、 Vivado IDE で消費電力予測を実行し、 設定メニューにアクセスする方法を示します。

消費電力解析および最適化 japan.xilinx.com 36UG907 (v2013.2) 2013 年 6 月 19 日

Page 37: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力解析

ベクター ベースの予測

通常は、 デザイン開発の各段階でシ ミ ュレーシ ョ ンを実行し、 デザインが要件どおりに動作するかを検証します。 デザインの開発段階、 複雑性、 または企業の方針に応じて、 さまざまな検証手法があ り ます。 次に、 取得可能な有益なデータ と、 これらのデータを使用して消費電力を解析する際に犯しやすいミ スについて説明します。正確な消費電力予測を実行するには、デザインのアクティビティ レートが現実的である必要があ り ます。 アクティビティ レートは、シ ミ ュレーシ ョ ンされるブロ ッ クに入力されるデータの通常の動作またはワース ト ケースの動作を示す必要があ ります。 このよ うな情報は、 検証や機能の確認中には必ずしも供給されません。 無効なデータが供給されたために、 無効なデータやコマンドが入力されたと きでも、システムが問題なく処理して安定した状態を保持するこ とができる と検証されてしま う場合もあ り ます。このよ うなテス ト ケースを使用して消費電力解析を実行する と、デザイン ロジックに通常のシステム動作状況と同じよ うに入力が供給されないため、 消費電力予測が不正確になり ます。

X-Ref Target - Figure 4-2

図 4-2 : Vivado IDE での消費電力予測の実行

消費電力解析および最適化 japan.xilinx.com 37UG907 (v2013.2) 2013 年 6 月 19 日

Page 38: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力解析

• システム ト ランザクシ ョ ン レベル

デザイン サイクル初期に、 PCB 上のデバイス間または FPGA アプリ ケーシ ョ ンの異なるファンクシ ョ ン間で発生する ト ランザクシ ョ ンを記述している場合があ り ます。 この記述から、 特定の I/O ポートおよびほとんどのクロ ッ ク ド メ インのアクテ ィ ビテ ィ をフ ァン クシ ョ ン ブロ ッ クご とに抽出できます。 この情報を使用する と、Vivado 消費電力設定を入力しやすくな り ます。

• FPGA 記述レベル

アプリ ケーシ ョ ンの RTL を定義する際は、 ビヘイビアー シ ミ ュレーシ ョ ンを実行して機能を検証する必要がある場合があ り ます。 これは、 データ フローおよびクロ ッ ク サイ クルに対する計算の有効性を検証するのに役立ちます。 この段階では、 使用される FPGA リ ソース数およびコンフ ィギュレーシ ョ ンは確定していません。 リソース使用量を推定して、 I/O ポート または内部制御信号 (セッ ト、 リセッ ト 、 ク ロ ッ ク イネーブル) のアクティビティを抽出できます。 この情報を使用する と、 Vivado 消費電力解析情報の精度が増します。

シ ミ ュレータでノード アクテ ィ ビテ ィ を抽出し、 SAIF ファ イル フォーマッ ト でエクスポート できます。 このファ イルは、 Vivado デザイン フローでよ り正確な消費電力解析を実行するために保存できます。 たとえば、 インプリ メンテーシ ョ ン後のシ ミ ュレーシ ョ ンを実行するつも りがない場合などは、配置配線後にこのファイルを使用できます。

• FPGA インプ リ メンテーシ ョ ン レベル

インプリ メンテーシ ョ ン プロセスの異なる段階でシ ミ ュレーシ ョ ンを実行し、消費電力に関連するさまざまな情報を取得できます。 この追加情報を使用して、Xilinx Power Estimator スプレッ ドシートおよび Vivado 消費電力解析の結果を向上できます。 また、 I/O ポートおよび特定のモジュールのアクティ ビティを保存し、 合成後、 配置後、 配線後に Vivado 消費電力解析機能で再利用できます。

° 合成後 : ネッ ト リ ス トがターゲッ ト デバイスで使用可能な実際のリ ソースにマップされます。

° 配置後 : ネッ ト リ ス ト コンポーネン トが実際のデバイス リ ソースに配置されます。このパッ ク情報を基に終的なロジッ ク リ ソース数およびコンフ ィギュレーシ ョ ンが判明するので、 Xilinx Power Estimator スプレッドシートで情報を更新できます。

° 配線後 : 配線が完了する と、 使用される配線リ ソースに関するすべての詳細およびデザインに含まれる各パスの的確なタイ ミ ング情報が定義されます。 シ ミ ュレータでは、 インプ リ メン ト された回路の機能をベス トケースおよびワース ト ケースのゲートおよび配線遅延で検証するこ とに加え、グ リ ッチを含む内部ノードの的確なアクティビティがレポート されます。 このレベルの消費電力解析の精度では、 プロ ト タイプのボードで消費電力を実際に計測する前で も高くな り ます。

ベクターレス予測

デザイン ノードのアクティビティがユーザーまたはシ ミ ュレーシ ョ ン結果から供給されない場合、ベクターレス消費電力予測アルゴ リズムでこのアクティビティを推測できます。ベクターレス エンジンは、未定義ノードすべてに初期シード (デフォルトの信号レートおよびスタティ ッ ク確率) を割り当て、デザインの主要入力から内部ノードの出力までアクティビティを伝搬し、 主要出力に到達するまでこの操作を繰り返します。 このアルゴ リズムでは、 デザインの接続性、 リ ソースの機能、 およびコンフ ィギュレーシ ョ ンが識別されます。 ヒ ューリ スティ クスによ り、 ネッ ト リ ストに含まれるどのノードのグ リ ッチ レートでも予測できます。 グ リ ッチは、 デザイン エレ メン トがアクティブなクロッ ク エッジ間で 終的な値に安定するまでに数回ステートが変わる と発生します。 ベクターレス伝搬エンジンは、時間が比較的かかる配線後のシ ミ ュレーシ ョ ンほど正確ではあ り ませんが、精度と計算速度のバランスを取った優れた方法です。

ヒン ト : ベクターレスの消費電力予測は、スイ ッチング レートおよび %high を大幅に上書きしない限り、デザインの平均消費電力の予測です。

消費電力解析および最適化 japan.xilinx.com 38UG907 (v2013.2) 2013 年 6 月 19 日

Page 39: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力解析

ベクターレス予測を改善するユーザー入力

特定のノードのアクテ ィ ビテ ィは、 システムの仕様または FPGA が通信するインターフェイスによ り決定されるので、 どのデザインでも通常は既知です。 特に FPGA の複数のセルを駆動する ノード (セッ ト、 リセッ ト、 ク ロ ッ ク イネーブル、 ク ロ ッ ク信号) に関してこの情報をツールに供給する と、 消費電力予測に有益です。

これらのノードには、 次が含まれます。

• ク ロ ッ ク アクティビティ

すべての FPGA クロ ッ ク ド メ インの正確な周波数、および外部から供給されるのか (入力ポート )、内部で生成されるのか、 または外部からプリ ン ト回路基板に供給されるのか (出力ポート ) は、 通常判明しています。

• I/O データ ポート

FPGA からのデータの入出力のプロ ト コルおよびフォーマッ トが判明している と、 通常はツールで少なく と も一部の I/O に対して信号の遷移レートや信号の % High を指定できます。 たとえば、 プロ ト コルに DC バランス要件 (信号の % High が 50%) がある場合や、メモ リ インターフェイスへのデータの書き込みおよびメモリ インターフェイスからのデータの読み出し頻度が判明している場合は、ス ト ローブ信号およびデータ信号のデータ レートを設定できます。

• I/O および内部制御信号

システムおよびその機能から、セッ ト 、 リセッ ト 、 ク ロ ッ ク イネーブルなどの制御信号のアクティ ビティを予測できる場合があ り ます。 これらの信号は通常、デザイン ロジッ クの広範囲部分をオン、オフにできるので、 このアクティビティ情報を供給するこ とで消費電力予測の精度が高くな り ます。

Vivado IDE からの消費電力解析の設定

[Report Power] ダイアログ ボッ クスで環境、 アクティビティ、 電源、 およびツール デフォルト を指定するには、 次を実行します。 詳細は、 図 4-2を参照して ください。

1. [Flow] → [Open Synthesized Design] または [Flow] → [Open Implemented Design] をク リ ッ ク します。

または、 Flow Navigator でこれらをク リ ッ ク します。

2. [Tool] → [Report Power] をク リ ッ ク します。

または、 Flow Navigator で [Report Power] をク リ ッ ク します。

3. [Report Power] ダイアログ ボッ クスで、 デバイスの環境およびツール設定を指定します。

° [Report Power] ダイアログ ボッ クスの各タブで、 デザインの環境に合わせて設定を変更します。

° 環境および電圧設定は、 デバイスのスタティ ッ ク消費電力に大き く影響します。

° アクティビティ レートおよび電圧設定は、 ダイナミ ッ ク消費電力に大き く影響します。

° 特定の設定が不明の場合は、 デフォルトの値を使用して ください。

° シ ミ ュレーシ ョ ン結果からのアクティビティ ファ イルがある場合、 このダイアログ ボッ クスで指定できます。

これらの段階の詳細は、 第 3 章 「デバイス /デザイン設定を確認して既知のエレ メン トのアクティビティを調整」を参照して ください。

4. レポート名を指定します。

消費電力解析および最適化 japan.xilinx.com 39UG907 (v2013.2) 2013 年 6 月 19 日

Page 40: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力解析

Vivado IDE からの消費電力解析の実行

[Report Power] ダイアログ ボッ クスで [OK] をク リ ッ ク し、 消費電力解析を開始します。 ツールで次が実行されます。

1. 環境、 デバイス、 およびツール オプシ ョ ンが考慮されます。

2. ネッ ト リ ス トの接続およびコンフ ィギュレーシ ョ ンが読み込まれます。

3. 定義したノードのアクティビティが適用されます。

ノード とは、 ネッ ト、 ピン、 ポート などのコンポーネン トです。

4. 残りの未定義ノードのアクティビティが決定され、 温度および電源電力が算出されます。

消費電力解析では、 アクティビティの定義に次のよ うな情報が使用されます。

• シ ミ ュレーシ ョ ン ファ イル (SAIF/VCD)

• ベクターレス消費電力解析手法を使用した自動計算

• set_switching_activity Tcl コマンドを使用した手動定義

詳細は、 「Tcl プロンプ トからの消費電力解析の実行」 を参照して ください。

Vivado IDE からの消費電力レポートの解析

消費電力レポートおよび解析ビューは Vivado IDE に統合されています (図 4-3)。 さまざまな消費電力ビューを表示できるだけではなく、 既存のビューと連動させるこ と も可能です。

• [Power] ビューの [Settings] ページに、 消費電力の算出に使用されたデバイス、 ツール、 および環境設定がすべて表示されます。

• [Summary] ページには、 重要な温度および電源電力の結果のサマリが表示されます。

[Utilization Details] セクシ ョ ンの各リ ソース タイプのページまたは [Netlist] ビューでのでリ ソース タイプを選択すると、 [Properties] ビューの [Statistics] タブに選択したエレ メン トのコンフ ィギュレーシ ョ ン、 使用量、 アクティ ビティの詳細が表示されます。複数のレポート を生成して、異なる動作条件やアクティビティ パターンでの消費電力を予測できます。

重要 : [Report Power] では、 IP イ ンテグレーターを使用してコンフ ィ ギュ レーシ ョ ン した Zynq-7000 ブロ ッ クのZynq®-7000 AP SoC 消費電力解析がサポート されます。 IP インテグレーター ツールからは、 PS 使用量および機能をコンフ ィギュレーシ ョ ンできます。 [Report Power] を実行する と、 これらのコンフ ィギュレーシ ョ ン設定に基づいて消費電力が予測されます。 Vivado の消費電力予測は読み出し専用なので、 PS (プロセッシング システム) の [SignalRate] や [Percentage High]、 インターフェイス、 またはメモ リ をこの段階で変更するこ とはできません。 PS タブの各フ ィールドの詳細については、 『Xilinx Power Estimator User Guide』 [参照 4] の 「PS Sheet」 セクシ ョ ンを参照してください。

消費電力解析および最適化 japan.xilinx.com 40UG907 (v2013.2) 2013 年 6 月 19 日

Page 41: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力解析

Vivado IDE からの What If? 解析の実行

What If? 解析を実行するには、 デザインのネッ トおよびセルに対して信号レートおよびスタティ ッ ク確率を設定します。 これらの値は、 [Properties] ビューの [Power] タブで設定します (図 4-4)。 [Power] タブで [Edit] ボタンをク リ ッ クし、 [Edit Power Properties] ダイアログ ボッ クスで [Signal Rate] および [Percentage High] を設定したら、 [OK] をク リ ック します。

X-Ref Target - Figure 4-3

図 4-3 : Vivado IDE での消費電力情報

消費電力解析および最適化 japan.xilinx.com 41UG907 (v2013.2) 2013 年 6 月 19 日

Page 42: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力解析

上記の例では、 [Signal Rate] は 200 Mtr/s に、 [Percentage High] は 50% に設定されています。

Tcl コンソールには、 Vivado IDE で [OK] をク リ ッ クする と、 次の XDC 制約が表示されます。

set_swtiching_activity -signal rate 200 -static_probability 0.5

重要 : この XDC 制約によ り、 デザインは古くな り ます。

X-Ref Target - Figure 4-4

図 4-4 : [Power] タブ

消費電力解析および最適化 japan.xilinx.com 42UG907 (v2013.2) 2013 年 6 月 19 日

Page 43: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力解析

Tcl を使用した消費電力解析

このセクシ ョ ンでは、 Tcl インターフェイスを使用した典型的な消費電力解析フローを説明します。 「消費電力解析のTcl コマンド」 に、 消費電力解析に関連するコマンドを リ ス ト します。

特定のコマンドのオプシ ョ ン、 プロパティ、 適用可能なエレ メン ト 、 および戻り値は、 次を参照して ください。

• 「<command_name> -help」 と入力

• 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835)[参照 2] を参照

• 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903)[参照 3] を参照

消費電力解析の Tcl コマンド

• read_saif

• set_switching_activity

• set_default_switching_activity

• set_operating_conditions

• read_vcd

• report_switching_activity

• reset_default_switching_activity

• report_operating_conditions

• report_power

• reset_switching_activity

• report_default_switching_activity

• reset_operating_conditions

• set_units

Tcl プロンプ トからの消費電力解析の設定

消費電力予測を実行する前に、 デバイスの環境、 デザイン ネッ ト リ ス トの既知のスイ ッチング アクティビティ レート を指定する必要があ り ます。 これによ り、 消費電力予測が正確なものになり ます。

• 「デバイス環境」

• 「ネッ ト リ ス ト エレ メン ト アクティビティ」

• 「 小限の入力セッ ト 」

デバイス環境

次のよ うなデバイス動作条件をすべて指定します。

• 温度

° 周辺温度

° ヒート シンク

• 電圧

° VCCINT

° VCCAUX

消費電力解析および最適化 japan.xilinx.com 43UG907 (v2013.2) 2013 年 6 月 19 日

Page 44: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力解析

° VCCO

• デバイス

° 温度グレード

° プロセス コーナー

次のコマンドを使用します。

• report_operating_conditions

すべてまたは指定した動作条件設定をレポート します。

• set_operating_conditions

指定されている動作条件パラ メーターを変更します。

• reset_operating_conditions

指定されている動作条件パラ メーターまたはすべてのパラ メーターを、選択したデバイスに対するデフォルト値に戻します。

ネッ ト リス ト エレメン ト アクテ ィ ビテ ィ

次のコマンドを使用して、 信号レートおよびスタティ ッ ク確率などのスイ ッチング アクテ ィ ビティ、 および既知のネッ ト リ ス ト エレ メン トのクロ ッ ク波形情報を定義します。

• report_switching_activity

° 指定したエレ メン トのアクティビティをレポート します。

° 複数のエレ メン ト を指定する と、 平均アクティビティが返されます。

• set_switching_activity

指定したエレ メン トのアクティビティを設定します。

• reset_switching_activity

指定したネッ ト リ ス トのエレ メン トのアクティビティをツールのデフォルト値にリセッ ト します。

• report_default_switching_activity

指定したデフォルト タイプのデフォルトのアクティビティをレポート します。

• set_default_switching_activity

指定したデフォルトのタイプのアクティビティを設定します。

• reset_default_switching_activity

指定したデフォルト タイプのアクティビティを リセッ ト します。

• read_saif

SAIF シ ミ ュレーシ ョ ン出力ファイルを読み込んで、 一致するネッ ト リ ス ト エレ メン トにこのファイルに記述されているスイ ッチング アクティビティをアノテート します。

• read_vcd

VCD シ ミ ュレーシ ョ ン出力ファイルを読み込んで、 一致するネッ ト リ ス ト エレ メン トにこのファイルに記述されているスイ ッチング アクティビティをアノテート します。

• create_clock

消費電力解析および最適化 japan.xilinx.com 44UG907 (v2013.2) 2013 年 6 月 19 日

Page 45: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力解析

ク ロ ッ ク波形を指定する合成/インプ リ メンテーシ ョ ン制約です。

• create_generated_clock

生成クロッ ク波形を指定する合成/インプ リ メンテーシ ョ ン制約です。

デフォルトでは、 create_clock および create_generated_clock は XDC ファ イルで定義されているので、 再び定義する必要はあ り ません。

最小限の入力セッ ト

消費電力予測を実行する前に、 次を実行します。

• ネッ ト リ ス トに含まれているすべてのクロ ッ クのアクティビティが定義されているこ とを確認します。

• 可能な場合、Tcl コマンドを使用してデザインに含まれるプライマ リ入力ポートのアクティビティを指定するか、またはシ ミ ュレーシ ョ ン出力ファイルを読み込みます。これらのポートのアクティビティ レートが内部ロジッ クのアクティビティ レート を決定するので、ツールのデフォルト設定がアプリ ケーシ ョ ンと一致していないと、内部ロジッ クのアクティビティが正し く予測されない可能性があ り ます。

• HDL コードで定義されているグローバル セッ ト 、 リセッ ト、 ク ロ ッ ク イネーブル信号など、 ファンアウ トが大きいネッ トのアクティビティ レートがわかっている場合は指定します。

シ ミ ュレーシ ョ ン結果ファイルを読み込む場合は、 典型的またはワース ト ケースのデザイン アクティ ビティが示されているこ とを確認して ください。特殊な状況のシ ミ ュレーシ ョ ン結果を使用する と、消費電力が正確に予測されない可能性があ り ます。

Tcl プロンプ トからの消費電力解析の実行

環境およびアクティ ビティの設定をすべて定義したら、 report_power コマンドを使用して消費電力解析アルゴ リズムを実行できます。 ツールで次が実行されます。

1. 環境設定およびデザインのネッ ト リ ス トが読み込まれます。

2. 入力ファイルまたは Tcl コマンドを使用して指定したネッ ト リ ス ト エレ メン トのアクティ ビティがアノテートされます。

注記 : 未定義のノードには、 ベクターレス伝搬エンジンによ り、 既知のエレ メン トのアクティビティ、 ロジッ クコンフ ィギュレーシ ョ ン、 接続に基づいてアクティビティが予測されます。

3. デザインの温度および電源電力が計算およびレポート されます。

Tcl プロンプ トからの消費電力レポートの解析

デザインの消費電力を解析するには、 まず消費電力レポートに含まれている温度および電源電力情報を確認します(図 4-5)。

次に、要件に対するデザイン マージンによって、 リ ソースまたは階層セクシ ョ ンを確認します。 これらのセクシ ョ ンには、 デザインの消費電力の分配が詳細に示されます。 解析の結果、 Xilinx Power Estimator に戻り、 デザインのアーキテクチャ シナリオを実行する必要が出て来る可能性があ り ます。

What If? シナリオを実行し、 次の設定を変更した場合の影響を評価できます。

• 環境

• デバイス

• インプリ メンテーシ ョ ン

• 消費電力ツール

消費電力解析および最適化 japan.xilinx.com 45UG907 (v2013.2) 2013 年 6 月 19 日

Page 46: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力解析

Vivado に含まれている cpu_hdl デザインを使用した場合の、 上記のセクシ ョ ンで説明したコマンドのほとんどを含むスク リプ ト例を示します。

消費電力レポートは Tcl コマンドを使用してダイナミ ッ クに実行できます。 次はその例です。

vivado -mode batch -source power_analysis.tcl

または、 Tcl スク リプ ト を使用するこ と もできます。 次に、 バッチ モードでスク リプ ト を実行する場合のスク リプ ト例を示します。

X-Ref Target - Figure 4-5

図 4-5 : 消費電力および温度情報を含むテキスト形式レポート

消費電力解析および最適化 japan.xilinx.com 46UG907 (v2013.2) 2013 年 6 月 19 日

Page 47: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力解析

例 1 : プロジェク ト モードでの合成後およびインプリ メンテーシ ョ ン後の消費電力予測および比較

#--------------------- Setup estimation ---------------------

# Open project with HDL source files and timing constraintsopen_project $install_directory/project_cpu_hdl/project_cpu_hdl.ppr

# Display tool default assumed operating conditionsreport_operating_conditions -all

# Set specific device and environment operating conditionsset_operating_conditions -ambient 25set_operating_conditions -voltage {vccint 0.95 vccaux 1.71}

#----------------------- Run Synthesis then Power estimation -----------------

# Run Vivado Design Suite synthesis and automaticallylaunch_runs synth_1

#open designopen_run synth_1

# Generate verbose post-synthesis power reportreport_power -verbose -file ex1_post-synthesis.pwr

#------------------------ Run Implementation then Power estimation -----------launch_runs impl_1

#open designopen_run impl _1

# Generate post-implementation verbose power reportreport_power -file ex1_post-implementation.pwr

# Return operating conditions to default for devicereset_operating_conditions -ambient -voltage {vccint vccaux} # could use '-all'

例 2 : 非プロジェク ト モードでの合成後およびインプリ メンテーシ ョ ン後の消費電力予測および比較

#--------------------- Setup estimation ---------------------

# Open netlist in projectless mode read_edif -name top.edf

# read design constraintsread_xdc -name top_full.xdc

# Display tool default assumed operating conditionsreport_operating_conditions -all

# Set specific device and environment operating conditionsset_operating_conditions -ambient 25set_operating_conditions -voltage {vccint 0.95 vccaux 1.71}

消費電力解析および最適化 japan.xilinx.com 47UG907 (v2013.2) 2013 年 6 月 19 日

Page 48: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力解析

#----------------------- Power estimation post synthesis -----------------

# Generate verbose post-synthesis power reportreport_power -verbose -file ex1_post-synthesis.pwr

#----Run various Implementation steps then Power estimation after every step --------opt_designreport_power -verbose -file ex1_post-opt_design.pwrpower_opt_design ;# Optional report_power -verbose -file ex1_post_pwr_opt_design.pwrplace_design report_power -verbose -file ex1_post_place_design.pwrphys_opt_design ;# Optionalreport_power -verbose -file ex1_post_phys_opt_design.pwrroute_design

# Generate post-route verbose power reportreport_power -verbose -file ex1_post_route_design.pwr

# Return operating conditions to default for devicereset_operating_conditions -ambient -voltage {vccint vccaux} # could use '-all'

例 3 : リセッ ト時の % High の値が正確であることを確認

# Identify resets in the design

# Query the % high value of the reset identified for the designreport_switching_activity -static_probability reset# Output is - reset:static probability = 0.5 (D)

# Set %high value of reset to 0set_switching_activity -static_probability 0.0 reset

# Generate post-route verbose power reportreport_power -verbose -file ex1_post_route_design.pwr

例 4 : ツールおよびデバイスの環境設定のレポート、 変更、 リセッ ト

インプリ メン ト済みデザインを開き、 次のコマンドを入力します。 これによ り、 デフォルトのアクティ ビティ設定が変更され、 新しい消費電力レポートが生成されます。

#------------------- Report tool default activity settings -------------------

# Show tool default activity for the different class of netlist elementsreport_default_switching_activity -type all

# Generate power report with tool default settingsreport_power -file ex2_tool-default-activity.pwr

消費電力解析および最適化 japan.xilinx.com 48UG907 (v2013.2) 2013 年 6 月 19 日

Page 49: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力解析

#------------------- Modify tool default activity settings -------------------

# Set default clock freq of 100 MHz for all unconstrained clocksset_default_switching_activity -toggle_rate 100 -type clock

# Increase activity of design inputs from 12.5 to 25% of clock rateset_default_switching_activity -type input -static_probability 50 -toggle_rate 25

# Report static and dynamic power implicationsreport_power -file ex2_modified-default-activity.pwr

#------------------- Reset tool default activity settings -------------------

# Return activity of design inputs to defaultreset_default_switching_activity -all

例 5 : What If?デザイン解析/レポート、 デザイン アクテ ィ ビテ ィの変更/リセッ ト

消費電力解析での作業はダイナミ ッ クであ り、 What If? シナリオを即座に試すこ とができます。 インプ リ メン ト済みデザインを開き、次のコマンドを入力します。これによ り、サブモジュール fftEngine の制御信号 (クロ ッ ク イネーブルおよびリセッ ト ) のアクティビティが変更され、 この階層レベルおよびデザイン全体の消費電力への影響を評価できます。

#---------------- Report power and activity with default settings ------------

# Report power report_power -file ex3_power_before.pwr

# Get activity of signals of interestreport_switching_activity -object_list [get_nets {fftEngine/reset fftEngine/wb_we_i_reg}]

#---------- scenario with no reset and higher CE activity --------------

# disable reset and enable clock enables in module fftEngine most of the timeset_switching_activity -static_probability 0 -object_list [get_nets fftEngine/reset]set_switching_activity -static_probability 1 -object_list [get_nets fftEngine/wb_we_i_reg]report_power -file ex3_power_no_reset_activ.pwrreport_switching_activity -object_list [get_nets fftEngine/reset fftEngine/wb_we_i_reg]

#----------- scenario with active reset and low CE activity ---------

# enable reset and disable clock enable in module fftEngine most of the timeset_switching_activity -static_probability 1 -object_list [get_nets fftEngine/reset]set_switching_activity -static_probability 0 -object_list [get_nets fftEngine/wb_we_i_reg]report_power -file ex3_power_reset_activ.pwrreport_switching_activity -object_list [get_nets fftEngine/reset fftEngine/wb_we_i_reg]

消費電力解析および最適化 japan.xilinx.com 49UG907 (v2013.2) 2013 年 6 月 19 日

Page 50: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力の最適化

消費電力の最適化Vivado デザイン ツールでは、 さまざまな消費電力の 適化が提供されており、 デザインのダイナミ ッ ク消費電力を

大 30% 削減できます。 これらの 適化では、 ASIC で使用されるクロ ッ ク ゲーティング手法が使用され、デザインの出力に影響しない部分や、そのクロ ッ ク サイクルでステートのアップデートが不要な部分のアクティ ビティを 小限に抑えるこ とができます。 適化は、 デザイン全体に適用するか、 選択した部分のみに適用できます (図 4-6)。

FPGA のダイナミ ッ ク消費電力は、デザインのさまざまなノードにおけるク ロ ッ ク周波数 (f)、 ノード容量 (C)、 FPGAの動作電圧 (V)、 およびアクティビティから算出されます。 ほとんどのデザインでは、 上記のパラ メーターのいくつかは FPGA テク ノ ロジ (電圧など) またはデザイン要件 (動作周波数) によ り通常固定されますが、 デザイン内のモードには FPGA の出力には影響しないが ト グルし続けるものもあ り、 ダイナミ ッ ク消費電力の大きな部分を占めます。このよ うなノードを FPGA のクロッ ク イネーブル (CE) を使用してゲーティングできます。 これはコーディング手法でも達成できますが、 デザインにほかのソースからの IP が含まれていたり、 そのよ う な細粒度のゲーティングを実行するには多大な労力を要するため、 ほとんどの場合は実行されません。 Vivado ではこれらの消費電力の 適化が 1つのコマンドで自動的に実行でき、 大限の消費電力削減を簡単に実行できます。

Vivado では、 レガシ IP ブロ ッ クおよびサードパーティ IP ブロ ッ クを含むデザイン全体が解析されます。 各クロ ッ クサイ クルの結果に影響しないソース レジスタの出力ロジッ クを特定し、 細粒度クロ ッ ク ゲーティングまたはロジック ゲーティング信号を作成して、 不要なスイ ッチイング アクティ ビティを除去します。

ク ロ ッ ク ゲーティングによる 適化では、 シンプル デュアル ポート モードまたは完全なデュアル ポート モード両方の専用ブロッ ク RAM の消費電力も削減されます (図 4-7)。 これらのブロ ッ クには、 アレイ イネーブル、 ライ ト イネーブル、および出力レジスタのク ロ ッ ク イネーブルなどのイネーブル信号があ り ます。節約される消費電力のほとんどはアレイ イネーブルの使用によるもので、データが書き込まれず、出力が使用されないと きに、消費電力を削減する機能がツールによ り インプリ メン ト されます。

X-Ref Target - Figure 4-6

図 4-6 : クロック ゲーティング

消費電力解析および最適化 japan.xilinx.com 50UG907 (v2013.2) 2013 年 6 月 19 日

Page 51: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力の最適化

ザイ リ ンクスのク ロッ ク ゲーティング 適化では追加のゲーティング ロジッ クが作成され、 ユーザー ロジッ クが変更されるこ とはないので、 デザインの機能は常に保持されます。

ブロック RAM の WRITE_MODE の消費電力最適化

True デュアル ポート (TDP) のブロ ッ ク RAM の場合、そのポートの出力が接続されていなければ、 WRITE_MODE はWRITE_FIRST から NO_CHANGE に変更できます。

これによ り、 BRAM の出力ポートはアップデート されないため、書き込みサイクルの消費電力を節電できます。 この適化は、 ユーザー定義の機能およびパフォーマンスに影響のない場合にのみ実行されます。

これらの 適化は、 Vivado Design Suite の opt_design 段階で実行されます。

Vivado IDE での消費電力最適化の実行

消費電力 適化は、 Vivado の opt_design および power_opt_design 段階で実行されます。

opt_design 中に実行される 適化には、ユーザーの動作は必要あ り ません。 これらの 適化では、主にブロ ッ ク RAMの消費電力の削減と タイ ミ ングの保持に焦点が置かれます。

Vivado IDE で power_opt_design を使用した消費電力 適化をイネーブルにするには、 [Tools] → [Project Settings] をクリ ッ ク し、 [Implementation] を選択して [Power Opt Design] の下の [is_enabled] オプシ ョ ンをオンにします (図 4-8)。

このオプシ ョ ンをオンにする と、 消費電力 適化が Vivado IDE のインプ リ メ ンテーシ ョ ンの一部と して実行されます。 適化を詳細に設定し、 その結果をレポートする場合は、 「消費電力解析の Tcl コマンド」 を参照してください。

重要 : [Power Opt Design] は、 デザイン フローの配置前または配置後のいずれかでイネーブルにできますが、 両方ではイネーブルにできません。 詳細は、 55 ページ目の 「消費電力 適化の実行」 を参照して ください。

X-Ref Target - Figure 4-7

図 4-7 : クロック ゲーティングによる最適化でブロック RAM イネーブルを活用

消費電力解析および最適化 japan.xilinx.com 51UG907 (v2013.2) 2013 年 6 月 19 日

Page 52: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力の最適化

Vivado IDE での消費電力最適化レポートの表示

Vivado IDE では、 デザインで実行された消費電力 適化について説明する消費電力 適化レポート を表示できます。消費電力 適化レポートは、 合成またはインプリ メンテーシ ョ ン後に表示できるよ うにな り ます。

重要 : Vivado では、 消費電力 適化は Vivado デザイン フローの opt_design および power_opt_design 段階中に実行できます。 これらの段階はどちらもデザインが合成された後のインプ リ メンテーシ ョ ン中に発生します。合成済みデザインで消費電力 適化レポートの生成を実行する と、レポートには元のデザインにコード記述された消費電力 適化機能に関する情報 (クロ ッ ク イネーブル (CE) を使用した BRAM のゲート制御など) のみが含まれます。この場合、レポートには、 後でインプリ メンテーシ ョ ンで実行されるよ うな詳細な消費電力 適化情報は含まれません。

Vivado IDE での消費電力 適化レポート を表示するには、 次の手順を実行します。

1. Flow Navigator で [Open Synthesized Design] または [Open Implemented Design] をク リ ッ ク します。

2. [Tool] → [Report] → [Report Power Optimization] をク リ ッ ク します。

この操作は、 次の Tcl コマンドでも実行できます。

report_power_opt -name <report_name>

X-Ref Target - Figure 4-8

図 4-8 : 消費電力最適化オプシ ョ ン

消費電力解析および最適化 japan.xilinx.com 52UG907 (v2013.2) 2013 年 6 月 19 日

Page 53: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力の最適化

3. [Report Power Optimization] ダイアログ ボッ ク ス (図 4-9) で次のオプシ ョ ンを指定してください。

° [Results name] : Vivado IDE で表示される消費電力 適化レポートの名前を指定します。

° [Export to file] : オンにする と、 Vivado IDE に消費電力 適化レポートだけでなく、 テキス ト形式のレポートも生成されます。テキス ト ファ イルのファイル名とディ レク ト リ を指定し、TXT か XML 形式を選択します。

° [Open in a new tab] : オンにする と、 この新しい消費電力 適化レポートが現在 Vivado IDE で表示されているその他の消費電力 適化レポートに追加されます。オフのままにしておく と、 Vivado IDE に現在表示されている消費電力 適化レポートがすべてこの新しい消費電力 適化レポートで上書きされます。

4. [OK] をク リ ッ ク します。

消費電力 適化レポートが Vivado IDE の結果ウ ィンド ウ エリアに表示されます。

消費電力 適化レポートは、 次のよ うなカテゴ リ別に表示させるこ とができます。

• [General Information] : デザインに関する情報、デザインのどの部分にザイ リ ンクス デバイスがインプ リ メン ト されるか、 この消費電力 適化レポート を生成した Tcl コマンドなど

• [Summary] : 適化された BRAM、 SRL、 スラ イス レジスタの数

• [Recommendations] : 消費電力改善目的でデザインをさ らに 適化するためにできるこ と

• [Hierarchical Information] : Vivado の消費電力 適化された BRAM、 SRL、 シフ ト レジスタの詳細。 図 4-10 では、インプリ メンテーシ ョ ン中に 適化された BRAM セルのリ ス ト (Tool Gated BRAMs) が表示されています。

X-Ref Target - Figure 4-9

図 4-9 : [Report Power Optimization] ダイアログ ボックス

X-Ref Target - Figure 4-10

図 4-10 : Vivado IDE での消費電力最適化レポート

消費電力解析および最適化 japan.xilinx.com 53UG907 (v2013.2) 2013 年 6 月 19 日

Page 54: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力の最適化

Vivado で実行される消費電力 適化の詳細については、 「消費電力の 適化」 および 「ブロ ッ ク RAM のWRITE_MODE の消費電力 適化」 を参照して ください。

Tcl を使用した消費電力最適化の実行

Vivado には、 消費電力 適化用に 3 つの Tcl コマンドがあ り ます。

• set_power_opt

• power_opt_design

• report_power_opt

これらのコマンドは、 消費電力 適化を有効にし、 デザインの 適化を適用する部分を指定し、 実行された 適化の効果をレポート します。

特定のコマンドのオプシ ョ ン、 プロパティ、 適用可能なエレ メン ト 、 および戻り値は、 次を参照して ください。

• 「<command_name> -help」 と入力

• 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835) を参照 [参照 2]

• 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903)[参照 3] を参照

消費電力最適化制約の設定

消費電力 適化を実行する前に、 オプシ ョ ンで消費電力 適化制約を設定し、消費電力 適化を実行するデザインの部分を特定できます。 set_power_opt コマンドを使用する と、消費電力 適化にセル タイプ、階層レベル、 ク ロ ック ド メ インを含めるかど うかなどを設定できます。

ヒン ト : この場合でも、 power_opt_design コマン ド を使用して消費電力 適化を有効にする必要があ り ます。set_power_opt コマンドは、 適化を実行する部分を指定するためにのみ使用します。

set_power_opt コマンドの構文は、 次のとおりです。

set_power_opt [-include_cells <args>] [-exclude_cells <args>] [-clocks <args>] [-cell_types <args>] [-quiet] [-verbose]

次の例では、 BRAM および REG セルに対して消費電力 適化を設定し、 その後 SRL を追加しています。

表 4-1 : set_power_opt のオプシ ョ ン

オプシ ョ ン名 省略可 デフォルト 説明

-include_cells ○ すべて クロ ッ ク ゲーティングに含めるセルを指定します。

-exclude_cells ○ なし ク ロ ッ ク ゲーティングから除外するセルを指定します。

-clocks ○ す べ て の クロ ッ ク

指定したク ロ ッ クが供給されるセルにク ロ ック ゲーティングを適用します。

-cell_types ○ すべて ク ロ ッ ク ゲーティ ングを適用するセル タイプを指定します。 all、 bram、 reg、 srl、 none のいずれかを指定します。

-quiet ○ 該当なし コマンド エラーを無視します。

-verbose ○ 該当なし プログラム実行中メ ッセージの制限を解除し、すべてのメ ッセージを表示します。

消費電力解析および最適化 japan.xilinx.com 54UG907 (v2013.2) 2013 年 6 月 19 日

Page 55: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力の最適化

set_power_opt -cell_types {bram reg}set_power_opt -cell_types {srl}

次の例では、 BRAM セルにのみ消費電力 低かを設定し、 その後 cpuEngine ブロ ッ ク を 適化から除外して、cpuEngine/cpu_dbg_dat_i ブロ ッ クを追加しています。

set_power_opt -cell_types bramset_power_opt -exclude_cells cpuEngineset_power_opt -include_cells cpuEngine/cpu_dbg_dat_i

消費電力最適化の実行

消費電力 適化はデザイン全体またはデザインの一部 (set_power_opt を使用した場合) に実行して 、 消費電力を小限に抑えるよ うにできます。

消費電力 適化は、 デザイン フローの配置前または配置後のいずれかで実行できますが、 両方では実行できません。配置前の消費電力 適化では、消費電力の節電量を 大にするこ とに焦点が置かれ、 まれにタイ ミ ングが悪化すること もあ り ます。 タイ ミ ングの維持が主な目標の場合は、 消費電力 適化を配置後に実行するよ うにして ください。 この場合、 タイ ミ ングを維持した消費電力 適化のみが実行されます。

典型的な配置前の消費電力 適化のスク リプ トは、 次のよ うにな り ます。

synth_designopt_designpower_opt_designplace_designroute_designreport_power

このコマンドの構文は、 次のとおりです。

power_opt_design [-quiet] [-verbose]

消費電力最適化レポートの生成

report_power_opt コマンドを実行する と、 ブロッ ク RAM、 SRL、 レジスタなど、消費電力 適化が実行されたすべてのセルが階層別に示されます。 各セルに使用されたイネーブルに関する情報と、 イネーブルが Vivado で作成されたのかユーザーによ り作成されたのかが示されます。

このコマンドの構文は、 次のとおりです。

report_power_opt [-cell <arg>] [-file <arg>] [-quiet] [-verbose]

表 4-2 : power_opt_design のオプシ ョ ン

オプシ ョ ン名 省略可 デフォルト 説明

-quiet ○ 該当なし コマンド エラーを無視します。

-verbose ○ 該当なし プログラム実行中メ ッセージの制限を解除し、すべてのメ ッセージを表示します。

消費電力解析および最適化 japan.xilinx.com 55UG907 (v2013.2) 2013 年 6 月 19 日

Page 56: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力の最適化

次の例では、 myopt.rep という ファ イルを作成し、 デザイン全体の消費電力 適化をレポート しています。

report_power_opt -file myopt.rep

次の例では、 myopt.rep とい う ファ イルを作成し、 デザインの mctrl0 サブ階層の消費電力 適化をレポート しています。

report_power_opt -file myopt2.rep -cell mcore0/mctrl0

消費電力最適化を使用した消費電力の最大限の削減

Vivado ツールで消費電力 適化を実行したと きに消費電力が 大限に削減されるよ うにするには、消費電力 適化をデザイン全体に実行し、デザインの一部を除外しないよ うにします。消費電力 適化を有効にしても消費電力が削減されない場合は、デザインに制約が正し く付けられているかど うかを確認して ください。デザインのすべてのレジスタに制約が付いているかど うかを確認するには、 check_timing コマンドを使用します。

デザインに正し く制約が付けられている場合は、消費電力 適化に影響する可能性のあるコーディング スタイルがないかど うか確認します。 潜在的な問題をデバッグするには、 グローバル セッ トおよびリセッ ト信号、 ブロッ ク RAMイネーブル生成、 レジスタ クロ ッ ク ゲーティングの 3 つを確認します。 これらの部分で消費電力 適化に生成されたイネーブルの数が少ない場合、コードまたは合成およびインプ リ メンテーシ ョ ンのオプシ ョ ン/プロパティを確認する必要がある可能性があ り ます。

• グローバル セッ ト / リセッ ト信号

可能な限り、非同期セッ ト / リセッ ト信号を使用しないでください (特に、データパスまたはパイプライン フ リ ップフロップ、 ブロッ ク RAM (BRAM))。

また、 power_opt_design でグローバル セッ ト / リセッ ト信号を dont_touch と して制約し、 イネーブルと して使用されないよ うにするこ と も考慮します。 HDL で dont_touch プロパティを設定する と、 フローのすべての段階でこの属性が適用されます。 このオプシ ョ ンは、 消費電力 適化用の XDC 制約と して設定するこ とをお勧めします。 次にその例を示します。

set_property DONT_TOUCH true [get_cells u1]

後に、 消費電力 適化およびベクターレス消費電力予測の前に、 グローバル セッ ト / リセッ ト信号の信号レートおよび確率が正し く設定されているこ とを確認して ください。

• スライス レジスタおよび SRL

power_opt_design でデザインのスライス レジスタまたは SRL に対してク ロ ッ ク イネーブルが生成されない原因は、 多数あ り ます。 次は、 その例です。

° デザインに組み合わせループが存在する

° デザインへの主な入力がソース となるフ リ ップフロ ップおよび SRL にセッ ト / リセッ ト信号が使用されている

表 4-3 : report_power_opt のオプシ ョ ン

オプシ ョ ン名 省略可 デフォルト 説明

-cell ○ 上位 指定したセルの消費電力 適化をレポート します。

-file ○ なし レポート を出力するファイルを指定します。 指定したファイルが既に存在する場合は、 上書きされます。

-quiet ○ 該当なし コマンド エラーを無視します。

-verbose ○ 該当なし プログラム実行中メ ッセージの制限を解除し、 すべてのメ ッセージを表示します。

消費電力解析および最適化 japan.xilinx.com 56UG907 (v2013.2) 2013 年 6 月 19 日

Page 57: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力の最適化

° データパス フ リ ップフロ ップに非同期セッ ト / リセッ ト信号が使用されている

° デザインに多数のクロ ッ ク ド メ インがあ り、 ク ロ ッ ク ド メ インをまたがっているためにイネーブルが生成されない

° SRL のサイズ :SRL のシフ ト レジスタの段数が大きいほど、すべての段に対して 1 つのクロ ッ ク イネーブルを生成するのが困難になり ます。

• ブロッ ク RAM

ブロッ ク RAM (BRAM) が多数使用されるデザインでは、消費電力を大き く削減できる可能性があ り ます。Vivadoでは、 さまざまな 適化手法を使用してイネーブルを生成し、 消費電力を削減します。 power_opt_design を使用しても BRAM のゲーティングがそれほど適用されていない場合は、 次のよ うな原因が考えられます。

° BRAM が主に FIFO18E1/FIFO36E1 セルである。 これらのインスタンスはツールで 適化できません。

° 推論またはインスタンシエート されたメモリが、A ポート と B ポートに別のクロ ッ クを使用した完全なデュアル ポート (TDP) モードであ り、 power_opt_design で 適化できない。

° BRAM 自体または BRAM に供給されるアドレス /ラ イ ト イネーブル フ リ ップフロ ップに非同期リセッ トが使用されている。

消費電力最適化後のタイ ミングの保持

消費電力 適化では、 消費電力を 大限に削減しながら、 タイ ミ ングへの影響は 小限に抑えます。 消費電力 適化によ り タイ ミ ングが悪化した場合は、 この影響を補正するための手法を使用できます。

可能な場合、 タイ ミ ング ク リ ティカルでないクロッ ク ド メ インまたはモジュールを特定し、 set_power_opt XDC コマンドを使用してそれらのみに消費電力 適化を適用します。 も ク リ ティカルなクロ ッ ク ド メ インがデザインの大部分を占めている場合や電力の大部分を消費している場合は、ク リ ティカル パス上のセルが消費電力 適化で削除されていないかど うかを確認します。 消費電力 適化で 適化されたオブジェク トには、 IS_CLOCK_GATED プロパティが設定されます。 これらのセルを消費電力 適化から除外します。

ク ロ ッ ク ゲーティングが適用されたセルを検索するには、 次の Tcl コマンドを使用します。

get_cells -hier -filter {IS_CLOCK_GATED==1}

Vivado IDE を使用している場合は、 [Find] ダイアログ ボッ クス (図 4-11) を使用してこれらのセルを検索できます。

X-Ref Target - Figure 4-11

図 4-11 : 消費電力最適化されたセルの検索

消費電力解析および最適化 japan.xilinx.com 57UG907 (v2013.2) 2013 年 6 月 19 日

Page 58: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力の最適化

よ り簡単な方法は、BRAM に対する消費電力 適化を制限するこ とです。 これによ り タイ ミ ングへの影響が 小限に抑えられますが、 その効果はデザインの BRAM の数およびそれらがどのよ うにゲーティングされているかによ り ます。

消費電力解析および最適化 japan.xilinx.com 58UG907 (v2013.2) 2013 年 6 月 19 日

Page 59: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

第 5 章

消費電力削減のためのヒン トおよび手法

はじめにこの章では、 消費電力を削減する手法およびその手法による総消費電力への効果を説明します。 この情報は、 時間、消費電力要件、使用可能な リ ソース、およびデザインの変更許容度などに合わせて 適なオプシ ョ ンを評価する際に役立ちます。

システム レベル

冷却スト ラテジ

冷却ス ト ラテジは、デバイスで生成された熱が除去されて環境に吸収されるよ うにします。 これらの冷却ス ト ラテジは、 デバイスのスタティ ッ ク消費電力に大き く影響します。 通常設計の初期段階で適用し、 フロー後半になってからでは適用しづら くな り ます。

• エアフローを増やします。

• 周囲温度を下げます。

• ヒート シンク (さ らに大きいヒート シンク ) を使用するか、 または別のレギュレータを選択します。

電源スト ラテジ

電圧は、 スタティ ッ ク消費電力およびダイナミ ッ ク消費電力の両方に大き く影響します。電圧レベルのアクティブ制御によ り、 指定の電圧がデバイスに適用されます。

• スイ ッチング レギュレータを使用する

スイ ッチング レギュレータは、 リ ニア レギュレータ と比べる と電力効率は高くな り ますが、 コンポーネン ト数は多くな り ます。

• 調整可能なレギュレータを使用する

同じ電源で複数の FPGA に電力が供給される場合、 FPGA および消費電力が も消費されるデバイスの電圧値にできる限り近い値になるよ う調整します。

• 許容誤差が厳しいレギュレータを選択する

デバイスの選択

• 製品に適したデバイスを選択する

消費電力解析および最適化 japan.xilinx.com 59UG907 (v2013.2) 2013 年 6 月 19 日

Page 60: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

システム レベル

デバイス選択の際に消費電力が主要な要素となってきています。 集積度、 機能、 パフォーマンス要件に 適で、消費電力要件も満たすデバイスを選択して ください。

• デバイス数を 小限に抑える

これによ り、 エ リ ア、 I/O インターコネク トの消費電力、 総リーク電流、 およびその他の要素を抑えるこ とができます。通常、プロセッサと FPGA などの複数のコンポーネン ト をサイズが大きめの 1 つの FPGA と置き換えると、 スタティ ッ ク消費電力を削減できます。

• 可能な限り小型のデバイスを選択する

これによ り リーク電流が削減されます。通常、 1 つの FPGA ファ ミ リでは同じパッケージを異なるダイ サイズで使用できます。 たとえば、 プロ ト タイプ中および生産前には大きめのダイを使用し、 量産段階では小さめのダイを使用するこ と も可能です。

• 可能な限り大型のパッケージを選択する

これによ り、放熱が増加します。パッケージが大きいほど、ダイの熱を環境に放散するエリ アが大き くな り ます。パッケージの上面に装着する ヒート シンクを大き くする と、 下面のボール グ リ ッ ド アレイを介してプ リ ン ト回路基板に放散される熱を増やすこ とができます。

• 低電圧デバイスを使用する

一部のデバイス ファ ミ リには、低消費電力オプシ ョ ンがあ り ます。電圧要件を下げる と、 スタティ ッ ク消費電力およびダイナミ ッ ク消費電力を大幅に削減できます。

• リーク電流が低いデバイスを使用する

一部のデバイス ファ ミ リでは、 特定のスピード グレードまたは温度グレードを使用するこ とによ り、 低リーク電流または低スタテ ィ ッ ク消費電力オプシ ョ ンを利用できます。 これらのデバイスの価格は多少高くな り ますが、 電気代、 冷却ハードウェア、 およびシステム管理費をその価格以上に節約できる可能性があり ます。

消費電力解析および最適化 japan.xilinx.com 60UG907 (v2013.2) 2013 年 6 月 19 日

Page 61: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

デザイン レベル

デザイン レベル次のセクシ ョ ンでは、 デザインの消費電力要件を満たすためにデザインに適用できる手法を示します。

デザイン サイクルには、 主に次の二つの状況で消費電力クロージャが含まれます。

• 制約が満たされた後、 さ らにデザインを 適化する場合

または

• デザインが消費電力要件を超えている場合

制約が満たされた後にさらにデザインを最適化 通常、開発プロセスのこの段階では、RTL、ボード電源、冷却パラ メーターの変更は、検証に時間がかかったり、 PCBリ スピン コス トがかかったりするため、 小限に抑える必要があ り ますが、 この段階でも異なるツール オプシ ョ ンや制約を試して、 ロジッ クおよび配線リ ソース数、 コンフ ィギュレーシ ョ ン、 およびアクティ ビティを 適化できます。 この 適化によ り、 ダイナミ ッ ク消費電力が 小限に抑えられ、 同時にスタテ ィ ッ ク消費電力も削減されます。デザイン マージンにもよ り ますが、 ダイナミ ッ ク消費電力を通常 15% ~ 20% 削減でき、 一部のデザインではそれよ以上削減できます。

消費電力要件を超えている場合

通常この段階では、 システムを市場にリ リースする圧力が高く、 ボード環境および冷却オプシ ョ ンなどのシステムに含まれる多くのパラ メーターは詳細に定義されています。そのためエンジニア リ ング作業のやり直しは制限されますが、 次の手法を使用する と、 消費電力を削減できる可能性が高いエリ アを特定できます。

手順 1 : 消費電力要件を超えている箇所の特定

GUI を使用している場合は Vivado™ 消費電力解析レポートの [Summary] ページ、 コマンド ラインを使用している場合はレポート ファ イル (.pwr) の Summary セクシ ョ ンを確認します。 [On-Chip Power] および [Power Supply] セクシ ョンで、 消費電力分配の概要を確認できます。 [Summary] ページで要件を超えている消費電力の種類および電力量を確認します。

手順 2 : 焦点を置く エリアの特定

Vivado 消費電力解析レポート または Xilinx Power Estimator で詳細を確認します。環境パラ メーター、各リ ソース、デザイン階層、 ク ロ ッ ク ド メ インで消費される電力を解析します。消費電力が高いエリ アを見つけた場合は、次の情報を使用してその原因を特定できます。

手順 3 : 試行

上記の手順で特定した消費電力を 適化するデザイン箇所の候補リ ス ト を確認し、 簡単なものから順に並び替えて、実行する 適化または試みを決定します。消費電力ツールでは What If? 解析を実行できるので、 コードや制約を実際に変更したり インプリ メンテーシ ョ ンを再実行したりせずに、 デザインを変更して簡単に消費電力を予測できます。

リソースをより効果的に使用

• ブロッ ク RAM

° ブロッ ク RAM の消費電力量は、イネーブルになっている時間に直接比例します。消費電力を削減するには、デザインでブロッ ク RAM が使用されていないクロ ッ ク サイクルで RAM イネーブル信号を Low にします。ブロ ッ ク RAM の [Enable Rate] と [Clock] レートは、 消費電力を 適化する際に も重要なパラ メーターです。

消費電力解析および最適化 japan.xilinx.com 61UG907 (v2013.2) 2013 年 6 月 19 日

Page 62: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

デザイン レベル

° TDP モードで書き込み中に出力ラ ッチが変更されない場合は、 NO_CHANGE モードを使用します。 これが電力効率が も高いモードです。 SDP モードでは、 NO_CHANGE モードは WRITE_FIRST モード と同じなので、 NO_CHANGE モードはあ り ません。

• I/O

I/O インターフェイスは、 長距離を駆動する必要があ り、 寄生要素による影響を受ける可能性があるため、 通常デバイスの消費電力要件の大部分を占めます。

° VCCAUX

できるだけ低い VCCAUX を使用します。 これによ り、 この電源のスタティ ッ ク消費電力およびダイナミ ッ ク消費電力の両方が 小限に抑えられます。

° 入力

内部で参照される入力規格の使用を制限します。

° IODELAY

IDELAY2 の HIGH_PERFORMANCE_MODE プロパティ を FALSE に設定します。 FALSE に設定する と、 出力ジッ ターは増加しますが、 消費電力は小さ くな り ます。

° IBUF_LOW_PWR

双方向 I/O および入力 I/O の IBUF_LOW_PWR プロパティを TRUE に設定します。デザイン パフォーマンスでこの設定が許容されるこ とを確認して ください。

° I/O コンフ ィギュレーシ ョ ン

パフォーマンス要件に対して I/O 規格、 駆動電流、 およびオンチップ終端設定を確認し、 ト ライステートが可能な DCI I/O 規格 (T_DCI) を使用して駆動電流を下げたり、 終端を省いたり、 外部終端を使用したりできないかを評価します。

° 出力

- 受信チップでサポート される 小のスルー /駆動電流/電圧を使用します。

- 並列終端よ り も終端なしまたは直列終端を選択します。この決定には、シグナル インテグ リティ シ ミ ュレーシ ョ ン ツールを使用できます。

- デバイスの温度要件、システム コス ト、およびボードのスペース要件を考慮して、オンチップ終端とオフチップ終端のどちらが適しているかを検討します。

- 電圧幅の低い差動規格を使用できないかを検討します。

- アプリ ケーシ ョ ンで大型パラレル バスの代わりに ト ランシーバーを使用できないかを検討します。

- IBUF、 IODELAY などの I/O 機能の要件を評価し、 許容される場合はディ スエーブルにします。

• ト ランシーバー

° GTX/GTH/GTP ト ランシーバーでは、消費電力を削減できる可能性のあるパワーダウン モードがサポート されています。

° GTX/GTH レシーバーには、 システム レベルでの消費電力とパフォーマンスの ト レードオフに応じて、 2 種類の適応フ ィルターがあ り ます。 GTX/GTH/GTP レシーバーには、 チャネル損失が低く消費電力で 適化された、 電力効率の高い LPM (低消費電力モード ) とい う適応モードがあ り ます。

° 各 GTX/GTH/GTP ト ランシーバーでは、 SATA (Serial ATA) および SAS (Serial Attach SCSI) 仕様に記述されている OOB (Out Of Band) シーケンスの生成と、 PCI Express 仕様に記述されているビーコンがサポート されています。 OOB シーケンスを使用しない場合、 さらに消費電力を削減できます。

° ト ランシーバーを可能な数だけ 1 つのタイルにパッ ク して、 サポート回路の複製を 小限に抑えます。

• ロジッ ク

次の方法でデザイン記述を 適化できます。

消費電力解析および最適化 japan.xilinx.com 62UG907 (v2013.2) 2013 年 6 月 19 日

Page 63: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

デザイン レベル

° ロジッ クの 適化の妨げになり、 配置配線リ ソースを多く使用する非同期の制御信号を 小限に抑えます。

° 制御セッ ト数を 小限に抑えます。 制御セッ トは、 ク ロ ッ ク、 ク ロ ッ ク イネーブル、 セッ ト 、 リセッ ト 、 ライ ト イネーブル (LUT RAM の場合) 信号の固有グループです。 1 つのスライス内での信号数の制限および信号の共有のため、 制御セッ トの情報は重要です。 これは FPGA アーキテクチャによって異なり ますが、制限に達する と、 近接した関連ロジッ クをパッ クできず、 配線リ ソースが増加する場合があ り ます。

° パイプライン段を追加して、 組み合わせロジッ ク コーンのサイズを 小限に抑えます。 これによ り、 各クロッ ク サイクルで信号が 終ステートに到達するまで、レジスタ間のグ リ ッチの伝搬を 小限に抑えるこ とができます。

° リ ソースのタイム シェア リ ングを使用します。 この手法では、 同じハードウェア リ ソースに異なるファンクシ ョ ンを時分割多重化するこ とで、 デバイスのリ ソース使用量を 小限に抑えます。 これによ り、 小さいデバイスを使用できるよ うになった り、 配置配線の密集が緩和され、 スタテ ィ ッ ク消費電力およびダイナミ ッ ク消費電力を削減できます。

° 低速で類似しているプロセスは、 別のリ ソースを使用せずに同じ リ ソースで実行できます。 ただし、 処理するデータのバッファー処理、 マルチプレクサ処理、 初期化、 および制御方法を慎重に検討する必要があ り ます。複数の入力センサーを処理するなど、並列処理が行われるアプリケーシ ョ ンでこのよ う な 適化を実行します。 入力と同じ数の処理ユニッ ト を使用する代わりに、 1 つの処理ユニッ ト を高速に実行できます。 入力チャネルは順に処理しますが、 各出力の応答時間は同じになり ます。 Xilinx Power Estimator の What If? 予測を実行する と、 消費電力の削減が作業努力に値するかを判断できます。

° DSP およびブロ ッ ク RAM のオプシ ョ ンのレジスタを使用します。 たとえば、 DSP ブロ ッ クで乗算器またはMREG レジスタをイネーブルにする と、ク ロ ッ ク サイクル間の内部グ リ ッチの伝搬が 小限に抑えられ、も電力効率の高いインプリ メンテーシ ョ ンにな り ます。

Vivado 消費電力最適化機能での試行

Vivado ツールで消費電力 適化を実行したと きに消費電力が 大限に削減されるよ うにするには、消費電力 適化をデザイン全体に実行し、デザインの一部を除外しないよ うにします。消費電力 適化を有効にしても消費電力が削減されない場合は、 グローバル セッ ト / リ セッ ト信号、 ブロ ッ ク RAM イネーブルの生成の 3 つが主なデバッグの対象とな り ます。 これらの部分で消費電力 適化に生成されたイネーブルの数が少ない場合、 コードまたは合成およびインプリ メンテーシ ョ ンのオプシ ョ ン/プロパティを確認する必要がある可能性があ り ます。

重要 : Vivado 消費電力 適化では、 消費電力を 大限に削減しながらタイ ミ ングへの影響は 小限に抑えますが、 場合によってはタイ ミ ングが悪化する場合があ り ます。 この影響を補正する方法は、第 4 章 「消費電力 適化後のタイミ ングの保持」 を参照して ください。

• グローバル セッ ト / リセッ ト信号

可能な限り、非同期セッ ト / リセッ ト信号を使用しないでください (特に、データパスまたはパイプライン フ リ ップフロップ、 ブロッ ク RAM (BRAM))。

また、 power_opt_design でグローバル セッ ト / リセッ ト信号を dont_touch と して制約し、 イネーブルと して使用されないよ うにするこ と も考慮します。 HDL で dont_touch プロパティを設定する と、 フローのすべての段階でこの属性が適用されます。 このオプシ ョ ンは、 消費電力 適化用の XDC 制約と して設定するこ とをお勧めします。 次にその例を示します。

set_property DONT_TOUCH true [get_cells u1]

後に、 消費電力 適化およびベクターレス消費電力予測の前に、 グローバル セッ ト / リセッ ト信号の信号レートおよび確率が正し く設定されているこ とを確認して ください。

• スライス レジスタおよび SRL

power_opt_design でデザインのスライス レジスタまたは SRL に対してク ロ ッ ク イネーブルが生成されない原因は、 多数あ り ます。 次は、 その例です。

° デザインに組み合わせループが存在する

° デザインへの主な入力がソース となるフ リ ップフロ ップおよび SRL にセッ ト / リセッ ト信号が使用されている

消費電力解析および最適化 japan.xilinx.com 63UG907 (v2013.2) 2013 年 6 月 19 日

Page 64: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

デザイン レベル

° データパス フ リ ップフロ ップに非同期セッ ト / リセッ ト信号が使用されている

° デザインに多数のクロ ッ ク ド メ インがあ り、 ク ロ ッ ク ド メ インをまたがっているためにイネーブルが生成されない

° SRL のサイズ :SRL のシフ ト レジスタの段数が大きいほど、すべての段に対して 1 つのクロ ッ ク イネーブルを生成するのが困難になり ます。

• ブロッ ク RAM

ブロッ ク RAM (BRAM) が多数使用されるデザインでは、消費電力を大き く削減できる可能性があ り ます。Vivadoでは、 さまざまな 適化手法を使用してイネーブルを生成し、 消費電力を削減します。 power_opt_design を使用しても BRAM のゲーティングがそれほど適用されていない場合は、 次のよ うな原因が考えられます。

° BRAM が主に FIFO18E1/FIFO36E1 セルである。 これらのインスタンスはツールで 適化できません。

° 推論またはインスタンシエート されたメモリが、A ポート と B ポートに別のクロ ッ クを使用した完全なデュアル ポート (TDP) モードであ り、 power_opt_design で 適化できない。

° BRAM 自体または BRAM に供給されるアドレス /ラ イ ト イネーブル フ リ ップフロ ップに非同期リセッ トが使用されている。

Vivado 消費電力解析機能での試行

Vivado の [Report Power] ダイアログ ボッ クスで設定を変更して解析を実行し、 消費電力への影響を確認できます。

° 環境 : 温度パラ メーター、 プロセス、 または電圧を設定します。

° デザインのアクティビティ : デザインに含まれるネッ ト またはセルのアクティビティを調整します。 1 つまたは複数のアイテムを同時に変更します。 次も変更できます。

- ク ロ ッ ク ド メ イン : スイ ッチング周波数を調整します。

- グルー ロジッ ク : ダイナミ ッ ク アクティビティ レート を調整します。

- I/O : スタティ ッ ク アクティ ビティおよびダイナミ ッ ク アクティビティの確率を調整します。 負荷容量や近端ボード終端など、デバイス出力に接続されている外部コンポーネン トのパラ メーターも調整できます。

- 信号 : データ信号のダイナミ ッ ク アクティビティ レート を調整します。制御信号では、スタティ ッ ク確率を変更してク ロ ッ ク イネーブル、セッ ト 、またはリセッ トの複数の想定下で消費電力を評価できます。

- 特定のブロッ ク : ダイナミ ッ ク アクティビティ確率に加え、ブロ ッ ク RAM のポート イネーブルまたはライ ト イネーブルなどの制御信号のアクティビティ も調整できます。

Xilinx Power Estimatorr (XPE) での試行

XPE では、 複数のソースによ り開発されたモジュールの Vivado 消費電力解析結果をインポート し、 これらの IPブロッ クをデバイスにインプリ メン ト したと きの総消費電力を確認できます。 また、 ネッ ト リ ス ト を変更しなくてはいけない状況を評価し、実際にコードを変更せずに消費電力への影響を評価できます。XPE では各ロジッ クエレ メン ト または信号を個別に変更するこ とはできないので、 デザインのコア ロジッ クでの精度は Vivado 消費電力解析よ り も低くな り ます。

XPE では、 次も試すこ とができます。

° リ ソース使用量

リ ソース数を減らしてみます。 ロジッ クの一部をスラ イス ロジッ クからブロ ッ ク RAM や DSP などの専用ブロッ クにマップし直したり、 またその逆を実行してみます。

° リ ソース コンフ ィギュレーシ ョ ン

デザインの I/O、 ブロ ッ ク RAM、 ク ロ ッ ク ジェネレーター、 およびその他の リ ソースに別のコンフ ィギュレーシ ョ ン設定を使用してみます。

消費電力解析および最適化 japan.xilinx.com 64UG907 (v2013.2) 2013 年 6 月 19 日

Page 65: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

デザイン レベル

RTL コードの変更

消費電力を削減するために RTL コード を変更する必要がある場合は、 パイプラ インを追加した り、 キャ リーチェーンや XOR ファンクシ ョ ンなどのアクティビティの高いロジッ クでリ タイ ミ ングを実行してみたりできます。 キャ リー チェーンを含む長いパスは、 低速のクロ ッ ク ド メ インにあるこ とが多いですが、 グ リ ッチが増え、デザインの消費電力が増加する原因とな り ます。多くの場合、 これらのパスを リ タイ ミ ングまたはパイプライン処理する と有益です。

手順 4 : 変更を反映し、 消費電力を確認

時間、 パフォーマンス、 およびリ ソース制約での 適な変更を決定したら、 これらを反映させます。 一度に試すオプシ ョ ンや変更が多すぎる と、競合や相互作用が発生する可能性があるため、結果が 適にならない可能性があ り ます。時間がある場合は一度に試すオプシ ョ ンを限定して、ほかの変更を加える前に消費電力およびその他の制約への影響を評価する方法が 適です。

消費電力解析および最適化 japan.xilinx.com 65UG907 (v2013.2) 2013 年 6 月 19 日

Page 66: Vivado Design Suite - Xilinx...消費電力解析および最適化 japan.xilinx.com 2 UG907 (v2013.2) 2013 年 6 月 19 日 Notice of Disclaimer The information disclosed to you hereunder

消費電力解析および最適化 japan.xilinx.com 66UG907 (v2013.2) 2013 年 6 月 19 日

付録 A

その他のリソース

ザイリンクス リソースアンサー、 資料、 ダウンロード、 フォーラムなどのサポート リ ソースは、 次のザイ リ ンクス サポート サイ ト を参照して ください。

http://japan.xilinx.com/support

ザイ リ ンクス資料で使用される用語集は、 次を参照して ください。

http://japan.xilinx.com/company/terms.htm

ソリューシ ョ ン センターデバイス、 ツール、 IP のサポートについては、 ザイ リ ンクス ソ リ ューシ ョ ン センターを参照して ください。 ト ピックには、 デザイン アシスタン ト、 アドバイザリ、 ト ラブルシュート ヒ ン ト などが含まれます。

リファレンス1. 『Vivado Design Suite ユーザー ガイ ド : リ リース ノート 、 インス トールおよびライセンス』 (UG973)

2. 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835)

3. 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903)

4. 『Xilinx Power Estimator ユーザー ガイ ド』 (UG440)

5. Vivado Design Suite ビデオ チュート リ アル (http://japan.xilinx.com/training/vivado/index.htm)

6. Vivado Design Suite 資料 (http://japan.xilinx.com/support/documentation/dt_vivado2013-1.htm)


Recommended