...

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

by user

on
Category: Documents
37

views

Report

Comments

Transcript

消費電力解析および最適化
Vivado Design Suite
ユーザー ガ イ ド
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資
料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情
報につきましては、必ず最新英語版をご参照ください。
改訂履歴
次の表に、 こ の文書の改訂履歴を示 し ます。
日付
バージ ョ ン
2016 年 6 月 8 日
2016.2
改訂内容
第 1 章 「FPGA の消費電力」 で ス タ テ ィ ッ ク 確率に関す る 情報を ア ッ プデー ト
第 4 章 「Vivado Design Suite での消費電力解析お よ び最適化」 に 「制御信号のア ク テ ィ ビ
テ ィ の調整」 を追加
第 6 章 「消費電力削減のための ヒ ン ト お よ び手法」 に 「消費電力お よ び温度の計測」 を
追加
2016 年 4 月 6 日
2016.1
第 2 章 「消費電力の見積 も り : 初期評価段階」 に [UltraRAM Power] シー ト に関す る 情報
を追加
第 4 章 「Vivado Design Suite での消費電力解析お よ び最適化」 に 「消費電力レ ポー ト の保
存 と 復元」 を追加
第 4 章 「Vivado Design Suite での消費電力解析お よ び最適化」 に 「消費電力制約ア ド バ イ
ザー」 を追加
第 4 章 「Vivado Design Suite での消費電力解析お よ び最適化」 に、 デザ イ ンの異な る ブ
ロ ッ ク に複数の SAIF フ ァ イ ルを読み込む こ と が可能であ る こ と を記述
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
2
japan.xilinx.com
目次
改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
第 1 章 : FPGA の消費電力
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
消費電力の用語 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
FPGA の電源 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
FPGA の消費電力 と 全般的な設計プ ロ セ ス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
ザ イ リ ン ク ス消費電力見積 も り /解析/最適化ツール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
第 2 章 : 消費電力の見積も り : 初期評価段階
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Xilinx Power Estimator を使用 し た正確な ワ ース ト ケース消費電力を見積 も る ための 7 つの手順 . . . . . . . . . . . . . 13
第 3 章 : 消費電力の見積も り : Vivado Design Suite でのデザイ ン フ ロー段階
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
消費電力見積 も り . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Vivado IDE での消費電力の見積 も り . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
第 4 章 : Vivado Design Suite での消費電力解析および最適化
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Vivado IDE での消費電力解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
消費電力最適化の機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
第 5 章 : Vivado 消費電力レポー ト を使用 し た正確な消費電力解析
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
第 6 章 : 消費電力削減のための ヒ ン ト および手法
概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
シ ス テ ム レベルの消費電力削減 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
消費電力お よ び温度の計測 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
デザ イ ン レベルの消費電力削減 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
82
82
83
85
付録 A : その他のソ ースおよび法的通知
ザ イ リ ン ク ス リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ソ リ ュ ーシ ョ ン セ ン タ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ト レーニ ン グ リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
91
91
91
92
92
3
japan.xilinx.com
第 1章
FPGA の消費電力
概要
こ の章では、 ボー ド に搭載 さ れた FPGA の消費電力の説明で使用 さ れ る 用語を説明 し ます。 シ ス テ ム開発におけ る
FPGA の開発について も 説明 し 、 設計フ ロ ーの各段階で ど の よ う な操作が実行 さ れ る かを示 し ます。 ま た、 消費電力
の見積 も り 、 解析、 お よ び最適化に使用 さ れ る ザ イ リ ン ク ス ツールについて も 説明 し ます。
ビデオ : Vivado で消費電力を見積 も る 方法 と 最 も 正確な見積 も り を取得す る ためのベス ト プ ラ ク テ ィ ス は、 Vivado
Design Suite QuickTake ビデオ : Vivado での消費電力の見積 も り と 解析を参照 し て く だ さ い。
ビデオ : FPGA の消費電力に影響す る 要因お よ び Vivado でデザ イ ンの消費電力を最小限に抑え る 方法について、
Vivado の消費電力最適化を最大限に利用する ア ド バン ス制御、 ベス ト プ ラ ク テ ィ ス については、 Vivado Design Suite
QuickTake ビデオ : Vivado を使用 し た消費電力最適化を参照 し て く だ さ い。
消費電力の用語
こ のガ イ ド では、 次の用語が使用 さ れてい ます。
デバイ スのス タ テ ィ ッ ク消費電力
接続 さ れてい る すべての電源レールの ト ラ ン ジ ス タ の リ ー ク 電流、 お よ び コ ン フ ィ ギ ュ レーシ ョ ン後に FPGA が正
常に動作す る ために必要な回路か ら の消費電力。 こ れは、 通常空の ビ ッ ト ス ト リ ーム をデバ イ ス にプ ロ グ ラ ムする
と 計測で き ます。 プ ロ セ ス、 電圧、 お よ び温度の関数で求め ら れ、 デバ イ ス の安定 し た状態での寄生 リ ー ク 電流を
表 し ます。
デザイ ンの消費電力
入力デー タ のパ タ ーンお よ びデザ イ ンの内部動作に よ り 発生す る ユーザー デザ イ ンのダ イ ナ ミ ッ ク 消費電力。 瞬間
的な も のであ り 、 各 ク ロ ッ ク サ イ ク ルで異な り ます。 電圧レベル、 使用 さ れ る ロ ジ ッ ク リ ソ ースお よ び配線 リ ソ ー
ス に よ っ て異な り ます。 こ れには、 I/O 終端、 ク ロ ッ ク マネージ ャ ー、 お よ び使用時に電力を必要 と す る その他の回
路か ら の ス タ テ ィ ッ ク 電流が含まれます。 オ フチ ッ プ デバ イ ス に供給 さ れ る 電力は含まれません。
オ ン チ ッ プの総消費電力
FPGA 内の消費電力の合計で、 デバ イ ス の ス タ テ ィ ッ ク 消費電力 と デザ イ ンの消費電力を加算 し た も のです。 熱消費
電力 と も 呼ばれます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
4
japan.xilinx.com
第 1 章 : FPGA の消費電力
オ フ チ ッ プ消費電力
電源か ら FPGA の電源ピ ン を介 し て I/O か ら 供給 さ れ、 外部ボー ド コ ン ポーネ ン ト で消費 さ れ る 電流。 FPGA か ら 供
給 さ れ る 電流は、 通常 I/O 終端、 LED、 ほかのチ ッ プの I/O バ ッ フ ァ ーな ど のオ フチ ッ プ コ ン ポーネ ン ト で消費 さ れ
る ので、 デバ イ ス のジ ャ ン ク シ ョ ン温度は上昇 さ せません。
パワーオ ン電流
FPGA に最初に電源を投入 し た と き に発生する 過渡電流。 各電圧電源、 FPGA の構造、 電源が公称電圧ま で上昇す る
能力に よ っ て異な り ます。 こ の電流は、 温度、 電源の投入順な ど のデバ イ ス の動作条件に よ っ て も 異な り ます。
アーキ テ ク チ ャ の向上や、 適切な電源投入順に よ り 、 パ ワーオン電流は動作電流 よ り も 通常小 さ く な り ます。
ジ ャ ン ク シ ョ ン温度 (°C)
動作中のデバ イ ス の温度。 通常デバ イ ス を選択す る 際は、 温度グ レー ド を選択 し ます。 こ の温度グ レー ド は、 デバ
イ ス が仕様どお り 正常に動作す る 温度範囲を定義 し ます。 動作条件がグ レー ド の最大温度を超え る と 、 絶対最大温
度未満であ っ て も 、 デバ イ ス の動作は保証 さ れません。 絶対最大温度を超え る と 、 デバ イ ス が破損する 可能性があ
り ます。
ジ ャ ン ク シ ョ ン温度 = 周囲温度 + オンチ ッ プ消費電力合計 *
周囲空気に対す る 熱抵抗 (ΘJA)
周囲温度 (°C)
シ ス テ ムの動作条件下におけ る デバ イ ス周囲の空気の温度。
周囲空気に対する熱抵抗 (Θ JA (°C/W))
Theta-JA お よ び TJA と も 呼ばれ、FPGA シ リ コ ンか ら 周囲の環境 (デバ イ ス ジ ャ ン ク シ ョ ンか ら 周囲空気) に消費電
力が ど の よ う に放散 さ れ る か を定義す る 係数です。 シ リ コ ン チ ッ プの寸法か ら 周囲空気ま でのすべての要素、 お よ
びそれ ら の間にあ る パ ッ ケージ、 PCB、 ヒ ー ト シ ン ク 、 エア フ ロ ーな ど が影響 し ます。 こ れは通常、 発生 し た熱が
環境に放散 さ れ る 次の 2 つの主なパ ス か ら の熱抵抗 と 相互依存性を組み合わせた も のです。
•
ダ イ か ら 上方の空気へ (ジ ャ ン ク シ ョ ンか ら 周囲空気、 ΘJA)
•
ダ イ か ら ボー ド を介 し て下方の空気へ (ジ ャ ン ク シ ョ ンか ら ボー ド 、 ΘJB)
ザ イ リ ン ク ス デバ イ ス パ ッ ケージの温度データ は、 パ ッ ケージ温度データ ク エ リ ツールを使用する と 取得で き ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
5
japan.xilinx.com
第 1 章 : FPGA の消費電力
図 1-1 に、 温度デー タ ク エ リ の結果例を示 し ます。
X-Ref Target - Figure 1-1
図 1-1 : 温度デー タ ク エ リ の結果例
熱抵抗の詳細は、 『7 シ リ ーズ FPGA パ ッ ケージお よ びピ ン配置ガ イ ド 』 (UG475) [参照 7] お よ び 『UltraScale お よ び
UltraScale+ FPGA パ ッ ケージお よ びピ ン配置ユーザー ガ イ ド 』 (UG575) [参照 8] を参照 し て く だ さ い。
デバイ ス特性
Advance
デバ イ ス のデー タ モデルが早期プ ロ ダ ク シ ョ ン デバ イ ス ロ ッ ト か ら のシ ミ ュ レーシ ョ ン結果ま たは計測結果に基づ
いてい る こ と を示 し ます。 こ のデー タ は通常、 製品 リ リ ース か ら 1 年以内に入手可能 と な り ます。 消費電力モデル
デー タ は比較的安定 し てお り 、 余裕を持たせた設定ですが、 実際の値は上下す る 可能性があ り ます。 こ の仕様の
デー タ は、 Preliminary や Production 仕様のデー タ ほ ど正確ではあ り ません。
Preliminary
デバ イ ス のデー タ モデルがエン ジニア リ ン グ サンプル シ リ コ ンの特性評価デー タ に基づいてい る こ と を示 し ます。
こ の仕様では、 デバ イ ス フ ァ ブ リ ッ ク 内にあ る ほぼすべてのブ ロ ッ ク が特性評価 さ れてい ます。 Advance 仕様 と 比
較す る と 、 消費電力値の精度は高 く な り ます。
Production
特定のデバ イ ス フ ァ ミ リ の十分な量産を経た上で特性評価が行われ、 多数の生産 ロ ッ ト を対象 と し た完全な電力相
互関係が確立 さ れた後に リ リ ース さ れた こ と を示 し ます。 こ の特性化デー タ のデバ イ ス モデルは、 通常変更 さ れま
せん。
信号レー ト
エ レ メ ン ト が秒ご と に ス テー ト を変更 (High か ら Low、 Low か ら High) する 回数。 ザ イ リ ン ク ス ツールでは、 秒ご と
の遷移数が百万単位で示 さ れます (Mtr/s)。 た と えば、 100MHz (10ns) に対 し て信号が 4 ク ロ ッ ク サ イ ク ルご と に遷移
す る 場合、 信号レー ト は 1/(4*10ns) = 25 Mtr/s にな り ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
6
japan.xilinx.com
第 1 章 : FPGA の消費電力
ト グル レー ト
ト グル レー ト は、 同期 ロ ジ ッ ク エ レ メ ン ト の出力がその入力に対 し て切 り 替わ る レー ト (%) を示 し 、 0 ~ 100% の範
囲で表 さ れます。 ト グル レー ト が 100% の場合、 出力は各 ク ロ ッ ク サ イ ク ルご と に平均 1 回 ト グル し ます。 た と え
ば、 任意の周波数の ク ロ ッ ク に対 し て信号が 4 ク ロ ッ ク サ イ ク ルご と に遷移する 場合、 ト グル レー ト は (1/4)*100 =
25% です。
重要 : ク ロ ッ ク ネ ッ ト の ト グル レー ト は常に 200% なので、 ネ ッ ト は 1 サ イ ク ルで 2 回 ト グル し ます。
ヒ ン ト : 理想的には、 同期ネ ッ ト (DDR ネ ッ ト 以外) は ク ロ ッ ク ご と に変化す る ので、 最大 ト グル レー ト は 100% で
す。 同期ネ ッ ト がグ リ ッ チの影響を受けやすい場合は、 [Signal Rate] を使用 し て ス イ ッ チン グ ア ク テ ィ ビ テ ィ を指定
し ます。
ク ロ ッ ク に同期 し ないネ ッ ト や ロ ジ ッ ク な ど の非同期エ レ メ ン ト では、 ト グル レー ト は算出 さ れません。 Vivado®
消費電力ツールでは、 こ れ ら の タ イ プのエ レ メ ン ト にシ ン グル レー ト が使用 さ れてい る と 想定 さ れます。
次は、 その例です。 デザ イ ンのプ ラ イ マ リ 入力はデフ ォ ル ト では特定の ク ロ ッ ク に関連付け ら れません。
set_input_delay 制約を使用 し て、 ク ロ ッ ク と プ ラ イ マ リ 入力を関連付けて く だ さ い。 ク ロ ッ ク を関連付けない
場合、 消費電力ツールでデス テ ィ ネーシ ョ ン ク ロ ッ ク かデザ イ ン内で一番速い ク ロ ッ ク のいずれかに対す る ト グル
レー ト が計算 さ れます。
ス タ テ ィ ッ ク確率
解析期間中にエ レ メ ン ト が High (1’b1) に駆動 さ れ る 期間の割合を定義 し ます。 有効な範囲は 0 ~ 1 です。 た と えば、
信号が 100ns 期間中 40ns ロ ジ ッ ク 1 にな る 場合、 ス タ テ ィ ッ ク 確率は 40/100 = 0.4 にな り ます。
ヒ ン ト : ス タ テ ィ ッ ク 確率が 1 の場合、 エ レ メ ン ト が解析期間中 ロ ジ ッ ク 1 に保持 さ れ、 ト グル し ない こ と を示 し ま
す ( ト グル/信号レー ト = 1)。
ス タ テ ィ ッ ク 確率が 0 の場合、 エ レ メ ン ト が解析期間中 ロ ジ ッ ク 0 に保持 さ れ、 ト グル し ない こ と を示 し ます ( ト グ
ル/信号レー ト = 1)。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
7
japan.xilinx.com
第 1 章 : FPGA の消費電力
FPGA の電源
FPGA には、 複数の電源が必要です。 個別の電源か ら 、 異な る FPGA リ ソ ース に必要な電力が供給 さ れます。 こ れに
よ り 、 異な る 電圧レベルで さ ま ざ ま な リ ソ ース を動作 さ せ る こ と がで き る ので、 ノ イ ズや寄生効果に対 し て高い耐
性を保ちなが ら 、 パフ ォーマ ン スお よ び信号強度を向上で き ます。
表 1-1 に、 各種電源お よ びその電源が供給 さ れ る ザ イ リ ン ク ス FPGA 内の ロ ジ ッ ク リ ソ ース を示 し ます。 こ れ ら の
詳細は、 ザ イ リ ン ク ス デバ イ ス フ ァ ミ リ に よ っ て異な る 場合があ る ので、 こ の表はガ イ ド ラ イ ン と し てのみ示 し て
い ます。
表 1-1 : FPGA リ ソ ース と その電源
電源
VCCINT
電源が供給 さ れる リ ソ ース
• すべての CLB リ ソ ース
• すべての配線 リ ソ ース
VCCBRAM(3)
• すべての ク ロ ッ ク バ ッ フ ァ ーを含む ク ロ ッ ク ツ リ ー全体
• ブ ロ ッ ク RAM/FIFO
• DSP ス ラ イ ス
• すべての入力バ ッ フ ァ ー
• IOB に含まれ る ロ ジ ッ ク エ レ メ ン ト (ILOGIC/OLOGIC)
• ISERDES/OSERDES
• PowerPC™ プ ロ セ ッ サ(1)
• ト ラ イ ス テー ト イ ーサネ ッ ト MAC(1)
• ク ロ ッ ク マネージ ャ ー (MMCM、 PLL な ど)(1)
• PCIE お よ びシ リ アル ト ラ ン シーバーの PCS 部分
VCCO(2)
• すべての出力バ ッ フ ァ ー
• 一部の入力バ ッ フ ァ ー
• 入力終端
• DCI への基準抵抗
VCCAUX
• ク ロ ッ ク マネージ ャ ー (MMCM、 PLL な ど)(1)
• IODELAY/IDELAYCTRL
VCCAUX_IO(4)
• すべての出力バ ッ フ ァ ー
• 差動入力バ ッ フ ァ ー
• VREF ベース のシ ン グルエン ド I/O 規格 (HSTL18_I な ど)
• 位相器(1)
VMGTAVCC
VMGTAVTT
• ト ラ ン シーバー回路用のアナ ロ グ電源電圧 :
°
PLL ト ラ ン ス ミ ッ タ ー、 レ シーバー
°
終端回路
°
補助のアナ ロ グ QPLL 電源電圧
VMGTVCCAUX
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
8
japan.xilinx.com
第 1 章 : FPGA の消費電力
表 1-1 : FPGA リ ソ ース と その電源 (続き)
電源
VCCPINT
VCCPAUX
VCCPLL
VCCO_DDR
電源が供給 さ れる リ ソ ース
• Zynq®-7000 AP SoC:
°
プロセッサ
メモリ
I/O
°
° ペ リ フ ェ ラル
°
°
AXI イ ン タ ーフ ェ イ ス
VCCO_MIO
VCC_PSINTFP
VCC_PSINTLP
VCC_PSAUX
VCCPSINTFP_DDR
• Zynq-UltraScale+ MPSoC
°
プロセッサ
メモリ
I/O
°
° ペ リ フ ェ ラル
°
VCC_PSPLL
VPS_MGTRAVCC
VPS_MGTRAVTT
VCCO_PSDDR
VCCO_PSDDR_PLL
VCCO_PSIO
注記 :
1. 一部のデバ イ ス フ ァ ミ リ のみに含ま れます。 詳細は、 該当す る デー タ シー ト お よ びユーザー ガ イ ド を参照 し て く だ さ い。
2. バン ク 0 の VCCO (VCCO_0 ま たは V0CCO_CONFIG) は、 バン ク 0 に含ま れ る すべての I/O と コ ン フ ィ ギ ュ レーシ ョ ン回路に電源を
供給 し ます。 詳細は、 該当す る コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド を参照 し て く だ さ い。
3. ザ イ リ ン ク ス 7 シ リ ーズのブ ロ ッ ク RAM/FIFO のみ
4. ザ イ リ ン ク ス 7 シ リ ーズ HP (High Performance) バン ク のみ
FPGA の消費電力 と 全般的な設計プ ロ セス
プ ロ ジ ェ ク ト 考案か ら 完成ま で、 消費電力に影響す る さ ま ざ ま な側面を考慮す る 必要があ り ます。 ほかのすべての
制約 (機能、 パフ ォーマ ン ス、 コ ス ト 、 お よ び タ イ ム ト ゥ マーケ ッ ト ) を一時的に除外す る と 、 消費電力に関連す る
タ ス ク は次の 2 つに分類で き ます。
•
物理的
エン ク ロ ージ ャ 、 ボー ド の形状、 電源、 電源分配ネ ッ ト ワー ク (PDN)、 熱に よ る 消費電力の散逸構造
•
論理的
エ リ ア、 パフ ォーマ ン ス、 I/O イ ン タ ーフ ェ イ ス のシ グナル イ ン テ グ リ テ ィ
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
9
japan.xilinx.com
第 1 章 : FPGA の消費電力
次の章で、 こ れ ら の 2 つの分野の依存関係を示 し ます。 前者はハー ド ウ ェ アの決定事項、 後者は主に FPGA の論理
デザ イ ンが関係す る と い う 点が異な り ます。 通常、 ハー ド ウ ェ アの選択お よ びサ イ ズ設定は、 プ ロ ト タ イ プ ボー ド
を構築で き る よ う 、 デザ イ ン フ ロ ーの初期段階で行い ます。 FPGA の機能の消費電力に対す る 影響は早期に見積 も
り 可能で、 デザ イ ン ロ ジ ッ ク が完成に近づ く につれ、 よ り 正確な値が得 ら れ る よ う にな り ます。 図 1-2 に典型的な
シ ス テ ムの設計プ ロ セ ス を示 し 、 消費電力に関連す る 判断箇所をハ イ ラ イ ト し ます。 こ の図では、 デバ イ ス と その
冷却パーツ を選択す る 時点では、 FPGA ロ ジ ッ ク が完成 し ていない こ と がわか り ます。 こ のため、 FPGA ロ ジ ッ ク の
消費電力要件を見積 も る 手法が必要です。 こ れ ら の手法については、 次で説明 し ます。
•
第 2 章 「消費電力の見積 も り : 初期評価段階」
•
第 3 章 「消費電力の見積 も り : Vivado Design Suite でのデザ イ ン フ ロ ー段階」
X-Ref Target - Figure 1-2
ኔኖኣኽⅤ㱧
ኣኌካዊንቑ指㔭
ವ኶ዐኝዙኤክኁኖቑ指㔭
ವ䑀榊┪ቑ━ቭ㇢቉
ವ∪俵榊㿐ቑ━ቭ㇢቉
ኔኖኣኽቑ⺇㽤䜿⬒
)3*$
ኹዙኦቋኔኖኣኽቑ㸚ቭቑ捷⒕
Ⅴ㱧
Ⅴ㱧
ㇱ䕅
⑆☃ኣኌካዊን
榊䄟3'1
⥭恾⦂
⚗㒟
ዉኁቿኃእ
䀗彊榊┪尚䳜ብቭቑ䥲尥嵎㠃
ክንኄአእት怔ራቂ⫃⚗ቒ⮘㦃
揜函
完抯
揜偩
㶰ቑ⫃⚗቎䀗彊榊┪ትⓙ䂪
ವኮኲኆዙኻዐኖቊ峀⹈ሸቯቮ呹╤
ವክንኄአእት怔ራ቉ሧቮ㓚╤呹╤
⸮椪岗䂻ሸቯቂ䀗彊榊┪ት
尚䳜ብቬቯቂ䀗彊榊┪቎⺍ሺ቉㮫峋
ኌዊዙንዀ
⮩⺠ቑ嵎㠃ቒ♾厌
)3*$ቒ㩣慮㊶ሯ
浧ሧ
዆ኹቊቑኣኖእ
㈀檎
ኜኁኽእኂኻዙ኎አእ
ቑ䩼傽
ነኖእቑⓙ䂪
ኹዙኦቋ)3*$ት)3*$ቑ䀗彊榊┪ትቊሰቮቃሴ㡸㦮቎尚䳜ብቮ㉔尐ሥቭ
;
図 1-2 : FPGA の設計プ ロ セスにおける消費電力
こ の後の章で、 設計プ ロ セ ス全体において消費電力を解析 し 、 削減す る 手法を示 し ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
10
japan.xilinx.com
第 1 章 : FPGA の消費電力
ザイ リ ン ク ス消費電力見積も り /解析/最適化ツール
ザ イ リ ン ク ス では、 FPGA の温度要件お よ び電源要件をデザ イ ン サ イ ク ルを通 し て評価で き る ソ フ ト ウ ェ ア ツール
お よ び資料を提供 し てい ます。 図 1-3 に、 FPGA の各デザ イ ン サ イ ク ルで使用で き る ツールを示 し ます。 ツールに
は、 ス タ ン ド ア ロ ンの も の と イ ンプ リ メ ン テーシ ョ ン ツールに統合 さ れてい る も のがあ り 、 後者は設計プ ロ セ ス の
各段階で利用で き る 環境お よ び情報 と 一貫 し てい ます。 すべての ツールには通信チ ャ ネルがあ り 、 効率 よ く 解析で
き る よ う に情報を交換で き ます。
X-Ref Target - Figure 1-3
;,OLQ[3RZHU(VWLPDWRU;3(
Ⅴ㱧
⚗㒟䂗ቢ
ኤናኁዐ
9LYDGR䀗彊榊┪屲㨟
揜函䂗ቢ
ኤናኁዐ
揜偩䂗ቢ
ኤናኁዐ
ኌዊዙንዀ
㮫峋
;
図 1-3 : FPGA 設計プ ロ セスで使用可能な Vivado 消費電力見積も り /解析ツール
Xilinx Power Estimator (XPE)
Xilinx Power Estimator (XPE) は、 通常プ ロ ジ ェ ク ト の設計前 と イ ンプ リ メ ン テーシ ョ ン前の段階で使用 さ れ る ス プ
レ ッ ド シー ト 形式の消費電力見積 も り ツールです。 XPE はアーキ テ ク チ ャ の評価お よ びデバ イ ス の選択に利用で き 、
ま た アプ リ ケーシ ョ ンに適切な電源や温度管理 コ ン ポーネ ン ト の選択に役立ち ます。 XPE イ ン タ ーフ ェ イ ス (図 1-4)
では、 デザ イ ンの リ ソ ース使用量、 ア ク テ ィ ビ テ ィ レー ト 、 I/O 負荷な ど の さ ま ざ ま な要因を指定で き 、 こ れ ら をデ
バ イ ス モデル と 共に使用 し て電力分配が見積 も ら れます。
ま た、 デザ イ ン サ イ ク ル後半の イ ンプ リ メ ン テーシ ョ ンお よ び消費電力を最適化する 段階で も 、 た と えば設計変更
指示 (ECO) の消費電力への影響を評価する 場合な ど に、 XPE が よ く 使用 さ れます。 複数のチームに よ り イ ンプ リ メ
ン ト さ れ る 大型デザ イ ンでは、 プ ロ ジ ェ ク ト リ ーダーが XPE を使用 し て各チームのモジ ュ ールの使用量お よ びア ク
テ ィ ビ テ ィ を イ ン ポー ト し て総消費電力を監視 し 、 制約が満た さ れ る よ う に消費電力の割 り 当て を変更で き ます。
Xilinx Power Estimator (XPE) の詳細は、 『Xilinx Power Estimator ユーザー ガ イ ド 』 (UG440) [参照 4] を参照し て く だ さ い。
Vivado 消費電力解析
Vivado 消費電力解析機能は、 合成後、 配置後、 配線後な ど、 フ ロ ーの さ ま ざ ま な段階で消費電力解析を実行 し ます。
配線後には、 イ ンプ リ メ ン ト 済みのデザ イ ンか ら の正確な ロ ジ ッ ク リ ソ ースお よ び配線 リ ソ ース情報が読み出 さ れ
る ので、 精度が最 も 高 く な り ます。 図 1-4 に、 消費電力レ ポー ト のサマ リ と 、 ク ロ ッ ク ド メ イ ン、 リ ソ ース の種類、
デザ イ ン階層な ど、 使用可能な さ ま ざ ま な ビ ュ ーを示 し ます。 Vivado 統合設計環境 (IDE) で環境設定やデザ イ ン ア
ク テ ィ ビ テ ィ を変更で き 、 デザ イ ンの電源お よ び熱消費電力を ど の よ う に減 ら すかを検討で き ます。 消費電力レ
ポー ト か ら デザ イ ンに ク ロ ス プ ロ ーブす る こ と も 可能で、 消費電力の大 き い階層や リ ソ ース を特定お よ び評価する
のに便利です。
Vivado Design Suite アーキ テ ク チ ャ のサポー ト については、 『Vivado Design Suite ユーザー ガ イ ド : リ リ ース ノ ー ト 、
イ ン ス ト ールお よ び ラ イ セ ン ス』 (UG973) [参照 1] を参照 し て く だ さ い。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
11
japan.xilinx.com
第 1 章 : FPGA の消費電力
X-Ref Target - Figure 1-4
図 1-4 : Vivado 消費電力解析
Vivado 消費電力最適化
Vivado デザ イ ン ツールでは、 さ ま ざ ま な消費電力の最適化が提供 さ れてお り 、 デザ イ ンのダ イ ナ ミ ッ ク 消費電力を
最大 30% 削減で き ます。 こ れ ら の最適化では、 ASIC の ク ロ ッ ク ゲーテ ィ ン グ ま たは高度なシーケ ン シ ャ ル ク ロ ッ
ク ゲーテ ィ ン グ、 あ る いはその両方の手法を使用 し て、 デザ イ ンの機能に影響を与え る こ と な く ス イ ッ チン グ ア ク
テ ィ ビ テ ィ を最小限に抑え る こ と がで き ます。 消費電力最適化は、 デザ イ ン全体に適用する か、 選択 し た部分のみ
に適用で き ます。
Vivado では、 Vivado IDE ま たは Tcl コ マ ン ド を使用 し て消費電力最適化を実行で き ます。
X-Ref Target - Figure 1-5
図 1-5 : Vivado での消費電力最適化レポー ト
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
12
japan.xilinx.com
第 2章
消費電力の見積も り : 初期評価段階
概要
こ の章では、 デザ イ ン サ イ ク ルの初期評価段階でデザ イ ンの消費電力を評価する 方法を説明 し ます。 こ の段階では、
Xilinx Power Estimator を使用 し ます。
初期評価段階が終了 し てい る 場合は、 デザ イ ン サ イ ク ルの後の段階でデザ イ ンの消費電力を評価す る 方法を説明す
る 次の章に進んで く だ さ い。 後の段階では、 消費電力見積 も り を自動的に簡単に実行で き る Vivado® Design Suite を
使用 し ます。
Xilinx Power Estimator を使用 し た正確なワース ト ケース
消費電力を見積 も る ための 7 つの手順
消費電力バジ ェ ッ ト
こ の段階では、 アプ リ ケーシ ョ ンに と っ て FPGA が最 も 効率の よ い技術であ る こ と が既に決定 さ れてい ます。 こ こ
では、 要求 さ れ る 機能、 パフ ォーマ ン ス、 コ ス ト 、 お よ び消費電力に合 う ベン ダー、 フ ァ ミ リ 、 お よ びパ ッ ケージ
を選択 し ます。 消費電力に関 し ては、 ロ ジ ッ ク が ま だ 1 つ も 開発 さ れていない状態でデバ イ ス の総消費電力を見積
も る 必要があ り ます。 総消費電力要件を理解 し てお く と 、 電力分配お よ び冷却仕様を定義する のに役立ち ます。
通常、 次について考慮 し ます。
•
電源はい く つ必要か
•
各電源で使用 さ れ る 電力はどれ く ら いか
•
吸収 さ れたエネルギーで どれ く ら いの熱が生成す る か
Xilinx Power Estimator を使用す る と 、 こ れ ら の質問に対する 答え を得る こ と がで き ます。 Xilinx Power Estimator は、
FPGA ロ ジ ッ ク と デバ イ ス がはんだ付け さ れ る プ リ ン ト 回路基板を同時に開発する のに役立ち ます。 こ れに よ り 、 必
要なマージ ン を理解 し 、 イ ンプ リ メ ン ト 後にシ ス テ ム を指定範囲内で動作 さ せる こ と がで き る よ う にな り ます。
図 2-1 に、 Xilinx Power Estimator の イ ン タ ーフ ェ イ ス を示 し ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
13
japan.xilinx.com
第 2 章 : 消費電力の見積も り : 初期評価段階
X-Ref Target - Figure 2-1
図 2-1 : Xilinx Power Estimator (XPE) の消費電力情報サマ リ
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
14
japan.xilinx.com
第 2 章 : 消費電力の見積も り : 初期評価段階
Xilinx Power Estimator (XPE) での消費電力見積も り
FPGA デザ イ ンで正常に機能す る 信頼性の高いシ ス テ ム を作成する には、 消費電力使用お よ び冷却使用を適切に設定
す る 必要があ り ます。 ほ と ん ど の場合、 こ れ ら の温度仕様お よ び消費電力仕様は PCB 設計の前に設定する 必要があ
り ます。 FPGA は柔軟性が高いため、 シ ス テ ム デザ イ ン ま たは PCB 製造の前に FPGA デザ イ ンが完了 し ていないか
開始 し ていない こ と が よ く あ り ます。 FPGA デザ イ ンではビ ッ ト ス ト リ ーム、 ク ロ ッ キ ン グ、 お よ びデバ イ ス のデー
タ フ ロ ーに よ っ て温度特性お よ び電力特性が大き く 変化する ので、 こ れは課題 と な り ます。
電力ま たは温度シ ス テ ム を過小設計す る と 、 FPGA が仕様範囲外で動作する 結果 と な り 、 FPGA が目的のパフ ォーマ
ン ス で動作 し なか っ た り 、 重要な問題が発生す る 可能性があ り ます。 電力シ ス テ ム を過剰設計 し た場合、 通常問題
はそれほ ど深刻ではあ り ませんが、 不必要に コ ス ト が高 く な っ た り 、 全体的な FPGA デザ イ ンが よ り 複雑にな る こ
と があ り ます。 デザ イ ンが完了す る 前に消費電力を見積 も る のは簡単な こ と ではあ り ません。
次の手順では、 消費電力解析に焦点が置かれてい ます。 複数の消費電力の最適化を解析中に試 し た り 適用 し た り で
き 、 消費電力の大幅な削減につなが る こ と があ り ます。 消費電力最適化手法については、 次の章で説明 し ます。
手順 1 : タ ーゲ ッ ト デバイ ス用の最新版 Xilinx Power Estimator の入手
最新版の Xilinx Power Estimator (XPE) ツールを使用す る こ と が重要です。 消費電力情報は、 最新の消費電力モデルお
よ び特性評価デー タ に基づいて随時ア ッ プデー ト さ れます。
最新バージ ョ ンの XPE は、 ザ イ リ ン ク ス ウ ェ ブサ イ ト の XPE ダ ウ ン ロ ー ド ページか ら 入手で き ます。 設計プ ロ セ
ス中 こ の ウ ェ ブサ イ ト に と き ど き ア ク セ ス し て、 新 し いバージ ョ ンが入手可能であ る か ど う かを確認 し て く だ さ い
新 し いバージ ョ ンが入手可能な場合は、 新 し いバージ ョ ンの [Summary] シー ト で [Import File] ボ タ ン を ク リ ッ ク す る
と 、 以前のバージ ョ ンか ら デー タ を イ ン ポー ト で き ます。 Xilinx Power Estimator を最新の状態に し てお く こ と で、 消
費電力解析に常に最新の消費電力情報が使用 さ れ る よ う にな り ます。
手順 2 : [Summary] シー ト へのデバイ ス情報の入力
[Summary] シー ト の [Device] セ ク シ ョ ンの各フ ィ ール ド を適切に設定 し て く だ さ い。 各設定が、 ス タ テ ィ ッ ク 消費電
力お よ び ク ロ ッ キ ン グ消費電力な ど の消費電力の算出に大 き く 影響 し ます (図 2-2)。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
15
japan.xilinx.com
第 2 章 : 消費電力の見積も り : 初期評価段階
X-Ref Target - Figure 2-2
図 2-2 : デバイ ス情報 - 7 シ リ ーズ デバイ スのサマ リ シー ト
[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] を指定 し た場合にのみ有効にな り ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
16
japan.xilinx.com
第 2 章 : 消費電力の見積も り : 初期評価段階
手順 3 : [Summary] シー ト への環境情報の入力
[Summary] シー ト の [Environment] セ ク シ ョ ンで適切な環境条件を設定 し ます (図 2-3)。
X-Ref Target - Figure 2-3
図 2-3 : [Summary] シー ト の環境情報
[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 の算出に役立ち ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
17
japan.xilinx.com
第 2 章 : 消費電力の見積も り : 初期評価段階
•
[ΘJB] : ボー ド お よ びシ ス テ ムの よ り 正確な温度モデルが存在す る 場合は、 FPGA か ら の放熱量を指定する ため
に ΘJB (プ リ ン ト 回路基板 の熱抵抗) を使用す る 必要があ り ます。
よ り 正確な カ ス タ ム [ΘJB] を指定す る と 、 ジ ャ ン ク シ ョ ン温度が よ り 正確に見積 も ら れ、 デバ イ ス の ス タ
テ ィ ッ ク 消費電力を よ り 正確に算出で き る よ う にな り ます。
重要 : カ ス タ ム [ΘJB] を指定す る には、 [Board Selection] を [Custom] に設定する 必要があ り ます。 カ ス タ ム [ΘJB] を
指定す る 場合は、 正確な消費電力を算出す る ため、 [Board Temperature] も 指定す る 必要があ り ます。
手順 4 : すべての電源に対 し てワース ト ケースの電源電圧を設定
デフ ォ ル ト では、 デバ イ ス の各電圧レールは公称値に設定 さ れます。 正確な消費電力見積 も り を得る ためには、
FPGA デバ イ ス での ワ ース ト ケース の値 (最大電圧値) を指定する 必要があ り ます。 こ れは通常、 各レールへの電源
お よ びレ ギ ュ レー タ の公称出力値 と 許容誤差を使用 し て算出 さ れます。 特に未調整の電源で IR (電圧) が大 き く 低下
す る 可能性があ る 場合は、 電圧降下を最大電圧の計算に含め る 必要があ り ます。
一部の VCCO ま たは MGT 電源を使用 し ない場合は、 こ れ ら の電源の値はデフ ォ ル ト の ま ま に し て く だ さ い (図 2-4)。
X-Ref Target - Figure 2-4
図 2-4 : [Summary] シー ト の電源情報
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
18
japan.xilinx.com
第 2 章 : 消費電力の見積も り : 初期評価段階
手順 5 : ク ロ ッ ク および リ ソ ース情報の入力
デザ イ ン を Vivado ツールで既に実行 し てい る 場合や、 デザ イ ンの前 リ ビ ジ ョ ンがあ り 解析の開始点 と し て使用で き
る 場合は、 デザ イ ンの XPower エ ク ス ポー ト フ ァ イ ル (.xpe) を XPE に イ ン ポー ト し て リ ソ ース情報を入力で き ます。
こ れには、 [Summary] シー ト で [Import File] ボ タ ン を ク リ ッ ク し ます。 Vivado XPE イ ン ポー ト フ ァ イ ルを読み込んだ
場合で も 、 デー タ が正 し い こ と を確認 し て く だ さ い。 イ ン ポー ト し た情報は、 完全な情報ではな く 、 情報を入力す
る ための開始点 と 考え て く だ さ い。 各 リ ソ ース の タ ブを確認 し て、 デザ イ ンで使用 さ れ る リ ソ ース を入力 し て く だ
さ い。
注記 : XPE では、 消費電力値が入力 さ れたセルは小数点 3 桁の値 (例 : 0.000) で表示 さ れます。 3 桁で丸め ら れ る の
は、 Microsoft Excel の動作に基づいてい ます。 1mW 未満の値は 0.000W と 表示 さ れます。 セルを コ ピー し て [User]
シー ト に貼 り 付け る と 、 桁が調整 さ れた実際の値を確認で き ます。
•
ク ロ ッ ク ツ リ ーの消費電力 ([Clock Tree Power])
[Clock] シー ト では、 ク ロ ッ ク 、 周波数 ([Frequency])、 使用 さ れ る ク ロ ッ ク リ ソ ース を入力 し ます
(図 2-5)。 使用 さ れ る ク ロ ッ ク リ ソ ース が不明な場合は、 [Type] をデフ ォ ル ト の [Global] の ま ま に し て く だ さ い。
こ の時点では、 フ ァ ン ア ウ ト ([Fanout]) を気にする 必要はあ り ません。 フ ァ ン ア ウ ト については、 手順 6 で説明
し ます。 [Clock Buffer Enable] は [100%]、 [Slice Clock Enable] は [50%] のデフ ォ ル ト 値の ま ま に し ます。
X-Ref Target - Figure 2-5
図 2-5 : [Clock] シー ト
•
ロ ジ ッ ク の消費電力 ([Logic Power])
[Logic] シー ト では、 使用 さ れ る ス ラ イ ス リ ソ ース の見積 も り (数) を入力 し ます (図 2-6)。 [LUTs as] 列には、 演
算ま たは ロ ジ ッ ク に使用 さ れ る LUT 数 ([Logic])、 SRL と し て コ ン フ ィ ギ ュ レーシ ョ ン さ れ る LUT 数 ([Shift
Registers])、 メ モ リ と し て コ ン フ ィ ギ ュ レーシ ョ ン さ れ る LUT 数 (Distributed RAMs]) を入力 し ます。 [Registers]
列には、 デザ イ ンに コ ン フ ィ ギ ュ レーシ ョ ン さ れ る レ ジ ス タ ま たは ラ ッ チの数を入力 し ます。 異な る ロ ジ ッ ク
フ ァ ン ク シ ョ ン ま たは特性 ( ク ロ ッ ク ス ピー ド 、 ト グル レー ト な ど) に個別の行を使用 し て く だ さ い。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
19
japan.xilinx.com
第 2 章 : 消費電力の見積も り : 初期評価段階
X-Ref Target - Figure 2-6
図 2-6 : [Logic] シー ト
FPGA 設計の初期段階では こ れ ら の リ ソ ース の正確な数を入手する こ と は困難なので概算値を使用 し 、 設計プ ロ
セ ス の進行に応 じ て値を更新 し て よ り 正確な見積 も り 値が得 ら れ る よ う に し ます。
ヒ ン ト : ク ロ ッ ク 周波数情報を入力す る 際は、 Excel のセルを関連付け る 機能を使用 し 、 [Clock] シー ト に入力 さ れて
い る セル と 関連付け ます。 こ れには、 [Logic] シー ト で [Clock (MHz)] セルを選択 し 、 「=」 と 入力 し て、 その ロ ジ ッ ク
の ク ロ ッ ク ソ ース に関連す る セルを [Clock] シー ト で選択 し ます。 こ れで、 そのセルに [Clock] シー ト の値が自動的
に入力 さ れ る よ う にな り ます。 こ の よ う にす る と 、 仕様の変更や消費電力 と 周波数の ト レー ド オ フ を調べる 際な ど、
ク ロ ッ ク 周波数を変更す る 必要があ る 場合に、 値を 1 箇所で変更す る だけですみます。 ま た、 デー タ の入力 ミ ス も
避け る こ と がで き ます。
•
I/O の消費電力 ([I/O Power])
[IO] シー ト を入力す る と 、 チ ッ プのすべての レールの全体的な見積 も り 値が正確な も の と な り ます (図 2-7)。 選
択 し た I/O 規格お よ び I/O 回路に よ っ て、 VCCO レールだけでな く 、 VCCINT お よ び VCCAUX レールで も 多量の電
力が消費 さ れ る 可能性があ り ます。 多 く の場合、 各デバ イ ス イ ン タ ーフ ェ イ ス を個別に入力 し 、 ま た イ ン タ ー
フ ェ イ ス信号をデー タ 、 制御、 ク ロ ッ ク 信号に分割す る のが最 も 簡潔です。 こ の よ う にする と 、 異な る I/O 規
格、 ロ ー ド や ト グル レー ト な ど のその他の I/O 特性を指定 し やす く な り ます。
推奨 : XPE で [Add Memory Interface] を ク リ ッ ク し 、 [XPE Memory Interface Configuration] ダ イ ア ロ グ ボ ッ ク ス を使用
す る と 、 複雑な メ モ リ イ ン タ ーフ ェ イ ス に関連する I/O を簡単に追加で き ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
20
japan.xilinx.com
第 2 章 : 消費電力の見積も り : 初期評価段階
X-Ref Target - Figure 2-7
図 2-7 : [IO] シー ト
I/O の電流の算出では、 標準ボー ド ト レースお よ び終端が適用 さ れてい る と 想定 し た消費電力見積 も り が使用 さ
れます。
ヒ ン ト : 差動 I/O を使用 し てい る 場合、 各入力お よ び出力はペア と し て指定す る 必要があ り ます。 ス プ レ ッ ド シー ト
の 2 つの入力を指定 し て 1 つの差動入力を表す こ と は し ないで く だ さ い。
DDR 規格な ど の複雑な規格のデー タ を入力す る には、 [XPE Memory Interface Configuration] ダ イ ア ロ グ ボ ッ ク ス
を使用す る と 簡単です (図 2-8)。 こ のダ イ ア ロ グ ボ ッ ク ス で関連す る オプシ ョ ン を入力する と 、 [IO] シー ト の該
当す る 行に情報が入力 さ れます。
X-Ref Target - Figure 2-8
図 2-8 : [IO] シー ト の [XPE Memory Interface Configuration] ダ イ ア ログ ボ ッ ク ス
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
21
japan.xilinx.com
第 2 章 : 消費電力の見積も り : 初期評価段階
•
ブ ロ ッ ク RAM の消費電力 ([Block RAM Power])
[BRAM] シー ト (図 2-9) では、 デザ イ ンで使用する ブ ロ ッ ク RAM (BRAM) の数 と 設定を入力 し ます。 [Enable
Rate] を ENA ま たは ENB ポー ト が イ ネーブルであ る 時間の割合に変更 し て く だ さ い。 RAM が イ ネーブルの時間
はダ イ ナ ミ ッ ク 消費電力に直接比例す る ので、 ブ ロ ッ ク RAM の消費電力を正 し く 見積 も る には、 こ のパ ラ メ ー
タ ーに適切な値を入力す る こ と が重要です。
BRAM の [Mode] の設定が消費電力見積 も り に ど の よ う に影響す る かについては、 『Xilinx Power Estimator ユー
ザー ガ イ ド 』 (UG440) [参照 4] の 「Setting BRAM Mode for Improved Accuracy」 (BRAM モー ド の設定に よ る 精度の
向上) を参照 し て く だ さ い。
推奨 : XPE で [Add Memory] を ク リ ッ ク し 、 [XPE Memory Configuration] ダ イ ア ロ グ ボ ッ ク ス を使用す る と 、 デザ イ ン
のブ ロ ッ ク RAM を簡単に追加で き ます。
X-Ref Target - Figure 2-9
図 2-9 : [BRAM シー ト
•
UltraRAM の消費電力 ([UltraRAM Power])
[URAM] シー ト (図 2-10) にデザ イ ンに使用 さ れ る URAM の数 と 設定を入力 し ます。 ダ イ ナ ミ ッ ク 消費電力に最
も 影響す る 可能性のあ る 設定 ([Cascade Group Size]、 [Input Toggle Rate]、 [Output Toggle Rate]、 [Enable Rates]、
[Write Enable] な ど) には現実的な値を使用 し て く だ さ い。
URAM 消費電力の詳細は、 『Xilinx Power Estimator ユーザー ガ イ ド 』 (UG440) [参照 4] を参照 し て く だ さ い。
X-Ref Target - Figure 2-10
図 2-10 : [URAM] シー ト
•
DSP の消費電力 ([DSP Power])
[DSP] シー ト を入力 し ます。 DSP ブ ロ ッ ク は、 カ ウ ン タ ー、 バレル シ フ タ ー、 MUX、 その他の一般的な機能な
ど、 乗算器以外の目的で も 使用で き ます。
•
ク ロ ッ ク マネージ ャ ーの消費電力 ([Clock Manager Power])
デザ イ ンで MMCM ま たは PLL が使用 さ れてい る 場合は、 [CLKMGR] シー ト でその使用法 と 設定を指定 し ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
22
japan.xilinx.com
第 2 章 : 消費電力の見積も り : 初期評価段階
•
ト ラ ン シーバーの消費電力 ([GT Power])
デザ イ ンで GT (シ リ アル ト ラ ン シーバー ) が使用 さ れてい る 場合は、 [GT] シー ト でその使用法 と 設定を指定 し
ます。
推奨 : [Add GTX Interface] ボ タ ン を ク リ ッ ク し 、 [XPE Transceiver Configuration] ダ イ ア ロ グ ボ ッ ク ス を使用する と 、
デー タ を簡単に正確に入力で き ます (図 2-11)。
X-Ref Target - Figure 2-11
図 2-11 : [XPE Transceiver Configuration] ダ イ ア ログ ボ ッ ク ス を使用 し た GT の コ ン フ ィ ギ ュ レーシ ョ ン
手順 6 : ト グルおよび接続パラ メ ー タ ーの設定
[Toggle Rate]、 [Average Fanout]、 ま たは [Enable Rate] を含む タ ブで、 こ れ ら の値を確認 し ます。 ト グル レー ト お よ び
イ ネーブル レー ト がわか っ ていない場合は、 デフ ォ ル ト 値の ま ま にす る こ と をお勧め し ますが、 デフ ォ ル ト 値がデ
ザ イ ンの特性を表 し ていない場合は、 必要に応 じ て変更 し て く だ さ い。 た と えば、 メ モ リ イ ン タ ーフ ェ イ ス に イ ン
タ ーフ ェ イ ス上の ト グル レー ト を高 く 保つ ト レーニ ン グ パ タ ーン ルーチンがあ る こ と がわか っ てい る 場合は、 こ れ
を反映 し て ト グル レー ト を高 く し ます。 ま た、 回路の ク ロ ッ ク イ ネーブルが回路全体のア ク テ ィ ビ テ ィ を削減す る
よ う に指定 さ れてい る 場合は、 ト グル レー ト を低 く し ます。 ト グル レー ト を決定す る 方法の詳細は、 『Xilinx Power
Estimator ユーザー ガ イ ド 』 (UG440) [参照 4] を参照 し て く だ さ い。
ク ロ ッ ク フ ァ ン ア ウ ト の最 も 簡単な指定方法は、 特定の ク ロ ッ ク ド メ イ ンにあ る すべての同期エ レ メ ン ト を加算す
る 式を作成す る こ と です。 た と えば、 あ る ク ロ ッ ク の [Fanout] セルを選択 し 、 「=SUM(」 と 入力 し て、 その ク ロ ッ ク
が供給 さ れ る 同期エ レ メ ン ト (BRAM、 フ リ ッ プ フ ロ ッ プ、 シ フ ト レ ジ ス タ 、 SelectRAM な ど) の数を指定する セル
をすべて選択 し ます。 選択 し 終わっ た ら 閉 じ かっ こ を入力 し ます。 こ れで、 [Fanout] セルに適切な値が入力 さ れ る よ
う にな り ます。 ク ロ ッ ク フ ァ ン ア ウ ト を こ の よ う に入力する と 、 簡単であ る だけでな く 、 リ ソ ース数が変更 さ れた
場合に自動的にア ッ プデー ト さ れます。 最終的な式は、 次の よ う にな り ます。
=SUM(LOGIC!I12:I15, BRAM!E10:E12, DSP!E8, CLKMGR!E10:E12)
ロ ジ ッ ク の フ ァ ン ア ウ ト では、 デー タ パスお よ び制御パス の特性を考慮する 必要があ り ます。 DSP デザ イ ン な ど、
シーケ ン シ ャ ル デー タ パ ス が適切に構築 さ れてい る デザ イ ンでは、 フ ァ ン ア ウ ト は通常デフ ォ ル ト 値 よ り も 小 さ く
な り ます。 エンベデ ッ ド デザ イ ン な ど、 デー タ 実行パス が多数あ る デザ イ ンでは、 フ ァ ン ア ウ ト はデフ ォ ル ト 値 よ
り も 大 き く な る こ と があ り ます。 ト グル レー ト と 同様、 こ の情報がない場合は、 デフ ォ ル ト 値の ま ま に し 、 後で必
要に応 じ て調整 し ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
23
japan.xilinx.com
第 2 章 : 消費電力の見積も り : 初期評価段階
I/O の [Output Load] には、 各デザ イ ン出力の単純な容量性負荷を入力 し ます。 こ の値は、 駆動 さ れ る 出力のダ イ ナ
ミ ッ ク 消費電力に影響 し ます。 [Output Load] の値は、 主にその出力に接続 さ れてい る 各デバ イ ス の入力容量の合計
か ら 求め ら れます。 入力容量は通常、 FPGA I/O が接続 さ れてい る デバ イ ス のデー タ シー ト に記載 さ れてい ます。
手順 7 : 結果の解析
結果を解析す る 前に、 必要に応 じ て手順 1 ~ 6 を実行 し て く だ さ い。 こ れ ら の手順を完了 し た ら 、 結果を解析 し ま
す。 ジ ャ ン ク シ ョ ン温度が範囲を超え てお ら ず、 消費電力がプ ロ ジ ェ ク ト で割 り 当て ら れてい る 消費電力を超え て
いない こ と を確認 し て く だ さ い。 放熱ま たは電力特性が指定範囲外の場合は、 適切な結果が得 ら れ る よ う に環境特
性 (エア フ ロ ー、 ヒ ー ト シ ン ク な ど) を調整す る か、 デザ イ ンの リ ソ ースお よ び電力特性を調整 し て く だ さ い。 消費
電力を抑え て必要な機能を達成で き る よ う にす る ため、 ト レー ド オ フ を考慮 し ます。 ト レー ド オ フ のオプシ ョ ンは、
設計プ ロ セ ス の初期段階で試すのが最適です。 デー タ の入力が完了 し てデバ イ ス が選択 し た グ レー ド の制限温度範
囲内で動作 し てい る 場合は、 XPE で レ ポー ト さ れた消費電力を使用 し て、 デザ イ ンの電源レールを決定で き ます。
入力 し たデー タ の信頼性が高 く ない場合は、 FPGA の消費電力シ ス テ ム を過小設計 し ない よ う に、 数値を多少水増 し
す る こ と が可能です。 ただ し 、 デー タ が十分に信頼で き る 場合は、 ツールで レ ポー ト さ れた数値を水増 し する 必要
はあ り ません。
設計プ ロ セ ス の進行に応 じ て ス プ レ ッ ド シー ト の情報を確認 し て更新 し 、 最新の要件お よ び イ ンプ リ メ ン テーシ ョ
ンの詳細が使用 さ れ る よ う に し ます。 こ の よ う にす る こ と でデザ イ ンの消費電力の最新の状態がわか り 、 消費電力
要件の調整が必要か ど う か を早期に判断で き ます。
デザ イ ン サ イ ク ルの後半でデザ イ ンの消費電力を評価する 方法は第 3 章 「消費電力の見積 も り : Vivado Design Suite
でのデザ イ ン フ ロ ー段階」 を、 デザ イ ンの消費電力を削減する 手法は第 6 章 「消費電力削減のための ヒ ン ト お よ び
手法」 を参照 し て く だ さ い。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
24
japan.xilinx.com
第 3章
消費電力の見積も り : Vivado Design Suite で
のデザイ ン フ ロー段階
概要
こ の章では、 デザ イ ン フ ロ ー段階での消費電力見積 も り を自動的に簡単に実行で き る Vivado® Design Suite の機能を
説明 し ます。 Vivado Design Suite で消費電力見積 も り を生成 し 、 解析 し た ら 、 第 6 章 「消費電力削減のための ヒ ン ト
お よ び手法」 に進み、 デバ イ ス の消費電力を最小限に抑え る ためにシ ス テ ム を調べて変更する 手法を学びます。
消費電力見積も り
デザ イ ン フ ロ ーが合成お よ び イ ンプ リ メ ン テーシ ョ ン段階に進行する のに伴い、 消費電力を定期的に調べ、 放熱量
が要件の範囲内に収ま っ てい る こ と を確認 し て、 制約に近づいてい る エ リ アがあ る 場合に早期に発見 し て対処で き
る よ う にす る 必要があ り ます。 消費電力見積 も り の精度は、 デザ イ ンの段階に よ っ て異な り ます。
Vivado IDE での消費電力の見積も り
こ のセ ク シ ョ ンでは、 Vivado IDE の [Report Power] コ マ ン ド を使用 し た消費電力解析について説明 し ます。 こ こ で
は、 合成後に初めて消費電力解析を設定す る こ と を想定 し てお り 、 ツールにア ク テ ィ ビ テ ィ 情報を入力 し ます。 後
続の run では、 Vivado IDE の [Report Power] コ マ ン ド を使用 し て消費電力レ ポー ト を表示す る か、 ま たは同等の Tcl
コ マ ン ド (report_power) を使用 し て、 Vivado IDE を使用せずにテ キ ス ト 形式の消費電力レ ポー ト を表示す る か を
選択で き ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
25
japan.xilinx.com
第 3 章 : 消費電力の見積も り : Vivado Design Suite でのデザイ ン フ ロー段階
X-Ref Target - Figure 3-1
図 3-1 : Vivado での消費電力解析 : 解析用のデー タ を入力
ユーザー入力の指定
特定の ノ ー ド のア ク テ ィ ビ テ ィ は、 シ ス テ ムの仕様ま たは FPGA が通信す る イ ン タ ーフ ェ イ ス に よ り 決定 さ れ る の
で、 ど のデザ イ ンで も 通常は既知です。
推奨 : 特に FPGA の複数のセルを駆動す る ノ ー ド (セ ッ ト 、 リ セ ッ ト 、 ク ロ ッ ク イ ネーブル、 ク ロ ッ ク 信号) に関 し
て ノ ー ド ア ク テ ィ ビ テ ィ を ツールに供給する と 、 消費電力見積 も り に有益です。
こ れ ら の ノ ー ド には、 次が含まれます。
•
ク ロ ッ ク ア ク テ ィ ビテ ィ
すべての FPGA ク ロ ッ ク ド メ イ ンの正確な周波数、 お よ び外部か ら 供給 さ れ る のか (入力ポー ト )、 内部で生成
さ れ る のか、 ま たは外部か ら プ リ ン ト 回路基板に供給 さ れ る のか (出力ポー ト ) を入力 し ます。
デザ イ ンには、 create_clock を使用 し て指定 し た ク ロ ッ ク が少な く と も 1 つ含まれてい る 必要があ り ます。
ク ロ ッ ク が定義 さ れていない場合、 [Report Power] を実行する と 警告 メ ッ セージが表示 さ れ、 ス イ ッ チン グ ア ク
テ ィ ビ テ ィ の算出に 10GHz ク ロ ッ ク 周波数が使用 さ れます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
26
japan.xilinx.com
第 3 章 : 消費電力の見積も り : Vivado Design Suite でのデザイ ン フ ロー段階
•
I/O デー タ ポー ト
FPGA に対する デー タ の入出力のプ ロ ト コ ルお よ びフ ォーマ ッ ト がわか っ てい る と 、 通常はツールで少な く と も
一部の I/O に対 し て信号の遷移レー ト や信号の ス タ テ ィ ッ ク 確率を指定で き ます。 た と えば、 プ ロ ト コ ルに DC
バ ラ ン ス要件 (信号の ス タ テ ィ ッ ク 確率が 50%) があ る 場合や、 メ モ リ イ ン タ ーフ ェ イ スへのデー タ の書き 込み
お よ び メ モ リ イ ン タ ーフ ェ イ ス か ら のデー タ の読み出 し 頻度がわか っ てい る 場合は、 ス ト ロ ーブ信号お よ び
デー タ 信号のデー タ レー ト を設定で き ます。
プ ラ イ マ リ 入力にユーザー ア ク テ ィ ビ テ ィ レー ト が指定 さ れていない場合、 [Report Power] を実行す る と デフ ォ
ル ト の ス タ テ ィ ッ ク 確率 0.5 と デフ ォ ル ト の ト グル レー ト 12.5% が割 り 当て ら れます。
•
I/O お よ び内部制御信号
シ ス テ ムお よ びその機能か ら 、 セ ッ ト 、 リ セ ッ ト 、 ク ロ ッ ク イ ネーブルな ど の制御信号のア ク テ ィ ビ テ ィ を予
測で き る 場合があ り ます。 こ れ ら の信号は通常、 デザ イ ン ロ ジ ッ ク の広範囲部分をオン、 オ フ にで き る ので、
こ のア ク テ ィ ビ テ ィ 情報を供給す る と 消費電力見積 も り の精度が上が り ます。
プ ラ イ マ リ 入力が リ セ ッ ト であ る (順次エ レ メ ン ト の RESET ピ ンに直接接続 さ れてい る ) 場合は、 デフ ォ ル ト の
ス タ テ ィ ッ ク 確率 0 と デフ ォ ル ト の信号レー ト 0 が割 り 当て ら れます。 同様に、 プ ラ イ マ リ 入力が ク ロ ッ ク イ
ネーブルであ る (順次エ レ メ ン ト の CE ピ ンに直接接続 さ れてい る ) 場合は、デフ ォ ル ト の ス タ テ ィ ッ ク 確率 0.99
と デフ ォ ル ト の信号レー ト 2 が割 り 当て ら れます。
重要 : ベ ク タ ーレ ス の消費電力見積 も り では、 GT の出力ポー ト にア ク テ ィ ビ テ ィ は伝搬 さ れません。 デザ イ ン ロ
ジ ッ ク がア ク テ ィ ビ テ ィ レー ト に よ っ て異な る 場合、 set_switching_activity -type gt_tx|gt_rx コ マ ン
ド で GT 出力のア ク テ ィ ビ テ ィ レー ト を明示的に指定 し て、 正確な解析が実行 さ れ る よ う にする 必要があ り ます。
ベ ク タ ー (SAIF) ベースの消費電力見積も り
通常は、 デザ イ ン開発の各段階でシ ミ ュ レーシ ョ ン を実行 し 、 デザ イ ンが要件どお り に動作する かを検証 し ます。
デザ イ ンの開発段階、 複雑性、 ま たは企業の方針に応 じ て、 さ ま ざ ま な検証手法があ り ます。 次に、 取得可能な有
益なデー タ と 、 こ れ ら のデー タ を使用 し て消費電力を解析す る 際に犯 し やすい ミ ス について説明 し ます。 正確な消
費電力見積 も り を実行す る には、 デザ イ ンのア ク テ ィ ビ テ ィ レー ト が現実的な も のであ る 必要があ り ます。 ア ク
テ ィ ビ テ ィ レー ト は、 シ ミ ュ レーシ ョ ン さ れ る ブ ロ ッ ク に入力 さ れ る デー タ の通常の動作ま たは ワース ト ケース の
動作を示す必要があ り ます。 こ の よ う な情報は、 検証や機能の確認中には必ず し も 供給 さ れません。 無効なデー タ
が供給 さ れたために、 無効なデー タ や コ マ ン ド が入力 さ れた と き で も 、 シ ス テ ムが問題な く 処理 し て安定 し た状態
を保持す る こ と がで き る と 検証 さ れて し ま う 場合 も あ り ます。 こ の よ う なテ ス ト ケース を使用 し て消費電力解析を
実行す る と 、 デザ イ ン ロ ジ ッ ク に通常のシ ス テ ム動作状況 と 同 じ よ う に入力が供給 さ れないため、 消費電力見積 も
り が不正確にな り ます。
•
シ ス テ ム ト ラ ンザ ク シ ョ ン レベル
デザ イ ン サ イ ク ル初期に、 PCB 上のデバ イ ス間ま たは FPGA アプ リ ケーシ ョ ンの異な る フ ァ ン ク シ ョ ン間で発
生す る ト ラ ンザ ク シ ョ ン を記述 し てい る 場合があ り ます。 こ の記述か ら 、 特定の I/O ポー ト お よ びほ と ん ど の ク
ロ ッ ク ド メ イ ンのア ク テ ィ ビ テ ィ を フ ァ ン ク シ ョ ン ブ ロ ッ ク ご と に抽出で き ます。 こ の情報は、 Xilinx Power
Estimator ス プ レ ッ ド シー ト の入力の際に役立ち ます。
•
FPGA 記述レベル
アプ リ ケーシ ョ ンの RTL を定義す る 際は、 ビヘ イ ビ アー シ ミ ュ レーシ ョ ン を実行 し て機能を検証する 必要があ
る 場合があ り ます。 こ れは、 デー タ フ ロ ーお よ び ク ロ ッ ク サ イ ク ルに対す る 計算の有効性を検証す る のに役立
ち ます。 こ の段階では、 使用 さ れ る FPGA リ ソ ース数お よ び コ ン フ ィ ギ ュ レーシ ョ ンは確定 し てい ません。 リ
ソ ース使用量を推定 し て、 I/O ポー ト ま たは内部制御信号 (セ ッ ト 、 リ セ ッ ト 、 ク ロ ッ ク イ ネーブル) のア ク
テ ィ ビ テ ィ を抽出で き ます。 こ の情報を Xilinx Power Estimator ス プ レ ッ ド シー ト に適用する と 、 結果が向上 し
ます。
シ ミ ュ レー タ で ノ ー ド ア ク テ ィ ビ テ ィ を抽出 し 、 SAIF フ ァ イ ル フ ォーマ ッ ト でエ ク ス ポー ト で き ます。 こ の
フ ァ イ ルは、 Vivado デザ イ ン フ ロ ーで よ り 正確な消費電力解析を実行す る ために保存で き ます。 た と えば、 イ
ンプ リ メ ン テーシ ョ ン後のシ ミ ュ レーシ ョ ン を実行す る つ も り がない場合な どは、 配置配線後に こ の フ ァ イ ル
を使用で き ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
27
japan.xilinx.com
第 3 章 : 消費電力の見積も り : Vivado Design Suite でのデザイ ン フ ロー段階
•
FPGA イ ンプ リ メ ン テーシ ョ ン レベル
イ ンプ リ メ ン テーシ ョ ン プ ロ セ ス の異な る 段階でシ ミ ュ レーシ ョ ン を実行 し 、 消費電力に関連す る さ ま ざ ま な
情報を取得で き ます。 こ の追加情報を使用 し て、 Xilinx Power Estimator ス プ レ ッ ド シー ト お よ び Vivado 消費電
力解析の結果を向上で き ます。 ま た、 I/O ポー ト お よ び特定のモジ ュ ールのア ク テ ィ ビ テ ィ を保存 し 、 合成後、
配置後、 配線後に Vivado 消費電力解析機能で再利用で き ます。
°
°
°
合成後 : ネ ッ ト リ ス ト が タ ーゲ ッ ト デバ イ ス で使用可能な実際の リ ソ ース にマ ッ プ さ れます。
配置後 : ネ ッ ト リ ス ト コ ン ポーネ ン ト が実際のデバ イ ス リ ソ ース に配置 さ れます。 こ のパ ッ ク 情報に よ り
最終的な ロ ジ ッ ク リ ソ ース数お よ び設定がわか る ので、 Xilinx Power Estimator ス プ レ ッ ド シー ト で情報を
更新で き ます。
配線後 : 配線が完了す る と 、 使用 さ れ る 配線 リ ソ ース に関す る すべての詳細お よ びデザ イ ンに含まれ る 各パ
ス の正確な タ イ ミ ン グ情報が定義 さ れます。 シ ミ ュ レー タ では、 イ ンプ リ メ ン ト さ れた回路の機能をベス
ト ケースお よ びワ ース ト ケース のゲー ト お よ び配線遅延で検証す る こ と に加え、 グ リ ッ チを含む内部 ノ ー
ド の正確な ア ク テ ィ ビ テ ィ が レ ポー ト さ れます。 こ の レベルの消費電力解析では、 プ ロ ト タ イ プのボー ド
で消費電力を実際に計測す る 前に最 も 正確な消費電力が得 ら れます。
ベ ク タ ーレ スの消費電力見積も り
デザ イ ン ノ ー ド のア ク テ ィ ビ テ ィ がユーザーま たはシ ミ ュ レーシ ョ ン結果か ら 供給 さ れない場合、 ベ ク タ ーレ ス消
費電力見積 も り アルゴ リ ズ ムで こ のア ク テ ィ ビ テ ィ を推測で き ます。 詳細は、 40 ページの 「ベ ク タ ーレ ス見積 も り 」
を参照 し て く だ さ い。
解析用ス イ ッ チ ン グ ア ク テ ィ ビ テ ィ の指定
•
シ ミ ュ レーシ ョ ン結果 (SAIF フ ァ イ ル)
Vivado の [Report Power] コ マ ン ド では、 デザ イ ン デー タ ベース内のネ ッ ト を シ ミ ュ レーシ ョ ン結果のネ ッ ト リ
ス ト 内の名前 と 一致 さ せます。 シ ミ ュ レーシ ョ ン結果のネ ッ ト リ ス ト は SAIF (Switching Activity Interchange
Format) フ ァ イ ルです。 一致 し たネ ッ ト すべてに ス イ ッ チン グ ア ク テ ィ ビ テ ィ と ス タ テ ィ ッ ク 確率が適用 さ れ、
デザ イ ンの消費電力が算出 さ れます。 シ ミ ュ レーシ ョ ン結果は、 合成前や配置配線の前のデザ イ ン フ ロ ー早期
に生成 さ れてい る 場合があ り ます。 こ の場合、 シ ミ ュ レーシ ョ ン結果か ら モジ ュ ールの I/O ポー ト のア ク テ ィ ビ
テ ィ のみを キ ャ プチ ャ し て、 ベ ク タ ーレ ス エン ジ ンで内部 ノ ー ド のア ク テ ィ ビ テ ィ を見積 も る よ う に し ます。
論理シ ミ ュ レーシ ョ ンでは、 グ リ ッ チ ア ク テ ィ ビ テ ィ はキ ャ プチ ャ さ れません。 ま た、 イ ンプ リ メ ン テーシ ョ
ン中の ロ ジ ッ ク 変換 (最適化、 複製、 ゲーテ ィ ン グ、 リ タ イ ミ ン グ な ど) のため、 [Report Power] コ マ ン ド でデザ
イ ン と シ ミ ュ レーシ ョ ン ネ ッ ト リ ス ト 間で一部の ノ ー ド を一致で き ない こ と があ り ますが、 ほ と ん ど のプ ラ イ
マ リ ポー ト お よ び制御信号は一致する ので、 一致 し た ノ ー ド に対 し ては現実的な ア ク テ ィ ビ テ ィ が供給 さ れま
す。 ア ク テ ィ ビ テ ィ は、 ベ ク タ ーレ ス エン ジ ンに よ り 不一致のデザ イ ン部分に伝搬 さ れ る ので、 消費電力見積
も り の精度が上が り ます。
次の よ う な タ イ プのシ ミ ュ レーシ ョ ン結果を使用 し て く だ さ い。
°
シ ミ ュ レーシ ョ ンへのテ ス ト ベ ク タ ーお よ び入力が、 デザ イ ンの典型的な動作ま たは意図 し た動作を表 し
てい る こ と を確認 し ます。 エ ラ ー処理お よ び コ ーナー ケース (稀に し か発生 し ないケース) のシ ミ ュ レー
シ ョ ンでは、 通常の動作条件で ロ ジ ッ ク がシ ミ ュ レーシ ョ ン さ れません。
°
イ ンプ リ メ ン テーシ ョ ン後のシ ミ ュ レーシ ョ ン結果の方が、 ビヘ イ ビ アー シ ミ ュ レーシ ョ ン結果 よ り も 好
まれます。 完全な タ イ ミ ン グ シ ミ ュ レーシ ョ ンの方が、 タ イ ミ ン グ グ リ ッ チ情報が SAIF 結果に取 り 込ま
れ る ので、 よ り 正確にな り ます。
重要 : [Report Power] では、 ベ ク タ ーレ ス アルゴ リ ズ ムお よ びデフ ォ ル ト の ス イ ッ チン グ レー ト を使用 し て、 指定 し
た SAIF フ ァ イ ル と 一致 し ないデザ イ ン ネ ッ ト のア ク テ ィ ビ テ ィ が計算 さ れます。 こ のため、 消費電力レ ポー ト で ト
グルレー ト が異な り 、 最終的には XPE に反映 さ れます。 タ イ ミ ン グ シ ミ ュ レーシ ョ ンがサポー ト さ れ る のは Verilog
だけなので、 VHDL で生成 さ れた .saif フ ァ イ ルを使用す る こ と はお勧め し ません。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
28
japan.xilinx.com
第 3 章 : 消費電力の見積も り : Vivado Design Suite でのデザイ ン フ ロー段階
重要 : Vivado IDE の [Report Power] ダ イ ア ロ グ ボ ッ ク ス の [Switching] タ ブで [Simulation activity file (.saif)] フ ィ ール ド
に SAIF フ ァ イ ル名を指定 し て SAIF シ ミ ュ レーシ ョ ン出力フ ァ イ ルを読み込み、 一致す る ネ ッ ト リ ス ト エ レ メ ン ト
に フ ァ イ ルに記述 さ れてい る ス イ ッ チン グ ア ク テ ィ ビ テ ィ を ア ノ テー ト し て く だ さ い。 ま たは、 Tcl コ マ ン ド の
read_saif を使用 し て SAIF シ ミ ュ レーシ ョ ン出力フ ァ イ ルを読み込みます。
使用モデルすべてについては、 『Vivado Design Suite ユーザー ガ イ ド : 消費電力の解析 と 最適化』 (UG907) [参照 5] を
参照 し て く だ さ い。
重要 : 消費電力解析用の SAIF フ ァ イ ルを Vivado シ ミ ュ レー タ か ら 生成す る には、『Vivado Design Suite ユーザー ガ イ
ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900) [参照 6] を参照 し て く だ さ い。
Vivado® Design Suite 内で Mentor Graphics 社の ModelSim シ ミ ュ レー タ か ら SAIF フ ァ イ ルを生成 し て消費電力を解析
す る 場合は、 ア ンサー 53544 を参照 し て く だ さ い。
完全な タ イ ミ ン グ シ ミ ュ レーシ ョ ンには、 write_sdf コ マ ン ド を使用 し てデザ イ ン タ イ ミ ン グ シ ミ ュ レーシ ョ ン
情報 (SDF) フ ァ イ ルを生成 し 、 シ ミ ュ レーシ ョ ン実行中にア ノ テー ト し ます。
•
既知のエ レ メ ン ト
アプ リ ケーシ ョ ンの動作の情報は、 入力フ ァ イ ルで定義 さ れていないア ク テ ィ ビ テ ィ を定義する 際に役立つの
で、 こ の手順はデザ イ ンのダ イ ナ ミ ッ ク 消費電力を算出す る のに重要です。
°
I/O ア ク テ ィ ビ テ ィ
I/O イ ン タ ーフ ェ イ ス のデー タ パ タ ーンがわか っ てい る 場合は、 こ のア ク テ ィ ビ テ ィ ( ト グル/信号レー ト お
よ びス タ テ ィ ッ ク 確率 (% High)) を Vivado IDE の [Properties] ウ ィ ン ド ウ の [Power] ビ ュ ーま たは Tcl コ マ ン
ド set_switching_activity で指定 し ます。 ス プ レ ッ ド シー ト な ど別の ツールで電源ご と の総消費電力
を算出 し ていない場合、 出力の終端方法を指定 し て、 [Report Power] コ マ ン ド で FPGA の電源か ら こ れ ら の
外部 コ ン ポーネ ン ト に供給す る 電力量が含め ら れ る よ う に し ます。
°
制御信号のア ク テ ィ ビ テ ィ
[Report Power] コ マ ン ド を実行す る と 、 すべての制御信号が [Power] ウ ィ ン ド ウ の [Signals] に リ ス ト さ れま
す。 アプ リ ケーシ ョ ンの予測 さ れ る 動作か ら 、 一部のセ ッ ト / リ セ ッ ト 信号が通常のデザ イ ン動作ではア ク
テ ィ ブではない こ と な ど がわか る 場合は、 こ れ ら の信号のア ク テ ィ ビ テ ィ を調整する 必要があ り ます。 同
様に、 アプ リ ケーシ ョ ンに含まれ る 一部の信号に よ り 、 ブ ロ ッ ク が使用 さ れない と き にブ ロ ッ ク 全体が
デ ィ ス エーブルにな る 場合があ り ます。 機能に合わせて ア ク テ ィ ビ テ ィ を調整 し て く だ さ い。 合成お よ び
配置配線アルゴ リ ズ ムでは、 RTL 記述を最適化する ために制御信号が推論ま たはマ ッ プ し 直 さ れ る こ と が
あ る ので、 こ れ ら のビ ュ ーに表示 さ れ る 信号に不明な信号が含まれてい る こ と があ り ます。 こ れ ら の信号
が何なのかがわか ら ない場合は、 ツールで こ れ ら のア ク テ ィ ビ テ ィ が決定 さ れ る よ う に し ます。 Tcl コ マ ン
ド の report_control_sets を使用する と 、 デザ イ ンの制御信号を取得で き ます。
I/O ア ク テ ィ ビ テ ィ お よ び制御信号のア ク テ ィ ビ テ ィ 値の設定方法は、 第 4 章の 「Vivado IDE での What-If 解析
の実行」 を参照 し て く だ さ い。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
29
japan.xilinx.com
第 3 章 : 消費電力の見積も り : Vivado Design Suite でのデザイ ン フ ロー段階
デバイ ス/デザイ ン設定を確認 し て既知のエ レ メ ン ト のア ク テ ィ ビ
テ ィ を調整
[Report Power] ダ イ ア ロ グ ボ ッ ク ス は、 Flow Navigator で [Report Power] を ク リ ッ ク する と 開き ます。 こ のダ イ ア ロ グ
ボ ッ ク ス で消費電力設定を確認 し 、 既知のエ レ メ ン ト のア ク テ ィ ビ テ ィ を調整 し ます (図 3-2)。
X-Ref Target - Figure 3-2
図 3-2 : [Report Power] ダ イ ア ログ ボ ッ ク ス
•
[Output text file]
プ ロ ジ ェ ク ト の記録 と し て消費電力見積 も り 結果を保存す る 必要があ る 場合があ り ます。 ま た、 パフ ォーマ ン
ス ま たはエ リ ア制約を満たすために別のマ ッ プ、 配置、 お よ び配線オプシ ョ ン を試す場合、 各試行の消費電力
結果を保存 し てお く と 、 複数の条件で要件が満た さ れた と き に最 も 消費電力が低い ソ リ ュ ーシ ョ ン を選択する
のに役立ち ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
30
japan.xilinx.com
第 3 章 : 消費電力の見積も り : Vivado Design Suite でのデザイ ン フ ロー段階
•
[Output XPE file] (Xilinx Power Estimator 用)
環境情報、 デバ イ ス使用量、 デザ イ ン ア ク テ ィ ビ テ ィ すべて を 1 つのフ ァ イ ル (.xpe) に保存 し 、 Xilinx Power
Estimator ス プ レ ッ ド シー ト に イ ン ポー ト で き ます。 消費電力要件を超え てお り 、 ツールの最適化機能だけでは
要件を満たす こ と がで き ない よ う な場合に有益です。 こ の場合、 現在の イ ンプ リ メ ン テーシ ョ ン結果を Xilinx
Power Estimator に イ ン ポー ト し 、 異な る マ ッ プ、 ゲーテ ィ ン グ、 畳み込み、 お よ びその他の手法を試 し て、 そ
れ ら の消費電力への影響を見積 も っ てか ら 、 RTL コ ー ド を変更 し 、 イ ンプ リ メ ン テーシ ョ ン を再実行 し ます。
ま た、 Xilinx Power Estimator ス プ レ ッ ド シー ト での見積 も り と 合成結果を比較 し て、 XPE の値を必要に応 じ て調
整 し ます。
各シー ト を確認 し て、 シ ス テ ムが正 し く 表現 さ れてい る か確認 し ます。
•
[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] お よ び [Number of board layers] : ボー ド のおお よ そのサ イ ズ と ス タ ッ ク を選択す る と 、
ボー ド 自体の熱伝導性を考慮す る こ と に よ り 、 有効 ΘJB の算出に役立ち ます。
-
[ΘJB] : ボー ド お よ びシ ス テ ムの よ り 正確な温度モデルが存在する 場合は、 FPGA か ら の放熱量を指定
す る ために ΘJB (プ リ ン ト 回路基板 の熱抵抗) を使用す る 必要があ り ます。
よ り 正確な カ ス タ ム [ΘJB] を指定す る と 、 ジ ャ ン ク シ ョ ン温度が よ り 正確に見積 も ら れ、 デバ イ ス の
ス タ テ ィ ッ ク 消費電力を よ り 正確に算出で き る よ う にな り ます。
重要 : カ ス タ ム [ ΘJB] を指定す る には、 [Board selection] を [Custom] に設定する 必要があ り ます。 カ ス タ ム [ΘJB] を
指定す る 場合は、 正確な消費電力を算出す る ため、 [Board temperature] も 指定する 必要があ り ます。
•
[Power Supply] : 電源情報が既知の場合は、 [Power Supply] タ ブで各電源に正 し い電圧値が設定 さ れてい る こ と を
確認 し ます。 電圧は、 ス タ テ ィ ッ ク 消費電力お よ びダ イ ナ ミ ッ ク 消費電力の両方に大き く 影響 し ます。
•
[Switching] : [Switching] タ ブでデザ イ ンのシ ミ ュ レーシ ョ ンお よ びデフ ォ ル ト ア ク テ ィ ビ テ ィ 設定を確認 し て く
だ さ い。 デザ イ ン内の制約付 き ク ロ ッ ク も こ の タ ブに表示 さ れます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
31
japan.xilinx.com
第 3 章 : 消費電力の見積も り : Vivado Design Suite でのデザイ ン フ ロー段階
X-Ref Target - Figure 3-3
図 3-3 : [Report Power] のス イ ッ チ ング設定
°
[Simulation Settings]
-
[Simulation activity file (.saif)] : Vivado の [Report Power] を実行す る には、 デザ イ ンに対 し て生成 さ れた
SAIF シ ミ ュ レーシ ョ ン デー タ を入力 と し て使用 し ます。 [Report Power] コ マ ン ド では、 デザ イ ン デー
タ ベース内のネ ッ ト を シ ミ ュ レーシ ョ ン結果のネ ッ ト リ ス ト 内の名前 と 一致 さ せます。 シ ミ ュ レー
シ ョ ン結果 (SAIF フ ァ イ ル) か ら の情報を入力 し て、 さ ら に精度の高い消費電力解析を取得す る 方法に
ついては、 28 ページの 「解析用ス イ ッ チン グ ア ク テ ィ ビ テ ィ の指定」 を参照 し て く だ さ い。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
32
japan.xilinx.com
第 3 章 : 消費電力の見積も り : Vivado Design Suite でのデザイ ン フ ロー段階
°
°
[Default Activity Settings]
-
[Default toggle rate] : デザ イ ンの主な入力の消費電力解析で使用 さ れ る デフ ォ ル ト の ト グル レー ト です。
デフ ォ ル ト の ト グル レー ト は、 ス イ ッ チ ア ク テ ィ ビ テ ィ がユーザーに よ り 設定 さ れないプ ラ イ マ リ 入
力ネ ッ ト 、 シ ミ ュ レーシ ョ ン デー タ 、 ま たはデザ イ ンの制約に設定 さ れます。 非同期入力の場合、 ト
グル レー ト はデザ イ ンの中でキ ャ プチ ャ ク ロ ッ ク に対 し て設定 さ れます。 有効な値は、 0 以上 100 未
満です。 デフ ォ ル ト 値は 12.5 です。
-
[Default Static Probability] : デザ イ ンの消費電力解析で使用す る デフ ォ ル ト の ス タ テ ィ ッ ク 確率を指定 し
ます。 デフ ォ ル ト の ス タ テ ィ ッ ク 確率は、 ユーザー、 デザ イ ンのシ ミ ュ レーシ ョ ン デー タ ま たは制約
で ス イ ッ チン グ ア ク テ ィ ビ テ ィ が指定 さ れていないプ ラ イ マ リ 入力に使用 さ れます。 有効な値は、 0
以上 1 以下です。 デフ ォ ル ト 値は 0.5 です。
[Enable Rate Settings]
-
[BRAM Port Enable] : デザ イ ンの全 BRAM イ ネーブル信号すべてのア ク テ ィ ビ テ ィ レー ト を設定 し ます。
-
[BRAM Write Enable] : デザ イ ンの全 BRAM 書き 込み イ ネーブル信号すべてのア ク テ ィ ビ テ ィ レー ト を
設定 し ます。
-
[Bidi Output Port Enable] : デザ イ ンのすべての双方向 I/O イ ネーブル信号 (例 : IOBUF の T ピ ン) すべて
のア ク テ ィ ビ テ ィ レー ト を設定 し ます。
注記 : [Static Probability] と [Toggle Rate] は一緒に指定する 必要があ り ます。
°
[Toggle Rate Settings]
-
[Primary Outputs] : デザ イ ンのプ ラ イ マ リ 出力のすべての イ ネーブル信号すべて (例 : OBUFT の T ピ ン)
の ス イ ッ チン グ ア ク テ ィ ビ テ ィ レー ト を設定 し ます。
-
[Logic] :
-
-
[Registers] : すべての レ ジ ス タ の出力ピ ンの ス イ ッ チン グ ア ク テ ィ ビ テ ィ レー ト を設定 し ます。
-
[Shift Registers] : すべてのシ フ ト レ ジ ス タ の出力ピ ンの ス イ ッ チン グ ア ク テ ィ ビ テ ィ レー ト を設
定 し ます。
-
[Distributed RAMs] : すべての分散 RAM のデー タ 出力ピ ンの ス イ ッ チン グ ア ク テ ィ ビ テ ィ レー ト
を設定 し ます。
-
[LUTs] : すべての LUT の出力ピ ンの ス イ ッ チン グ ア ク テ ィ ビ テ ィ レー ト を設定 し ます。
-
[DSPs] : すべての DSP のデー タ 出力ピ ンの ス イ ッ チン グ ア ク テ ィ ビ テ ィ レー ト を設定 し ます。
-
[Block RAMs] : すべてのブ ロ ッ ク RAM のデー タ 出力ピ ンの ス イ ッ チン グ ア ク テ ィ ビ テ ィ レー ト
を設定 し ます。
[GTs] (シ リ アル ト ラ ン シーバー ) :
-
[RX Data] : すべての GT の RX データ出力ピ ンのス イ ッ チン グ ア ク テ ィ ビ テ ィ レー ト を設定し ます。
-
[TX Data] : すべての GT の TX データ出力ピ ンのス イ ッ チン グ ア ク テ ィ ビ テ ィ レー ト を設定し ます。
注記 : [Static Probability] と [Toggle Rate] は一緒に指定する 必要があ り ます。 詳細お よ びガ イ ド ラ イ ン
は、 「ネ ッ ト リ ス ト エ レ メ ン ト ア ク テ ィ ビ テ ィ 」 の set_switching_activity コ マ ン ド の説明を参
照 し て く だ さ い。
•
[Constrained Clocks] : [Constrained Clocks] を展開する と 、 デザ イ ンで制約 さ れてい る ク ロ ッ ク がすべて リ ス ト さ
れます。 ク ロ ッ ク 周波数が正 し く 設定 さ れてい る こ と を確認 し ます。
ヒ ン ト : すべてのプ ラ イ マ リ ク ロ ッ ク を指定す る よ う に し ます。 デザ イ ン ク ロ ッ ク は、 create_clock ま たは
create_generated_clock 制約に基づいてのみ識別 さ れます。
推奨 : よ り 正確な消費電力算出結果を得 る ため、 デザ イ ンで正確な ク ロ ッ ク 周波数を使用する こ と をお勧め し ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
33
japan.xilinx.com
第 3 章 : 消費電力の見積も り : Vivado Design Suite でのデザイ ン フ ロー段階
解析の実行
[Report Power] ダ イ ア ロ グ ボ ッ ク ス に必要なデー タ を入力 し た ら 、 解析を実行 し ます。 フ ァ イ ルお よ びユーザー入力
に よ り 供給 さ れた ア ク テ ィ ビ テ ィ がネ ッ ト リ ス ト にア ノ テー ト さ れ、 残 り の未定義の ノ ー ド にデフ ォ ル ト 値が適用
さ れます。 その後、 こ の初期ア ク テ ィ ビ テ ィ がプ ラ イ マ リ 入力か ら デザ イ ンのプ ラ イ マ リ 出力に伝搬 さ れ、 未定義
の ノ ー ド のア ク テ ィ ビ テ ィ 見積 も り の精度が向上 し ます。 最後に、 使用 さ れ る 各 リ ソ ース のダ イ ナ ミ ッ ク 消費電力
が算出 さ れ、 こ れ ら の リ ソ ース での ス イ ッ チン グ ア ク テ ィ ビ テ ィ に よ り 生成 さ れ る 追加の ス タ テ ィ ッ ク 消費電力が
推論 さ れ、 デバ イ ス で予測 さ れ る ジ ャ ン ク シ ョ ン温度お よ び総消費電力要件が算出 さ れます。
ス イ ッ チ ング ア ク テ ィ ビ テ ィ 制約の保持
[Report Power] ダ イ ア ロ グ ボ ッ ク スへの入力はすべてプ ロ ジ ェ ク ト の XDC 制約に保存 さ れ、 [Report Power] を フ ロ ー
で再実行す る と き に使用 さ れます。 こ れは、 what-if 解析に便利です。 最後に使用 し た ス イ ッ チン グ ア ク テ ィ ビ テ ィ
制約が保持 さ れ、 GUI に表示 さ れます。 Vivado IDE の Tcl コ ン ソ ールで XDC ベース の コ マ ン ド を入力 し た り 、 [Net
Properties] ウ ィ ン ド ウ ([Power] ビ ュ ーの [Edit Properties] ボ タ ン) で入力 し た場合で も 、 それ ら の入力値は [Report
Power] ダ イ ア ロ グ ボ ッ ク ス に反映 さ れます。 ス イ ッ チン グ ア ク テ ィ ビ テ ィ の XDC 制約は、 [Report Power] ダ イ ア ロ
グ ボ ッ ク ス と 一致 し ます。 ダ イ ア ロ グ ボ ッ ク ス で変更を加え る と それが XDC 制約に反映 さ れ、 XDC 制約を変更す
る と ダ イ ア ロ グ ボ ッ ク ス に反映 さ れます。
こ れは、 [Report Power] ダ イ ア ロ グ ボ ッ ク ス のデフ ォ ル ト の ス イ ッ チン グ ア ク テ ィ ビ テ ィ を上書 き す る 場合に も 便利
です。 こ の場合、 適切なデフ ォ ル ト 値を使用 し て XDC 制約を作成 し 、 report_power を実行で き ます。
デザイ ン での電力配分の確認
消費電力解析が完了 し た ら 、[Power] ウ ィ ン ド ウ の [Summary] ページで [Total On-Chip Power] (総オンチ ッ プ消費電力)
お よ び温度プ ロ パテ ィ を確認 し ます。 [On-Chip Power] グ ラ フ では、 デバ イ ス リ ソ ース タ イ プご と の消費電力が示 さ
れます。 こ のグ ラ フ か ら 、 デザ イ ンで最 も 消費電力が高い箇所を特定で き ます (図 3-4)。
[Summary] ページには、 消費電力解析の [Confidence Level] も 表示 さ れます。 [Confidence Level] は、 入力デー タ の正
確 さ と 完全性を測定す る も ので、 [Report Power] で消費電力解析が実行 さ れ る と き に使用 さ れます。 値 (Low、
Medium、 High) を ク リ ッ ク す る と 詳細が表示 さ れ、 こ れ ら の詳細か ら 消費電力解析の精度を上げ る 方法がわか る こ
と があ り ます。 た と えば、 よ り 多 く の ク ロ ッ ク のア ク テ ィ ビ テ ィ レー ト やデザ イ ンの I./O 入力を指定す る と 、 消費
電力の精度が上が る 可能性があ り ます。
X-Ref Target - Figure 3-4
図 3-4 : Vivado 消費電力解析 : 消費電力レ ポー ト
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
34
japan.xilinx.com
第 3 章 : 消費電力の見積も り : Vivado Design Suite でのデザイ ン フ ロー段階
[Power Supply] ページには、 各電源の電流 と 、 その ス タ テ ィ ッ ク 消費電力お よ びダ イ ナ ミ ッ ク 消費電力の内訳が表示
さ れます。
[Utilization Details] の下か ら リ ソ ース タ イ プ を選択する と 、 その リ ソ ース の消費電力の詳細が表示 さ れます (図 3-5)。
各 リ ソ ース のページは、 ツ リ ー形式の表にな っ てい ます。 列ヘ ッ ダーを ド ラ ッ グする と 、 列の順序を変更で き ます。
ま た、 列ヘ ッ ダーを ク リ ッ ク す る と 並べ替え順を変更で き ます。
X-Ref Target - Figure 3-5
図 3-5 : Vivado 消費電力解析 : I/O の消費電力の詳細
レ ポー ト さ れてい る 消費電力が要件を超え てい る 場合は、 第 6 章 「消費電力削減のための ヒ ン ト お よ び手法」 のデ
バ イ ス の消費電力を削減す る 手法を参照 し て く だ さ い。 使用で き る 手法は、 デザ イ ンの完成度や開発プ ロ セ ス の変
更許容度に よ っ て異な り ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
35
japan.xilinx.com
第 4章
Vivado Design Suite での消費電力解析および
最適化
概要
こ の章では、 Vivado® Design Suite で実行可能な消費電力に関連 し た機能お よ びフ ロ ーを説明 し 、 消費電力見積 も り 、
解析、 お よ び最適化を実行で き る よ う に し ます。
消費電力解析は、 合成後、 最適化後、 配置後、 ま たは配線後に実行で き ます。 RTL エ ラ ボ レーシ ョ ン後には実行で
き ません。
消費電力最適化は、 配置前後にのみ実行で き ます。
消費電力の解析お よ び最適化は、 Vivado IDE ま たは Tcl プ ロ ンプ ト のいずれか を使用 し て実行可能で、 ダ イ ナ ミ ッ ク
に what-if シナ リ オ を試す こ と がで き ます。
Vivado IDE での消費電力解析
Vivado IDE の消費電力に関連 し た機能を使用する と 、 デザ イ ンの イ ンプ リ メ ン テーシ ョ ンで次の消費電力見積 も り
お よ び解析を実行で き ます。
•
デザ イ ンの ス タ テ ィ ッ ク 消費電力に影響す る 次の温度特性を レ ポー ト
°
ジ ャ ン ク シ ョ ン温度、 周囲温度な ど の温度値
°
ボー ド 層の数、 ボー ド の温度な ど、 選択 し たボー ド に関す る デー タ
°
デザ イ ンで使用 さ れ る エア フ ロ ーお よ び ヒ ー ト シ ン ク プ ロ フ ァ イ ルのデー タ
•
各種電源の FPGA 電流要件の レ ポー ト
•
消費電力の分配を詳細に解析す る こ と に よ り 、 ダ イ ナ ミ ッ ク 消費電力、 熱消費電力、 ま たはオ フチ ッ プ消費電
力を削減す る 消費電力節約ス ト ラ テジ を特定
図 4-1 に、 典型的な消費電力見積 も り お よ び解析フ ロ ーを示 し ます。 最 も 正確な結果を得 ら れ る よ う 、 見積 も り ま
たは解析を実行す る 前に必要な ツールへの入力お よ び設定を行 う 手順 も 含まれてい ます。 消費電力見積 も り お よ び
解析 コ マ ン ド は、 Vivado IDE ま たは Tcl プ ロ ンプ ト か ら 実行で き ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
36
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
X-Ref Target - Figure 4-1
䝛䝑䝖䝸䝇䝖
- 䝛䝑䝖䝸䝇䝖䛾⏕ᡂ㻌㻦㻌ྜᡂ䜎䛯䛿䜲䞁䝥䝸䝯䞁䝔䞊䝅䝵䞁
:
タᐃ
- 䝕䝄䜲䞁㻌䝛䝑䝖䝸䝇䝖䛾ㄞ䜏㎸䜏
- 䝕䝄䜲䞁ไ⣙䛾ᣦᐃ㻌㻦㻌䝍䜲䝭䞁䜾䚸䝅䝭䝳䝺䞊䝅䝵䞁䚸
㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌䝤䝻䝑䜽㻌䝁䞁䝣䜱䜼䝳䝺䞊䝅䝵䞁
:
- ⎔ቃタᐃ䛾ᣦᐃ㻌㻦㻌䝕䝞䜲䝇䛾ືస᮲௳
ᐇ⾜
- ᾘ㈝㟁ຊゎᯒ䜰䝹䝂䝸䝈䝮䛾ᐇ⾜
P
- ᗘ䛚䜘䜃㟁※ศ㓄䝺䝫䞊䝖
ゎᯒ
- ᾘ㈝㟁ຊ䝺䝫䞊䝖䛾☜ㄆ
r
- ḟ䜢ゎᯒ㻛ㄪᩚ㻛ヨ⾜
- 䝕䝄䜲䞁䛾䜰䜽䝔䜱䝡䝔䜱
- タᐃ㻌㻦㻌⎔ቃ䚸䝕䝞䜲䝇
:
- 䝒䞊䝹㻌㻦㻌䜲䞁䝥䝸䝯䞁䝔䞊䝅䝵䞁䚸ゎᯒ
X12401
図 4-1 : 消費電力見積も り および解析フ ロー
サポー ト さ れるデバイ ス アーキテ ク チ ャ
•
Vivado Design Suite のアーキテ ク チ ャ サポー ト については、『Vivado Design Suite ユーザー ガ イ ド : リ リ ース ノ ー
ト 、 イ ン ス ト ールお よ び ラ イ セ ン ス』 (UG973) [参照 1] を参照 し て く だ さ い。
サポー ト さ れる入力
•
タ イ ミ ン グ制約を指定す る XDC 制約フ ァ イ ル
•
ビヘ イ ビ アーま たは タ イ ミ ン グ シ ミ ュ レーシ ョ ンか ら のシ ミ ュ レーシ ョ ン出力ア ク テ ィ ビ テ ィ フ ァ イ ル (SAIF
フ ァ イ ル)
•
環境、 動作条件、 ツール デフ ォ ル ト 、 お よ び個々のネ ッ ト リ ス ト ノ ー ド ア ク テ ィ ビ テ ィ を指定する XDC/Tcl
フ ァ イル コ マン ド
•
Vivado 消費電力解析ツールには、 デフ ォ ル ト の値お よ び ノ ー ド ア ク テ ィ ビ テ ィ レー ト を入力する メ カ ニズ ムが
複数含まれます。 次の リ ス ト は、 その さ ま ざ ま な メ カ ニズ ム を示 し た も ので、 優先順に リ ス ト さ れてい ます。
1. ス タ テ ィ ッ ク (定数は GND ま たは VCC に接続)
2. [Power] ウ ィ ン ド ウ の [Utilization Details] セ ク シ ョ ンでユーザーが入力 し た値
3. イ ン ポー ト さ れた シ ミ ュ レーシ ョ ン ア ク テ ィ ビ テ ィ フ ァ イ ル (SAIF)
4. イ ン ポー ト さ れた制約フ ァ イ ル : 制約フ ァ イ ル (XDC) ま たはデザ イ ン ネ ッ ト リ ス ト か ら イ ン ポー ト さ れた
ク ロ ッ ク 制約
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
37
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
5. ベ ク タ ーレ ス見積 も り : 上記の入力いずれで も 定義 さ れていない ノ ー ド に対 し て、 デフ ォ ル ト 値 と ノ ー ド へ
の入力ア ク テ ィ ビ テ ィ に基づいて、 ア ク テ ィ ビ テ ィ が見積 も ら れます。
6. デフ ォ ル ト 値 : ベ ク タ ーレ ス見積 も り で見積 も る こ と がで き なか っ た ノ ー ド に対 し て、 デザ イ ンのプ ラ イ マ
リ 入力お よ びブ ラ ッ ク ボ ッ ク ス出力の場合 と 同様に、 デフ ォ ル ト 値が割 り 当て ら れます。
注記 : デフ ォ ル ト 値は、 [Report Power] ダ イ ア ロ グ ボ ッ ク ス で変更で き ます。 詳細は、 第 3 章の 「デバ イ ス/
デザ イ ン設定を確認 し て既知のエ レ メ ン ト のア ク テ ィ ビ テ ィ を調整」 を参照 し て く だ さ い。
サポー ト さ れる出力
•
GUI I/O バ ス、 ネ ッ ト 、 お よ びセル消費電力プ ロ パテ ィ
•
GUI お よ びテ キ ス ト 形式の消費電力レ ポー ト
•
Xilinx Power Estimator ス プ レ ッ ド シー ト に イ ン ポー ト 可能な XML ベース の消費電力レ ポー ト
•
Tcl コ マ ン ド を使用 し た ア ク テ ィ ビ テ ィ レー ト と 動作条件レ ポー ト
Vivado IDE を使用 し た消費電力解析
消費電力見積 も り は、 合成後のデザ イ ン フ ロ ーの ど の段階で も 実行で き ます。 図 4-2 に、 Vivado IDE で消費電力見
積 も り を実行 し 、 設定 メ ニ ュ ーにア ク セ スす る 方法を示 し ます。
X-Ref Target - Figure 4-2
図 4-2 : Vivado IDE での消費電力見積も り の実行
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
38
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
ベ ク タ ー ベースの見積 も り
通常は、 デザ イ ン開発の各段階でシ ミ ュ レーシ ョ ン を実行 し 、 デザ イ ンが要件どお り に動作する かを検証 し ます。
デザ イ ンの開発段階、 複雑性、 ま たは企業の方針に応 じ て、 さ ま ざ ま な検証手法があ り ます。 次に、 取得可能な有
益なデー タ と 、 こ れ ら のデー タ を使用 し て消費電力を解析す る 際に犯 し やすい ミ ス について説明 し ます。 正確な消
費電力見積 も り を実行す る には、 デザ イ ンのア ク テ ィ ビ テ ィ レー ト が現実的な も のであ る 必要があ り ます。 ア ク
テ ィ ビ テ ィ レー ト は、 シ ミ ュ レーシ ョ ン さ れ る ブ ロ ッ ク に入力 さ れ る デー タ の通常の動作ま たは ワース ト ケース の
動作を示す必要があ り ます。 こ の よ う な情報は、 検証や機能の確認中には必ず し も 供給 さ れません。 無効なデー タ
が供給 さ れたために、 無効なデー タ や コ マ ン ド が入力 さ れた と き で も 、 シ ス テ ムが問題な く 処理 し て安定 し た状態
を保持す る こ と がで き る と 検証 さ れて し ま う 場合 も あ り ます。 こ の よ う なテ ス ト ケース を使用 し て消費電力解析を
実行す る と 、 デザ イ ン ロ ジ ッ ク に通常のシ ス テ ム動作状況 と 同 じ よ う に入力が供給 さ れないため、 消費電力見積 も
り が不正確にな り ます。
•
シ ス テ ム ト ラ ンザ ク シ ョ ン レベル
デザ イ ン サ イ ク ル初期に、 PCB 上のデバ イ ス間ま たは FPGA アプ リ ケーシ ョ ンの異な る フ ァ ン ク シ ョ ン間で発
生す る ト ラ ンザ ク シ ョ ン を記述 し てい る 場合があ り ます。 こ の記述か ら 、 特定の I/O ポー ト お よ びほ と ん ど の ク
ロ ッ ク ド メ イ ンのア ク テ ィ ビ テ ィ を フ ァ ン ク シ ョ ン ブ ロ ッ ク ご と に抽出で き ます。 こ の情報を使用す る と 、
Vivado 消費電力設定を入力 し やす く な り ます。
•
FPGA 記述レベル
アプ リ ケーシ ョ ンの RTL を定義す る 際は、 ビヘ イ ビ アー シ ミ ュ レーシ ョ ン を実行 し て機能を検証する 必要があ
る 場合があ り ます。 こ れは、 デー タ フ ロ ーお よ び ク ロ ッ ク サ イ ク ルに対す る 計算の有効性を検証す る のに役立
ち ます。 こ の段階では、 使用 さ れ る FPGA リ ソ ース数お よ び コ ン フ ィ ギ ュ レーシ ョ ンは確定 し てい ません。 リ
ソ ース使用量を推定 し て、 I/O ポー ト ま たは内部制御信号 (セ ッ ト 、 リ セ ッ ト 、 ク ロ ッ ク イ ネーブル) のア ク
テ ィ ビ テ ィ を抽出で き ます。 こ の情報を使用す る と 、 Vivado 消費電力解析情報の精度が上が り ます。
シ ミ ュ レー タ で ノ ー ド ア ク テ ィ ビ テ ィ を抽出 し 、 SAIF フ ァ イ ル フ ォーマ ッ ト でエ ク ス ポー ト で き ます。 こ の
フ ァ イ ルは、 Vivado デザ イ ン フ ロ ーで よ り 正確な消費電力解析を実行す る ために保存で き ます。 た と えば、 イ
ンプ リ メ ン テーシ ョ ン後のシ ミ ュ レーシ ョ ン を実行す る つ も り がない場合な どは、 配置配線後に こ の フ ァ イ ル
を使用で き ます。
•
FPGA イ ンプ リ メ ン テーシ ョ ン レベル
イ ンプ リ メ ン テーシ ョ ン プ ロ セ ス の異な る 段階でシ ミ ュ レーシ ョ ン を実行 し 、 消費電力に関連す る さ ま ざ ま な
情報を取得で き ます。 こ の追加情報を使用 し て、 Xilinx Power Estimator ス プ レ ッ ド シー ト お よ び Vivado 消費電
力解析の結果を向上で き ます。 ま た、 I/O ポー ト お よ び特定のモジ ュ ールのア ク テ ィ ビ テ ィ を保存 し 、 合成後、
配置後、 配線後に Vivado 消費電力解析機能で再利用で き ます。
°
°
°
合成後 : ネ ッ ト リ ス ト が タ ーゲ ッ ト デバ イ ス で使用可能な実際の リ ソ ース にマ ッ プ さ れます。
配置後 : ネ ッ ト リ ス ト コ ン ポーネ ン ト が実際のデバ イ ス リ ソ ース に配置 さ れます。 こ のパ ッ ク 情報に よ り
最終的な ロ ジ ッ ク リ ソ ース数お よ び設定がわか る ので、 Xilinx Power Estimator ス プ レ ッ ド シー ト で情報を
更新で き ます。
配線後 : 配線が完了す る と 、 使用 さ れ る 配線 リ ソ ース に関す る すべての詳細お よ びデザ イ ンに含まれ る 各パ
ス の正確な タ イ ミ ン グ情報が定義 さ れます。 シ ミ ュ レー タ では、 イ ンプ リ メ ン ト さ れた回路の機能をベス
ト ケースお よ びワ ース ト ケース のゲー ト お よ び配線遅延で検証す る こ と に加え、 グ リ ッ チを含む内部 ノ ー
ド の正確な ア ク テ ィ ビ テ ィ が レ ポー ト さ れます。 こ の レベルの消費電力解析では、 プ ロ ト タ イ プのボー ド
で消費電力を実際に計測す る 前の最 も 正確な消費電力が得 ら れます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
39
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
ベ ク タ ーレ ス見積 も り
デザ イ ン ノ ー ド のア ク テ ィ ビ テ ィ がユーザーま たはシ ミ ュ レーシ ョ ン結果か ら 供給 さ れない場合、 ベ ク タ ーレ ス消
費電力見積 も り アルゴ リ ズ ムで こ のア ク テ ィ ビ テ ィ が予測 さ れます。 ベ ク タ ーレ ス エン ジ ンは、 未定義 ノ ー ド すべ
てに初期シー ド (デフ ォ ル ト の信号レー ト お よ びス タ テ ィ ッ ク 確率) を割 り 当て、 デザ イ ンのプ ラ イ マ リ 入力か ら 内
部 ノ ー ド の出力ま でア ク テ ィ ビ テ ィ を伝搬 し 、 プ ラ イ マ リ 出力に到達す る ま で こ の操作を繰 り 返 し ます。 こ のアル
ゴ リ ズ ムでは、 デザ イ ンの接続性、 リ ソ ース の機能、 お よ び コ ン フ ィ ギ ュ レーシ ョ ンが識別 さ れます。 ヒ ュ ー リ ス
テ ィ ク ス に よ り 、 ネ ッ ト リ ス ト に含まれ る ど の ノ ー ド のグ リ ッ チ レー ト で も 見積 も る こ と がで き ます。 グ リ ッ チは、
デザ イ ン エ レ メ ン ト がア ク テ ィ ブな ク ロ ッ ク エ ッ ジ間で最終的な値に安定す る ま でに数回ス テー ト が変わ る と 発生
し ます。 ベ ク タ ーレ ス伝搬エン ジ ンは、 時間が比較的かか る 配線後のシ ミ ュ レーシ ョ ンほ ど正確ではあ り ませんが、
精度 と 計算速度のバ ラ ン ス を取っ た優れた方法です。
重要 : ベ ク タ ーレ ス の消費電力見積 も り では、 GT の出力ポー ト にア ク テ ィ ビ テ ィ が伝搬 さ れません。 デザ イ ン ロ
ジ ッ ク がア ク テ ィ ビ テ ィ レー ト に よ っ て異な る 場合、set_switching_activity -type <rx_data|tx_data>
コ マ ン ド で GT 出力のア ク テ ィ ビ テ ィ レー ト を明示的に指定 し て、 正確な解析が実行 さ れ る よ う にする 必要があ り
ます。
ヒ ン ト : ベ ク タ ーレ ス の消費電力見積 も り は、 ス イ ッ チン グ レー ト お よ びス タ テ ィ ッ ク 確率を明確に置 き 換え ない
限 り 、 デザ イ ンの平均消費電力見積 も り にな り ます。
ベ ク タ ーレ ス見積も り を改善するユーザー入力
特定の ノ ー ド のア ク テ ィ ビ テ ィ は、 シ ス テ ムの仕様ま たは FPGA が通信す る イ ン タ ーフ ェ イ ス に よ り 決定 さ れ る の
で、 ど のデザ イ ンで も 通常は既知です。 特に FPGA の複数のセルを駆動す る ノ ー ド (セ ッ ト 、 リ セ ッ ト 、 ク ロ ッ ク イ
ネーブル、 ク ロ ッ ク 信号) に対 し て こ の情報を ツールに供給する と 、 消費電力見積 も り に有益です。
こ れ ら の ノ ー ド には、 次が含まれます。
•
ク ロ ッ ク ア ク テ ィ ビテ ィ
すべての FPGA ク ロ ッ ク ド メ イ ンの正確な周波数、 お よ び外部か ら 供給 さ れ る のか (入力ポー ト )、 内部で生成
さ れ る のか、 ま たは外部か ら プ リ ン ト 回路基板に供給 さ れ る のか (出力ポー ト ) は、 通常判明 し てい ます。
デザ イ ンには、 create_clock を使用 し て指定 し た ク ロ ッ ク が少な く と も 1 つ含まれてい る 必要があ り ます。
ク ロ ッ ク が定義 さ れていない場合、 [Report Power] を実行する と 警告 メ ッ セージが表示 さ れ、 ス イ ッ チン グ ア ク
テ ィ ビ テ ィ の算出に 10GHz ク ロ ッ ク 周波数が使用 さ れます。
•
I/O デー タ ポー ト
FPGA に対する デー タ の入出力のプ ロ ト コ ルお よ びフ ォーマ ッ ト がわか っ てい る と 、 通常はツールで少な く と も
一部の I/O に対 し て信号の遷移レー ト や信号の ス タ テ ィ ッ ク 確率を指定で き ます。 た と えば、 プ ロ ト コ ルに DC
バ ラ ン ス要件 (信号の ス タ テ ィ ッ ク 確率が 50%) があ る 場合や、 メ モ リ イ ン タ ーフ ェ イ スへのデー タ の書き 込み
お よ び メ モ リ イ ン タ ーフ ェ イ ス か ら のデー タ の読み出 し 頻度がわか っ てい る 場合は、 ス ト ロ ーブ信号お よ び
デー タ 信号のデー タ レー ト を設定で き ます。
プ ラ イ マ リ 入力にユーザー ア ク テ ィ ビ テ ィ レー ト が指定 さ れていない場合、 [Report Power] を実行す る と デフ ォ
ル ト の ス タ テ ィ ッ ク 確率 0.5 と デフ ォ ル ト の ト グル レー ト 12.5% が割 り 当て ら れます。
•
I/O お よ び内部制御信号
シ ス テ ムお よ びその機能か ら 、 セ ッ ト 、 リ セ ッ ト 、 ク ロ ッ ク イ ネーブルな ど の制御信号のア ク テ ィ ビ テ ィ を予
測で き る 場合があ り ます。 こ れ ら の信号は通常、 デザ イ ン ロ ジ ッ ク の広範囲部分をオン、 オ フ にで き る ので、
こ のア ク テ ィ ビ テ ィ 情報を供給す る こ と で消費電力見積 も り の精度が高 く な り ます。
プ ラ イ マ リ 入力が リ セ ッ ト であ る (順次エ レ メ ン ト の RESET ピ ンに直接接続 さ れてい る ) 場合は、 デフ ォ ル ト の
ス タ テ ィ ッ ク 確率 0 と デフ ォ ル ト の信号レー ト 0 が割 り 当て ら れます。 同様に、 プ ラ イ マ リ 入力が ク ロ ッ ク イ
ネーブルであ る (順次エ レ メ ン ト の CE ピ ンに直接接続 さ れてい る ) 場合は、デフ ォ ル ト の ス タ テ ィ ッ ク 確率 0.99
と デフ ォ ル ト の信号レー ト 2 が割 り 当て ら れます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
40
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
Vivado IDE からの消費電力解析の設定
[Report Power] ダ イ ア ロ グ ボ ッ ク ス で環境、 ア ク テ ィ ビ テ ィ 、 電源、 お よ びツール デフ ォ ル ト を指定す る には、 次を
実行 し ます。 図 4-2 を参照 し て く だ さ い。
1.
[Flow] → [Open Synthesized Design] ま たは [Flow] → [Open Implemented Design] を ク リ ッ ク し ます。
ま たは、 Flow Navigator で こ れ ら を ク リ ッ ク し ます。
2.
[Tool] → [Report] → [Report Power] を ク リ ッ ク し ます。
ま たは、 Flow Navigator で [Report Power] を ク リ ッ ク し ます。
3.
[Report Power] ダ イ ア ロ グ ボ ッ ク ス で、 デバ イ ス の環境お よ びツール設定を指定 し ます。
°
[Report Power] ダ イ ア ロ グ ボ ッ ク ス の各 タ ブで、 デザ イ ンの環境に合わせて設定を変更 し ます。
°
環境お よ び電圧設定は、 デバ イ ス の ス タ テ ィ ッ ク 消費電力に大 き く 影響 し ます。
°
ア ク テ ィ ビ テ ィ レー ト お よ び電圧設定は、 ダ イ ナ ミ ッ ク 消費電力に大き く 影響 し ます。
°
特定の設定が不明の場合は、 デフ ォ ル ト の値を使用 し て く だ さ い。
°
シ ミ ュ レーシ ョ ン結果か ら のア ク テ ィ ビ テ ィ フ ァ イ ルがあ る 場合、 こ のダ イ ア ロ グ ボ ッ ク ス で指定で き
ます。
こ れ ら の段階の詳細は、 第 3 章の 「デバ イ ス/デザ イ ン設定を確認 し て既知のエ レ メ ン ト のア ク テ ィ ビ テ ィ を調
整」 を参照 し て く だ さ い。
4.
レ ポー ト 名を指定 し ます。
Vivado IDE からの消費電力解析の実行
[Report Power] ダ イ ア ロ グ ボ ッ ク ス で [OK] を ク リ ッ ク し 、 消費電力解析を開始 し ます。 ツールで次が実行 さ れます。
1.
環境、 デバ イ ス、 お よ びツール オプシ ョ ンが考慮 さ れます。
2.
ネ ッ ト リ ス ト の接続お よ び コ ン フ ィ ギ ュ レーシ ョ ンが読み込まれます。
3.
定義 し た ノ ー ド のア ク テ ィ ビ テ ィ が適用 さ れます。
ノ ー ド と は、 ネ ッ ト 、 ピ ン、 ポー ト な ど の コ ン ポーネ ン ト です。
4.
残 り の未定義 ノ ー ド のア ク テ ィ ビ テ ィ が決定 さ れ、 温度お よ び電源電力が算出 さ れます。
消費電力解析では、 ア ク テ ィ ビ テ ィ の定義に次の よ う な情報が使用 さ れます。
•
シ ミ ュ レーシ ョ ン フ ァ イ ル (SAIF)
•
ベ ク タ ーレ ス消費電力解析手法を使用 し た自動計算
•
set_switching_activity Tcl コ マ ン ド を使用 し た手動定義
詳細は、 「Tcl プ ロ ンプ ト か ら の消費電力解析の実行」 を参照 し て く だ さ い。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
41
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
制御信号のア ク テ ィ ビ テ ィ の調整
正確な消費電力解析用に SAIF ベース のア ノ テーシ ョ ン を使用 し た場合は、 最初の解析を実行 し た後に消費電力解析
を調整で き ます。
[Report Power] コ マ ン ド では、 すべての制御信号が [Power] ウ ィ ン ド ウ の [Signals] に リ ス ト さ れます。 アプ リ ケー
シ ョ ンの予測 さ れ る 動作か ら 、 一部のセ ッ ト / リ セ ッ ト 信号が通常のデザ イ ン動作ではア ク テ ィ ブではない こ と な ど
がわか る 場合は、 こ れ ら の信号のア ク テ ィ ビ テ ィ を調整す る と 有益です。 同様に、 ブ ロ ッ ク が使用 さ れない と き に、
アプ リ ケーシ ョ ンに含まれ る 一部の信号がブ ロ ッ ク 全体をデ ィ ス エーブルにする こ と があ り ます。 機能に合わせて
ア ク テ ィ ビ テ ィ を調整 し て く だ さ い。
合成お よ び配置配線アルゴ リ ズ ムでは、 RTL 記述を最適化する ために制御信号が推論ま たはマ ッ プ し 直 さ れ る こ と
があ る ので、 こ れ ら のビ ュ ーに表示 さ れ る 信号に不明な信号が含まれてい る こ と があ り ます。 こ れ ら の信号が何な
のかがわか ら ない場合は、 ツールで こ れ ら のア ク テ ィ ビ テ ィ が決定 さ れ る よ う に し ます。
Vivado IDE からの消費電力レポー ト の解析
消費電力レ ポー ト お よ び解析ビ ュ ーは Vivado IDE に統合 さ れてい ます (図 4-4)。 さ ま ざ ま な消費電力ビ ュ ーを表示で
き る だけではな く 、 既存のビ ュ ー と 連動 さ せ る こ と も 可能です。
•
[Power] ウ ィ ン ド ウ の [Settings] ページに、 消費電力の算出に使用 さ れたデバ イ ス、 ツール、 お よ び環境設定がす
べて表示 さ れます。
•
[Summary] ページには、 重要な温度お よ び電源電力の結果のサマ リ が表示 さ れます。
[Utilization Details] セ ク シ ョ ンの各 リ ソ ース タ イ プのページ ま たは [Netlist] ウ ィ ン ド ウ で リ ソ ース タ イ プを選択す る
と 、 [Properties] ウ ィ ン ド ウ の [Statistics] ビ ュ ーに選択 し たエ レ メ ン ト の コ ン フ ィ ギ ュ レーシ ョ ン、 使用量、 ア ク テ ィ
ビ テ ィ の詳細が表示 さ れます。 複数の レ ポー ト を生成 し て、 異な る 動作条件やア ク テ ィ ビ テ ィ パ タ ーンでの消費電
力を見積 も り で き ます。
[Utilization Details] セ ク シ ョ ンの値 ([Clocks] ページの [Frequency] ま たは [I/O] ページの [Signal Rate] な ど) には、 消費
電力解析を実行す る ために [Report Power] で使用 さ れた値の ソ ース を示すために色分け さ れてい る も のがあ り ます。
ウ ィ ン ド ウ の下部に、 その色が ど の ソ ース を意味す る のか示 さ れます。 た と えば、 値がシ ミ ュ レーシ ョ ン ア ク テ ィ
ビ テ ィ フ ァ イ ルか ら 提供 さ れてい る のか、 ユーザー定義なのか、 ベ ク タ ーレ ス伝搬エン ジ ンで割 り 当て ら れたデ
フ ォ ル ト 値なのかがわか り ます。
X-Ref Target - Figure 4-3
図 4-3 : 消費電力レポー ト の色分け
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
42
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
重要 : [Report Power] では、 IP イ ン テ グ レー タ ーを使用 し て コ ン フ ィ ギ ュ レーシ ョ ン し た Zynq-7000 ブ ロ ッ ク の
Zynq®-7000 AP SoC 消費電力解析がサポー ト さ れます。 PS の使用お よ び機能は、 IP イ ン テ グ レー タ ー ツールで設定
し ます。 [Report Power] では、 こ れ ら の設定に基づいて消費電力が見積 も ら れます。 Vivado の消費電力見積 も り は読
み出 し 専用なので、 PS 特定のプ ロ セ ッ サの [Signal Rate] ま たは [Static Probability]、 イ ン タ ーフ ェ イ ス、 ま たは メ モ リ
を こ の段階で変更す る こ と はで き ません。 [PS] タ ブの各フ ィ ール ド の詳細は、 『Xilinx Power Estimator ユーザー ガ イ
ド 』 (UG440) [参照 4] の 「PS Sheet」 セ ク シ ョ ン を参照 し て く だ さ い。
X-Ref Target - Figure 4-4
図 4-4 : Vivado IDE での消費電力情報
消費電力レポー ト の保存 と 復元
レ ポー ト の保存 と 復元は、 2016.1 リ リ ース か ら Vivado に含まれ る よ う にな っ た新機能です。 こ の機能を使用す る と 、
Vivado IDE か ら の消費電力レ ポー ト を保存 し てか ら 、 必要な場合に開き 直す こ と がで き ます。 レ ポー ト は RPX 形式
で保存 さ れ、 次の Vivado Tcl コ マ ン ド でいつで も 開 く こ と がで き ます。
open_report
プ ロ ジ ェ ク ト モー ド で実行 し て、 イ ンプ リ メ ン ト 済みデザ イ ン を開 く と 、 消費電力レ ポー ト impl_1 が タ イ ミ ン グ レ
ポー ト の よ う にデフ ォ ル ト で開 き ます。
X-Ref Target - Figure 4-5
図 4-5 : 消費電力レポー ト
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
43
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
チ ェ ッ ク ポ イ ン ト フ ロ ーでは、 report_power Tcl コ マ ン ド で -rpx オプシ ョ ン を使用する と レ ポー ト を保存で き
ます。
report_power -rpx design_1_power.rpx
こ の保存 し た レ ポー ト は、 次の Tcl コ マ ン ド を使用する と Vivado IDE で開 く こ と がで き ます。
open_report -name rpx1 ./design_1_power.rpx
Vivado IDE での What-If 解析の実行
what-if 解析を実行す る には、 デザ イ ンのネ ッ ト お よ びセルに対 し て ト グル レー ト お よ びス タ テ ィ ッ ク 確率を設定 し
ます。 こ れ ら を設定す る には、 [Netlist] ウ ィ ン ド ウ、 回路図、 消費電力レ ポー ト でネ ッ ト ま たはセルを選択 し 、
[Properties] ウ ィ ン ド ウ の [Power] ビ ュ ーを ク リ ッ ク し ます (図 4-6)。 [Power] ビ ュ ーで [Edit Properties] ボ タ ン を ク リ ッ
ク し 、 [Edit Power Properties] ダ イ ア ロ グ ボ ッ ク ス で [Toggle rate] お よ び [Static probability] を設定 し 、 [OK] を ク リ ッ ク
し ます。
X-Ref Target - Figure 4-6
図 4-6 : [Net Properties] ウ ィ ン ド ウの [Power] ビ ュ ー
上記の例では、 [Toggle rate] は 1.5% に、 [Static probability] は 0.8 に設定 さ れてい ます。
[OK] を ク リ ッ ク す る と 、 Tcl コ ン ソ ールに次の XDC 制約が表示 さ れます。
set_switching_activity -toggle_rate 1.500000 -static_probability 0.800000 [get_nets en_a]
重要 : こ の XDC 制約に よ り 、 デザ イ ンはア ッ プデー ト が必要な状態にな り ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
44
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
消費電力制約ア ド バイザー
消費電力制約ア ド バ イ ザー (Power Constraints Advisor) は、 ツールで算出 さ れたデザ イ ン内の制御信号すべての ス
イ ッ チン グ ア ク テ ィ ビ テ ィ を レ ポー ト し ます。 制御信号には、 リ セ ッ ト お よ び イ ネーブル ( リ セ ッ ト 、 セ ッ ト 、 ク リ
ア、 プ リ セ ッ ト な ど) が含まれます。 妥当な ス イ ッ チン グ ア ク テ ィ ビ テ ィ を供給する こ と に よ り 、 正確な消費電力見
積 も り を得 る こ と がで き ます。
消費電力制約ア ド バ イ ザーを実行す る には、 Vivado IDE で [Tools] → [Power Constraints Advisor] を ク リ ッ ク し ます。
X-Ref Target - Figure 4-7
図 4-7 : 消費電力制約ア ド バイザー
レ ポー ト の表を確認 し 、 非ア ク テ ィ ブな イ ネーブルや必要以上の時間アサー ト さ れ る リ セ ッ ト 信号な ど、 ク リ テ ィ
カルな制御信号の ス イ ッ チン グ ア ク テ ィ ビ テ ィ が不正な場合は修正 し ます。
消費電力制約ア ド バ イ ザー レ ポー ト には、 次の制約が表示 さ れます。
[Net] : ネ ッ ト は、 制御セ ッ ト か BRAM イ ネーブルのいずれかです。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
45
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
[Confidence] : ネ ッ ト の ス イ ッ チン グ ア ク テ ィ ビ テ ィ がど の程度正確か (信頼性レベル) を示 し ます。 ネ ッ ト の信頼性
レベルを算出す る 際に消費電力ツールで使用 さ れ る し き い値は、 次の と お り です。
•
セ ッ ト / リ セ ッ ト /プ リ セ ッ ト / ク リ ア
X-Ref Target - Figure 4-8
図 4-8 : 消費電力ツールの し き い値
•
BRAM イ ネーブル
X-Ref Target - Figure 4-9
図 4-9 : BRAM イ ネーブル
注記 :
•
BRAM イ ネーブルに正 し い ス タ テ ィ ッ ク 確率を設定す る と 、 該当す る ネ ッ ト はア ド バ イ ザーに表示 さ れません。
•
信頼性レベルが Low の場合、 BRAM はデザ イ ンでア ク テ ィ ブではないので、 削除で き る か ど う かを再検討 し て
く だ さ い。
[Fanout] : 各制御信号のフ ァ ン ア ウ ト (駆動 さ れ る 最下位プ リ ミ テ ィ ブの数) を示 し ます。 フ ァ ン ア ウ ト が大き い信号
は、 確認 し て修正す る こ と が最 も 重要な信号です。 フ ァ ン ア ウ ト の大 き い信号は、 デザ イ ンの大部分のダ ウ ン ス ト
リ ーム ス イ ッ チン グ をデ ィ ス エーブルにする こ と がで き る ので、 消費電力がかな り 低 く レ ポー ト さ れ る 可能性があ
る か ら です。 フ ァ ン ア ウ ト の少ない信号は ス イ ッ チン グが不正確であ っ て も 影響が小 さ いので、 重要度は低 く な り
ます。
[Fanout Type] : ネ ッ ト が制御セ ッ ト (セ ッ ト 、 リ セ ッ ト 、 ク リ ア、 プ リ セ ッ ト ) か BRAM イ ネーブルかを示 し ます。 制
御ネ ッ ト に複数のエン ト リ があ る 場合、 こ れ ら のネ ッ ト に複数の フ ァ ン ア ウ ト があ り 、 フ ァ ン ア ウ ト セルの異な る
ピ ン を駆動す る こ と を意味 し ます。
[Polarity] : 制御セ ッ ト の極性を示 し ます。 ネ ッ ト の ス タ テ ィ ッ ク 確率を設定す る 際は、 極性に注意 し て く だ さ い。
[Static Probability] : 編集可能な フ ィ ール ド で、 ネ ッ ト の フ ァ ン ア ウ ト タ イ プ と 極性に基づいた正 し いア ク テ ィ ビ テ ィ
を入力す る 必要があ り ます。
[Toggle Rate] : ネ ッ ト の ト グル レー ト を示 し ます。 こ の フ ィ ール ド は編集可能で、 ス タ テ ィ ッ ク 確率に基づいて入力
す る 必要があ り ます。
消費電力制約ア ド バ イ ザーは、 次の よ う に使用す る こ と をお勧め し ます。
1.
[Confidence] 列を ク リ ッ ク し て Low が一番上にな る よ う に並べ替え ます。
2.
Ctrl キーを押 し なが ら [Fanout] 列を 2 回 ク リ ッ ク し て、 高い値か ら 低い値の順に並べ替え ます。
3.
信頼性レベルが Low で フ ァ ン ア ウ ト が 200 を超え る 制御ネ ッ ト すべて を確認 し 、 新 し い [Static Probability] と
[Toggle Rate] を定義 し ます。
4.
[OK] を ク リ ッ ク し てデザ イ ンに制約を適用 し 、 [Report Power] コ マ ン ド を再実行 し ます。
次は、 制御セ ッ ト お よ び BRAM イ ネーブルに正確な ス イ ッ チン グ ア ク テ ィ ビ テ ィ を設定 し やす く す る 例です。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
46
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
ア ク テ ィ ブ High リ セ ッ ト 、 ス タ テ ィ ッ ク 確率 0.9 : リ セ ッ ト が 90% の時間 High (ア ク テ ィ ブ) であ る こ と を意味 し ま
す。 ロ ー ド セルが 90% の時間 リ セ ッ ト さ れ る と い う こ と なので、 こ れは多すぎ ます。 [Static Probability] を 0 に、
[Toggle Rate] を 0 に設定 し て、 リ セ ッ ト が非ア ク テ ィ ブ ( よ り 現実的な状態) にな る よ う に ス イ ッ チン グ ア ク テ ィ ビ
テ ィ を変更 し て く だ さ い。
BRAM イ ネーブル、 ス タ テ ィ ッ ク 確率 0、 ト グル レー ト 0 : BRAM が イ ネーブルにな ら ない こ と を示 し てお り 、 こ れ
は非現実的です。 25% の イ ネーブル レー ト ([Static Probability] を 0.25、 [Toggle Rate] を 50) な ど、 BRAM イ ネーブル
に よ り 現実的な ス イ ッ チン グ ア ク テ ィ ビ テ ィ を割 り 当てて く だ さ い。
注記 : 次の コ マ ン ド を使用す る と 、 消費電力ア ド バ イ ザ リ のテ キ ス ト レ ポー ト を生成で き ます。
report_power -advisory -file power_report.pwr
ア ド バ イ ザ リ の表は、 こ の レ ポー ト フ ァ イ ルの最後に追加 さ れます。
Tcl イ ン タ ー フ ェ イ ス を使用 し た消費電力解析
こ のセ ク シ ョ ンでは、 Tcl イ ン タ ーフ ェ イ ス を使用 し た典型的な消費電力解析フ ロ ーを説明 し ます。 「消費電力解析
の Tcl コ マ ン ド 」 に、 消費電力解析に関連す る コ マ ン ド を リ ス ト し ます。
特定の コ マ ン ド のオプシ ョ ン、 プ ロ パテ ィ 、 適用可能なエ レ メ ン ト 、 お よ び戻 り 値は、 次を参照 し て く だ さ い。
•
「<command_name> -help」 と 入力
•
『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) [参照 2] を参照
•
『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) [参照 3] を参照
消費電力解析の Tcl コ マ ン ド
•
read_saif
•
set_switching_activity
•
set_operating_conditions
•
report_switching_activity
•
report_operating_conditions
•
report_power
•
reset_switching_activity
•
reset_operating_conditions
•
set_units
消費電力解析に影響する タ イ ミ ング制約
•
create_clock
•
create_generated_clock
•
set_input_delay
•
set_case_analysis
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
47
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
Tcl プ ロ ン プ ト からの消費電力解析の設定
消費電力見積 も り を実行す る 前に、 デバ イ ス の環境、 デザ イ ン ネ ッ ト リ ス ト の既知の ス イ ッ チン グ ア ク テ ィ ビ テ ィ
レー ト を指定す る 必要があ り ます。 こ れに よ り 、 消費電力見積 も り が正確な も のにな り ます。
•
「デバ イ ス環境」
•
「ネ ッ ト リ ス ト エ レ メ ン ト ア ク テ ィ ビ テ ィ 」
•
「set_case_analysis」
デバイ ス環境
次の よ う なデバ イ ス動作条件をすべて指定 し ます。
•
•
•
温度
°
周辺温度
°
ヒ ー ト シン ク
電圧
°
VCCINT
°
VCCAUX
°
VCCO
デバ イ ス
°
温度グ レー ド
°
プ ロ セ ス コ ーナー
次の コ マ ン ド を使用 し ます。
•
report_operating_conditions
すべて ま たは指定 し た動作条件設定を レ ポー ト し ます。 次に例を示 し ます。
report_operating_conditions
# Reports all
report_operating_conditions -voltage
•
set_operating_conditions
指定 さ れてい る 動作条件パ ラ メ ー タ ーを変更 し ます。 次に例を示 し ます。
set_operating_conditions -process maximum -junction_temperature 50
set_operating_conditions -voltage {vccint 0.97 vccaux 1.71}
•
reset_operating_conditions
指定 さ れてい る 動作条件パ ラ メ ー タ ーま たはすべてのパ ラ メ ー タ ーを、 選択 し たデバ イ ス のデフ ォ ル ト 値に戻
し ます。 次に例を示 し ます。
reset_operating_conditions
# Resets all
reset_operating_conditions -voltage
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
48
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
ネ ッ ト リ ス ト エレ メ ン ト アクテ ィ ビテ ィ
次の コ マ ン ド を使用 し て、 信号ま たは ト グル レー ト お よ びス タ テ ィ ッ ク 確率な ど の ス イ ッ チン グ ア ク テ ィ ビ テ ィ 、
お よ び既知のネ ッ ト リ ス ト エ レ メ ン ト の ク ロ ッ ク 波形情報を定義 し ます。
•
set_switching_activity
指定 し たエ レ メ ン ト のア ク テ ィ ビ テ ィ を設定 し ます。 ス タ テ ィ ッ ク 確率 と 信号レー ト のいずれかか、 ス タ テ ィ ッ
ク レー ト と ト グル レー ト のいずれか を設定で き ます。 次に例を示 し ます。
°
プ ラ イ マ リ ポー ト と デザ イ ン全体のブ ラ ッ ク ボ ッ ク ス出力のデフ ォ ル ト の ス イ ッ チン グ ア ク テ ィ ビ テ ィ を
設定す る には、 次を入力 し ます。
set_switching_activity -default_static_probability 0.5 -default_toggle_rate 12.5
°
ポー ト /ネ ッ ト /ピ ンの信号レー ト を設定する には、 次を入力 し ます。
set_switching_activity -static_probability 0.5 -signal_rate 50 [get_ports din*]
重要 : ス タ テ ィ ッ ク 確率が 0 よ り 大 き く 1 未満の場合、 信号レー ト は 0 よ り 大 き く す る 必要があ り ます。
同様に、 信号レー ト が 0 の場合、 ス タ テ ィ ッ ク 確率は 0 ま たは 1 にす る 必要があ り ます。
ス タ テ ィ ッ ク 確率 と 信号レー ト は、 一緒に指定す る 必要があ り ます。
°
ポー ト /ネ ッ ト /ピ ンの ト グル レー ト を設定す る には、 次を入力 し ます。
set_switching_activity -static_probability 0.5 -toggle_rate 25 [get_nets din_int*]
ト グル レー ト はエ レ メ ン ト に関連付け ら れた ク ロ ッ ク 専用の も ので、 有効な値の範囲は 0 ~ 100 です。
ノ ー ド グループに対 し て ス イ ッ チン グ ア ク テ ィ ビ テ ィ を設定す る 方法は、 次の と お り です。
°
set_switching_activity コ マ ン ド は、 -type オプシ ョ ン を付け る と 、 ノ ー ド グループ ( タ イ プ) のア
ク テ ィ ビ テ ィ レー ト を設定す る のに も 使用で き ます。 次の表は、 サポー ト さ れ る タ イ プ を示 し てい ます。
表 4-1 : ス イ ッ チ ング ア ク テ ィ ビ テ ィ の Tcl コ マ ン ド の タ イ プ (-type オプ シ ョ ン)
タ イ プ名
ス イ ッ チ ング ア ク テ ィ ビ テ ィ
ピ ン名
セル名
bram_enable
BRAM の イ ネーブル ピ ン
ENARDEN/ENBWREN
RAMB36/18
bram
BRAM のア ク テ ィ ブ デー タ 出力
すべて
DOADO/DOBDO
RAMB36/18
bram_wr_enable
BRAM の書 き 込み イ ネーブル ピ ン
WEA/WEBWE
RAMB36/18
register
FF/ ラ ッ チの出力ピ ン
Q
FD*
shift_register
シ フ ト レ ジ ス タ の出力ピ ン
Q
SRL*
lut_ram
RAM の出力デー タ ピ ン
O
RAM(32|64|128|256)*
lut
出力ピ ン
O
LUT*
dsp
DSPデー タ 出力すべて
P/ACOUT/BCOUT/PCOUT
DSP48
gt_txdata
ポー ト の TX デー タ
TXDATA
GT*_CHANNEL
gt_rxdata
RX デー タ 出力ポー ト
RXDATA
GT*_CHANNEL
io_output
プ ラ イ マ リ 出力
get_ports -filter {DIRECTION
== OUT} && ‘I’ pin of OBUF*
& IOBUF*
OBUF*
io_bidir_enable
Bidir ポー ト の イ ネーブル ピ ン
T
OBUF*
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
49
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
set_switching_activity コ マ ン ド の -type の使用例
デザ イ ンの最上位ス コ ープの LUT に指定 し た ス イ ッ チン グ ア ク テ ィ ビ テ ィ を設定 :
set_switching_activity -type lut –static_probability 0.5 –toggle_rate 25 [get_cells]
CPU/MEM の階層のすべての レ ジ ス タ に指定 し た ト グル レー ト と ス タ テ ィ ッ ク 確率を設定 :
set_switching_activity -type register -toggle_rate 0.4 -static_probability 0.5 [get_cells CPU/MEM]
CPU/ の階層 と その下の階層のすべての レ ジ ス タ に指定 し た ト グル レー ト と ス タ テ ィ ッ ク 確率を設定 :
set_switching_activity -type register -toggle_rate 0.4 -static_probability 0.5 –hier [get_cells CPU]
すべてのプ ラ イ マ リ 出力に指定 し た ス イ ッ チン グ ア ク テ ィ ビ テ ィ を設定 :
set_switching_activity -type io_output –static_probability 0.5 -toggle_rate 0.4 -all
重要 : 理想的には ト グル レー ト にはグ リ ッ チ レー ト は含まれ る べ き ではな く 、 次の条件が満た さ れてい る 必要があ
り ます。
(toggle_rate/200) =< static_probability =< 1-(toggle_rate/200)
グ リ ッ チ ス イ ッ チを考慮す る には、 信号レー ト 設定 と 実際のア ク テ ィ ビ テ ィ レー ト を一緒に使用 し ます。
重要 : set_switching_activity を使用 し て も デザ イ ン ク ロ ッ ク ネ ッ ト には影響 し ません。 ク ロ ッ ク ネ ッ ト のア
ク テ ィ ビ テ ィ を変更す る には、 タ イ ミ ン グ制約 (create_clock、 create_generated、 set_case_analysis な
ど) を使用 し て く だ さ い。
•
report_switching_activity
指定 し たエ レ メ ン ト のア ク テ ィ ビ テ ィ を レ ポー ト し ます。 ス タ テ ィ ッ ク 確率、 信号レー ト お よ び ト グル レー ト
を表示 し ます。 割 り 当て ら れた ス イ ッ チン グ ア ク テ ィ ビ テ ィ の ソ ース も 表示 し ます。
report_switching_activity コ マ ン ド の例は、 次の と お り です。
°
単一ネ ッ ト の ス タ テ ィ ッ ク 確率、 信号レー ト 、 ト グル レー ト を レ ポー ト :
Vivado% report_switching_activity -static_probability [get_ports clk_p]
clk_p:
static probability = 0.5 (C)
Vivado% report_switching_activity
clk_p:
(C)
[get_ports clk_p]
static probability = 0.5 (C)
signal rate = 400 (C) toggle rate = 200
割 り 当て ら れた ス イ ッ チン グ ア ク テ ィ ビ テ ィ の ソ ース は、 (C) = XDC 制約、 (D) = ト グル デフ ォ ル ト 、
(S) = SAIF ア ノ テー ト 、 (A) = ユーザー割 り 当て、 で記述 さ れます。
°
グループ ノ ー ド を レ ポー ト :
-
階層 CPU/ の分散 RAM すべての ス イ ッ チン グ ア ク テ ィ ビ テ ィ を レ ポー ト :
report_switching_activity –type lut_ram
-
[get_cells CPU/*]
デザ イ ンの GT RXDATA すべての ス イ ッ チン グ ア ク テ ィ ビ テ ィ を レ ポー ト :
report_switching_activity –type gt_rxdata -all
サポー ト さ れ る タ イ プについては、 表 4-1 を参照 し て く だ さ い。
•
reset_switching_activity
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
50
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
特定のネ ッ ト リ ス ト エ レ メ ン ト のア ク テ ィ ビ テ ィ レー ト (ス タ テ ィ ッ ク 確率、 信号レー ト 、 お よ び ト グル レー
ト ) を ツールのデフ ォ ル ト 値に リ セ ッ ト し ます。 こ の コ マ ン ド では、 ユーザー指定の値 と シ ミ ュ レーシ ョ ン ア ク
テ ィ ビ テ ィ レー ト 設定の両方が リ セ ッ ト さ れます。 次に例を示 し ます。
°
プ ラ イ マ リ ポー ト と デザ イ ン全体のブ ラ ッ ク ボ ッ ク ス出力のデフ ォ ル ト の ス イ ッ チン グ ア ク テ ィ ビ テ ィ を
リ セ ッ ト す る には、 次を入力 し ます。
reset_switching_activity -default
°
デザ イ ン全体のア ク テ ィ ビ テ ィ レー ト を リ セ ッ ト する には、 次を入力 し ます。
reset_switching_activity -all
°
特定のポー ト /ネ ッ ト /ピ ンのア ク テ ィ ビ テ ィ レー ト を リ セ ッ ト す る には、 次を入力 し ます。
reset_switching_activity [get_ports din*]
°
ノ ー ド グループのア ク テ ィ ビ テ ィ レー ト を リ セ ッ ト :
-
デザ イ ン全体の BRAM イ ネーブル (ENARDEN/ENBWREN) すべての ス イ ッ チン グ ア ク テ ィ ビ テ ィ を リ
セッ ト :
reset_switching_activity –type bram_enable -all
-
階層 CPU/ と その下の レベルのすべての LUT の ス イ ッ チン グ ア ク テ ィ ビ テ ィ を リ セ ッ ト :
reset_switching_activity –type lut –hier [get_cells CPU/MEM]
サポー ト さ れ る タ イ プについては、 表 4-1 を参照 し て く だ さ い。
•
read_saif
SAIF シ ミ ュ レーシ ョ ン出力フ ァ イ ルを読み込んで、 一致す る ネ ッ ト リ ス ト エ レ メ ン ト に こ の フ ァ イ ルに記述 さ
れてい る ス イ ッ チン グ ア ク テ ィ ビ テ ィ を ア ノ テー ト し ます。 次は、 その具体例です。
read_saif -out_file read_saif.rpt -strip_path tb/tb_core/core -file routed.saif
read_saif のオプシ ョ ンは、 次の と お り です。
-out_file : 不一致のシ ミ ュ レーシ ョ ンお よ びデザ イ ン ネ ッ ト リ ス ト を フ ァ イ ルにダ ンプ し ます。
-strip_path : デフ ォ ル ト では、 デザ イ ン最上位がテ ス ト ベンチに イ ン ス タ ン シエー ト さ れた と 想定 さ れ
ます。 こ のため、 階層の最初の 2 レベルは SAIF デー タ がデザ イ ンにア ノ テー ト さ れ る 間に削除 さ れます。
シ ミ ュ レーシ ョ ン設定に複数の階層レベルが含まれ る 場合は、 SAIF か ら 階層を削除 さ れ る 階層を指定 し
て、 実際のデザ イ ンに近い状態にな る よ う に し ます。
read_saif コ マ ン ド では、 SAIF ア ノ テーシ ョ ン サマ リ も 表示 さ れ、 一致す る デザ イ ン ネ ッ ト の数が表示 さ れ
ます。 正確な解析には 100% のデザ イ ン ネ ッ ト 一致が理想的です。
重要 : デザ イ ンに暗号化 さ れた IP/ブ ロ ッ ク が含まれてい る と 、 シ ミ ュ レー タ では こ れ ら の IP/ブ ロ ッ ク お よ び暗号化
さ れた階層の内部ブ ロ ッ ク に対 し て SAIF 情報が出力 さ れません。 こ の不完全な SAIF 情報が消費電力見積 も り の精
度に影響す る 可能性があ り ます。
read_saif コ マ ン ド では、 デザ イ ン ク ロ ッ ク ネ ッ ト のア ク テ ィ ビ テ ィ は変更 さ れません。 ク ロ ッ ク ネ ッ ト ア ク
テ ィ ビ テ ィ は、 タ イ ミ ン グ制約で駆動 さ れます。
read_saif コ マ ン ド は、 各 SAIF フ ァ イ ルに対 し て複数回実行で き ます。 こ れに よ り 、 デザ イ ンの異な る ブ ロ ッ ク
に複数の SAIF フ ァ イ ルを読み込む こ と がで き ます。 すべての SAIF フ ァ イ ルか ら の ス イ ッ チン グ ア ク テ ィ ビ テ ィ を
考慮 し て消費電力が見積 も ら れます。 同 じ ネ ッ ト が複数の SAIF フ ァ イ ルに含まれ る 場合は、 read_saif コ マ ン ド
を使用 し て最後に読み込んだ SAIF フ ァ イ ルか ら の ス イ ッ チン グ ア ク テ ィ ビ テ ィ が適用 さ れます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
51
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
•
create_clock
ク ロ ッ ク 波形を指定す る 合成/ イ ンプ リ メ ン テーシ ョ ン制約です。 次に例を示 し ます。
create_clock -name clk -period 5 [get_ports clk];
•
# 200MHz
create_generated_clock
生成 ク ロ ッ ク 波形を指定す る 合成/ イ ンプ リ メ ン テーシ ョ ン制約です。 次に例を示 し ます。
create_generated_clock -name gen_clk -source clk1 -divide_by 2 [get_net -hier sys_clk]
•
set_input_delay
プ ラ イ マ リ 入力を特定の ク ロ ッ ク に関連付け ます。 こ れは複数 ク ロ ッ ク のデザ イ ンの場合、 特にプ ラ イ マ リ
ポー ト が異な る ク ロ ッ ク で起動 さ れ る 場合に重要です。 次に例を示 し ます。
create_clock -name clk1 -period 5 [get_ports clk]
set_input_delay -clock clk1 1 [get_ports d]
注記 : プ ラ イ マ リ ポー ト が ど の ク ロ ッ ク と も 関連付け ら れていない場合、 ス イ ッ チン グ レー ト はパ ス のデス
テ ィ ネーシ ョ ン ク ロ ッ ク に基づいて計算 さ れます。
デフ ォ ル ト では、 create_clock お よ び create_generated_clock は XDC フ ァ イ ルで定義 さ れてい る ので、 再
実行す る 必要はあ り ません。 ただ し 、 [Report Power] の ク ロ ッ ク 周波数を変更する な ど what-if 解析を実行す る には、
変更を反映 さ せ る ために create_clock ま たは create_generated_clock を使用す る 必要があ り ます。
•
set_case_analysis
グ ロ ーバル ク ロ ッ ク プ リ ミ テ ィ ブ (BUFG、 BUFGCE、 BUFGCE_DIV、 BUFG_GT、 BUFGCTRL) の ク ロ ッ ク の
イ ネーブル/選択は、 set_case_analysis コ マ ン ド で指定 し ます。 こ の コ マ ン ド に よ り 、 タ イ ミ ン グ解析で ク
ロ ッ ク ロ ジ ッ ク を通過す る ク ロ ッ ク が特定 さ れます。 た と えば、 BUFGMUX のセ レ ク ト 信号を
set_case_analysis を使用 し て設定 し 、 タ イ ミ ン グ解析で正 し い ク ロ ッ ク が選択 さ れ る よ う にす る 必要があ
り ます。 こ れに よ り 、 [Report Power] で も 正 し い ク ロ ッ ク を使用 し て消費電力が見積 も ら れます。 BUGCE ブ
ロ ッ ク の場合、 CE 入力を set_case_analysis を使用 し て設定 し 、 ク ロ ッ ク 出力を イ ネーブルま たはデ ィ ス
エーブルにす る 必要があ り ます。
最小限の入力セ ッ ト
消費電力見積 も り を実行す る 前に、 次を実行 し ます。
•
ア ク テ ィ ビ テ ィ は、 ネ ッ ト リ ス ト のすべての ク ロ ッ ク に対 し て定義 さ れ る よ う に し ます。
•
可能な場合、 Tcl コ マ ン ド を使用 し てデザ イ ンに含まれ る プ ラ イ マ リ 入力ポー ト のア ク テ ィ ビ テ ィ を指定す る
か、 ま たはシ ミ ュ レーシ ョ ン出力フ ァ イ ルを読み込みます。 こ れ ら のポー ト のア ク テ ィ ビ テ ィ レー ト が内部 ロ
ジ ッ ク のア ク テ ィ ビ テ ィ レー ト を決定する ので、 ツールのデフ ォ ル ト 設定がアプ リ ケーシ ョ ン と 一致 し ていな
い と 、 内部 ロ ジ ッ ク のア ク テ ィ ビ テ ィ が正 し く 見積 も ら れない可能性があ り ます。
•
HDL コ ー ド で定義 さ れてい る グ ロ ーバル セ ッ ト 、 リ セ ッ ト 、 ク ロ ッ ク イ ネーブル信号な ど、 フ ァ ン ア ウ ト が大
き いネ ッ ト のア ク テ ィ ビ テ ィ レー ト がわか っ てい る 場合は指定 し ます。
シ ミ ュ レーシ ョ ン結果フ ァ イ ルを読み込む際には、 ア ク テ ィ ビ テ ィ が ワース ト ケース デザ イ ンの論理ア ク テ ィ ビ
テ ィ を記述 し た も の (最大デザ イ ン コ ー ド カバレ ッ ジが達成 さ れたシ ミ ュ レーシ ョ ン結果) であ る よ う に し て く だ さ
い。 ベーシ ッ ク お よ び コ ーナー ケース テ ス ト のシ ミ ュ レーシ ョ ン結果を使用す る と 、 消費電力が正確に見積 も ら れ
ない可能性があ り ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
52
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
Tcl プ ロ ン プ ト からの消費電力解析の実行
環境お よ びア ク テ ィ ビ テ ィ をすべて定義 し た ら 、 report_power コ マ ン ド を使用 し て消費電力解析アルゴ リ ズ ム を
実行で き ます。 次に例を示 し ます。
Vivado% report_power -file routed.pwr -xpe design_top.xpe
ツールで次が実行 さ れます。
1.
環境設定お よ びデザ イ ンのネ ッ ト リ ス ト が読み込まれます。
2.
入力フ ァ イ ルま たは Tcl コ マ ン ド を使用 し て指定 し たネ ッ ト リ ス ト エ レ メ ン ト のア ク テ ィ ビ テ ィ がア ノ テー ト
さ れます。
注記 : 未定義の ノ ー ド には、 ベ ク タ ーレ ス伝搬エン ジ ンに よ り 、 既知のエ レ メ ン ト のア ク テ ィ ビ テ ィ 、 ロ ジ ッ ク
の構成お よ び接続に基づいて ア ク テ ィ ビ テ ィ が見積 も ら れます。
3.
デザ イ ンの温度お よ び電源電力が計算お よ びレ ポー ト さ れます。
Tcl プ ロ ン プ ト からの消費電力レポー ト の解析
デザ イ ンの消費電力を解析す る には、 まず消費電力レ ポー ト に含まれてい る 温度お よ び電源電力情報を確認 し ます
(図 4-10)。
次に、 要件に対す る デザ イ ン マージ ンに よ っ て、 リ ソ ース ま たは階層セ ク シ ョ ン を確認 し ます。 こ れ ら のセ ク シ ョ
ンには、 デザ イ ンの消費電力の分配が詳細に示 さ れます。 解析の結果、 Xilinx Power Estimator に戻 り 、 デザ イ ンの
アーキ テ ク チ ャ シナ リ オ を実行す る 必要が出て く る 可能性があ り ます。
what-if シナ リ オを実行 し 、 次の設定を変更 し た場合の影響を評価で き ます。
•
環境
•
デバ イ ス
•
イ ンプ リ メ ン テーシ ョ ン
•
消費電力ツール
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
53
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
X-Ref Target - Figure 4-10
図 4-10 : 消費電力および温度情報を含むテキス ト 形式レポー ト
使用モデルの例
Vivado に含まれてい る cpu_hdl デザ イ ン を使用 し た場合の、 上記のセ ク シ ョ ン で説明 し た コ マ ン ド のほ と ん ど を含
むス ク リ プ ト 例を示 し ます。
消費電力レ ポー ト は Tcl コ マ ン ド を使用 し てダ イ ナ ミ ッ ク に実行で き ます。 次に例を示 し ます。
vivado -mode batch -source power_analysis.tcl
ま たは、 Tcl ス ク リ プ ト を使用す る こ と も で き ます。 次に、 バ ッ チ モー ド で ス ク リ プ ト を実行する 場合の ス ク リ プ ト
例を示 し ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
54
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
例 1 : プ ロ ジ ェ ク ト モー ド での合成後および イ ン プ リ メ ン テーシ ョ ン後の消費電
力見積 も り および比較
#--------------------- Setup estimation --------------------# Open example project with HDL source files and timing constraints
create_project project_1 $work_dir/project_1 -part xc7k70tfbg676-2 -force
set_property target_language VHDL [current_project]
instantiate_example_design -template xilinx.com:design:cpu_hdl:1.0
#----------------------- Run Synthesis then Power estimation ----------------# Run Vivado Design Suite synthesis and automatically
launch_runs synth_1
wait_on_run synth_1
#open design
open_run synth_1
# Display tool default assumed operating conditions
report_operating_conditions -all
# Set specific device and environment operating conditions
set_operating_conditions -ambient 25
set_operating_conditions -voltage {vccint 1.0 vccaux 1.71}
# Generate verbose post-synthesis power report
report_power -verbose -file ex1_post-synthesis.pwr
#------------------------ Run Implementation then Power estimation ----------launch_runs impl_1
wait_on_run impl_1
#open design
open_run impl_1
# Generate post-implementation verbose power report
report_power -file ex1_post-implementation.pwr
# Return operating conditions to default for device
reset_operating_conditions -ambient -voltage {vccint vccaux}
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
55
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
例 2 : 非プ ロ ジ ェ ク ト モー ド での合成後お よび イ ン プ リ メ ン テーシ ョ ン後の消費
電力見積 も り お よび比較
#--------------------- Setup estimation --------------------# Open netlist in projectless mode
read_edif -name top.edf
Link the design
link_design
# OR open Vivado checkpoint
open_checkpoint -file post_synth.dcp
# read design constraints, if it is not part of a design checkpoint (DCP)
read_xdc -name top_full.xdc
# Display tool default assumed operating conditions
report_operating_conditions -all
# Set specific device and environment operating conditions
set_operating_conditions -ambient 25
set_operating_conditions -voltage {vccint 0.95 vccaux 1.71}
#---------------------- Power estimation at post synthesis ---------------# Generate verbose post-synthesis power report
report_power -verbose -file ex1_post-synthesis.pwr
#----Run various Implementation steps then run Power estimation after every step ---opt_design
report_power -verbose -file ex1_post-opt_design.pwr
power_opt_design ;# Optional
report_power -verbose -file ex1_post_pwr_opt_design.pwr
place_design
report_power -verbose -file ex1_post_place_design.pwr
phys_opt_design ;# Optional
report_power -verbose -file ex1_post_phys_opt_design.pwr
route_design
# Generate post-route verbose power report
report_power -verbose -file ex1_post_route_design.pwr
# Return operating conditions to default for device
reset_operating_conditions -ambient -voltage {vccint vccaux}
例 3 : リ セ ッ ト 時のス タ テ ィ ッ ク 確率の値が正確であ る こ と を確認
# Query the Static Probability value of the reset
report_switching_activity -static_probability [get_ports reset]
# Output is reset: static probability = 0.5 (D)
# Set Static Probability value and signal rate of reset to 0
set_switching_activity -static_probability 0.0 -toggle_rate 0 [get_ports reset]
# Generate post-route verbose power report
report_power -verbose -file ex1_post_route_design.pwr
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
56
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
例 4 : 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 interest
report_switching_activity [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 time
set_switching_activity -static_probability 0 -signal_rate 0 [get_nets fftEngine/reset_reg]
set_switching_activity -static_probability 1 -toggle_rate 0 [get_nets fftEngine/wb_we_i_reg]
report_power -file ex3_power_no_reset_activ.pwr
report_switching_activity [get_nets fftEngine/reset_reg 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 time
set_switching_activity -static_probability 1 -toggle_rate 0 [get_nets fftEngine/reset_reg]
set_switching_activity -static_probability 0 -signal_rate 0 [get_nets fftEngine/wb_we_i_reg]
report_power -file ex3_power_reset_activ.pwr
report_switching_activity [get_nets fftEngine/reset_reg fftEngine/wb_we_i_reg]
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
57
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
消費電力最適化の機能
Vivado デザ イ ン ツールでは、 さ ま ざ ま な消費電力の最適化が提供 さ れてお り 、 デザ イ ンのダ イ ナ ミ ッ ク 消費電力を
最大 30% 削減で き ます。 こ れ ら の最適化では、 ASIC で使用 さ れ る ク ロ ッ ク ゲーテ ィ ン グ手法が使用 さ れ、 デザ イ
ンの出力に影響 し ない部分や、 その ク ロ ッ ク サ イ ク ルで ス テー ト のア ッ プデー ト が不要な部分のア ク テ ィ ビ テ ィ を
最小限に抑え る こ と がで き ます。 こ れ ら の最適化は、 デザ イ ン全体に適用す る か、 選択 し た部分のみに適用で き ま
す (図 4-11)。
FPGA のダ イ ナ ミ ッ ク 消費電力は、 デザ イ ンの さ ま ざ ま な ノ ー ド におけ る ク ロ ッ ク 周波数 (f)、 ノ ー ド 容量 (C)、
FPGA の動作電圧 (V)、 お よ びア ク テ ィ ビ テ ィ か ら 算出 さ れます。 ほ と ん ど のデザ イ ン では、 上記のパ ラ メ ー タ ーの
い く つかは FPGA テ ク ノ ロ ジ (電圧な ど) ま たはデザ イ ン要件 (動作周波数) に よ り 通常固定 さ れますが、 デザ イ ン内
のモー ド には FPGA の出力には影響 し ないが ト グル し 続け る も の も あ り 、 ダ イ ナ ミ ッ ク 消費電力の大 き な部分を占
め ます。 こ の よ う な ノ ー ド を FPGA の ク ロ ッ ク イ ネーブル (CE) を使用 し てゲーテ ィ ン グで き ます。 こ れは コ ーデ ィ
ン グ手法で も 達成で き ますが、 デザ イ ンにほかの ソ ース か ら の IP が含まれていた り 、 その よ う な細粒度のゲーテ ィ
ン グ を実行す る には多大な労力を要す る ため、 ほ と ん ど の場合は実行 さ れません。 Vivado では こ れ ら の消費電力の
最適化が 1 つの コ マ ン ド で自動的に実行で き 、 最大限の消費電力削減を簡単に実行で き ます。
Vivado では、 レ ガシ IP ブ ロ ッ ク お よ びサー ド パーテ ィ IP ブ ロ ッ ク を含むデザ イ ン全体が解析 さ れます。 各 ク ロ ッ ク
サ イ ク ルの結果に影響 し ない ソ ース レ ジ ス タ の出力 ロ ジ ッ ク を特定 し 、 細粒度 ク ロ ッ ク ゲーテ ィ ン グ ま たは ロ ジ ッ
ク ゲーテ ィ ン グ信号を作成 し て、 不要な ス イ ッ チ イ ン グ ア ク テ ィ ビ テ ィ を除去 し ます。
X-Ref Target - Figure 4-11
Before
sig
After
Power
Consumption
Power
Consumption
sig
CE
WP389_15_021011
図 4-11 : ク ロ ッ ク ゲーテ ィ ング
ク ロ ッ ク ゲーテ ィ ン グに よ る 最適化では、 シ ンプル デ ュ アル ポー ト モー ド ま たは完全なデ ュ アル ポー ト モー ド 両
方の専用ブ ロ ッ ク RAM の消費電力 も 削減 さ れます (図 4-12)。 こ れ ら のブ ロ ッ ク には、 ア レ イ イ ネーブル、 ラ イ ト
イ ネーブル、 お よ び出力レ ジ ス タ の ク ロ ッ ク イ ネーブルな ど の イ ネーブル信号があ り ます。 節約 さ れ る 消費電力の
ほ と ん どはア レ イ イ ネーブルの使用に よ る も ので、 デー タ が書き 込まれず、 出力が使用 さ れない と き に、 消費電力
を削減す る 機能が イ ンプ リ メ ン ト さ れます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
58
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
X-Ref Target - Figure 4-12
Before
After
address
address
data out
data in
data out
data in
ce
WP389_16_021011
図 4-12 : ク ロ ッ ク ゲーテ ィ ングによ る最適化で ブ ロ ッ ク RAM イ ネーブルを活用
ザ イ リ ン ク ス の ク ロ ッ ク ゲーテ ィ ン グ最適化では追加のゲーテ ィ ン グ ロ ジ ッ ク が作成 さ れ、 ユーザー ロ ジ ッ ク が変
更 さ れ る こ と はないので、 デザ イ ンの機能は常に保持 さ れます。 ただ し 、 こ の最適化に よ っ て、 特に最適化が ク リ
テ ィ カル パ ス に使用 さ れた場合な どは、 タ イ ミ ン グが影響を受け る こ と があ り ます。
ブ ロ ッ ク RAM の WRITE_MODE の消費電力最適化
ザ イ リ ン ク ス 7 シ リ ーズ デバ イ ス では、 完全なデュ アル ポー ト (TDP) のブ ロ ッ ク RAM の場合、 そのポー ト の出力
が接続 さ れていないか、 書 き 込み中に不要であれば、 WRITE_MODE は WRITE_FIRST か ら NO_CHANGE に変更で
き ます。
同様に、 完全なデ ュ アル ポー ト (TDP) のブ ロ ッ ク RAM の場合、 そのポー ト の出力が接続 さ れていなければ、
WRITE_MODE は WRITE_FIRST か ら NO_CHANGE に変更で き ます。
UltraScale™ デバ イ ス では、 上記の最適化に加え て、 シ ンプル デ ュ アル ポー ト (SDP) モー ド の場合、 読み出 し ポー ト
と 書 き 込みポー ト 両方の WRITE_MODE は、 読み出 し お よ び書 き 込みポー ト の ク ロ ッ ク が非同期であれば、 安全に
NO_CHANGE に変更で き ます。
変更す る と 、 ブ ロ ッ ク RAM の出力ポー ト はア ッ プデー ト さ れないため、 書き 込みサ イ ク ルの消費電力を削減で き ま
す。 こ の最適化は、 ユーザー定義の機能お よ びパフ ォーマ ン ス に影響のない場合にのみ実行 さ れます。
ブ ロ ッ ク RAM のカ スケー ド 最適化
ザ イ リ ン ク ス 7 シ リ ーズデバ イ ス でブ ロ ッ ク RAM がカ ス ケー ド さ れ る 場合、 いつで も ア ク テ ィ ブにで き る ブ ロ ッ ク
RAM は 1 つのみなので、 残 り のブ ロ ッ ク RAM はア ド レ スお よ び既存の イ ネーブル条件に基づいてデ ィ ス エーブル
にで き ます。 こ れに よ り 、 消費電力を大幅に削減で き ます。
こ れ ら の最適化は、 Vivado Design Suite の opt_design 段階で実行 さ れます。
Vivado IDE での消費電力最適化の実行
消費電力最適化は、 Vivado の opt_design お よ び power_opt_design 段階で実行 さ れます。
opt_design 中に実行 さ れ る 最適化には、 ユーザーの操作は必要あ り ません。 こ れ ら の最適化は、 主にブ ロ ッ ク
RAM の消費電力削減を目的 と し てい ます。
重要 : 消費電力最適化は、 opt_design、 power_opt_design のいずれか ま たは両方で、 デザ イ ンの タ イ ミ ン グ パ
フ ォーマ ン ス に影響す る こ と があ り ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
59
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
UltraScale デバ イ ス の場合、タ イ ミ ン グに悪影響を及ぼす可能性のあ る よ り ア グ レ ッ シブな BRAM 消費電力最適化が
power_opt_design にのみ含まれ る ので、 消費電力を抑え る よ り も パフ ォーマ ン ス を優先 さ せる こ と がで き ます。
デフ ォ ル ト では、 opt_design コ マ ン ド でブ ロ ッ ク RAM の消費電力最適化が実行 さ れます。 ブ ロ ッ ク RAM の消費
電力最適化は、 -bram_power_opt オプシ ョ ン を使用 し て明示的に ス タ ン ド ア ロ ン で実行す る こ と も で き ます。
opt_design -bram_power_opt
ブ ロ ッ ク RAM の消費電力最適化をデフ ォ ル ト の opt_design フ ロ ーか ら デ ィ ス エーブルにす る には、
opt_design コ マ ン ド に NoBramPowerOpt 指示子を設定 し ます。
opt_design -directive NoBramPowerOpt
こ の指示子は、 [Project Settings] ダ イ ア ロ グ ボ ッ ク ス の [Implementation] ページ (図 4-13) か ら も 設定で き ます。
X-Ref Target - Figure 4-13
図 4-13 : 最適化中のブ ロ ッ ク RAM の消費電力最適化を オ フ
Vivado IDE で power_opt_design を使用 し た消費電力最適化を イ ネーブルにする には、 [Tools] → [Project Settings]
を ク リ ッ ク し 、 [Implementation] を選択 し て [Power Opt Design] の下の [is_enabled] オプシ ョ ン をオンに し ます
(図 4-14)。
こ のオプシ ョ ン を オンにす る と 、 消費電力最適化が Vivado IDE の イ ンプ リ メ ン テーシ ョ ンの一部 と し て実行 さ れま
す。 最適化を詳細に設定 し 、 その結果を レ ポー ト す る 場合は、 「消費電力解析の Tcl コ マ ン ド 」 を参照 し て く だ さ い。
重要 : [Power Opt Design] は、 デザ イ ン フ ロ ーの配置前ま たは配置後のいずれかで イ ネーブルにで き ますが、 両方で
は イ ネーブルにで き ません。 詳細は、 「消費電力最適化の実行」 を参照 し て く だ さ い。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
60
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
X-Ref Target - Figure 4-14
図 4-14 : 消費電力最適化オプ シ ョ ン
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
61
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
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>
3.
[Report Power Optimization] ダ イ ア ロ グ ボ ッ ク ス (図 4-15) で次のオプシ ョ ン を指定 し ます。
°
°
°
[Results name] : Vivado IDE で表示 さ れ る 消費電力最適化レ ポー ト の名前を指定 し ます。
[Export to file] : オ ン にす る と 、 Vivado IDE に消費電力最適化レ ポー ト だけでな く 、 テ キ ス ト 形式の レ ポー
ト も 生成 さ れ ます。 テ キ ス ト フ ァ イ ルの フ ァ イ ル名 と デ ィ レ ク ト リ を指定 し 、 TXT か XML 形式を選択 し
ます。
[Open in a new tab] : オンにす る と 、 こ の新 し い消費電力最適化レ ポー ト が現在 Vivado IDE で表示 さ れてい る
その他の消費電力最適化レ ポー ト に追加 さ れます。 オ フ の ま ま にす る と 、 Vivado IDE に現在表示 さ れてい
る 消費電力最適化レ ポー ト がすべて こ の新 し い消費電力最適化レ ポー ト で上書き さ れます。
X-Ref Target - Figure 4-15
図 4-15 : [Report Power Optimization] ダ イ ア ログ ボ ッ ク ス
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
62
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
4.
[OK] を ク リ ッ ク し ます。
消費電力最適化レ ポー ト が Vivado IDE の結果 ウ ィ ン ド ウ エ リ アに表示 さ れます。
X-Ref Target - Figure 4-16
図 4-16 : 消費電力最適化レ ポー ト - サマ リ
消費電力最適化レ ポー ト は、 次の よ う な カ テ ゴ リ 別に表示 さ せ る こ と がで き ます。
•
[General Information] : デザ イ ンに関する 情報、 デザ イ ンの ど の部分にザ イ リ ン ク ス デバ イ ス が イ ンプ リ メ ン ト さ
れ る か、 こ の消費電力最適化レ ポー ト を生成 し た Tcl コ マ ン ド な ど
•
[Summary] : ユーザーま たは消費電力最適化ツールで最適化 さ れたブ ロ ッ ク RAM、 SRL、 ス ラ イ ス レ ジ ス タ の数
•
[Recommendations] : 消費電力改善目的でデザ イ ン を さ ら に最適化する ためにで き る こ と
•
[Hierarchical Information] : Vivado の消費電力最適化 さ れた BRAM、 SRL、 シ フ ト レ ジ ス タ の詳細。 図 4-17 では、
イ ンプ リ メ ン テーシ ョ ン中に最適化 さ れた BRAM セルの リ ス ト (Tool Gated BRAMs) が表示 さ れてい ます。
X-Ref Target - Figure 4-17
図 4-17 : 消費電力最適化レポー ト - 階層情報
Vivado で実行 さ れ る 消費電力最適化の詳細は、 「消費電力最適化の機能」 お よ び 「ブ ロ ッ ク RAM の
WRITE_MODE の消費電力最適化」 を参照 し て く だ さ い。
sd
ヒ ン ト : 階層モジ ュ ールま たは イ ン ス タ ン ス に DONT_TOUCH 属性が設定 さ れてい る 場合は、 消費電力最適化でそ
の ロ ジ ッ ク が最適化 さ れ る こ と はあ り ません。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
63
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
Tcl イ ン タ ー フ ェ イ ス を使用 し た消費電力最適化の実行
Vivado には、 消費電力最適化用に 4 つの Tcl コ マ ン ド があ り ます。
•
set_power_opt
•
opt_design -bram_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]
表 4-2 : set_power_opt のオプ シ ョ ン
オプ シ ョ ン名
省略可
デ フ ォル ト
説明
-include_cells
○
すべて
ク ロ ッ ク ゲーテ ィ ン グに含め る セルを指定 し ます。
-exclude_cells
○
なし
ク ロ ッ ク ゲーテ ィ ン グか ら 除外する セルを指定 し ます。
-clocks
○
すべての
クロック
指定 し た ク ロ ッ ク が供給 さ れ る セルに ク ロ ッ ク ゲー
テ ィ ン グ を適用 し ます。
-cell_types
○
すべて
ク ロ ッ ク ゲーテ ィ ン グ を適用する セル タ イ プを指定 し
ます。 all、 bram、 reg、 srl、 none のいずれか を指
定 し ます。
-quiet
○
なし
コ マ ン ド エ ラ ーを非表示に し ます。
-verbose
○
なし
プ ロ グ ラ ム実行中 メ ッ セージの制限を解除 し 、 すべて
の メ ッ セージ を表示 し ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
64
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
例
次の例では、 BRAM お よ び REG セルに対 し て消費電力最適化を設定 し 、 その後 SRL を追加 し てい ます。
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 bram
set_power_opt -exclude_cells cpuEngine
set_power_opt -include_cells cpuEngine/cpu_dbg_dat_i
消費電力最適化の実行
消費電力最適化は、 消費電力を最小限に抑え る ため、 デザ イ ン全体ま たはデザ イ ンの一部 (set_power_opt を使用
し た場合) に実行で き ます。
消費電力最適化は、 デザ イ ン フ ロ ーの配置前ま たは配置後のいずれかで実行で き ますが、 両方では実行で き ません。
配置前の消費電力最適化では、 消費電力の削減量を最大にす る こ と に焦点が置かれ、 まれに タ イ ミ ン グが悪化する
こ と も あ り ます。 タ イ ミ ン グの保持が主な目標の場合は、 消費電力最適化を配置後に実行する よ う に し て く だ さ い。
こ の場合、 タ イ ミ ン グ を保持 し た消費電力最適化のみが実行 さ れます。 配置後に phys_opt_design
-bram_enable_opt を実行す る と 、 タ イ ミ ン グに影響する BRAM イ ネーブルの最適化の一部を元に戻す こ と も で
き ます。
典型的な配置前の消費電力最適化の ス ク リ プ ト は、 次の よ う にな り ます。
synth_design
opt_design
power_opt_design
place_design
route_design
report_power
こ の コ マ ン ド の構文は、 次の と お り です。
power_opt_design [-quiet] [-verbose]
表 4-3 : power_opt_design のオプ シ ョ ン
オプ シ ョ ン名
省略可
デ フ ォル ト
説明
-quiet
○
なし
コ マ ン ド エ ラ ーを非表示に し ます。
-verbose
○
なし
プ ロ グ ラ ム実行中 メ ッ セージの制限を解除 し 、 すべての
メ ッ セージ を表示 し ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
65
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
消費電力最適化テキス ト レポー ト の生成
report_power_opt コ マ ン ド を実行す る と 、 ブ ロ ッ ク RAM、 SRL、 レ ジ ス タ な ど、 消費電力最適化が実行 さ れた
すべてのセルがテ キ ス ト レ ポー ト に階層別に示 さ れます。 各セルに使用 さ れた イ ネーブルに関す る 情報 と 、 イ ネー
ブルが Vivado で作成 さ れたのかユーザーに よ り 作成 さ れたのかが示 さ れます。
こ の コ マ ン ド の構文は、 次の と お り です。
report_power_opt [-cell <arg>] [-file <arg>] [-quiet] [-verbose]
表 4-4 : report_power_opt のオプ シ ョ ン
オプ シ ョ ン名
省略可
デ フ ォル ト
説明
-cell
○
最上位
指定 し たセルの消費電力最適化を レ ポー ト し ます。
-file
○
なし
レ ポー ト を出力す る フ ァ イ ルを指定 し ます。 指定 し た
フ ァ イ ルが既に存在す る 場合は、 上書 き さ れます。
-quiet
○
なし
コ マ ン ド エ ラ ーを非表示に し ます。
-verbose
○
なし
プ ロ グ ラ ム実行中 メ ッ セージの制限を解除 し 、 すべての
メ ッ セージ を表示 し ます。
例
次の例では、 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]
最後に、 消費電力最適化お よ びベ ク タ ーレ ス消費電力見積 も り の前に、 グ ロ ーバル セ ッ ト / リ セ ッ ト 信号の信号
レー ト お よ び確率が正 し く 設定 さ れてい る こ と を確認 し て く だ さ い。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
66
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
•
ス ラ イ ス レ ジ ス タ お よ び SRL
power_opt_design でデザ イ ンの ス ラ イ ス レ ジ ス タ ま たは SRL に対 し て ク ロ ッ ク イ ネーブルが生成 さ れない
原因は、 多数あ り ます。 次は、 その例です。
•
°
デザ イ ンに組み合わせループが存在す る
°
デザ イ ンへのプ ラ イ マ リ 入力が ソ ース と な る フ リ ッ プ フ ロ ッ プお よ び SRL にセ ッ ト / リ セ ッ ト 信号が使用 さ
れてい る
°
デー タ パ ス フ リ ッ プ フ ロ ッ プに非同期セ ッ ト / リ セ ッ ト 信号が使用 さ れてい る
°
デザ イ ンに多数の ク ロ ッ ク ド メ イ ンがあ り 、 ク ロ ッ ク ド メ イ ン を ま たがっ てい る ために イ ネーブルが生成
さ れない
°
SRL のサ イ ズ : SRL のシ フ ト レ ジ ス タ の段数が多いほ ど、 すべての段に対 し て 1 つの ク ロ ッ ク イ ネーブル
を生成す る のが困難にな り ます。
ブ ロ ッ ク RAM
ブ ロ ッ ク RAM (BRAM) が多数使用 さ れ る デザ イ ンでは、 消費電力を大き く 削減で き る 可能性があ り ます。
Vivado では、 さ ま ざ ま な最適化手法を使用 し て イ ネーブルを生成 し 、 消費電力を削減 し ます。
power_opt_design を使用 し て も BRAM のゲーテ ィ ン グがそれほ ど適用 さ れていない場合は、 次の よ う な原
因が考え ら れます。
°
BRAM が主に FIFO18/FIFO36 セルであ る 。 こ れ ら の イ ン ス タ ン ス はツールで最適化で き ません。
°
推論ま たは イ ン ス タ ン シエー ト さ れた メ モ リ が、 A ポー ト と B ポー ト に別の ク ロ ッ ク を使用 し た完全な
デ ュ アル ポー ト (TDP) モー ド であ り 、 power_opt_design で最適化で き ない。
°
BRAM 自体ま たは BRAM に供給 さ れ る ア ド レ ス/ ラ イ ト イ ネーブル フ リ ッ プ フ ロ ッ プに非同期 リ セ ッ ト が
使用 さ れてい る 。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
67
japan.xilinx.com
第 4 章 : Vivado Design Suite での消費電力解析お よび最適化
消費電力最適化後の タ イ ミ ングの保持
消費電力最適化では、 消費電力を最大限に削減 し なが ら 、 タ イ ミ ン グへの影響は最小限に抑え ます。 消費電力最適
化に よ り タ イ ミ ン グが悪化 し た場合は、 こ の影響を補正す る ための手法を使用で き ます。
可能な場合、 タ イ ミ ン グ ク リ テ ィ カルでない ク ロ ッ ク ド メ イ ン ま たはモジ ュ ールを特定 し 、 set_power_opt XDC
コ マ ン ド を使用 し てそれ ら のみに消費電力最適化を適用 し ます。 最 も ク リ テ ィ カルな ク ロ ッ ク ド メ イ ンがデザ イ ン
の大部分を占めてい る 場合や電力の大部分を消費 し てい る 場合は、 ク リ テ ィ カル パス上のセルが消費電力最適化で
削除 さ れていないか ど う か を確認 し ます。 消費電力最適化で最適化 さ れたオブジ ェ ク ト には、 IS_CLOCK_GATED プ
ロ パテ ィ が設定 さ れます。 こ れ ら のセルを消費電力最適化か ら 除外 し ます。
ク ロ ッ ク ゲーテ ィ ン グが適用 さ れたセルを検索する には、 次の Tcl コ マ ン ド を使用 し ます。
get_cells -hier -filter {IS_CLOCK_GATED==1}
Vivado IDE を使用 し てい る 場合は、 [Find] ダ イ ア ロ グ ボ ッ ク ス (図 4-18) を使用 し て こ れ ら のセルを検索で き ます。
X-Ref Target - Figure 4-18
図 4-18 : 消費電力最適化 さ れたセルの検索
よ り 簡単な方法は、 BRAM に対す る 消費電力最適化を制限す る こ と です。 こ れに よ り タ イ ミ ン グへの影響が最小限
に抑え ら れますが、 その効果はデザ イ ンの BRAM の数お よ びそれ ら が ど の よ う にゲーテ ィ ン グ さ れてい る かに よ り
ます。 消費電力最適化を BRAM に限定す る 場合は、 opt_design ま たは power_opt_design を実行する 前に
set_power_opt -cell_types {bram} コ マ ン ド を実行 し ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
68
japan.xilinx.com
第 5章
Vivado 消費電力レポー ト を使用 し た正確な
消費電力解析
概要
消費電力解析では、 ツールで さ ま ざ ま な要因を想定す る 必要があ る ため、 正 し い見積 も り を得る のは簡単な こ と で
はあ り ません。 ユーザーがで き る だけ詳細に指定 し て こ れ ら の想定を最小限に抑え る こ と に よ り 、 消費電力を よ り
正確に見積 も る こ と がで き ます。
正確な消費電力解析には、 次を考慮す る 必要があ り ます。
•
温度設定
•
電源設定
•
ク ロ ッ ク 仕様
•
制御信号
•
プ ラ イ マ リ 入力
•
個々の コ ン ポーネ ン ト
温度設定
ス タ テ ィ ッ ク 消費電力は、 理想的には ト ラ ン ジ ス タ の ソ ース か ら ド レ イ ンへの リ ー ク 電力 と ゲー ト リ ー ク 電力の合
計です。 ス タ テ ィ ッ ク 消費電力は、 温度条件に完全に依存 し ます。 正確な消費電力の見積 も り には、 よ り 正確な温
度情報を提供す る こ と が基本的な要件です。
プ ロ セス コ ーナー
デバ イ ス が製造 さ れ る 際には、 その製造過程に よ っ て、 デバ イ ス ご と に さ ま ざ ま なパフ ォーマ ン スお よ び消費電力
のパ タ ーンがあ り ます。 [Report Power] を実行する と 、 TYPICAL と MAXIMUM の 2 つのプ ロ セ ス コ ーナーの ス タ
テ ィ ッ ク 消費電力の見積 も り が表示 さ れます。 すべてのデバ イ ス が TYPICAL 見積 も り 値にな っ てい る のが理想的で
すが、 プ ロ セ ス の変動に よ り デバ イ ス でば ら つ き があ り 、 TYPICAL 値を軸に、 デバ イ ス のプ ロ セ ス の変動に基づい
て手動で調整す る 必要があ り ます。 MAXIMUM 設定を使用する と 、 レ ポー ト さ れ る 数値が動作範囲内に収ま り 、
ハー ド ウ ェ アの測定値に近い も のにな り ます。 ジ ャ ン ク シ ョ ン温度が固定 さ れてい る 場合、 TYPICAL か ら
MAXIMUM ま での ス タ テ ィ ッ ク 消費電力に予測 さ れ る 変動は コ マーシ ャ ル デバ イ ス で約 2.5 倍にな り ます。
推奨 : 正確な ワ ース ト ケース の ス タ テ ィ ッ ク 消費電力を達成す る には、 MAXIMUM プ ロ セ ス設定を使用 し ます。
Vivado では、 [Report Power] のデフ ォ ル ト プ ロ セ ス は TYPICAL です。 こ れは、 [Report Power] ダ イ ア ロ グ ボ ッ ク ス の
[Environment] タ ブで MAXIMUM に変更で き ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
69
japan.xilinx.com
第 5 章 : Vivado 消費電力レ ポー ト を使用 し た正確な消費電力解析
X-Ref Target - Figure 5-1
図 5-1 : [Report Power] のプ ロ セス設定
同等 Tcl コ マ ン ド :
set_operating_conditions -process maximum
ジ ャ ン ク シ ョ ン温度
リ ー ク 電流はジ ャ ン ク シ ョ ン温度の増加に応 じ て指数関数的に増加す る ので、 ス タ テ ィ ッ ク 電力が高 く な る 要因 と
な り ます。 ジ ャ ン ク シ ョ ン温度は、 デバ イ ス の全消費電力、 冷却シ ス テ ム、 ボー ド 選択、 周囲条件な ど さ ま ざ ま な
要因に依存 し ます。 デフ ォ ル ト では、 ジ ャ ン ク シ ョ ン温度は周囲温度、 ヒ ー ト シ ン ク 、 ボー ド 選択な ど のその他の
温度設定入力に基づいて算出 さ れます。 ジ ャ ン ク シ ョ ン温度は全消費電力に直接比例する ため、 ダ イ ナ ミ ッ ク 消費
電力が増加す る と 上昇 し ます。 正確な ス タ テ ィ ッ ク 消費電力を見積 も る には、 正 し いジ ャ ン ク シ ョ ン温度を指定す
る こ と が非常に重要です。
推奨 : ジ ャ ン ク シ ョ ン温度はハー ド ウ ェ ア上の電力を測定する 際に読み出 し 、 [Report Power] ダ イ ア ロ グ ボ ッ ク ス の
既存の設定を上書 き し て く だ さ い。
Vivado IDE でジ ャ ン ク シ ョ ン温度を設定する には、 [Report Power] ダ イ ア ロ グ ボ ッ ク ス の [Environment] タ ブで
[Junction temperature] をオンに し 、 値を入力 し ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
70
japan.xilinx.com
第 5 章 : Vivado 消費電力レ ポー ト を使用 し た正確な消費電力解析
X-Ref Target - Figure 5-2
図 5-2 : [Report Power] のジ ャ ン ク シ ョ ン温度設定
同等 Tcl コ マ ン ド :
set_operating_conditions -junction_temp 45
ザ イ リ ン ク ス デバ イ ス に単純なサー ミ ス タ ま たはその他の携帯型温度測定デバ イ ス を配置する と 、 大ま かなジ ャ ン
ク シ ョ ン温度を測定で き ます。 ザ イ リ ン ク ス ハー ド ウ ェ ア プ ロ グ ラ ミ ン グ ツールの 1 つを使用 し てデバ イ ス をプ ロ
グ ラ ムす る と 、 ダ イ 温度値を読み出す こ と がで き ます。 た と えば、 ISE の iMPACT では [Debug] → [Read Status
Register] を ク リ ッ ク す る と ダ イ 温度値を読み出す こ と がで き ます。 Vivado ハー ド ウ ェ ア マネージ ャ ーでは、 シ ス テ
ム モニ タ ー ウ ィ ン ド ウ にダ イ 温度のプ ロ ッ ト 図が描かれます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
71
japan.xilinx.com
第 5 章 : Vivado 消費電力レ ポー ト を使用 し た正確な消費電力解析
電源設定
電圧ス ケー リ ン グは、 ザ イ リ ン ク ス FPGA お よ び All Programmable SoC での消費電力を削減す る 方法の 1 つです。 デ
バ イ ス には、 ロ ジ ッ ク に特定の電圧を提供す る 異な る 電圧レールがあ り ます。 各デバ イ ス のデー タ シー ト には、 こ
れ ら の電圧レールの推奨動作条件が リ ス ト さ れてい ます。 た と えば、 Kintex-7 デバ イ ス は 0.97V ~ 1.03V の VCCINT
レールで動作で き ます。 電圧ス ケー リ ン グが使用 さ れ る よ う にす る と 、 電力バジ ェ ッ ト を満たす こ と がで き ます。
ハー ド ウ ェ ア設定では、 こ れ ら の レールは、 細粒度制御付 き の外部電源レ ギ ュ レー タ に よ り 提供 さ れます。 電源電
圧が増加す る と 消費電力が増加す る ため、 正 し い消費電力を見積 も る には、 正確な電源電圧を指定する 必要があ り
ます。
推奨 : [Report Power] ダ イ ア ロ グ ボ ッ ク ス の [Power Supply] タ ブで正確な電源値を指定 し ます。
Vivado IDE で電源電圧を指定す る には、[Report Power] ダ イ ア ロ グ ボ ッ ク ス の [Power Supply] タ ブに値を入力 し ます。
X-Ref Target - Figure 5-3
図 5-3 : [Report Power] ダ イ ア ログ ボ ッ ク スでの電源値の設定
同等 Tcl コ マ ン ド :
set_operating_conditions -voltage {vccint 0.98 vccaux 1.8}
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
72
japan.xilinx.com
第 5 章 : Vivado 消費電力レ ポー ト を使用 し た正確な消費電力解析
ク ロ ッ ク仕様
デザ イ ン ク ロ ッ ク は、 ダ イ ナ ミ ッ ク 消費電力計算におけ る 主な コ ン ポーネ ン ト です。 ク ロ ッ ク が定義 さ れていない
と 、 ス イ ッ チン グ ア ク テ ィ ビ テ ィ の見積 も り が不正確にな り 、 消費電力の見積 も り も 不正確にな り ます。 ク ロ ッ ク
ノ ー ド は、 XDC コ マ ン ド の create_clock ま たは create_generated_clock を使用 し て定義 さ れ る タ イ ミ ン グ
制約か ら 識別 さ れます。
推奨 : デザ イ ンで必要な ク ロ ッ ク はすべて create_clock ま たは create_generated_clock コ マ ン ド を使用 し て
定義す る 必要があ り ます。
[Report Power] ダ イ ア ロ グ ボ ッ ク ス の [Switching] タ ブには、 デザ イ ン で定義 さ れてい る すべての ク ロ ッ ク が表示 さ れ
ます。
X-Ref Target - Figure 5-4
図 5-4 : [Report Power] ダ イ ア ログ ボ ッ ク スの制約が付いた ク ロ ッ ク
デザ イ ンで定義 さ れ る ク ロ ッ ク すべてが表示 さ れてい る こ と を確認 し ます。
[Report Power] を実行 し 、 [Summary] ページで [Confidence level] を ク リ ッ ク し て詳細を表示す る と 、 デザ イ ンで定義
さ れてい る ク ロ ッ ク の割合がわか り ます。 こ の情報を使用 し て、 ク ロ ッ ク ア ク テ ィ ビ テ ィ の信頼性レベルが High に
な る よ う に し ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
73
japan.xilinx.com
第 5 章 : Vivado 消費電力レ ポー ト を使用 し た正確な消費電力解析
X-Ref Target - Figure 5-5
図 5-5 : 信頼性レ ベル
Tcl モー ド では、 get_clocks お よ び report_clocks コ マ ン ド を使用 し て定義 さ れた ク ロ ッ ク の リ ス ト を取得 し
ます。
テ キ ス ト レ ポー ト には、 ク ロ ッ ク ア ク テ ィ ビ テ ィ の信頼性レベルが表示 さ れます。
report_power -file power.rpt
X-Ref Target - Figure 5-6
図 5-6 : テキス ト レ ポー ト - ク ロ ッ ク ア ク テ ィ ビ テ ィ の信頼性レ ベル
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
74
japan.xilinx.com
第 5 章 : Vivado 消費電力レ ポー ト を使用 し た正確な消費電力解析
制御信号
グ ローバルおよび リ ージ ョ ナル リ セ ッ ト
グ ロ ーバル リ セ ッ ト のア ク テ ィ ビ テ ィ レー ト に よ っ て、 消費電力の見積 も り が大幅に変わ る こ と があ り ます。 ア ク
テ ィ ビ テ ィ レー ト は、 デザ イ ンの各 ロ ジ ッ ク ブ ロ ッ ク の ス テー ト と ロ ジ ッ ク 出力が変更 さ れ る 可能性を示 し ます。
正 し い ス イ ッ チン グ情報で設定 さ れていない場合、 消費電力見積 も り が非現実な も の と な り ます。
た と えば、 リ セ ッ ト は run が開始 し てか ら 数サ イ ク ル間だけアサー ト (ア ク テ ィ ブ) さ れ、 その後は非ア ク テ ィ ブに
な る のが理想的です。
X-Ref Target - Figure 5-7
図 5-7 : リ セ ッ ト 信号の期間
こ れは、 ス イ ッ チン グ ア ク テ ィ ビ テ ィ を使用 し て次の よ う に記述する こ と も で き ます。
set_switching_activity -static_probability 0.01 -signal_rate 2 [get_ports glb_reset]
[Report Power] でグ ロ ーバル リ セ ッ ト と な る プ ラ イ マ リ ポー ト が特定 さ れ、 上記の ス イ ッ チン グ ア ク テ ィ ビ テ ィ が
適用 さ れます。 グ ロ ーバル リ セ ッ ト の特定には、 保守的で安全な方法 (最下位プ リ ミ テ ィ ブの リ セ ッ ト ピ ンに直接
接続 さ れたポー ト ) が使用 さ れます。
ただ し こ れは、 リ セ ッ ト ロ ジ ッ ク が特別な ロ ジ ッ ク 回路 ( リ セ ッ ト ジ ェ ネ レー タ ー、 デバ ウ ンサー、 リ セ ッ ト ス ト
レ ッ チン グ な ど) を使用 し て内部で生成 さ れ る よ う な複雑なデザ イ ンではあ ま り 役に立ち ません。 リ セ ッ ト を生成す
る のに使用 さ れ る ロ ジ ッ ク があ る 場合、 [Report Power] では設計意図を把握で き ず、 デフ ォ ル ト の ス イ ッ チン グ情報
が適用 さ れません。
X-Ref Target - Figure 5-8
00&0
/RFN
&ONBUHVHWBJHQ
XVHUBUHVHW
図 5-8 : リ セ ッ ト ロ ジ ッ ク
こ の場合、 リ セ ッ ト ア ク テ ィ ビ テ ィ 情報は確率計算 と 伝搬アルゴ リ ズ ム を使用 し て生成 さ れた ロ ジ ッ ク か ら 算出 さ
れます。 確率計算は、 ロ ジ ッ ク の最下位プ リ ミ テ ィ ブ レベルで実行 さ れます。 確率アルゴ リ ズ ムに よ り 、 特定の ロ
ジ ッ ク ブ ロ ッ ク (深 く ネ ス ト 化 さ れた フ ィ ー ド バ ッ ク ロ ジ ッ ク な ど) の処理に ラ グが発生す る こ と があ り 、 リ セ ッ ト
ネ ッ ト の ス イ ッ チン グ ア ク テ ィ ビ テ ィ が予期 し ない結果にな る こ と があ り ます。
推奨 : グ ロ ーバル/ リ ージ ョ ナル リ セ ッ ト ネ ッ ト に対 し て、 正 し い ス イ ッ チン グ情報を供給する よ う に し て く だ さ い。
こ の よ う な グ ロ ーバル リ セ ッ ト ネ ッ ト に注意 し て く だ さ い。 こ れ ら のネ ッ ト のア ク テ ィ ビ テ ィ レー ト は、 [Net
Properties] ウ ィ ン ド ウ の [Power] ビ ュ ーで直接設定 し ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
75
japan.xilinx.com
第 5 章 : Vivado 消費電力レ ポー ト を使用 し た正確な消費電力解析
X-Ref Target - Figure 5-9
図 5-9 : ネ ッ ト ア ク テ ィ ビ テ ィ レー ト の設定
同等 Tcl コ マ ン ド :
set_switching_activity -static_probability 0.01 -signal_rate 2 [get_nets
u1/clkRst_gen/user_reset]
消費電力レ ポー ト を使用す る と 、 デザ イ ンの リ セ ッ ト ネ ッ ト が特定 し やす く も な る ので、 こ れ ら のネ ッ ト の ス イ ッ
チン グ情報を検証 し て、 それを修正す る 処置を取 る こ と がで き ます。 [Report Power] の最初のテ ス ト run をデフ ォ ル
ト 設定を使用 し て実行す る と 、 リ セ ッ ト ネ ッ ト のア ク テ ィ ビ テ ィ を解析で き ます。
X-Ref Target - Figure 5-10
図 5-10 : 消費電力レポー ト の リ セ ッ ト ネ ッ ト
消費電力レ ポー ト には、 こ の リ セ ッ ト ネ ッ ト の影響を受け る ロ ジ ッ ク セルの数が [Fanout] 列に表示 さ れます。 初期
の ス イ ッ チン グ ア ク テ ィ ビ テ ィ の見積 も り が正 し く ない場合は、 消費電力レ ポー ト でそのネ ッ ト を ク リ ッ ク し (上図
を参照)、 [Net Properties] ウ ィ ン ド ウ の [Power] ビ ュ ーでプ ロ パテ ィ を変更 し ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
76
japan.xilinx.com
第 5 章 : Vivado 消費電力レ ポー ト を使用 し た正確な消費電力解析
注記 : レ ポー ト には、 プ リ セ ッ ト /セ ッ ト お よ び リ セ ッ ト ネ ッ ト の両方が ま と めて表示 さ れます。 上記の リ セ ッ ト
ネ ッ ト のガ イ ド ラ イ ンは、 プ リ セ ッ ト /セ ッ ト ネ ッ ト に も 適用 さ れます。
グ ローバル ク ロ ッ ク イ ネーブル
通常、 ク ロ ッ ク イ ネーブルの扱いは リ セ ッ ト ほ ど複雑ではな く 、 ほ と ん ど のデザ イ ンでわか り やす く 簡単です。 た
だ し 、 リ セ ッ ト オン パ ワーが認識 さ れ る デザ イ ン ( ク ロ ッ ク イ ネーブルが広範囲に使用 さ れ、 特別 ロ ジ ッ ク 回路を
使用 し て制御 さ れ る ) の よ う に複雑であ る こ と も あ り ます。 通常、 ク ロ ッ ク イ ネーブルの使用は リ セ ッ ト よ り も 複雑
ではな く 、 ほ と ん ど のデザ イ ンで簡単でわか り やす く な っ てい ますが、 リ セ ッ ト オン パ ワーが認識 さ れ る デザ イ ン
( ク ロ ッ ク イ ネーブルが広範囲に使用 さ れて、 特定の ロ ジ ッ ク 回路を使用 し て制御) と 同 じ よ う に複雑にな っ てい る
こ と も あ り ます。 ロ ジ ッ ク セルのダ イ ナ ミ ッ ク 消費電力は、 ク ロ ッ ク イ ネーブルの ス イ ッ チン グ ア ク テ ィ ビ テ ィ に
よ っ て変わ り ます。 ア ク テ ィ ビ テ ィ レー ト が正 し く 設定 さ れていない場合は、 消費電力の見積 も り 値 も 不正にな り
ます。
た と えば、 イ ネーブルは実行中はアサー ト さ れ (ア ク テ ィ ブ)、 ロ ジ ッ ク セルが使用 さ れない場合にのみ非ア ク テ ィ
ブにな る はずです (消費電力を削減す る ために明確に制御 し てい る 場合)。
X-Ref Target - Figure 5-11
図 5-11 : イ ネーブル信号の期間
こ れは、 ス イ ッ チン グ ア ク テ ィ ビ テ ィ を使用 し て次の よ う に記述する こ と も で き ます。
set_switching_activity -static_probability 0.99 -signal_rate 2 [get_ports glb_enable]
[Report Power] でグ ロ ーバル イ ネーブル と な る プ ラ イ マ リ ポー ト が特定 さ れ、 上記の ス イ ッ チン グ ア ク テ ィ ビ テ ィ
が適用 さ れます。 グ ロ ーバル イ ネーブルの特定には、 保守的で安全な方法 (最下位プ リ ミ テ ィ ブの CE ピ ンに直接接
続 さ れたポー ト ) が使用 さ れます。
推奨 : グ ロ ーバル/ リ ージ ョ ナル イ ネーブル ネ ッ ト に対 し て、 正 し い ス イ ッ チ ン グ情報を供給す る よ う に し て く だ
さ い。
消費電力レ ポー ト を使用す る と 、 デザ イ ンの イ ネーブル ネ ッ ト が特定 し やす く も な る ので、 こ れ ら のネ ッ ト の ス
イ ッ チン グ情報を検証 し て、 それを修正す る 処置を取 る こ と がで き ます。 [Report Power] の最初のテ ス ト run をデ
フ ォ ル ト 設定を使用 し て実行す る と 、 イ ネーブル ネ ッ ト のア ク テ ィ ビ テ ィ を解析で き ます。
X-Ref Target - Figure 5-12
図 5-12 : 消費電力レポー ト のイ ネーブル ネ ッ ト
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
77
japan.xilinx.com
第 5 章 : Vivado 消費電力レ ポー ト を使用 し た正確な消費電力解析
消費電力レ ポー ト には、こ の イ ネーブル ネ ッ ト の影響を受け る ロ ジ ッ ク セルの タ イ プ と 数が [Logic Type] と [Fanout]
列に表示 さ れます。 初期の ス イ ッ チン グ ア ク テ ィ ビ テ ィ の見積 も り が正 し く ない場合は、 消費電力レ ポー ト でその
ネ ッ ト を ク リ ッ ク し 、 [Net Properties] ウ ィ ン ド ウ の [Power] ビ ュ ーでプ ロ パテ ィ を変更 し ます。
プ ラ イ マ リ 入力
共通 ノ ー ド は、 前述の推奨事項に従っ て処理 さ れます。 デザ イ ン特有のハン ド シ ェ ー ク (プ ロ ト コ ル、 メ モ リ イ ン
タ ーフ ェ イ ス な ど) お よ びデー タ ポー ト に も 注意をす る 必要があ り ます。 理想的には、 プ ラ イ マ リ ポー ト のア ク
テ ィ ビ テ ィ レー ト に よ っ てデザ イ ンの全体的な ア ク テ ィ ビ テ ィ が決ま り 、 ダ イ ナ ミ ッ ク 消費電力の精度に影響を与
え ます。
[Report Power] では、 デフ ォ ル ト の ス イ ッ チン グ ア ク テ ィ ビ テ ィ レー ト (Toggle_rate=12.5 お よ び
Static_Probability=0.5) がプ ラ イ マ リ 入力 ( ク ロ ッ ク お よ び制御ポー ト 以外) に割 り 当て ら れます。 こ れ ら の値は、 ポー
ト が 8 ク ロ ッ ク サ イ ク ルで 1 回 ト グル し 、 50% の時間 High ( ロ ジ ッ ク 1) にな る こ と を意味 し ます。 こ れはデー タ
ポー ト で も だいたい う ま く い く 想定ですが、 ハン ド シ ェー ク ノ ー ド に適用する と 、 精度に大き く 影響 し ます。 こ れ
に よ り 、 プ ラ イ マ リ 入力に正 し い ス イ ッ チン グ情報を設定す る のが どれだけ重要かがわか り ます。
デフ ォ ル ト のア ク テ ィ ビ テ ィ 設定は、 [Report Power] ダ イ ア ロ グ ボ ッ ク ス の [Settings] タ ブに表示 さ れます。
X-Ref Target - Figure 5-13
図 5-13 : デ フ ォル ト のス イ ッ チ ン グ ア ク テ ィ ビ テ ィ の設定
すべてのプ ラ イ マ リ 入力 ( ク ロ ッ ク で も 制御信号で も ない) に適用 さ れ る デフ ォ ル ト 値は変更で き ます。
同等 Tcl コ マ ン ド :
set_switching_activity -default_static_probability 0.5 -default_toggle_rate 25
すべてのプ ラ イ マ リ 入力に同 じ ア ク テ ィ ビ テ ィ レー ト が適用 さ れます。 [Report Power] ではデー タ ポー ト と ハン ド
シ ェー ク ポー ト は区別 さ れないので、 ハン ド シ ェ ー ク ポー ト に対 し て ア ク テ ィ ビ テ ィ レー ト を手動で指定する こ と
が重要です。 こ れは、 Vivado IDE ま たは Tcl コ マ ン ド で実行で き ます。
推奨 : プ ラ イ マ リ I/O ポー ト には、 正 し い ス イ ッ チン グ値が設定 さ れ る よ う に し て く だ さ い。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
78
japan.xilinx.com
第 5 章 : Vivado 消費電力レ ポー ト を使用 し た正確な消費電力解析
消費電力レ ポー ト の [I/O] ページには、 すべてのポー ト と それに該当する ス イ ッ チン グ ア ク テ ィ ビ テ ィ 情報が リ ス ト
さ れます。
X-Ref Target - Figure 5-14
図 5-14 : 消費電力レポー ト の [I/O] ページ
I/O ポー ト のア ク テ ィ ビ テ ィ レー ト を確認 し ます。 ア ク テ ィ ビ テ ィ レー ト を変更する には、 消費電力レ ポー ト で入
力ポー ト を選択 し て、 [I/O Port Properties] ウ ィ ン ド ウ の [Power] ビ ュ ーでプ ロ パテ ィ を変更 し ます。
同等 Tcl コ マ ン ド :
set_switching_activity -static_probability 0.25 -toggle_rate 10 [get_ports im_fcx_sync_in]
set_switching_activity -static_probability 0.5 -toggle_rate 50 [get_ports im_fcx_data_in]
コ ンポーネ ン ト レ ベル
最後に、 消費電力が大 き いプ リ ミ テ ィ ブのア ク テ ィ ビ テ ィ レー ト を監視 し ます。 上記の項目すべて を処理 し た ら 、
ハー ド ブ ロ ッ ク (BRAM、 GT、 DSP な ど) のア ク テ ィ ビ テ ィ レー ト に適切な値を指定 し ます。 ただ し 、 こ れ ら の値は
再確認 し て、 内部 ロ ジ ッ ク 伝搬やツール内のモデ リ ン グ問題がない よ う に し ておいて く だ さ い。
た と えば、 [Report Power] では GT のア ク テ ィ ビ テ ィ レー ト は伝搬 さ れません。 GT デー タ 出力が ロ ジ ッ ク に接続 さ
れてい る 場合は、 ア ク テ ィ ビ テ ィ レー ト を GT の TX/RX 出力に設定する 必要があ り ます。
[Report Power] を ク リ ッ ク す る と 、 [Report Power] ダ イ ア ロ グ ボ ッ ク ス で さ ま ざ ま な タ イ プ (レ ジ ス タ 、 シ フ ト レ ジ ス
タ 、 LUT、 RAM、 BRAM、 DSP、 GT) の出力ア ク テ ィ ビ テ ィ レー ト を設定で き ます。 こ れ ら の設定は、
set_switching_activity コ マ ン ド に -type オプシ ョ ン を使用す る の と 同 じ です。 値を設定す る と 、 その後の消
費電力レ ポー ト の実行でその値が使用 さ れます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
79
japan.xilinx.com
第 5 章 : Vivado 消費電力レ ポー ト を使用 し た正確な消費電力解析
X-Ref Target - Figure 5-15
すべてのプライマリ入力 (クロック、リセット、イネーブル ポート以外) とブラック ボックス出力に適用
High の時間の割合 (%)
High の時間の割合 (%)
High の時間の割合 (%)
図 5-15 : ス イ ッ チ ング ア ク テ ィ ビ テ ィ レー ト の設定
グ ロ ーバル設定は、 デザ イ ンのハー ド プ リ ミ テ ィ ブの イ ン ス タ ン スすべてに影響 し ます。 た と えば、 [Block RAMs]
の ト グル レー ト 設定はデザ イ ンのすべての BRAM に適用 さ れます。
ま た、 ア ク テ ィ ビ テ ィ レー ト を変更す る ためには、 [Cell Properties] ウ ィ ン ド ウ を使用する こ と も で き ます。 消費電
力レ ポー ト で BRAM、 DSP、 GT セ ク シ ョ ン を確認 し て く だ さ い。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
80
japan.xilinx.com
第 5 章 : Vivado 消費電力レ ポー ト を使用 し た正確な消費電力解析
X-Ref Target - Figure 5-16
図 5-16 : BRAM のア ク テ ィ ビ テ ィ レー ト
ア ク テ ィ ビ テ ィ レー ト を変更す る には、 消費電力レ ポー ト でハー ド ブ ロ ッ ク イ ン ス タ ン ス を選択 し て、 [Cell
Properties] ウ ィ ン ド ウ の [Power] ビ ュ ーでプ ロ パテ ィ を変更 し ます。
X-Ref Target - Figure 5-17
図 5-17 : BRAM セルの [Power] プ ロパテ ィ
タ イ プご と ア ク テ ィ ビ テ ィ レー ト を変更する 同等の Tcl コ マ ン ド は、 次の と お り です。
•
特定のデザ イ ン階層 イ ン ス タ ン ス (u1/transmit) の BRAM すべてにア ク テ ィ ビ テ ィ レー ト を設定す る には、 次の
コ マ ン ド を使用 し ます。
set_switching_activity -static_probability 0.25 -toggle_rate 10 -type bram
[get_cells u1/transmit]
•
デザ イ ンのすべての GT にア ク テ ィ ビ テ ィ レー ト を設定す る には、 次の コ マ ン ド を使用 し ます。
set_switching_activity -static_probability 0.5 -toggle_rate 50 -type gt -all
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
81
japan.xilinx.com
第 6章
消費電力削減のための ヒ ン ト および手法
概要
こ の章では、 消費電力を削減す る 手法お よ びその手法に よ る 総消費電力への効果を説明 し ます。 こ の情報は、 時間、
消費電力要件、 使用可能な リ ソ ース、 お よ びデザ イ ンの変更許容度な ど に合わせて最適なオプシ ョ ン を評価する 際
に役立ち ます。
シ ス テム レ ベルの消費電力削減
冷却ス ト ラ テ ジ
冷却ス ト ラ テジは、 デバ イ ス で生成 さ れた熱が除去 さ れて環境に吸収 さ れ る よ う に し ます。 こ れ ら の冷却ス ト ラ テ
ジは、 デバ イ ス の ス タ テ ィ ッ ク 消費電力に大 き く 影響 し ます。 通常設計の初期段階で適用 し 、 フ ロ ー後半にな っ て
か ら では適用 し づ ら く な り ます。
•
エア フ ロ ーを増やす
•
周囲温度を下げ る
•
ヒ ー ト シ ン ク (ま たは さ ら に大 き い ヒ ー ト シ ン ク ) を使用する か、 ま たは別の レ ギ ュ レー タ を選択する
電源ス ト ラ テ ジ
電圧は、 ス タ テ ィ ッ ク 消費電力お よ びダ イ ナ ミ ッ ク 消費電力の両方に大 き く 影響 し ます。 電圧レベルのア ク テ ィ ブ
制御に よ り 、 指定の電圧がデバ イ ス に適用 さ れます。
•
ス イ ッ チン グ レ ギ ュ レー タ を使用する
ス イ ッ チン グ レ ギ ュ レー タ は、 リ ニア レ ギ ュ レー タ と 比べ る と 電力効率は高 く な り ますが、 コ ン ポーネ ン ト 数
は多 く な り ます。
•
調整可能な レ ギ ュ レー タ を使用す る
同 じ 電源で複数の FPGA に電力を供給す る 場合、 FPGA お よ び消費電力が最大のデバ イ ス ので き る 限 り 近 く で電
圧を感知 し ます。
•
許容誤差が小 さ い レ ギ ュ レー タ を選択す る
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
82
japan.xilinx.com
第 6 章 : 消費電力削減のための ヒ ン ト お よび手法
デバイ スの選択
•
製品に適 し たデバ イ ス を選択す る
デバ イ ス選択では、 消費電力が主要な要素 と な っ て き てい ます。 集積度、 機能、 パフ ォーマ ン ス要件に最適で、
消費電力要件 も 満たすデバ イ ス を選択 し て く だ さ い。
•
デバ イ ス数を最小限に抑え る
こ れに よ り 、 エ リ ア、 I/O イ ン タ ー コ ネ ク ト の消費電力、 総 リ ー ク 電流、 お よ びその他の要因を抑え る こ と がで
き ます。 通常、 プ ロ セ ッ サ と FPGA な ど の複数の コ ン ポーネ ン ト をサ イ ズが大 き めの 1 つの FPGA と 置き 換え
る と 、 ス タ テ ィ ッ ク 消費電力を削減で き ます。
•
可能な限 り 小型のデバ イ ス を選択す る
こ れに よ り リ ー ク 電流が削減 さ れます。 通常、 1 つの FPGA フ ァ ミ リ では同 じ パ ッ ケージ を異な る ダ イ サ イ ズ
で使用で き ます。 た と えば、 プ ロ ト タ イ プ中お よ び生産前には大 き めのダ イ を使用 し 、 量産段階では小 さ めの
ダ イ を使用す る こ と も 可能です。
•
可能な限 り 大型のパ ッ ケージ を選択す る
こ れに よ り 、 放熱が増加 し ます。 パ ッ ケージが大 き いほ ど、 ダ イ の熱を環境に放散する エ リ アが大き く な り ま
す。 パ ッ ケージの上面に装着す る ヒ ー ト シ ン ク を大 き く す る と 、 下面のボール グ リ ッ ド ア レ イ を介 し てプ リ ン
ト 回路基板に放散 さ れ る 熱を増やす こ と がで き ます。
•
低電圧デバ イ ス を使用す る
一部のデバ イ ス フ ァ ミ リ には、 低消費電力オプシ ョ ンがあ り ます。 電圧要件を下げ る と 、 ス タ テ ィ ッ ク 消費電
力お よ びダ イ ナ ミ ッ ク 消費電力を大幅に削減で き ます。
•
リ ー ク 電流が小 さ いデバ イ ス を使用す る
一部のデバ イ ス フ ァ ミ リ では、 特定の ス ピー ド グ レー ド ま たは温度グ レー ド を使用す る こ と に よ り 、 低 リ ー ク
電流ま たは低ス タ テ ィ ッ ク 消費電力オプシ ョ ン を利用で き ます。 こ れ ら のデバ イ ス の価格は多少高 く な り ます
が、 電気代、 冷却ハー ド ウ ェ ア、 お よ びシ ス テ ム管理費を その価格以上に節約で き る 可能性があ り ます。
消費電力および温度の計測
こ のセ ク シ ョ ンでは、 FPGA デバ イ ス の消費電力 と 放熱を計測する ための手法を説明 し ます。 こ れ ら の手法には、
FPGA の内部 リ ソ ース を使用す る も のや、 ボー ド コ ン ポーネ ン ト ま たは外部 コ ン ポーネ ン ト を使用す る も のがあ り
ます。 アプ リ ケーシ ョ ンに よ っ ては、 フ ィ ール ド に設置後に消費電力 と 温度を逐次監視 し て調整する 必要があ っ た
り 、 こ れ ら の測定手法を ラ ボでプ ロ ト タ イ プお よ び検証段階で使用 し た り し ます。
消費電力の計測方法
消費電力を計測す る には、 次の方法があ り ます。
•
「電流検出抵抗器を使用」
•
「ア ド バン ス レ ギ ュ レー タ お よ びデジ タ ル電力コ ン ト ロ ー ラ ーを使用」
•
「オン ボー ド 監視を実行」
•
「個別の電源レールを使用」
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
83
japan.xilinx.com
第 6 章 : 消費電力削減のための ヒ ン ト お よび手法
電流検出抵抗器を使用
レ ギ ュ レー タ 出力 と FPGA デバ イ ス の間に電流検出抵抗器を直列に挿入す る と 、 小 さ な電圧降下が発生 し ます。 こ
れは、 オームの法則に よ る と 電流に比例 し ます。 こ の電圧を XADC で計測する と 、 FPGA デバ イ ス に供給 さ れ る 電
流がわか り ます。 正 し く 計測す る ために必要な接続については、 『7 シ リ ーズ FPGA お よ び Zynq-7000 All
Programmable SoC XADC デ ュ アル 12 ビ ッ ト 1 MSPS アナ ロ グ - デジ タ ル コ ンバー タ ー ユーザー ガ イ ド 』 (UG480) [参
照 9] (XADC ユーザー ガ イ ド ) を参照 し て く だ さ い。 電流検出抵抗器の使用方法については、 『XADC (Xilinx
Analog-to-Digital Converter) の駆動』 (XAPP795) [参照 10] を参照 し て く だ さ い。
ア ド バン ス レギ ュ レー タ およびデジ タ ル電力 コ ン ト ロー ラ ーを使用
最新の評価キ ッ ト には、 ア ド バン ス レ ギ ュ レー タ と デジ タ ル電力コ ン ト ロ ー ラ ーが含まれてお り 、 こ れ ら を使用 し
て レ ギ ュ レー タ の出力電流 と 電圧を キ ャ プチ ャ し 、 その情報を USB イ ン タ ーフ ェ イ ス を介 し て監視コ ン ピ ュ ー タ ー
に送信で き ます。 電源レールを監視す る には、 こ れが最 も 単純で便利な方法です。
ほ と ん ど のザ イ リ ン ク ス開発ボー ド には、 テ キサ ス イ ン ス ツル メ ン ツ社の UCD92xx コ ン ト ロ ー ラ ーが搭載 さ れてお
り 、 PC 上の Fusion Digital Power Designer ソ フ ト ウ ェ アか ら PMBus (I2C) to USB イ ン タ ーフ ェ イ ス モジ ュ ールを使用
し てア ク セ ス で き ます。
オ ンボー ド 監視を実行
ザ イ リ ン ク 7 シ リ ーズ デバ イ ス フ ァ ミ リ には、 電源電圧 と デバ イ ス の温度を計測す る ため、 内部セ ンサー と 、 少な
く と も 1 つのアナ ロ グ/デジ タ ル コ ンバー タ ーが含ま れてい ます。 Vivado ハー ド ウ ェ ア マネージ ャ ーを使用す る と 、
リ アル タ イ ムで JTAG にア ク セ ス で き 、 デバ イ ス の コ ン フ ィ ギ ュ レーシ ョ ンの実行前 と 実行後に さ ま ざ ま な電源電圧
やデバ イ ス のジ ャ ン ク シ ョ ン温度を計測で き ます。 シ ス テ ム モニ タ ーま たは XADC コ ン ポーネ ン ト を コ ー ド に イ ン
ス タ ン シエー ト し て、 FPGA アプ リ ケーシ ョ ンか ら こ れ ら を計測する こ と も で き ます。
個別の電源レールを使用
可能であれば、 各電源電圧に個別の電圧レールを使用 し て く だ さ い。 電圧レールがひ と ま と めに接続 さ れてい る 場
合は、 こ れ ら の レール間で電力を計測す る 際にそれを考慮 し ます。
温度の計測方法
温度を計測す る には、 次の方法があ り ます。
•
「外部監視を実行」
•
「オン ボー ド 監視を実行」
外部監視を実行
デバ イ ス パ ッ ケージに よ り シ リ コ ンにア ク セ ス で き ないので、 ジ ャ ン ク シ ョ ン温度を直接計測す る こ と はで き ませ
ん。 ジ ャ ン ク シ ョ ン温度は、 パ ッ ケージ、 ヒ ー ト シ ン ク 、 お よ びその他の熱電対があ る 場所の温度を計測する こ と
に よ り 見積 も る こ と がで き ます。
ま た、 温度カ メ ラ を使用 し て、 デバ イ ス の温度お よ び周辺の コ ン ポーネ ン ト や環境 と の放熱関係を視覚化で き ます。
オ ンボー ド 監視を実行
温度は、 消費電力計測 と 同 じ 方法を使用 し て計測で き ます。 デバ イ ス コ ン フ ィ ギ ュ レーシ ョ ンの前後に Vivado ハー
ド ウ ェ ア マネージ ャ ーを使用で き ます。 ま た、 シ ス テ ム モニ タ ー /XADC プ リ ミ テ ィ ブ をデザ イ ンに含めて、 デバ
イ ス のジ ャ ン ク シ ョ ン温度を読み出す こ と も 可能 です。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
84
japan.xilinx.com
第 6 章 : 消費電力削減のための ヒ ン ト お よび手法
消費電力および温度の計測方法
デザ イ ンの総消費電力に寄与す る 3 つの要因を評価す る ため、 計測前にデバ イ ス のジ ャ ン ク シ ョ ン温度を制御 し て
安定 さ せ る 必要があ り ます。 こ れは、 デバ イ スお よ びデザ イ ンの ス タ テ ィ ッ ク 消費電力がデバ イ ス のジ ャ ン ク シ ョ
ン温度に大 き く 依存 し てい る ため必要です。
デザ イ ンの総消費電力に寄与す る 3 つの要因は、 次の と お り です。
•
「デバ イ ス の ス タ テ ィ ッ ク 消費電力」
•
「デザ イ ンの ス タ テ ィ ッ ク 消費電力」
•
「デザ イ ンのダ イ ナ ミ ッ ク 消費電力」
デバイ スのス タ テ ィ ッ ク 消費電力
空のデザ イ ン を ダ ウ ン ロ ー ド し 、 入力 ノ イ ズがキ ャ プチ ャ さ れず、 すべての内部 ロ ジ ッ ク お よ びコ ン フ ィ ギ ュ レー
シ ョ ン回路が既知の ス テー ト にな っ てい る こ と を確認 し ます。
注記 : 空のデザ イ ンには、 ト グル し ないゲー ト ま たはフ リ ッ プ フ ロ ッ プが 1 つ含まれてお り 、 すべての出力が ト ラ イ
ス テー ト にな っ てい ます。
ジ ャ ン ク シ ョ ン温度が安定 し た ら 、 VCCINT、 VCCAUX、 お よ びその他の電源を計測 し ます。 特殊な装置、 単純な
ヒ ー ト ガ ン、 ま たは冷却ス プ レーを使用する と 、 温度を強制的に変更で き 、 デバ イ ス の ス タ テ ィ ッ ク 消費電力への
環境に よ る 影響を評価で き ます。 VCCADC は常に VCCAUX に接続 し てお く 必要があ り ます。
デザイ ンのス タ テ ィ ッ ク 消費電力
FPGA デバ イ ス にデザ イ ン を ダ ウ ン ロー ド し て、 すべての入力および内部ア ク テ ィ ビ テ ィ (入力データ、 外部および内
部 ク ロ ッ ク 生成) を開始し ない よ う に し ます。 デバ イ ス の温度が安定 し た ら 、 電源レールの消費電力を計測し ます。
こ れ ら の値か ら デバ イ ス の ス タ テ ィ ッ ク 消費電力を差 し 引 く と 、 デザ イ ンで使用 さ れ る特定の ロ ジ ッ ク リ ソ ースおよ
びコ ン フ ィ ギ ュ レーシ ョ ンで消費 さ れる ス タ テ ィ ッ ク 消費電力 (デザ イ ンの ス タ テ ィ ッ ク 消費電力) が求め ら れます。
デザイ ンのダ イ ナ ミ ッ ク 消費電力
FPGA デバ イ ス にデザ イ ン を ダ ウ ン ロ ー ド し て、 デザ イ ン を表す ク ロ ッ ク お よ び入力ス テ ィ ミ ュ ラ ス を供給 し ます。
ジ ャ ン ク シ ョ ン温度が安定 し た ら 、 電源の消費電力を計測 し ます。
こ の消費電力は、 デザ イ ンの瞬間的な総消費電力を表 し てお り 、 各 ク ロ ッ ク サ イ ク ルのア ク テ ィ ビ テ ィ に よ っ て変
化 し ます。
デザイ ン レ ベルの消費電力削減
次のセ ク シ ョ ンでは、 デザ イ ンの消費電力要件を満たすためにデザ イ ンに適用で き る 手法を示 し ます。
デザ イ ン サ イ ク ルには、 主に次の 2 つの状況で消費電力 ク ロ ージ ャ が含まれます。
•
制約が満た さ れた後、 さ ら にデザ イ ン を最適化す る 場合
ま たは
•
デザ イ ンが消費電力要件を超え てい る 場合
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
85
japan.xilinx.com
第 6 章 : 消費電力削減のための ヒ ン ト お よび手法
制約が満た さ れた後に さ ら にデザイ ン を最適化
通常、 開発プ ロ セ ス の こ の段階では、 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 の イ ネーブル レー ト と ク ロ ッ ク レー ト は、 消費電力を最適化する 際に最 も 重要なパ
ラ メ ー タ ーです。
TDP モー ド で書 き 込み中に出力 ラ ッ チが変更 さ れない場合は、 NO_CHANGE モー ド を使用 し ます。 こ れが
電力効率が最 も 高いモー ド です。 SDP モー ド では、 NO_CHANGE モー ド は WRITE_FIRST モー ド と 同 じ な
ので、 NO_CHANGE モー ド はあ り ません。
I/O
I/O イ ン タ ーフ ェ イ ス は長距離を駆動する 必要があ り 、 寄生効果の影響が大き く な る 可能性があ る ため、 通常デ
バ イ ス の消費電力要件の大部分を占め ます。
°
VCCAUX
で き る だけ低い VCCAUX を使用 し ます。 こ れに よ り 、 こ の電源の ス タ テ ィ ッ ク 消費電力お よ びダ イ ナ ミ ッ
ク 消費電力の両方が最小限に抑え ら れます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
86
japan.xilinx.com
第 6 章 : 消費電力削減のための ヒ ン ト お よび手法
°
入力
内部で参照 さ れ る 入力規格の使用を制限 し ます。
°
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 つの タ イ ルにパ ッ ク し て、 サポー ト 回路の複製を最小限に抑え ます。
XADC
°
XADC は、 ラ ン タ イ ム中に DRP ポー ト か ら その コ ン フ ィ ギ ュ レーシ ョ ン レ ジ ス タ #2 (ア ド レ ス 0x42) に書
き 込む こ と でパ ワーダ ウ ンで き ます。 各チ ャ ネルのパ ワーダ ウ ンは、 こ の レ ジ ス タ の ビ ッ ト DI4 と DI5 で
制御 さ れます。
Vivado でパ ワ ーダ ウ ン ビヘ イ ビ アーを ス タ テ ィ ッ ク にエ ミ ュ レー ト す る には、 次の コ マ ン ド を Vivado の
Tcl コ ン ソ ールに入力 し て、 コ ン フ ィ ギ ュ レーシ ョ ン レ ジ ス タ を設定 し ます。
set_property INIT_42 {16'h0430} [get_cells <inst>]
<inst> は XADC イ ン ス タ ン ス です。
上記の コ マ ン ド は、 XADC の両方のチ ャ ネルをパ ワーダ ウ ン し ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
87
japan.xilinx.com
第 6 章 : 消費電力削減のための ヒ ン ト お よび手法
•
ロジッ ク
次の方法でデザ イ ン記述を最適化で き ます。
°
ロ ジ ッ ク の最適化の妨げにな り 、 配置配線 リ ソ ース を多 く 使用す る 非同期の制御信号を最小限に抑え ます。
°
制御セ ッ ト 数を最小限に抑え ます。 制御セ ッ ト は、 ク ロ ッ ク 、 ク ロ ッ ク イ ネーブル、 セ ッ ト 、 リ セ ッ ト 、
ラ イ ト イ ネーブル (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]
最後に、 消費電力最適化お よ びベ ク タ ーレ ス消費電力見積 も り の前に、 グ ロ ーバル セ ッ ト / リ セ ッ ト 信号の信号
レー ト お よ び確率が正 し く 設定 さ れてい る こ と を確認 し て く だ さ い。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
88
japan.xilinx.com
第 6 章 : 消費電力削減のための ヒ ン ト お よび手法
•
ス ラ イ ス レ ジ ス タ お よ び SRL
power_opt_design でデザ イ ンの ス ラ イ ス レ ジ ス タ ま たは SRL に対 し て ク ロ ッ ク イ ネーブルが生成 さ れない
原因は、 多数あ り ます。 次は、 その例です。
•
°
デザ イ ンに組み合わせループが存在す る
°
デザ イ ンへのプ ラ イ マ リ 入力が ソ ース と な る フ リ ッ プ フ ロ ッ プお よ び SRL にセ ッ ト / リ セ ッ ト 信号が使用 さ
れてい る
°
デー タ パ ス フ リ ッ プ フ ロ ッ プに非同期セ ッ ト / リ セ ッ ト 信号が使用 さ れてい る
°
デザ イ ンに多数の ク ロ ッ ク ド メ イ ンがあ り 、 ク ロ ッ ク ド メ イ ン を ま たがっ てい る ために イ ネーブルが生成
さ れない
°
SRL のサ イ ズ : SRL のシ フ ト レ ジ ス タ の段数が多いほ ど、 すべての段に対 し て 1 つの ク ロ ッ ク イ ネーブル
を生成す る のが困難にな り ます。
ブ ロ ッ ク RAM
ブ ロ ッ ク RAM (BRAM) が多数使用 さ れ る デザ イ ンでは、 消費電力を大き く 削減で き る 可能性があ り ます。
Vivado では、 さ ま ざ ま な最適化手法を使用 し て イ ネーブルを生成 し 、 消費電力を削減 し ます。
power_opt_design を使用 し て も BRAM のゲーテ ィ ン グがそれほ ど適用 さ れていない場合は、 次の よ う な原
因が考え ら れます。
°
BRAM が主に FIFO18/FIFO36 セルであ る 。 こ れ ら の イ ン ス タ ン ス はツールで最適化で き ません。
°
推論ま たは イ ン ス タ ン シエー ト さ れた メ モ リ が、 A ポー ト と B ポー ト に別の ク ロ ッ ク を使用 し た完全な
デ ュ アル ポー ト (TDP) モー ド であ り 、 power_opt_design で最適化で き ない。
°
BRAM 自体ま たは BRAM に供給 さ れ る ア ド レ ス/ ラ イ ト イ ネーブル フ リ ッ プ フ ロ ッ プに非同期 リ セ ッ ト が
使用 さ れてい る 。
Vivado 消費電力解析機能での試行
Vivado の [Report Power] ダ イ ア ロ グ ボ ッ ク ス で設定を変更 し て解析を実行 し 、 消費電力への影響を確認で き ます。
°
環境 : 温度パ ラ メ ー タ ー、 プ ロ セ ス、 ま たは電圧を設定 し ます。
°
デザ イ ンのア ク テ ィ ビ テ ィ : デザ イ ンに含まれ る ネ ッ ト ま たはセルのア ク テ ィ ビ テ ィ を調整 し ます。 1 つま
たは複数のア イ テ ム を同時に変更 し ます。 次 も 変更で き ます。
-
ク ロ ッ ク ド メ イ ン : ス イ ッ チン グ周波数を調整 し ます。
-
グルー ロ ジ ッ ク : ダ イ ナ ミ ッ ク ア ク テ ィ ビ テ ィ レー ト を調整 し ます。
-
I/O : ス タ テ ィ ッ ク ア ク テ ィ ビ テ ィ お よ びダ イ ナ ミ ッ ク ア ク テ ィ ビ テ ィ の確率を調整 し ます。 負荷容量
や近端ボー ド 終端な ど、 デバ イ ス出力に接続 さ れてい る 外部 コ ン ポーネ ン ト のパ ラ メ ー タ ー も 調整で
き ます。
-
信号 : デー タ 信号のダ イ ナ ミ ッ ク ア ク テ ィ ビ テ ィ レー ト を調整 し ます。 制御信号の ス タ テ ィ ッ ク 確率
を変更す る と 、 ク ロ ッ ク イ ネーブル、 セ ッ ト 、 ま たは リ セ ッ ト の異な る 条件下での消費電力を評価で
き ます。
-
特定のブ ロ ッ ク : ダ イ ナ ミ ッ ク ア ク テ ィ ビ テ ィ 確率に加え、 ブ ロ ッ ク RAM のポー ト イ ネーブルま た
は ラ イ ト イ ネーブルな ど の制御信号のア ク テ ィ ビ テ ィ も 調整で き ます。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
89
japan.xilinx.com
第 6 章 : 消費電力削減のための ヒ ン ト お よび手法
Xilinx Power Estimatorr (XPE) での試行
XPE では、 複数の ソ ース に よ り 開発 さ れたモジ ュ ールの Vivado 消費電力解析結果を イ ン ポー ト し 、 こ れ ら の IP
ブ ロ ッ ク をデバ イ ス に イ ンプ リ メ ン ト し た と き の総消費電力を確認で き ます。 ま た、 ネ ッ ト リ ス ト を変更 し な
く てはいけない状況を評価 し 、 実際に コ ー ド を変更せずに消費電力への影響を評価で き ます。 XPE では各 ロ
ジ ッ ク エ レ メ ン ト ま たは信号を個別に変更する こ と はで き ないので、 デザ イ ンの コ ア ロ ジ ッ ク での精度は
Vivado 消費電力解析 よ り も 低 く な り ます。
XPE では、 次を試す こ と も で き ます。
°
リ ソ ース使用量
リ ソ ース数を減 ら し てみます。 ロ ジ ッ ク の一部を ス ラ イ ス ロ ジ ッ ク か ら ブ ロ ッ ク RAM や DSP な ど の専用
ブ ロ ッ ク にマ ッ プ し 直 し た り 、 ま たその逆を実行 し てみます。
°
リ ソ ース コ ン フ ィ ギ ュ レーシ ョ ン
デザ イ ンの I/O、 ブ ロ ッ ク RAM、 ク ロ ッ ク ジ ェ ネ レー タ ー、 お よ びその他の リ ソ ース に別の コ ン フ ィ ギ ュ
レーシ ョ ン設定を使用 し てみます。
RTL コ ー ド の変更
消費電力を削減す る ために RTL コ ー ド を変更す る 必要があ る 場合は、 パ イ プ ラ イ ン を追加 し た り 、 キ ャ リ ー
チ ェーンや XOR フ ァ ン ク シ ョ ン な ど のア ク テ ィ ビ テ ィ の高い ロ ジ ッ ク で リ タ イ ミ ン グ を実行 し てみた り で き ま
す。 キ ャ リ ー チ ェ ーン を含む長いパス は、 低速の ク ロ ッ ク ド メ イ ンにあ る こ と が多いですが、 グ リ ッ チが増
え、 デザ イ ンの消費電力が増加す る 原因 と な り ます。 多 く の場合、 こ れ ら のパ ス を リ タ イ ミ ン グ ま たはパ イ プ
ラ イ ン処理す る と 有益です。
手順 4 : 変更を反映 し 、 消費電力を確認
時間、 パフ ォーマ ン ス、 お よ び リ ソ ース制約での最適な変更を決定 し た ら 、 こ れ ら を反映 さ せます。 一度に試すオ
プシ ョ ンや変更が多すぎ る と 、 競合や相互作用が発生す る 可能性があ る ため、 結果が最適にな ら ない可能性があ り
ます。 時間があ る 場合は一度に試すオプシ ョ ン を限定 し て、 ほかの変更を加え る 前に消費電力お よ びその他の制約
への影響を評価す る 方法が最適です。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
90
japan.xilinx.com
付録 A
その他のソ ースおよび法的通知
ザイ リ ン ク ス リ ソ ース
ア ンサー、 資料、 ダ ウ ン ロ ー ド 、 フ ォー ラ ム な ど のサポー ト リ ソ ース は、 ザ イ リ ン ク ス サポー ト サ イ ト を参照 し て
く だ さ い。
ソ リ ュ ーシ ョ ン セ ン タ ー
デバ イ ス、 ツール、 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 チ ュ ー ト リ アル : 消費電力の解析 と 最適化』 (UG997)
6.
『Vivado Design Suite ユーザー ガ イ ド : ロ ジ ッ ク シ ミ ュ レーシ ョ ン』 (UG900)
7.
『7 シ リ ーズ FPGA パ ッ ケージお よ びピ ン配置ガ イ ド 』 (UG475 : 英語版、 日本語版)
8.
『UltraScale お よ び UltraScale+ FPGA パ ッ ケージお よ びピ ン配置ユーザー ガ イ ド 』 (UG575 : 英語版、 日本語版)
9.
『7 シ リ ーズ FPGA お よ び Zynq-7000 All Programmable SoC XADC デュ アル 12 ビ ッ ト 1MSPS アナ ロ グ-デジ タ ル
コ ンバー タ ー ユーザー ガ イ ド 』 (UG480 : 英語版、 日本語版)
10. 『XADC (Xilinx Analog-to-Digital Converter) の駆動』 (XAPP795 : 英語版、 日本語版)
11. Vivado Design Suite の資料
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
91
japan.xilinx.com
付録 A : その他のソ ースおよび法的通知
ト レーニ ング リ ソ ース
ザ イ リ ン ク ス では、 本書に含まれ る コ ン セプ ト を説明す る さ ま ざ ま な ト レーニ ン グ コ ースお よ びオン ラ イ ン ビデオ
を提供 し てい ます。 次の リ ン ク か ら 関連す る ト レーニ ン グ リ ソ ース を参照 し て く だ さ い。
1.
Vivado Design Suite QuickTake ビデオ : Vivado での消費電力の見積 も り と 解析
2.
Vivado Design Suite QuickTake ビデオ : Vivado での消費電力の最適化
3.
Vivado Design Suite QuickTake ビデオ チ ュ ー ト リ アル
法的通知
本通知に基づいて貴殿ま たは貴社 (本通知の被通知者が個人の場合には 「貴殿」、 法人その他の団体の場合には 「貴社」。 以下同 じ )
に開示 さ れ る 情報 (以下 「本情報」 と いい ます) は、 ザ イ リ ン ク ス の製品を選択お よ び使用す る こ と のためにのみ提供 さ れます。 適
用 さ れ る 法律が許容す る 最大限の範囲で、 (1) 本情報は 「現状有姿」、 お よ びすべて受領者の責任で (with all faults) と い う 状態で提
供 さ れ、 ザ イ リ ン ク ス は、 本通知を も っ て、 明示、 黙示、 法定を問わず (商品性、 非侵害、 特定目的適合性の保証を含みますが こ
れ ら に限 ら れません)、 すべての保証お よ び条件を負わない (否認す る ) も の と し ます。 ま た、 (2) ザ イ リ ン ク ス は、 本情報 (貴殿ま
たは貴社に よ る 本情報の使用を含む) に関係 し 、 起因 し 、 関連す る 、 いかな る 種類 ・ 性質の損失ま たは損害について も 、 責任を負
わない (契約上、 不法行為上 (過失の場合を含む)、 その他のいかな る 責任の法理に よ る か を問わない) も の と し 、 当該損失ま たは損
害には、 直接、 間接、 特別、 付随的、 結果的な損失ま たは損害 (第三者が起 こ し た行為の結果被っ た、 デー タ 、 利益、 業務上の信
用の損失、 その他あ ら ゆ る 種類の損失や損害を含みます) が含ま れ る も の と し 、 それは、 た と え当該損害や損失が合理的に予見可
能であ っ た り 、 ザ イ リ ン ク ス がそれ ら の可能性について助言を受けていた場合であ っ た と し て も 同様です。 ザ イ リ ン ク ス は、 本情
報に含ま れ る いかな る 誤 り も 訂正す る 義務を負わず、 本情報ま たは製品仕様のア ッ プデー ト を貴殿ま たは貴社に知 ら せ る 義務 も 負
い ません。 事前の書面に よ る 同意のない限 り 、 貴殿ま たは貴社は本情報を再生産、 変更、 頒布、 ま たは公に展示 し てはな り ませ
ん。 一定の製品は、 ザ イ リ ン ク ス の限定的保証の諸条件に従 う こ と と な る ので、 http://japan.xilinx.com/legal.htm#tos で見 ら れ る ザ イ
リ ン ク ス の販売条件を参照 し て く だ さ い。 IP コ アは、 ザ イ リ ン ク ス が貴殿ま たは貴社に付与 し た ラ イ セ ン ス に含ま れ る 保証 と 補助
的条件に従 う こ と にな り ます。 ザ イ リ ン ク ス の製品は、 フ ェ イ ルセーフ と し て、 ま たは、 フ ェ イ ルセーフ の動作を要求する アプ リ
ケーシ ョ ンに使用す る ために、 設計 さ れた り 意図 さ れた り し てい ません。 その よ う な重大な アプ リ ケーシ ョ ンにザ イ リ ン ク ス の製
品を使用す る 場合の リ ス ク と 責任は、 貴殿ま たは貴社が単独で負 う も のです。 http://japan.xilinx.com/legal.htm#tos で見 ら れ る ザ イ リ
ン ク ス の販売条件を参照 し て く だ さ い。
© Copyright 2012-2016 Xilinx, Inc. Xilinx、 Xilinx の ロ ゴ、 Artix、 ISE、 Kintex、 Spartan、 Virtex、 Vivado、 Zynq、 お よ び こ の文書に含
ま れ る その他の指定 さ れたブ ラ ン ド は、 米国お よ びその他各国のザ イ リ ン ク ス社の商標です。 すべてのその他の商標は、 それぞれ
の保有者に帰属 し ます。
こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、 [email protected] ま で、 ま たは各ページ
の右下にあ る [フ ィ ー ド バ ッ ク 送信] ボ タ ン を ク リ ッ ク す る と 表示 さ れ る フ ォ ームか ら お知 ら せ く だ さ い。 フ ィ ー ド バ ッ ク は日本語
で入力可能です。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは
受け付けてお り ません。 あ ら か じ めご了承 く だ さ い。
消費電力解析および最適化
UG907 (v2016.2) 2016 年 6 月 8 日
92
japan.xilinx.com
Fly UP