Vivado Design Suite ユーザー ガ イ ド 消費電力解析お よび最適化 UG907 (v2012.4) 2012 年 1 月 10 日 Notice of Disclaimer The information disclosed to you hereunder (the “Materials”) is provided solely for the selection and use of Xilinx products.To the maximum extent permitted by applicable law:(1) Materials are made available "AS IS" and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort, including negligence, or under any other theory of liability) for any loss or damage of any kind or nature related to, arising under, or in connection with, the Materials (including your use of the Materials), including for any direct, indirect, special, incidental, or consequential loss or damage (including loss of data, profits, goodwill, or any type of loss or damage suffered as a result of any action brought by a third party) even if such damage or loss was reasonably foreseeable or Xilinx had been advised of the possibility of the same.Xilinx assumes no obligation to correct any errors contained in the Materials or to notify you of updates to the Materials or to product specifications.You may not reproduce, modify, distribute, or publicly display the Materials without prior written consent.Certain products are subject to the terms and conditions of the Limited Warranties which can be viewed at http://www.xilinx.com/warranty.htm; IP cores may be subject to warranty and support terms contained in a license issued to you by Xilinx.Xilinx products are not designed or intended to be fail-safe or for use in any application requiring fail-safe performance; you assume sole risk and liability for use of Xilinx products in Critical Applications:http://www.xilinx.com/warranty.htm#critapps. © Copyright 2012 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Vivado, Zynq, and other designated brands included herein are trademarks of Xilinx in the United States and other countries.All other trademarks are the property of their respective owners. 本資料は英語版 (v2012.4) を翻訳 し た も ので、 内容に相違が生 じ る 場合には原文を優先 し ます。 資料に よ っ ては英語版の更新に対応 し ていない も のがあ り ます。 日本語版は参考用 と し て ご使用の上、 最新情報につ き ま し ては、 必ず最新英語版を ご参照 く だ さ い。 こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、jpn_trans_feedback@xilinx.com ま でお知 ら せ く だ さ い。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは受け付け てお り ません。 あ ら か じ めご了承 く だ さ い。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 2 改訂履歴 次の表に、 こ の文書の改訂履歴を示 し ます。 日付 バージ ョ ン 改訂内容 2012 年 7 月 25 日 2012.2 初版 2012 年 10 月 30 日 2012.3 Vivado™ Design Suite 2012.3 リ リ ース用にア ッ プデー ト • XPower Estimator を Xilinx Power Estimator に変更 • Vivado Design Suite の配置前お よ び配置後の消費電力最適化に関す る 情報を追加。詳 細は 第 5 章の 「消費電力最適化の実行」 を参照 • デザ イ ンに正 し く 制約を付け る こ と で Vivado 消費電力最適化で消費電力を最大限 に節電す る 情報を追加。 詳細は、 第 5 章の 「消費電力最適化を使用 し た消費電力の 最大限の削減」 を参照 • [Report Power] ダ イ ア ロ グ ボ ッ ク ス の [Input Files] タ ブに関す る 情報を追加。 こ の タ ブ で は [Report Power] で よ り 正確 な消費電力解析 を 実行す る た め に SAIF ま た は VCD シ ミ ュ レーシ ョ ン出力フ ァ イ ルを指定可能。 詳細は、 第 4 章の 「デバ イ ス/デ ザ イ ン設定を確認 し て既知のエ レ メ ン ト のア ク テ ィ ビ テ ィ を調整」 を参照 2012 年 1 月 10 日 2012.4 Vivado Design Suite 2012.4 リ リ ース用にア ッ プデー ト • [Report Power] ダ イ ア ロ グ ボ ッ ク ス の [Default Activity Rates] タ ブの情報を追加。 詳細 は、 第 4 章の 「デバ イ ス/デザ イ ン設定を 確認 し て既知のエ レ メ ン ト の ア ク テ ィ ビ テ ィ を調整」 を参照。 • Vivado Design Suite 内で Mentor Graphics 社の ModelSim シ ミ ュ レー タ か ら SAIF フ ァ イ ルを生成 し て消費電力解析をす る 場合に参照す る ため、 ア ンサー 53544 を追加。詳 細は、 第 4 章の 「解析に使用す る 入力デー タ の指定」 を参照。 • 第 5 章の 「Tcl プ ロ ンプ ト か ら の消費電力レ ポー ト の解析」 の消費電力解析レ ポー ト の説明を ア ッ プデー ト 。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 3 目次 改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 第 1 章 : FPGA の消費電力 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 消費電力の用語 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FPGA の電源 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FPGA の消費電力 と 全般的な設計プ ロ セ ス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 8 9 第 2 章 : ザイ リ ン ク ス消費電力解析ツール 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ザ イ リ ン ク ス消費電力予測/解析ツール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ユーザー入力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ベ ク タ ー ベース の予測 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ベ ク タ ーレ ス予測 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 10 14 14 15 第 3 章 : 消費電力予測手法 : 初期評価段階 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Xilinx Power Estimator での初期消費電力予測 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 第 4 章 : 消費電力予測手法 : Vivado Design Suite でのデザイ ン フ ロ ー段階 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 状況説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 手法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 第 5 章 : Vivado Design Suite での消費電力解析および最適化 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 消費電力解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 消費電力の最適化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 第 6 章 : 消費電力削減のための ヒ ン ト お よび手法 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 シ ス テ ム レベル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 デザ イ ン レベル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 付録 A : その他の リ ソ ース ザ イ リ ン ク ス リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 ソ リ ュ ーシ ョ ン セ ン タ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 4 第 1章 FPGA の消費電力 概要 こ の章では、ボー ド に搭載 し た FPGA の消費電力の説明で使用 さ れ る 用語を説明 し ます。シ ス テ ム開発におけ る FPGA の開発について も 説明 し 、 設計フ ロ ーの各段階でど の よ う な操作が実行 さ れ る かを示 し ます。 消費電力の用語 こ のガ イ ド では、 次の用語が使用 さ れます。 静止電流 出力電流負荷、 ア ク テ ィ ブなプルア ッ プ抵抗がな く 、 すべての I/O ピ ンが ト ラ イ ス テー ト 状態で フ ロ ー ト し てい る ブ ラ ン ク デバ イ ス に よ り 引 き込まれ る電流 デバイ スのス タ テ ィ ッ ク消費電力 接続 さ れてい る すべての電源レールの ト ラ ン ジ ス タ の リ ー ク 電流、お よ び コ ン フ ィ ギ ュ レーシ ョ ン後に FPGA が正常 に動作する ために必要な回路か ら の消費電力。 プ ロ セ ス、 電圧、 お よ び温度の関数で求め ら れ、 デバ イ ス の安定 し た 状態での寄生 リ ー ク 電流を表 し ます。 デザイ ンの消費電力 入力デー タ のパ タ ーンお よ びデザ イ ン の内部動作に よ り 発生す る ユーザー デザ イ ンの消費電力。 瞬間的な も のであ り 、 各 ク ロ ッ ク サ イ ク ルで異な り ます。 電圧レベル、 使用 さ れ る ロ ジ ッ ク リ ソ ースお よ び配線 リ ソ ース に よ り 決ま り ま す。 こ れには、 I/O 終端、 ク ロ ッ ク マネージ ャ ー、 お よ び使用時に電力を必要 と す る その他の回路か ら の ス タ テ ィ ッ ク 電流が含まれます。 オフ チ ッ プ デバ イ ス に供給 さ れ る 電力は含まれません。 オ ン チ ッ プの総消費電力 FPGA 内の消費電力の合計で、 デバ イ ス の ス タ テ ィ ッ ク 消費電力 と デザ イ ンの消費電力を加算 し た も のです。 熱消費 電力 と も 呼ばれます。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 5 消費電力の用語 オ フ チ ッ プ消費電力 電源か ら FPGA の電源ピ ン を介 し て I/O か ら 放出 さ れ、 外部ボー ド コ ン ポーネ ン ト で消費 さ れ る 電流。 FPGA か ら 供 給 さ れ る 電流は、 通常 I/O 終端、 LED、 ほかのチ ッ プの I/O バ ッ フ ァ ーな ど のオ フチ ッ プ コ ンポーネ ン ト で消費 さ れ、 デバ イ ス のジ ャ ン ク シ ョ ン温度の上昇には関係 し ません。 パワーオ ン電流 FPGA に最初に電源を投入 し た と き に発生す る 過渡電流。 各電圧電源、 FPGA の構造、 電源が公称電圧ま で上昇す る 能力に よ っ て異な り ます。 こ の電流は、 温度、 電源の投入順な ど のデバ イ ス の動作条件に も よ り ます。 アーキ テ ク チ ャ の向上や、 適切な電源投入順に よ り 、 パ ワ ーオン電流は動作電流 よ り も 通常小 さ く な り ます。 ジ ャ ン ク シ ョ ン温度 (°C) 動作中のデバ イ ス の温度。 デバ イ ス を選択す る 際は、 通常温度グ レー ド を選択 し ます。 こ の温度グ レー ド は、 デバ イ ス が仕様どお り 正常に動作する 温度範囲を定義 し ます。 動作条件がグ レー ド の最大温度を超え、 絶対最大温度未満で あ る 場合、 デバ イ ス の動作は保証 さ れません。 絶対最大温度を超え る と 、 デバ イ ス が破損する 可能性があ り ます。 ジ ャ ン ク シ ョ ン温度 = 周囲温度 + 熱消費電力 * 周囲空気に対す る 熱抵抗 周囲温度 (°C) シ ス テ ムの動作条件下におけ る デバ イ ス周囲の空気の温度。 周囲空気に対する熱抵抗 (Θ JA (°C/W)) Theta-JA、TJA と も 記述 さ れます。FPGA シ リ コ ンか ら 周囲の環境 (デバ イ ス ジ ャ ン ク シ ョ ンか ら 周囲空気) に消費電 力が ど の よ う に放散 さ れ る かを定義する 係数です。 シ リ コ ン チ ッ プの寸法か ら 周囲空気ま でのすべての要素、お よ び パ ッ ケージ、 PCB、 ヒ ー ト シ ン ク 、 エア フ ロ ーな ど の要素が影響 し ます。 こ れは通常、 発生 し た熱が環境に放散 さ れ る 次の 2 つの主なパ ス か ら の熱抵抗 と 相互依存性を組み合わせた も のです。 • ダ イ か ら 上方の空気へ (ジ ャ ン ク シ ョ ンか ら 周囲空気、 ΘJA) • ダ イ か ら ボー ド を介 し て下方の空気へ (ジ ャ ン ク シ ョ ンか ら ボー ド 、 ΘJB) デバイ ス特性 • Advance デバ イ ス のデー タ モデルが早期プ ロ ダ ク シ ョ ン デバ イ ス ロ ッ ト か ら のシ ミ ュ レーシ ョ ン結果ま たは計測結果に 基づいてい る こ と を示 し ます。 こ のデー タ は通常、 製品 リ リ ース か ら 1 年以内に入手可能 と な り ます。 消費電力 モデル デー タ は比較的安定 し てお り 、 余裕を持たせた設定ですが、 実際の値は上下す る 可能性があ り ます。 こ の 仕様のデー タ は、 Preliminary や Production 仕様のデー タ ほ ど正確ではあ り ません。 • Preliminary デバ イ ス のデー タ モデルがエン ジニ ア リ ン グ サンプル シ リ コ ンの特性評価デー タ に基づいてい る こ と を示 し ま す。 こ の仕様では、 デバ イ ス フ ァ ブ リ ッ ク 内にあ る ほぼすべてのブ ロ ッ ク が特性評価 さ れてい ます。 Advance 仕 様 と 比較する と 、 消費電力値の精度は高 く な り ます。 • Production 特定のデバ イ ス フ ァ ミ リ の十分な量産を経た上で特性評価が行われ、多数の生産 ロ ッ ト を対象 と し た完全な電力 相互関係が確立 さ れた後に リ リ ース さ れた こ と を示 し ます。 こ の特性化デー タ のデバ イ ス モデルは、通常変更 さ れません。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 6 消費電力の用語 信号レー ト 解析期間中にエ レ メ ン ト の ス テー ト が遷移する 回数を指定 し ます。 こ れは、 立ち上が り エ ッ ジ と 立ち下が り エ ッ ジが 発生 し た回数の合計を示 し ます。 ザ イ リ ン ク ス ツールでは、 秒ご と の遷移数が百万単位で示 さ れます (Mtr/s)。 ト グル レ ー ト ネ ッ ト や ロ ジ ッ ク エ レ メ ン ト がその入力に対 し て切 り 替わ る レー ト を示 し ます。 パーセン ト で表 さ れます。 • 同期エ レ メ ン ト : 同期エ レ メ ン ト では、 ト グル レー ト は ク ロ ッ ク 入力に対 し て出力が変化す る 頻度を 0 ~ 200% の値で表 し ます。 ト グル レー ト が 100% の場合、 各 ク ロ ッ ク サ イ ク ルで出力が平均で 1 回 ト グル こ と を示 し 、 有 効出力信号周波数は ク ロ ッ ク 周波数の 1/2 にな り ます。 ト グル レー ト が 200% の場合、 各 ク ロ ッ ク サ イ ク ルで出 力が平均で 2 回 ト グル こ と を示 し 、 有効出力信号周波数は ク ロ ッ ク 周波数 と 同 じ にな り ます。 • 非同期エ レ メ ン ト : ク ロ ッ ク に同期 し ないネ ッ ト や ロ ジ ッ ク な ど の非同期エ レ メ ン ト では、 ト グル レー ト は算出 さ れません。 その場合、 Vivado™ 消費電力解析で ト グル レー ト の列に 「Async」 と 示 さ れます。 ヒ ン ト : 同期エ レ メ ン ト に接続 さ れ る 個々の I/O の ト グル レー ト は、 同期エ レ メ ン ト の イ ネーブル レー ト (通常セ ッ ト / リ セ ッ ト / ク ロ ッ ク イ ネーブル ポー ト ) に よ り 調整 さ れてい る 可能性があ り ます。 ス タ テ ィ ッ ク 確率レー ト 解析期間中にエ レ メ ン ト が High に駆動 さ れ る 期間の割合を定義 し ます。 こ の レー ト は 「% High」 と も 記述 さ れます。 ク ロ ッ ク バ ッ フ ァ ー イ ネーブル ク ロ ッ ク バ ッ フ ァ ーが イ ネーブルにな っ てい る 割合の平均値 (%) を示 し ます。 シ ングル/ダ ブル デー タ レー ト 同期 I/O に対 し 、 こ のモジ ュ ールの I/O のデー タ レー ト を示 し ます。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 7 FPGA の電源 FPGA の電源 FPGA には、 複数の電源が必要です。 各電源では、 さ ま ざ ま な FPGA リ ソ ース で必要にな る 電力が提供 さ れます。 こ れに よ り 、 異な る 電圧レベルで さ ま ざ ま な リ ソ ース を動作 さ せ る こ と がで き る ので、 ノ イ ズや寄生効果に対 し て高い 耐性を保ちなが ら 、 パフ ォーマ ン スお よ び信号強度を向上で き ます。 表 1-1 に、 各種電源お よ びその電源が供給 さ れ る ザ イ リ ン ク ス FPGA 内の ロ ジ ッ ク リ ソ ース を示 し ます。 こ れ ら の詳 細は、 ザ イ リ ン ク ス デバ イ ス フ ァ ミ リ に よ っ て異な る 場合があ る ので、 こ の表はガ イ ド ラ イ ン と し てのみ示 し てい ます。 表 1-1 : FPGA リ ソ ース と その電源 電源 VCCINT および VCCBRAM(3) VCCAUX および VCCAUX_IO(3) 電源が供給 さ れる リ ソ ース すべての CLB リ ソ ース すべての配線 リ ソ ース すべての ク ロ ッ ク バ ッ フ ァ ーを含む ク ロ ッ ク ツ リ ー全体 ブ ロ ッ ク RAM/FIFO(1) DSP ス ラ イ ス (1) すべての入力バ ッ フ ァ ー IOB に含まれ る ロ ジ ッ ク エ レ メ ン ト (ILOGIC/OLOGIC)(1) ISERDES/OSERDES(1) ク ロ ッ ク マネージ ャ ー (MMCM、 PLL な ど) (大部分は Vccaux で供 給 さ れ る ため少量のみを供給) • MGT の PCIE お よ び PCS 部分 • • • • • • • • • • • • • • • ク ロ ッ ク マネージ ャ ー (MMCM、 PLL な ど)(1) IODELAY/IDELAYCTRL(1) すべての出力バ ッ フ ァ ー 差動入力バ ッ フ ァ ー VREF ベース のシ ン グルエン ド I/O 規格 (HSTL18_I な ど) 位相器 VCCO • すべての出力バ ッ フ ァ ー • 一部の入力バ ッ フ ァ ー • デジ タ ル制御 イ ン ピーダ ン ス (DCI) 回路 (オンチ ッ プ終端 (OCT))(2) MGT* • ト ラ ン シーバーの PMA 回路 注記 : 1. 一部のデバ イ ス フ ァ ミ リ のみに含 まれ ます。 詳細は、 該当す る デー タ シー ト お よ びユーザー ガ イ ド を参 照 し て く だ さ い。 2. バン ク 0 の VCCO (VCCO_0 ま たは V0CCO_CONFIG) は、 バン ク 0 に含ま れ る すべての I/O と コ ン フ ィ ギ ュ レーシ ョ ン回路に電源を供給 し ま す。 詳細は、 該当す る コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド を参照 し て く だ さ い。 3. ザ イ リ ン ク ス 7 シ リ ーズ FPGA のみ 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 8 FPGA の消費電力 と 全般的な設計プ ロ セス FPGA の消費電力 と 全般的な設計プ ロ セス プ ロ ジ ェ ク ト 考案か ら 完成ま で、 消費電力に影響す る さ ま ざ ま な側面を考慮す る 必要があ り ます。 ほかのすべての制 約 (機能、 パフ ォーマン ス、 コ ス ト 、 お よ び タ イ ム ト ゥ マーケ ッ ト ) を一時的に除外する と 、 消費電力に関連す る タ ス ク は次の 2 つに分類で き ます。 • 物理的 エン ク ロ ージ ャ 、 ボー ド の形状、 電源分配シ ス テ ム、 消費電力の熱に よ る 散逸構造 • 論理的 エ リ ア、 パフ ォーマ ン ス、 I/O イ ン タ ーフ ェ イ ス のシ グナル イ ン テグ リ テ ィ 次の章で、 こ れ ら の 2 つの分野の依存関係を示 し ます。 ただ し 、 前者はハー ド ウ ェ アの決定事項、 後者は主に FPGA の論理デザ イ ン が関係す る と い う 点が異な り ます。 通常、 ハー ド ウ ェ ア の選択お よ びサ イ ズ設定は、 プ ロ ト タ イ プ ボー ド を構築で き る よ う 、 デザ イ ン フ ロ ーの初期段階で行い ます。 FPGA の機能に よ る 消費電力への影響は早期に予 測可能で、 デザ イ ン ロ ジ ッ ク が完成に近づ く につれ、 よ り 正確な値が得 ら れ る よ う にな り ます。 図 1-1 に典型的なシ ス テ ムの設計プ ロ セ ス を示 し 、 消費電力に関連す る 判断箇所をハ イ ラ イ ト し ます。 こ の図では、 デバ イ ス と その冷却 パーツ を選択す る 時点では、 FPGA ロ ジ ッ ク が完成 し ていない こ と がわか り ます。 こ のため、 FPGA ロ ジ ッ ク の消費 電力要件を予測する 手法が必要です。 こ れ ら の手法については、 第 3 章 「消費電力予測手法 : 初期評価段階」 お よ び 第 4 章 「消費電力予測手法 : Vivado Design Suite でのデザ イ ン フ ロ ー段階」 で説明 し ます。 X-Ref Target - Figure 1-1 䝅䝇䝔䝮ᵝ 䝔䜽䝜䝻䝆䛾㑅ᢥ )3*$ 䝧䞁䝎䞊䝕䝞䜲䝇䛾㑅ᢥ ᾘ㈝㟁ຊ䛾䜚ᙜ䛶 ౪⤥㟁ὶ䛾䜚ᙜ䛶 䝪䞊䝗䛸䝅䝇䝔䝮䛾ṧ䜚䛾㒊ศ ᵝ ᵝ ᅇ㊰ᅗ ྜᡂ ண 䛾┘ど㻛ㄪᩚ せ௳䜢㉸䛘䛯ሙྜ䛿ኚ᭦ 㓄⥺ 䝟䝣䜷䞊䝬䞁䝇䛷チᐜ䛥䜜䜛⮬ື㻕 せ௳䜢㉸䛘䛶䛔䜛㻌㻔ᡭື㻛⮬ື㻕 ᐇ㝿䛾ᾘ㈝㟁ຊ䜢☜ㄆ ᙧ≧ ෭༷䝔䜽䝜䝻䝆 㟁※3'1 䝺䜲䜰䜴䝖 㓄⨨ ḟ䛾ሙྜ䛻ᾘ㈝㟁ຊ䜢๐ῶ 䝅䝇䝔䝮䛾ᑍἲ㻛⎔ቃ 〇㐀 ከᑡ䛾ㄪᩚ䛿ྍ⬟ 䜽䝻䞊䝆䝱 䝷䝪䛷䛾䝔䝇䝖 )3*$䛿ᰂ㌾ᛶ䛜㻌 㧗䛔 䜲䞁䝟䜽䝖 㻙㻌䝍䜲䝮㻌䝖䜳㻌䝬䞊䜿䝑䝖䛾ྥୖ㻌 㻙㻌䝁䝇䝖䛾๐ῶ 䝪䞊䝗䛸)3*$䜢ྠタィ㻌㻦㻌)3*$䛾ᾘ㈝㟁ຊ䜢䛷䛝䜛䛰䛡᪩䛟ண 䛩䜛ᚲせ䛜䛒䜛 ; 図 1-1 : FPGA の設計プ ロ セスにおけ る消費電力 こ の後の章で、 設計プ ロ セ ス全体において消費電力を解析 し 、 削減する 手法を示 し ます。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 9 第 2章 ザイ リ ン ク ス消費電力解析ツール 概要 こ の章では、 FPGA の設計プ ロ セ ス で使用可能な消費電力の予測お よ び解析ツールについて説明 し ます。 デバ イ ス の リ ソ ース使用量、 コ ン フ ィ ギ ュ レーシ ョ ン、 お よ びア ク テ ィ ビ テ ィ に関す る 情報は、 デザ イ ン サ イ ク ルの初期段階で は明 ら かではないので、ツールではデフ ォル ト 値が使用 さ れます。デザ イ ンの イ ンプ リ メ ン テーシ ョ ンの進行に伴い、 ツールに供給で き る 情報が増え、 消費電力予測の精度が高 く な り ます。 ザイ リ ン ク ス消費電力予測/解析ツール ザ イ リ ン ク ス では、FPGA の温度要件お よ び電源要件をデザ イ ン サ イ ク ルを通 し て評価で き る ツールお よ び資料を提 供 し てい ます。 図 2-1 に、 FPGA の各デザ イ ン サ イ ク ルで使用で き る ツールを示 し ます。 ツールには、 ス タ ン ド ア ロ ンの も の と イ ンプ リ メ ン テーシ ョ ン ツールに統合 さ れてい る も のがあ り 、後者は設計プ ロ セ ス の各段階で利用で き る 環境お よ び情報 と 一貫 し てい ます。 すべての ツールには通信チ ャ ネルがあ り 、 解析が効率 よ く 行え る よ う に情報を交 換で き ます。 X-Ref Target - Figure 2-1 ;3RZHU(VWLPDWRU;3( ᵝ ྜᡂ῭䜏 䝕䝄䜲䞁 9LYDGRᾘ㈝㟁ຊゎᯒ 㓄⨨῭䜏 䝕䝄䜲䞁 㓄⥺῭䜏 䝕䝄䜲䞁 䜽䝻䞊䝆䝱 ᳨ド ; 図 2-1 : FPGA 設計プ ロ セスで使用で き る Vivado 消費電力予測/解析ツール 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 10 ザイ リ ン ク ス消費電力予測/解析ツール Xilinx Power Estimator (XPE) Xilinx Power Estimator (XPE) は、 通常プ ロ ジ ェ ク ト の設計前 と イ ン プ リ メ ン テーシ ョ ン前の段階で使用 さ れ る ス プ レ ッ ド シー ト 形式の消費電力予測ツールです。 XPE はアーキテ ク チ ャ の評価お よ びデバ イ ス の選択に利用で き 、 ま た アプ リ ケーシ ョ ンに適切な電源や温度管理コ ンポーネ ン ト の選択に役立ち ます。XPE イ ン タ ーフ ェ イ ス (図 2-2) では、 デザ イ ンの リ ソ ース使用量、 ア ク テ ィ ビ テ ィ レー ト 、 I/O 負荷な ど の さ ま ざ ま な要素を指定で き 、 こ れ ら をデバ イ ス モデル と 組み合わせて電力分配が予測 さ れます。 ま た、 デザ イ ン サ イ ク ル後半の イ ンプ リ メ ン テーシ ョ ンお よ び消費電力を最適化する 段階で も 、 た と えば設計変更指 示 (ECO) の消費電力への影響を評価す る 場合な ど に、 XPE が よ く 使用 さ れ ます。 複数のチームに よ り イ ン プ リ メ ン ト さ れ る 大型デザ イ ン では、 プ ロ ジ ェ ク ト リ ーダーが XPE を 使用 し て各チーム のモジ ュ ールの使用量お よ びア ク テ ィ ビ テ ィ を イ ンポー ト し て総消費電力を監視 し 、 制約が満た さ れ る よ う に消費電力の割 り 当て を変更で き ます。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 11 ザイ リ ン ク ス消費電力予測/解析ツール X-Ref Target - Figure 2-2 図 2-2 : Xilinx Power Estimator ス プ レ ッ ド シー ト 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 12 ザイ リ ン ク ス消費電力予測/解析ツール Vivado 消費電力解析 Vivado™ 消費電力解析機能は、 合成後、 配置後、 配線後な ど、 フ ロ ーの さ ま ざ ま な段階で消費電力解析を実行 し ま す。 配線後には、 イ ンプ リ メ ン ト 済みのデザ イ ンのデー タ ベース か ら 実際に使用 さ れ る ロ ジ ッ ク リ ソ ースお よ び配線 リ ソ ース情報が読み出 さ れ る ので、 精度が最 も 高 く な り ます。 図 2-3 に、 消費電力レ ポー ト のサマ リ と 、 ク ロ ッ ク ド メ イ ン、 リ ソ ース の種類、 デザ イ ン階層な ど、 使用可能な さ ま ざ ま な ビ ュ ーを示 し ます。 Vivado 統合設計環境 (IDE) で環境設定やデザ イ ン ア ク テ ィ ビ テ ィ を変更で き 、デザ イ ンの電源お よ び熱消費電力を ど の よ う に減 ら すかを検討で き ます。 消費電力レ ポー ト か ら デザ イ ンに ク ロ ス プ ロ ーブす る こ と も 可能で、 消費電力の大 き い階層や リ ソ ース を特 定お よ び評価する のに便利です。 X-Ref Target - Figure 2-3 図 2-3 : Vivado 消費電力解析 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 13 ユーザー入力 ユーザー入力 特定の ノ ー ド のア ク テ ィ ビ テ ィ は、 シ ス テ ム の仕様 ま たは FPGA が通信す る イ ン タ ーフ ェ イ ス に よ り 決定 さ れ る の で、 ど のデザ イ ンで も 通常は既知です。 特に FPGA の複数のセルを駆動する ノ ー ド (セ ッ ト 、 リ セ ッ ト 、 ク ロ ッ ク イ ネーブル、 ク ロ ッ ク 信号) に関 し て こ の情報を ツールに供給す る と 、 消費電力予測に有益です。 こ れ ら の ノ ー ド には、 次が含まれます。 • ク ロ ッ ク ア ク テ ィ ビテ ィ すべての FPGA ク ロ ッ ク ド メ イ ンの正確な周波数、 お よ び外部か ら 供給 さ れ る のか (入力ポー ト )、 内部で生成 さ れ る のか、 ま たは外部か ら プ リ ン ト 回路基板に供給 さ れ る のか (出力ポー ト ) は、 通常判明 し てい ます。 • I/O デー タ ポー ト FPGA か ら のデー タ の入出力のプ ロ ト コ ルお よ びフ ォーマ ッ ト が判明 し てい る と 、 通常はツールで少な く と も 一 部の I/O に対 し て信号の遷移レー ト や信号の % High を指定で き ます。 た と えば、 プ ロ ト コ ルに DC バ ラ ン ス要 件 (信号の % High が 50%) があ る 場合や、メ モ リ イ ン タ ーフ ェ イ スへのデー タ の書き 込みお よ び メ モ リ イ ン タ ー フ ェ イ ス か ら のデー タ の読み出 し 頻度が判明 し てい る 場合は、ス ト ロ ーブ信号お よ びデー タ 信号のデー タ レー ト を設定で き ます。 • I/O お よ び内部制御信号 シ ス テ ムお よ びその機能か ら 、 セ ッ ト 、 リ セ ッ ト 、 ク ロ ッ ク イ ネーブルな ど の制御信号のア ク テ ィ ビ テ ィ を予測 で き る 場合があ り ます。 こ れ ら の信号は通常、 デザ イ ン ロ ジ ッ ク の広範囲部分を オン、 オ フ にで き る ので、 こ の ア ク テ ィ ビ テ ィ 情報を供給する こ と で消費電力予測の精度が高 く な り ます。 ベ ク タ ー ベースの予測 通常は、 デザ イ ン開発の各段階でシ ミ ュ レーシ ョ ン を実行 し 、 デザ イ ンが要件どお り に動作する かを検証 し ます。 デ ザ イ ンの開発段階、 複雑性、 ま たは企業の方針に応 じ て、 さ ま ざ ま な検証手法があ り ます。 次に、 取得可能な有益な デー タ と 、 こ れ ら のデー タ を使用 し て消費電力を解析す る 際に犯 し やすい ミ ス について説明 し ます。 正確な消費電力 予測を実行する には、 デザ イ ンのア ク テ ィ ビ テ ィ レー ト が現実的であ る 必要があ り ます。 ア ク テ ィ ビ テ ィ レー ト は、 シ ミ ュ レ ーシ ョ ン さ れ る ブ ロ ッ ク に入力 さ れ る デー タ の通常の動作 ま たは ワ ー ス ト ケース の動作を示す必要が あ り ます。 こ の よ う な情報は、 検証や機能の確認中には必ず し も 供給 さ れません。 無効なデー タ が供給 さ れたために、 無 効なデー タ やコ マ ン ド が入力 さ れた と き で も 、 シ ス テ ムが問題な く 処理 し て安定 し た状態を保持す る こ と がで き る と 検証 さ れて し ま う 場合 も あ り ます。 こ の よ う なテ ス ト ケース を使用 し て消費電力解析を実行す る と 、デザ イ ン ロ ジ ッ ク に通常のシ ス テ ム動作状況 と 同 じ よ う に入力が供給 さ れないため、 消費電力予測が不正確にな り ます。 • シ ス テ ム ト ラ ンザ ク シ ョ ン レベル デザ イ ン サ イ ク ル初期に、 PCB 上のデバ イ ス間ま たは FPGA アプ リ ケーシ ョ ンの異な る フ ァ ン ク シ ョ ン間で発 生する ト ラ ンザ ク シ ョ ン を記述 し てい る 場合があ り ます。 こ の記述か ら 、 特定の I/O ポー ト お よ びほ と ん ど の ク ロ ッ ク ド メ イ ン の ア ク テ ィ ビ テ ィ を フ ァ ン ク シ ョ ン ブ ロ ッ ク ご と に抽出で き ま す。 こ の情報は、 Xilinx Power Estimator (XPE) ス プ レ ッ ド シー ト の入力の際に役立ち ます。 • FPGA 記述レベル アプ リ ケーシ ョ ンの RTL を定義す る 際は、 ビヘ イ ビ アー シ ミ ュ レーシ ョ ン を実行 し て機能を検証す る 必要があ る 場合があ り ます。 こ れは、 デー タ フ ロ ーお よ び ク ロ ッ ク サ イ ク ルに対す る 計算の有効性を検証す る のに役立 ち ま す。 こ の段階では、 使用 さ れ る FPGA リ ソ ー ス 数お よ び コ ン フ ィ ギ ュ レ ーシ ョ ン は確定 し てい ま せん。 リ ソ ース使用量を推定 し て、 I/O ポー ト ま たは内部制御信号 (セ ッ ト 、 リ セ ッ ト 、 ク ロ ッ ク イ ネーブル) のア ク テ ィ ビ テ ィ を抽出で き ます。 こ の情報を Xilinx Power Estimator ス プ レ ッ ド シー ト に適用する と 、 結果が向上 し ます。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 14 ベ ク タ ー レ ス予測 シ ミ ュ レ ー タ で ノ ー ド ア ク テ ィ ビ テ ィ を抽出 し 、 SAIF フ ァ イ ル フ ォ ーマ ッ ト でエ ク ス ポー ト で き ま す。 こ の フ ァ イ ルは、 Vivado デザ イ ン フ ロ ーで よ り 正確な消費電力解析を実行す る ために保存で き ます。 た と えば、 イ ンプ リ メ ン テーシ ョ ン後のシ ミ ュ レーシ ョ ン を実行する つ も り がない場合な ど は、 配置配線後に こ の フ ァ イ ルを 使用で き ます。 • FPGA イ ンプ リ メ ン テーシ ョ ン レベル イ ンプ リ メ ン テーシ ョ ン プ ロ セ ス の異な る 段階でシ ミ ュ レーシ ョ ン を実行 し 、消費電力に関連す る さ ま ざ ま な情 報を取得で き ます。 こ の追加情報を使用 し て、 Xilinx Power Estimator ス プ レ ッ ド シー ト お よ び Vivado 消費電力解 析の結果を向上で き ます。 ま た、 I/O ポー ト お よ び特定のモジ ュ ールのア ク テ ィ ビ テ ィ を保存 し 、 合成後、 配置 後、 配線後に Vivado 消費電力解析機能で再利用で き ます。 ° ° ° 合成後 : ネ ッ ト リ ス ト が タ ーゲ ッ ト デバ イ ス で使用可能な実際の リ ソ ース にマ ッ プ さ れます。 配置後 : ネ ッ ト リ ス ト コ ンポーネ ン ト が実際のデバ イ ス リ ソ ース に配置 さ れます。こ のパ ッ ク 情報を基に最 終的な ロ ジ ッ ク リ ソ ース数お よ び コ ン フ ィ ギ ュ レーシ ョ ンが判明す る ので、 Xilinx Power Estimator ス プ レ ッ ド シー ト で情報を更新で き ます。 配線後 : 配線が完了す る と 、 使用 さ れ る 配線 リ ソ ース に関す る すべての詳細お よ びデザ イ ンに含まれ る 各パ ス の的確な タ イ ミ ン グ情報が定義 さ れます。 シ ミ ュ レー タ では、 イ ンプ リ メ ン ト さ れた回路の機能をベス ト ケースお よ びワ ース ト ケース のゲー ト お よ び配線遅延で検証す る こ と に加え、グ リ ッ チを含む内部 ノ ー ド の 的確な ア ク テ ィ ビ テ ィ が レ ポー ト さ れます。 こ の レベルの消費電力解析の精度では、 プ ロ ト タ イ プのボー ド で消費電力を実際に計測する 前で最 も 高 く な り ます。 ベ ク タ ーレ ス予測 デザ イ ン ノ ー ド のア ク テ ィ ビ テ ィ がユーザーま たはシ ミ ュ レーシ ョ ン結果か ら 供給 さ れない場合、ベ ク タ ーレ ス消費 電力予測アルゴ リ ズ ムで こ のア ク テ ィ ビ テ ィ を推測で き ます。ベ ク タ ーレ ス エン ジ ンは、未定義 ノ ー ド すべてに初期 シー ド (デフ ォ ル ト の信号レー ト お よ びス タ テ ィ ッ ク 確率) を割 り 当て、デザ イ ンの主要入力か ら 内部 ノ ー ド の出力ま でア ク テ ィ ビ テ ィ を伝搬 し 、 主要出力に到達す る ま で こ の操作を繰 り 返 し ます。 こ のアルゴ リ ズ ムでは、 デザ イ ンの 接続性、 リ ソ ース の機能、 お よ び コ ン フ ィ ギ ュ レーシ ョ ンが識別 さ れます。 ヒ ュ ー リ ス テ ィ ク ス に よ り 、 ネ ッ ト リ ス ト に含ま れ る ど の ノ ー ド のグ リ ッ チ レー ト で も 予測で き ます。 グ リ ッ チは、 デザ イ ン エ レ メ ン ト がア ク テ ィ ブな ク ロ ッ ク エ ッ ジ間で最終的な値に安定す る ま でに数回ス テー ト が変わ る と 発生 し ます。 ベ ク タ ーレ ス伝搬エン ジ ンは、 時間が比較的かか る 配線後のシ ミ ュ レーシ ョ ンほど正確ではあ り ませんが、 精度 と 計算速度のバ ラ ン ス を取っ た優れ た方法です。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 15 第 3章 消費電力予測手法 : 初期評価段階 概要 こ の章では、 デザ イ ン サ イ ク ルの初期評価段階でデザ イ ンの消費電力を評価す る 方法を説明 し ます。 こ の段階では、 Xilinx Power Estimator を使用 し ます。 初期評価段階が終了 し てい る 場合は、デザ イ ン サ イ ク ルの後の段階でデザ イ ンの消費電力を評価す る 方法を説明す る 次の章に進んで く だ さ い。 後の段階では、 消費電力予測を自動的に簡単に実行で き る Vivado™ Design Suite を使用 し ます。 Xilinx Power Estimator での初期消費電力予測 状況説明 こ の段階では、 アプ リ ケーシ ョ ンに と っ て FPGA が最 も 効率の よ い技術であ る こ と が判断 さ れてい ます。 こ こ では、 要求 さ れ る 機能、 パフ ォーマン ス、 コ ス ト 、 お よ び消費電力に合 う ベン ダー、 フ ァ ミ リ 、 お よ びパ ッ ケージ を決定す る 必要があ り ます。 つま り 、 ロ ジ ッ ク が ま だ 1 つ も 開発 さ れていない段階でデバ イ ス の総消費電力を予測す る 必要が あ る と い う こ と です。 総消費電力要件を理解 し てお く と 、 電力分配お よび冷却仕様を定義する 際に役立ち ます。 電源 はい く つ必要か、 各電源で使用 さ れ る 電力はどれ く ら いか、 吸収 さ れたエネルギーで どれ く ら いの熱が生成 さ れ る か な ど について考慮する のが一般的です。 Xilinx Power Esitimator を使用す る と 、 こ れ ら の質問に対す る 答え を得 る こ と がで き ます。 Xilinx Power Estimator は、 FPGA ロ ジ ッ ク と デバ イ ス がはんだ付け さ れ る プ リ ン ト 回路基板を同時に開 発する のに役立ち ます。 こ れに よ り 、 必要なマージ ン を理解 し 、 イ ンプ リ メ ン ト 後にシ ス テ ム を指定範囲内で動作 さ せる こ と がで き る よ う にな り ます。 図 3-1 に、 Xilinx Power Estimator の イ ン タ ーフ ェ イ ス を示 し ます。 消費電力解析および最適化 UG907 (v2012.3) 2012 年 10 月 30 日 japan.xilinx.com 16 Xilinx Power Estimator での初期消費電力予測 X-Ref Target - Figure 3-1 図 3-1 : Xilinx Power Estimator (XPE) で示 さ れる消費電力情報 消費電力解析および最適化 UG907 (v2012.3) 2012 年 10 月 30 日 japan.xilinx.com 17 Xilinx Power Estimator での初期消費電力予測 手法 FPGA デザ イ ンでは、 正常に機能す る 信頼性の高いシ ス テ ム を作成す る には、 消費電力使用お よ び冷却使用を適切に 設定する 必要があ り ます。 ほ と ん ど の場合、 PCB を設計す る 前に温度仕様お よ び消費電力仕様を設定 し てお く 必要が あ り 、 FPGA は柔軟性が高いため、 シ ス テ ム デザ イ ンや PCB 製造の前に FPGA デザ イ ンが完了 し ていないか開始 し ていない こ と が よ く あ り ま す。 FPGA デザ イ ン では ビ ッ ト ス ト リ ーム、 ク ロ ッ キ ン グ、 お よ びチ ッ プに入力 さ れ る デー タ に よ っ て温度特性お よ び電力特性が大き く 変化する ので、 こ れは課題 と な り ます。 電力ま たは温度シ ス テ ム を過小設計す る と 、 FPGA が仕様範囲外で動作す る 結果 と な り 、 FPGA が目的のパフ ォーマ ン ス で動作 し なかっ た り 、 重要な問題が発生す る 可能性があ り ます。 電力シ ス テ ム を過剰設計 し た場合、 通常問題は それほど深刻ではあ り ませんが、 不必要に コ ス ト が高 く な っ た り 、 全体的な FPGA デザ イ ンが よ り 複雑にな る こ と が あ り ます。 デザ イ ンが完了する 前に消費電力を予測する のは簡単な こ と ではあ り ません。 次の手順は、 消費電力解析に焦点を置いてい る こ と に注意 し て く だ さ い。 複数の消費電力の最適化を解析中に試 し た り 適用 し た り で き 、 消費電力の大幅な削減につなが る こ と があ り ます。 こ れ ら の最適化手法については、 次の章で説 明 し ます。 手順 1 : タ ーゲ ッ ト デバイ ス用の最新版 Xilinx Power Estimator の入手 最新版の Xilinx Power Estimator (XPE) ツールを使用する こ と が重要です。 消費電力情報は、 最新の消費電力モデルお よ び 特性 化デ ー タ に 基 づ い て 随 時 ア ッ プ デー ト さ れ ま す。 最新 版 の XPE は、 ザ イ リ ン ク ス ウ ェ ブ サ イ ト http://japan.xilinx.com/power か ら 入手で き ます。 設計プ ロ セ ス 中 こ の ウ ェ ブサ イ ト を と き ど き 確認 し て、 新 し いバー ジ ョ ン が入手可能であ る か ど う か を確認す る こ と をお勧め し ま す。 新 し いバージ ョ ン が入手可能な場合は、 新 し い バージ ョ ンの [Summary] シー ト で [Import File] ボ タ ン を ク リ ッ ク す る と 、 以前のバージ ョ ンか ら デー タ を イ ン ポー ト で き ます。 Xilinx Power Estimator を最新の状態に し てお く こ と で、 消費電力解析に常に最新の消費電力情報が使用 さ れ る よ う にな り ます。 手順 2 : [Summary] シー ト へのデバイ ス情報の入力 [Summary] シー ト の [Device] セ ク シ ョ ンの各フ ィ ール ド を適切に設定 し て く だ さ い。 各設定が、 ス タ テ ィ ッ ク 消費電 力お よ び ク ロ ッ キ ン グ消費電力な ど の消費電力の算出に大き く 影響 し ます (図 3-2)。 消費電力解析および最適化 UG907 (v2012.3) 2012 年 10 月 30 日 japan.xilinx.com 18 Xilinx Power Estimator での初期消費電力予測 X-Ref Target - Figure 3-2 図 3-2 : [Summary] シー ト のデバイ ス情報 [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 (v2012.3) 2012 年 10 月 30 日 japan.xilinx.com 19 Xilinx Power Estimator での初期消費電力予測 手順 3 : [Summary] シー ト への環境情報の入力 [Summary] シー ト の [Environment] セ ク シ ョ ンで適切な環境条件を設定 し ます (図 3-3)。 X-Ref Target - Figure 3-3 図 3-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 (v2012.3) 2012 年 10 月 30 日 japan.xilinx.com 20 Xilinx Power Estimator での初期消費電力予測 • [ΘJB] : ボー ド お よ びシ ス テ ムの よ り 正確な温度モデルが存在す る 場合は、FPGA か ら の放熱量を指定す る ために ΘJB (プ リ ン ト 回路基板 の熱抵抗) を使用する 必要があ り ます。 よ り 正確な カ ス タ ム [ΘJB] を指定す る と 、 ジ ャ ン ク シ ョ ン温度が よ り 正確に予測 さ れ、 デバ イ ス の ス タ テ ィ ッ ク 消費電力を よ り 正確に算出で き る よ う にな り ます。 重要 : カ ス タ ム [ΘJB] を指定す る には、 [Board Selection] を [Custom] に設定す る 必要があ り ます。 カ ス タ ム [ΘJB] を 指定する 場合は、 正確な消費電力を算出する ため、 [Board Temperature] も 指定す る 必要があ り ます。 手順 4 : すべての電源に対 し てワース ト ケースの電源電圧を設定 デフ ォル ト では、 デバ イ ス の各電圧レールは公称値に設定 さ れます。 正確な消費電力予測を得 る ためには、 FPGA デ バ イ ス での ワ ース ト ケース の値 (最大電圧値) を指定する 必要があ り ます。こ れは通常、各レールへの電源/レ ギ ュ レー タ の公称出力値 と 許容誤差を使用 し て算出 さ れます。 特に未調整の電源で IR (電圧) が大 き く 低下す る 可能性があ る 場合は、 電圧降下を最大電圧の計算に含め る 必要があ り ます。 一部の VCCO ま たは MGT 電源を使用 し ない場合は、 こ れ ら の電源の値はデフ ォ ル ト の ま ま に し て く だ さ い (図 3-4)。 X-Ref Target - Figure 3-4 図 3-4 : [Summary] シー ト の電源情報 消費電力解析および最適化 UG907 (v2012.3) 2012 年 10 月 30 日 japan.xilinx.com 21 Xilinx Power Estimator での初期消費電力予測 手順 5 : ク ロ ッ ク お よび リ ソ ース情報の入力 デザ イ ン を Vivado ツールで既に実行 し てい る 場合、 デザ イ ンの前 リ ビ ジ ョ ン があ り 解析の開始点 と し て使用で き る 場合は、デザ イ ンの XPower エ ク ス ポー ト フ ァ イ ル (.xpe) を XPE に イ ン ポー ト し て リ ソ ース情報を入力で き ます。 こ れには、 [Summary] シー ト で [Import File] ボ タ ン を ク リ ッ ク し ます。 Vivado XPE イ ン ポー ト フ ァ イ ルを読み込んだ場 合で も 、 デー タ が正 し い こ と を確認 し て く だ さ い。 イ ン ポー ト し た情報は、 完全な情報ではな く 、 情報を入力す る た めの開始点 と 考え て く だ さ い。 いずれの場合で も 、 各 リ ソ ース の タ ブを確認 し て、 デザ イ ンで使用 さ れ る リ ソ ース を 入力 し て く だ さ い。 • クロッ ク ツ リー [CLOCK] シー ト では、 ク ロ ッ ク 、 周波数 ([Frequency])、 使用 さ れ る ク ロ ッ ク リ ソ ース を入力 し ます (図 3-5)。 使 用 さ れ る ク ロ ッ ク リ ソ ース が不明な場合は、 [Type] をデフ ォ ル ト の [Global] の ま ま に し て く だ さ い。 こ の時点で は、 フ ァ ン ア ウ ト ([Fanout]) を気にする 必要はあ り ません。 こ れについては、 手順 6 で説明 し ます。 [Clock Buffer Enable] は [100%]、 [Slice Clock Enable] は [50%] のデフ ォ ル ト 値の ま ま に し ます。 X-Ref Target - Figure 3-5 図 3-5 : [CLOCK] シー ト 消費電力解析および最適化 UG907 (v2012.3) 2012 年 10 月 30 日 japan.xilinx.com 22 Xilinx Power Estimator での初期消費電力予測 • ロジッ ク [LOGIC] シー ト では、 使用 さ れ る ス ラ イ ス リ ソ ース の予測数を入力 し ます (図 3-6)。 [LUTs as] 列には、 演算ま た は ロ ジ ッ ク に使用 さ れ る LUT 数 ([Logic])、 SRL と し て コ ン フ ィ ギ ュ レーシ ョ ン さ れ る LUT 数 ([Shift Registers])、 メ モ リ と し て コ ン フ ィ ギ ュ レーシ ョ ン さ れ る LUT 数 (Distributed RAMs]) を入力 し ます。 [Registers] 列には、 デザ イ ンに コ ン フ ィ ギ ュ レーシ ョ ン さ れ る レ ジ ス タ ま たは ラ ッ チの数を入力 し ます。異な る ロ ジ ッ ク フ ァ ン ク シ ョ ン ま たは特性 ( ク ロ ッ ク ス ピー ド 、 ト グル レー ト な ど) に個別の行を使用 し て く だ さ い。 X-Ref Target - Figure 3-6 図 3-6 : [LOGIC] シー ト FPGA 設計の初期段階では、 こ れ ら の リ ソ ース の正確な数を入手す る こ と は困難なので、 初期段階では概算値を 使用 し 、 設計プ ロ セ ス が進行 し た ら 値を更新 し てい く よ う に し ます。 ヒ ン ト : ク ロ ッ ク 周波数情報を入力す る 際は、 Excel のセルを関連付け る 機能を使用 し 、 [CLOCK] シー ト に入力 さ れ てい る セル と 関連付け ます。 こ れには、 [LOGIC] シー ト で [Clock (MHz)] セルを選択 し 、 「=] と 入力 し て、 その ロ ジ ッ ク の ク ロ ッ ク ソ ー ス に関連す る セルを [CLOCK] シー ト で選択 し ます。 こ れで、 そのセルに [CLOCK] シー ト の値が 自動的に入力 さ れ る よ う にな り ます。 こ の よ う にす る と 、 仕様の変更や消費電力 と 周波数の ト レー ド オ フ を調べ る 際 な ど、 ク ロ ッ ク 周波数を変更す る 必要があ る 場合に、 値を 1 箇所で変更す る だけですみます。 ま た、 デー タ の入力 ミ ス も 避け る こ と がで き ます。 消費電力解析および最適化 UG907 (v2012.3) 2012 年 10 月 30 日 japan.xilinx.com 23 Xilinx Power Estimator での初期消費電力予測 • I/O XPE の [IO] シー ト を入力す る と 、 チ ッ プのすべての レールの全体的な予測値が正確な も の と な り ます (図 3-7)。 選択 し た I/O 規格お よ び I/O 回路に よ っ て、 VCCO レールだけでな く 、 VCCINT お よ び VCCAUX レールで も 多量の 電力が消費 さ れ る 可能性があ り ます。 多 く の場合、 各デバ イ ス イ ン タ ーフ ェ イ ス を個別に入力 し 、 ま た イ ン タ ー フ ェ イ ス信号をデー タ、 制御、 ク ロ ッ ク 信号に分割す る のが最 も 簡潔です。 こ の よ う にする と 、 異な る I/O 規格、 ロ ー ド や ト グル レー ト な ど のその他の I/O 特性を指定 し やす く な り ます。 推奨 : XPE で [Add Memory Interface] を ク リ ッ ク し 、 [XPE Memory Interface Configuration] ダ イ ア ロ グ ボ ッ ク ス を使用 する と 、 複雑な メ モ リ イ ン タ ーフ ェ イ ス に関連す る I/O を簡単に追加で き ます。 X-Ref Target - Figure 3-7 図 3-7 : [IO] シー ト I/O の電流の算出では、 標準ボー ド ト レースお よ び終端が適用 さ れてい る と 想定 し た予測電力が使用 さ れます。 ヒ ン ト : 差動 I/O を使用 し てい る 場合、 各入力お よ び出力はペア と し て指定す る 必要があ り ます。 ス プ レ ッ ド シー ト の 2 つの入力を指定 し て 1 つの差動入力を表す こ と は し ないで く だ さ い。 DDR 規格な ど の複雑な規格のデー タ を入力す る には、 [XPE Memory Interface Configuration] ダ イ ア ロ グ ボ ッ ク ス を使用する と 簡単です (図 3-8)。 こ のダ イ ア ロ グ ボ ッ ク ス に関連す る 入力を入力す る と 、 [IO] シー ト の該当す る 行に情報が入力 さ れます。 消費電力解析および最適化 UG907 (v2012.3) 2012 年 10 月 30 日 japan.xilinx.com 24 Xilinx Power Estimator での初期消費電力予測 X-Ref Target - Figure 3-8 図 3-8 : [IO] シー ト の [XPE Memory Interface Configuration] ダ イ ア ログ ボ ッ ク ス • ブ ロ ッ ク RAM [BRAM] シー ト (図 3-9) では、デザ イ ンで使用す る ブ ロ ッ ク RAM (BRAM) の数 と コ ン フ ィ ギ ュ レーシ ョ ン を入力 し ます。 [Enable Rate] を ENA ま たは ENB ポー ト が イ ネーブルであ る 時間の割合に変更 し て く だ さ い。 RAM が イ ネーブルの時間はダ イ ナ ミ ッ ク 消費電力に直接比例する ので、 BRAM の消費電力を正 し く 予測す る には、 こ の パ ラ メ ー タ ーに適切な値を入力する こ と が重要です。 推奨 : XPE で [Add Memory] を ク リ ッ ク し 、 [XPE Memory Configuration] ダ イ ア ロ グ ボ ッ ク ス を使用す る と 、 デザ イ ン のブ ロ ッ ク RAM を簡単に追加で き ます。 消費電力解析および最適化 UG907 (v2012.3) 2012 年 10 月 30 日 japan.xilinx.com 25 Xilinx Power Estimator での初期消費電力予測 X-Ref Target - Figure 3-9 図 3-9 : [BRAM] シー ト • DSP [DSP] シー ト を入力 し ます。 DSP ブ ロ ッ ク は、 カ ウ ン タ ー、 バ レ ル シ フ タ ー、 MUX、 その他の一般的な機能な ど、 乗算器以外の目的で も 使用で き ます。 • ク ロ ッ ク マネージ ャ ー (CLKMGR) デザ イ ン で MMCM ま たは PLL が使用 さ れてい る 場合は、 [CLKMGR] シー ト でその使用法 と コ ン フ ィ ギ ュ レー シ ョ ン を指定 し ます。 • GT デザ イ ンで GT (シ リ アル ト ラ ン シーバー ) が使用 さ れてい る 場合は、[GTX] シー ト でその使用法 と コ ン フ ィ ギ ュ レーシ ョ ン を指定 し ます。 推奨 : [Add GTX Interface] ボ タ ン を ク リ ッ ク し 、 [XPE Transceiver Configuration] ダ イ ア ロ グ ボ ッ ク ス を 使用す る と 、 デー タ を簡単に正確に入力で き ます(図 3-10)。 消費電力解析および最適化 UG907 (v2012.3) 2012 年 10 月 30 日 japan.xilinx.com 26 Xilinx Power Estimator での初期消費電力予測 X-Ref Target - Figure 3-10 図 3-10 : [XPE Transceiver Configuration] ダ イ ア ロ グ ボ ッ ク ス を使用 し た GT のコ ン フ ィ ギ ュ レーシ ョ ン 手順 6 : ト グルお よび接続パ ラ メ ー タ ーの設定 [Toggle Rate]、 [Average Fanout]、 ま たは [Enable Rate] を含む タ ブで、 こ れ ら の値を確認 し ます。 ト グル レー ト お よ び イ ネーブル レー ト がわか っ ていない場合は、 デフ ォル ト 値の ま ま にする こ と をお勧め し ますが、デフ ォ ル ト 値がデザ イ ンの特性を表 し ていない場合は、 必要に応 じ て変更 し て く だ さ い。 た と えば、 メ モ リ イ ン タ ーフ ェ イ ス に イ ン タ ー フ ェ イ ス上の ト グル レー ト を高 く 保つ ト レーニ ン グ パ ターン ルーチンがあ る こ と がわかっ てい る 場合は、 こ れを反 映 し て ト グル レー ト を高 く し ます。 ま た、 回路の ク ロ ッ ク イ ネーブルが回路全体のア ク テ ィ ビ テ ィ を削減す る よ う に指定 さ れ て い る 場合は、 ト グ ル レ ー ト を 低 く し ま す。 ト グ ル レ ー ト を 決定す る 方法の詳細は、 『Xilinx Power Estimator ユーザー ガ イ ド 』 (UG440) を参照 し て く だ さ い。 ク ロ ッ ク フ ァ ン ア ウ ト の最 も 簡単な指定方法は、 特定の ク ロ ッ ク ド メ イ ンにあ る すべての同期エ レ メ ン ト を加算す る 式を作成す る こ と です。 た と えば、 あ る ク ロ ッ ク の [Fanout] セルを選択 し 、 「=SUM(」 と 入力 し て、 その ク ロ ッ ク が供給 さ れ る 同期エ レ メ ン ト (BRAM、 フ リ ッ プ フ ロ ッ プ、 シ フ ト レ ジ ス タ 、 SelectRAM な ど) の数を指定す る セル をすべて選択 し ます。 選択 し 終わっ た ら 閉 じ かっ こ を入力 し ます。 こ れで、 [Fanout] セルに適切な値が入力 さ れ る よ う にな り ます。 ク ロ ッ ク フ ァ ン ア ウ ト を こ の よ う に入力する と 、 簡単であ る だけでな く 、 リ ソ ース数が変更 さ れた場 合に自動的にア ッ プデー ト さ れます。 最終的な式は、 次の よ う にな り ます。 =SUM(LOGIC!E3:G3,IO!E3:G3,BRAM!C4,MULT!C3) 消費電力解析および最適化 UG907 (v2012.3) 2012 年 10 月 30 日 japan.xilinx.com 27 Xilinx Power Estimator での初期消費電力予測 ロ ジ ッ ク の フ ァ ン ア ウ ト では、 デー タ パ ス お よ び制御パ ス の特性を考慮す る 必要が あ り ま す。 DSP デザ イ ン な ど、 シーケ ン シ ャ ル デー タ パ ス が適切に構築 さ れてい る デザ イ ン では、 フ ァ ン ア ウ ト は通常デフ ォ ル ト 値 よ り も 小 さ く な り ます。 エンベデ ッ ド デザ イ ン な ど、 デー タ 実行パス が多数あ る デザ イ ンでは、 フ ァ ン ア ウ ト はデフ ォ ル ト 値 よ り も 大き く な る こ と があ り ます。 ト グル レー ト と 同様、 こ の情報がない場合は、 デフ ォ ル ト 値の ま ま に し 、 後で必要に 応 じ て調整 し ます。 I/O の [Output Load] には、 各デザ イ ン出力の単純な容量性負荷を入力 し ま す。 こ の値は、 駆動 さ れ る 出力のダ イ ナ ミ ッ ク 消費電力に影響 し ます。 [Output Load] の値は、 主にその出力に接続 さ れてい る 各デバ イ ス の入力容量の合計か ら 求め ら れます。 入力容量は通常、 FPGA I/O が接続 さ れてい る デバ イ ス のデー タ シー ト に記載 さ れてい ます。 手順 7 : 結果の解析 結果を解析する前に、 必要に応 じ て手順 1 ~ 6 を実行 し て く だ さ い。 こ れ ら の手順を完了 し た ら 、 結果を解析し ます。 ジ ャ ン ク シ ョ ン温度が範囲を超え てお ら ず、 消費電力がプ ロ ジ ェ ク ト で割 り 当て ら れてい る 消費電力を超えていない こ と を確認し て く だ さ い。 放熱ま たは電力特性が指定範囲外の場合は、 適切な結果が得 ら れ る よ う に環境特性 (エア フ ロー、 ヒ ー ト シ ン ク な ど) を調整する か、 デザ イ ンの リ ソ ースお よび電力特性を調整し て く だ さ い。 消費電力を抑えて 必要な機能を達成で き る よ う にする ため、 ト レー ド オフ を考慮 し ます。 ト レー ド オフ のオプシ ョ ンは、 設計プ ロ セ ス の初期段階で探索す る のが最適です。 デー タ の入力が完了 し てデバ イ ス が選択 し たグ レー ド の制限温度範囲内で動作 し てい る 場合は、 XPE でレ ポー ト さ れた消費電力を使用 し て、 デザ イ ンの電源レールを決定で き ます。 入力し たデー タ の信頼性が高 く ない場合は、FPGA の消費電力シ ス テ ム を過小設計 し ない よ う に、数値を多少水増し する こ と が可能 です。 ただ し 、 データ が十分に信頼で き る場合は、 ツールで レ ポー ト さ れた数値を水増 し する必要はあ り ません。 設計プ ロ セ ス の進行に応 じ て ス プ レ ッ ド シー ト の情報を確認 し て更新 し 、 最新の要件お よ び イ ンプ リ メ ン テーシ ョ ン の詳細が使用 さ れ る よ う に し ます。 こ の よ う にす る こ と でデザ イ ンの消費電力の最新の状態がわか り 、 消費電力要件 の調整が必要かど う かを早期に判断で き ます。 デザ イ ン サ イ ク ルの後半でデザ イ ンの消費電力を評価す る 方法は第 4 章 「消費電力予測手法 : Vivado Design Suite で のデザ イ ン フ ロ ー段階」 を、 デザ イ ンの消費電力を削減す る 手法は第 6 章 「消費電力削減のための ヒ ン ト お よ び手 法」 を参照 し て く だ さ い。 消費電力解析および最適化 UG907 (v2012.3) 2012 年 10 月 30 日 japan.xilinx.com 28 第 4章 消費電力予測手法 : Vivado Design Suite でのデザイ ン フ ロー段階 概要 こ の章では、 デザ イ ン フ ロ ー段階での消費電力予測を自動的に簡単に実行で き る Vivado™ Design Suite の機能を説明 し ます。 Vivado Design Suite で消費電力予測を生成 し 、 解析 し た ら 、 第 6 章 「消費電力削減のための ヒ ン ト お よ び手 法」 に進み、 デバ イ ス の消費電力を最小限に抑え る ためにシ ス テ ム を調べて変更する 手法を学びます。 状況説明 デザ イ ン フ ロ ーが合成お よ び イ ンプ リ メ ン テーシ ョ ン段階に進行す る のに伴い、 消費電力を定期的に調べ、放熱量が 要件の範囲内に収ま っ てい る こ と を確認 し て、 制約に近づ き すぎ てい る エ リ アがあ る 場合に早期に発見 し て対処で き る よ う にする 必要があ り ます。 消費電力予測の精度は、 デザ イ ンの段階に よ っ て異な り ます。 手法 こ のセ ク シ ョ ンでは、 Vivado IDE の [Report Power] コ マン ド を使用 し た消費電力解析について説明 し ます。 こ こ では、 合成後に初めて消費電力解析を設定す る こ と を想定 し てお り 、 ツールに ア ク テ ィ ビ テ ィ 情報を入力 し ます。 後続の run では、 Vivado IDE の [Report Power] コ マ ン ド を使用 し て消費電力レ ポー ト を表示す る か、 ま たは同等の Tcl コ マン ド (report_power) を使用 し て、 Vivado IDE を使用せずにテ キ ス ト 形式の消費電力レ ポー ト を表示す る か を選択で き ます。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 29 手法 X-Ref Target - Figure 4-1 図 4-1 : Vivado での消費電力解析 : 解析用のデー タ を入力 解析に使用する入力デー タ の指定 • シ ミ ュ レーシ ョ ン結果 (SAIF ま たは VCD フ ァ イ ル) Vivado の [Report Power] コ マ ン ド では、デザ イ ン デー タ ベース内のネ ッ ト を シ ミ ュ レーシ ョ ン結果のネ ッ ト リ ス ト 内の名前 と 一致 さ せます。一致 し たネ ッ ト すべてに ス イ ッ チン グ ア ク テ ィ ビ テ ィ と ス タ テ ィ ッ ク 確率が適用 さ れ、 デザ イ ンの消費電力が算出 さ れます。 シ ミ ュ レーシ ョ ン結果は、 合成前や配置配線の前のデザ イ ン フ ロ ー早 期に生成 さ れてい る 場合があ り ます。 こ の場合、 シ ミ ュ レーシ ョ ン結果か ら モジ ュ ールの I/O ポー ト のア ク テ ィ ビ テ ィ のみを キ ャ プチ ャ し て、 ベ ク タ ーレ ス エン ジ ンで内部 ノ ー ド のア ク テ ィ ビ テ ィ を予測す る よ う に し ます。 論理シ ミ ュ レーシ ョ ンでは、 グ リ ッ チ ア ク テ ィ ビ テ ィ はキ ャ プチ ャ さ れません。 ま た、 イ ンプ リ メ ン テーシ ョ ン 中の ロ ジ ッ ク 変換 (最適化、 複製、 ゲーテ ィ ン グ、 リ タ イ ミ ン グ な ど) のため、 [Report Power] コ マン ド でデザ イ ン と シ ミ ュ レーシ ョ ン ネ ッ ト リ ス ト 間で一部の ノ ー ド を一致で き ない こ と があ り ますが、ほ と ん ど の主要ポー ト お よ び制御信号は一致する ので、 一致 し た ノ ー ド に対 し ては現実的なア ク テ ィ ビ テ ィ が供給 さ れます。 ア ク テ ィ ビ テ ィ は、 ベ ク タ ーレ ス エン ジ ンに よ り 一致 し なかっ たデザ イ ン部分に伝搬 さ れ る ので、消費電力予測の精度が 高 く な り ます。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 30 手法 シ ミ ュ レーシ ョ ン結果を供給する 際は、 次の よ う なシ ミ ュ レーシ ョ ン結果を使用 し て く だ さ い。 ° ° シ ミ ュ レーシ ョ ンへのテ ス ト ベ ク タ ーお よ び入力が、デザ イ ンの典型的な動作ま たは意図 し た動作を表 し て い る こ と を確認 し ます。 エ ラ ー処理お よ び コ ーナー ケー ス (稀に し か発生 し ないケース) のシ ミ ュ レーシ ョ ンでは、 通常の動作条件で ロ ジ ッ ク がシ ミ ュ レーシ ョ ン さ れません。 イ ンプ リ メ ン テーシ ョ ン後のシ ミ ュ レーシ ョ ン結果の方が、ビヘ イ ビ アー シ ミ ュ レーシ ョ ン結果 よ り も 好ま れます。 重要 : Vivado IDE の [Report Power] ダ イ ア ロ グ ボ ッ ク ス の [Input Files] タ ブでフ ァ イ ル名を指定 し て SAIF ま たは VCD シ ミ ュ レーシ ョ ン出力フ ァ イ ルを読み込み、フ ァ イ ルで指定 さ れた ス イ ッ チ動作を使用 し て一致す る ネ ッ ト リ ス ト エ レ メ ン ト を ア ノ テー ト し ます。 ま たは、Tcl コ マン ド の read_saif ま たは read_vcd を使用 し て、SAIF ま たは VCD シ ミ ュ レーシ ョ ン出力フ ァ イ ルを読み込みます。 重要 : Vivado Design Suite 内でMentor Graphics 社の ModelSim シ ミ ュ レー タ ーか ら SAIF フ ァ イ ルを生成 し て消費電力 を解析する 場合は、 ア ンサー 53544 を参照 し て く だ さ い。 • 既知のエ レ メ ン ト アプ リ ケーシ ョ ン の動作の情報は、 入力フ ァ イ ルで定義 さ れてい ないア ク テ ィ ビ テ ィ を定義す る 際に役立つの で、 こ の手順はデザ イ ンのダ イ ナ ミ ッ ク 消費電力を算出する のに重要です。 ° I/O ア ク テ ィ ビ テ ィ I/O イ ン タ ーフ ェ イ ス のデー タ パ タ ーンがわか っ てい る 場合は、 こ のア ク テ ィ ビ テ ィ (信号レー ト お よ び ス タ テ ィ ッ ク 確 率 (% High)) を Vivado IDE の [Properties] ビ ュ ー の [Power] タ ブ ま た は Tcl コ マ ン ド set_switching_activity で指定 し ます。ス プ レ ッ ド シー ト な ど別の ツールで電源ご と の総消費電力を算出 し てい ない場合、 出力の終端方法を指定 し て、 [Report Power] コ マ ン ド で FPGA の電源か ら こ れ ら の外部 コ ン ポー ネ ン ト に供給する 電力量が含め ら れ る よ う に し ます。 ° 制御信号のア ク テ ィ ビ テ ィ [Report Power] コ マン ド では、すべての制御信号が [Power] ビ ュ ーの [Signals] ページに表示 さ れます。 アプ リ ケーシ ョ ンの予測 さ れ る 動作か ら 、一部のセ ッ ト / リ セ ッ ト 信号が通常のデザ イ ン動作ではア ク テ ィ ブではな い こ と な ど がわか る 場合は、 こ れ ら の信号の ア ク テ ィ ビ テ ィ を 調整す る 必要が あ り ま す。 同様に、 ア プ リ ケーシ ョ ンに含まれ る 一部の信号に よ り 、 ブ ロ ッ ク が使用 さ れない と き にブ ロ ッ ク 全体がデ ィ ス エーブルに な る 場合があ り ます。 機能に合わせてア ク テ ィ ビ テ ィ を調整 し て く だ さ い。 合成お よ び配置配線アルゴ リ ズ ム では、 RTL 記述を最適化す る ために制御信号が推論 ま たはマ ッ プ し 直 さ れ る こ と が あ る ので、 こ れ ら の ビ ュ ーに表示 さ れ る 信号に不明な信号が含まれてい る こ と があ り ます。 こ れ ら の信号は、 ツールに よ り ア ク テ ィ ビ テ ィ を決定 さ せます。 I/O ア ク テ ィ ビ テ ィ お よ び制御信号のア ク テ ィ ビ テ ィ 値の設定方法は、 第 5 章の 「Vivado IDE か ら の What If? 解 析の実行」 を参照 し て く だ さ い。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 31 手法 デバイ ス/デザイ ン設定を確認 し て既知のエ レ メ ン ト のア ク テ ィ ビ テ ィ を調整 [Report Power] ダ イ ア ロ グ ボ ッ ク スは、 Flow Navigator で [Report Power] を ク リ ッ ク す る と 開 き ます。 こ のダ イ ア ロ グ ボ ッ ク ス で消費電力設定を確認 し 、 既知のエ レ メ ン ト のア ク テ ィ ビ テ ィ を調整 し ます (図 4-2)。 X-Ref Target - Figure 4-2 図 4-2 : [Report Power] ダ イ ア ログ ボ ッ ク ス 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 32 手法 • [Output text file] プ ロ ジ ェ ク ト の記録 と し て消費電力予測結果を保存する 必要があ る 場合があ り ます。 ま た、 パフ ォーマン ス ま た はエ リ ア制約を満たすために別のマ ッ プ、 配置、 お よび配線オプシ ョ ン を試す場合、 各試行の消費電力結果を保 存 し てお く と 、 複数の条件で要件が満た さ れた と き に最 も 消費電力が低い ソ リ ュ ーシ ョ ン を選択す る のに役立ち ます。 • [Output XPE file] (Xilinx Power Estimator 用) 環境情報、 デバ イ ス 使用量、 デザ イ ン ア ク テ ィ ビ テ ィ すべて を 1 つの フ ァ イ ル (.xpe) に保存 し 、 Xilinx Power Estimator ス プ レ ッ ド シー ト に イ ンポー ト で き ます。 消費電力要件を超え てお り 、 ツールの最適化機能だけでは要 件を満たす こ と がで き ない よ う な場合に有益です。こ の場合、現在の イ ンプ リ メ ン テーシ ョ ン結果を Xilinx Power Estimator に イ ンポー ト し 、 異な る マ ッ プ、 ゲーテ ィ ン グ、 畳み込み、 お よ びその他の手法を試 し て、 それ ら の消 費電力への影響を予測 し てか ら 、 RTL コ ー ド を変更 し 、 イ ン プ リ メ ン テーシ ョ ン を再実行 し ます。 ま た、 Xilinx Power Estimator ス プ レ ッ ド シー ト での予測 と 合成結果を比較 し て、 Xilinx Power Estimator の値を必要に応 じ て変 更 し ます。 各シー ト を確認 し て、 シ ス テ ムが正 し く 表現 さ れてい る か確認 し ます。 • [Environment] タ ブ : [Environment] タ ブで編集可能なオプシ ョ ン を確認 し ます。 プ ロ セ ス、 電圧、 環境デー タ が意 図 し た環境に近い も のであ る こ と を確認 し ます。 こ れ ら の設定は、 予測 さ れ る 総消費電力に大き く 影響 し ます。 [Environment] タ ブでは、 次のオプシ ョ ン を設定で き ます。 [Device Settings] - [Temp Grade] : デバ イ ス に適 し た温度グ レー ド を選択 し ます。 通常は [Commercial] ま たは [Industrial] で す。 こ の設定に よ り ス タ テ ィ ッ ク 消費電力仕様が異な る デバ イ ス も あ り ます。 こ れを適切に設定す る こ と に よ り 、 選択 し たデバ イ ス に対 し て正 し いジ ャ ン ク シ ョ ン温度範囲が表示 さ れます。 - [Process] : ワース ト ケース解析では、 [Maximum] に設定す る こ と をお勧め し ます。 デフ ォ ル ト 設定は [Typical] で、 ス タ テ ィ ッ ク に計測 し た場合に近い結果が得 ら れますが、 [Maximum] に変更す る と 、 消費 電力仕様が ワ ース ト ケース の値に変更 さ れます。 [Environment Settings] - [Output Load] (pF) : I/O ポー ト の出力で駆動 さ れ る ボー ド お よ びその他の外部容量を指定 し ます。 - [Ambient Temperature] (°C) : FPGA デザ イ ン を含むエン ク ロ ージ ャ 内で達す る 可能性のあ る 最大温度を 指定 し ます。 こ の設定 と 、 エア フ ロ ーやその他の放熱経路 ( ヒ ー ト シ ン ク な ど) に よ り 、 ジ ャ ン ク シ ョ ン 温度が正確に算出 さ れ、 デバ イ ス の ス タ テ ィ ッ ク 消費電力が よ り 正確に算出 さ れます。 - [Airflow] (LFM) : チ ッ プのエア フ ロ ーは、 LFM ( リ ニ ア フ ィ ー ト /分) で計測 さ れます。 LFM は、 CFM (立方 フ ィ ー ト /分) で表 さ れた フ ァ ン の出力を 空気が通過す る 断面で除算 し て求め る こ と がで き ま す。 FPGA お よ びフ ァ ンの具体的な配置が FPGA 上の空気の動き に影響 し 、 放熱に影響す る 可能性があ り ま す。 こ のパ ラ メ ー タ ーのデフ ォ ル ト 値は 250LFM です。 エア フ ロ ーな し (静止空気中) で FPGA を動作 さ せる 場合、 デフ ォル ト の 250LFM を 0LFM に変更す る 必要があ り ます。 - [Heat Sink] : ヒ ー ト シ ン ク を使用 し てお り 、 詳細な放熱情報がない場合は、 使用す る ヒ ー ト シ ン ク の タ イ プに適切なプ ロ フ ァ イ ルを 選択 し ま す。 こ のパ ラ メ ー タ ー と ほかのパ ラ メ ー タ ーを使用 し て、 有効 ΘJB が算出 さ れ、 よ り 正確なジ ャ ン ク シ ョ ン温度お よ び静止消費電力が算出 さ れます。 ソ ケ ッ ト の設計 お よ び構造に よ っ て、 ヒ ー ト シ ン ク と し て機能する も の も あ り ます。 - [Board Selection] お よ び [# of Board Layers] : ボー ド のおお よ そのサ イ ズ と ス タ ッ ク を選択す る と 、ボー ド 自体の熱伝導性を考慮する こ と に よ り 、 有効 ΘJB の算出に役立ち ます。 - [ΘJB] : ボー ド お よ びシ ス テ ムの よ り 正確な温度モデルが存在す る 場合は、FPGA か ら の放熱量を し てい する ために ΘJB (プ リ ン ト 回路基板 の熱抵抗) を使用す る 必要があ り ます。 注記 : カ ス タ ム [Θ JB] を指定す る には、 [Board Selection] を [Custom] に設定す る 必要があ り ます。 カ ス タ ム [ΘJB] を指定す る 場合は、 正確な消費電力を算出す る ため、 [Board Temperature] も 指定す る 必要が あ り ます。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 33 手法 よ り 正確な カ ス タ ム [ΘJB] を指定す る と 、 ジ ャ ン ク シ ョ ン温度が よ り 正確に予測 さ れ、 デバ イ ス の ス タ テ ィ ッ ク 消費電力を よ り 正確に算出で き る よ う にな り ます。 • [Power Supply] タ ブ : 電源情報が既知の場合は、 [Power Supply] タ ブで各電源に正 し い電圧値が設定 さ れてい る こ と を確認 し ます。 電圧は、 ス タ テ ィ ッ ク 消費電力お よ びダ イ ナ ミ ッ ク 消費電力の両方に大き く 影響 し ます。 • [Clocks] タ ブ : ° ° • • すべての ク ロ ッ ク が指定 さ れてい る こ と を確認 し ます。 推奨は し ませんが、 場合に よ っ ては、 イ ンプ リ メ ン テーシ ョ ン ツールでの処理エ フ ォー ト を高 く し た り 、 タ イ ミ ン グ マージ ン を大 き く す る ために、 デザ イ ン の制約を厳 し く 設定する こ と があ り ます。 消費電力予測では、 デザ イ ンがボー ド で実行 さ れ る 際の実際の ク ロ ッ ク 周波数を使用する 必要があ り ます。 そ う でない と 、 デザ イ ンのダ イ ナ ミ ッ ク 消費電力の精度が下が り ます。 [Show Constrained Clocks] リ ン ク を ク リ ッ ク す る と 、 デザ イ ンで制約 さ れてい る ク ロ ッ ク がすべて リ ス ト さ れます。 ク ロ ッ ク 周波数が正 し く 設定 さ れてい る こ と を確認 し ます。 [Default Activity Rates] タ ブ : [Default Activity Rates] タ ブで ツールの現在のデフ ォ ル ト 値を確認 し 、 アプ リ ケー シ ョ ンの値がデフ ォル ト 値か ら 大き く ずれないかを予測 し 、 調整が必要か ど う か を判断 し ます。 こ れ ら の設定は 多数の代表的なユーザー デザ イ ンに基づいてい る ので、変更 し ない こ と をお勧め し ます。GUI ま たは入力フ ァ イ ルか ら ア ク テ ィ ビ テ ィ が供給 さ れなか っ た ノ ー ド に対 し て、 こ れ ら の値がシー ド と し て使用 さ れ ます。 こ の後、 伝搬エ ン ジ ン に よ り 各 ノ ー ド の ア ク テ ィ ビ テ ィ が ロ ジ ッ ク の駆動 コ ーン か ら 伝搬 さ れ る ア ク テ ィ ビ テ ィ に基づ いて変更 さ れ る ので、 こ れ ら の値は伝搬エン ジ ンに よ り 上書き さ れ る 可能性が高 く あ り ます。 ° [Set Signal Probability] : セ ッ ト 信号 と し て コ ン フ ィ ギ ュ レーシ ョ ン さ れ る デザ イ ンの全プ ラ イ マ リ 入力の可 能性を % で指定 し た値に設定 し ます。 ° [Reset Signal Probability] : リ セ ッ ト 信号 と し て コ ン フ ィ ギ ュ レーシ ョ ン さ れ る デザ イ ンの全プ ラ イ マ リ 入力 の可能性を % で指定 し た値に設定 し ます。 ° [Enable Signal Probability] : ク ロ ッ ク イ ネーブル信号 と し て コ ン フ ィ ギ ュ レーシ ョ ン さ れ る デザ イ ンの全プ ラ イ マ リ 入力の可能性を % で指定 し た値に設定 し ます。 ° [IO Toggle Rate] : デザ イ ンの全プ ラ イ マ リ 入力の ト グル レー ト を指定 し た値に設定 し ます。 ° [IO Enable Probability] : IO イ ネーブル信号 と し て コ ン フ ィ ギ ュ レーシ ョ ン さ れ る デザ イ ンの全プ ラ イ マ リ 入 力の可能性を % で指定 し た値に設定 し ます。 ° [Register Toggle Rate] : デザ イ ンの順次エ レ メ ン ト の全出力の ト グル レー ト を指定 し た値に設定 し ます。 ° [BRAM Write Probability] : デザ イ ンの全 BRAM 書き 込み イ ネーブル信号の可能性を % で指定 し た値に設定 し ます。 ° [BRAM Enable Probability] : デザ イ ンの全 BRAM イ ネーブル信号の可能性を % で指定 し た値に設定 し ます。 ° [DSP Toggle Rate] : デザ イ ンの DSP の全出力の ト グル レー ト を指定 し た値に設定 し ます。 [Input Files] タ ブ : Vivado の [Report Power] を実行す る には、 デザ イ ンに対 し て生成 さ れた SAIF ま たは VCD シ ミ ュ レーシ ョ ン デー タ を入力 と し て使用 し ます。 [Report Power] コ マン ド では、 デザ イ ン デー タ ベース内のネ ッ ト を シ ミ ュ レーシ ョ ン結果のネ ッ ト リ ス ト 内の名前 と 一致 さ せます。 シ ミ ュ レ ーシ ョ ン結果 (SAIF ま たは VCD フ ァ イ ル) か ら の情報を入力 し て、 さ ら に精度の高い消費電力解析を取得す る 方法については、 「解析に使用す る 入力デー タ の指定」 を参照 し て く だ さ い。 解析の実行 [Report Power] ダ イ ア ロ グ ボ ッ ク ス に必要なデー タ を入力 し た ら 、 解析を実行 し ます。 フ ァ イ ルお よ びユーザー入力 に よ り 供給 さ れた ア ク テ ィ ビ テ ィ がネ ッ ト リ ス ト がア ノ テー ト さ れ、 残 り の未定義の ノ ー ド にデフ ォ ル ト 値が適用 さ れます。 その後、 未定義の ノ ー ド のア ク テ ィ ビ テ ィ 予測の精度を上げ る ため、 こ の初期ア ク テ ィ ビ テ ィ が主な入力か ら デザ イ ンの主な出力に伝搬 さ れます。 最後に、 使用 さ れ る 各 リ ソ ース のダ イ ナ ミ ッ ク 消費電力が算出 さ れ、 こ れ ら の リ ソ ース での ス イ ッ チン グ ア ク テ ィ ビ テ ィ に よ り 生成 さ れ る 追加の ス タ テ ィ ッ ク 消費電力が推論 さ れ、デバ イ ス で 予測 さ れ る ジ ャ ン ク シ ョ ン温度お よ び総消費電力要件が算出 さ れます。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 34 手法 デザイ ン での電力配分の確認 消費電力解析が完了 し た ら 、[Power] ビ ュ ーの [Summary] ページで [Total On-Chip Power] (総オンチ ッ プ消費電力) お よ び温度プ ロ パテ ィ を確認 し ます。 [On-Chip Power] グ ラ フ では、 デバ イ ス リ ソ ース タ イ プご と の消費電力が示 さ れま す。 こ のグ ラ フ か ら 、 デザ イ ンで最 も 消費電力が高い箇所を特定で き ます (図 4-3)。 X-Ref Target - Figure 4-3 図 4-3 : Vivado 消費電力解析 : 消費電力レポー ト [Power Supply] ページには、 各電源の電流お よ びその ス タ テ ィ ッ ク 消費電力お よ びダ イ ナ ミ ッ ク 消費電力の内訳が表 示 さ れます。 [Utilization Details] の下で リ ソ ース タ イ プ を選択す る と 、 その リ ソ ース におけ る 消費電力の詳細を表示で き ます (図 4-4)。 各 リ ソ ース のページは、 ツ リ ー形式の表にな っ てい ます。 列ヘ ッ ダーを ド ラ ッ グす る と 、 列の順序を変更で き ます。 ま た、 列ヘ ッ ダーを ク リ ッ ク する と 並べ替え順を変更で き ます。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 35 手法 X-Ref Target - Figure 4-4 図 4-4 : Vivado 消費電力解析 : I/O の消費電力の詳細 レ ポー ト さ れてい る 消費電力が要件を超え てい る 場合は、 第 6 章 「消費電力削減のための ヒ ン ト お よ び手法」 のデバ イ ス の消費電力を削減する 手法を参照 し て く だ さ い。 使用で き る 手法は、 デザ イ ンの完成度や開発プ ロ セ ス の変更許 容度に よ っ て異な り ます。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 36 第 5章 Vivado Design Suite での消費電力解析お よび 最適化 概要 こ の章では、 Vivado™ Design Suite で実行可能な消費電力に関連 し た機能お よ びフ ロ ーを説明 し 、 消費電力予測、 解 析、 お よ び最適化を実行で き る よ う に し ます。 消費電力解析は、 合成後、 配置後、 ま たは配線後に実行で き ます。 RTL エ ラ ボ レーシ ョ ン後には実行で き ません。 消費電力の最適化は、 合成後にのみ実行で き ます。 消費電力の解析お よ び最適化は、 Vivado IDE ま たは Tcl プ ロ ンプ ト のいずれかを使用 し て実行可能で、 ダ イ ナ ミ ッ ク に What If? シナ リ オを試す こ と がで き ます。 消費電力解析 Vivado IDE の消費電力に関連 し た機能を使用す る と 、デザ イ ンの イ ンプ リ メ ン テーシ ョ ンで次の消費電力予測お よ び 解析を実行で き ます。 • デザ イ ンの ス タ テ ィ ッ ク 消費電力に影響する 次の温度特性を レ ポー ト ° ジ ャ ン ク シ ョ ン温度、 周囲温度な ど の温度値 ° ボー ド 層の数、 ボー ド の温度な ど、 選択 し たボー ド に関する デー タ ° デザ イ ンで使用 さ れ る エア フ ロ ーお よ び ヒ ー ト シ ン ク プ ロ フ ァ イ ルのデー タ • 各種電源の FPGA 電流要件の レ ポー ト • 消費電力の分配を詳細に解析する こ と に よ り 、 ダ イ ナ ミ ッ ク 消費電力、 熱消費電力、 ま たはオ フチ ッ プ消費電力 を削減する 消費電力節約ス ト ラ テジ を特定 図 5-1 に、 典型的な消費電力予測お よ び解析フ ロ ーを示 し ます。 高精度の結果を得 ら れ る よ う 、 予測ま たは解析を実 行す る 前に必要な ツールへの入力お よ び設定 を行 う 手順 も 含 ま れて い ま す。 消費電力予測お よ び解析 コ マ ン ド は、 Vivado IDE ま たは Tcl プ ロ ンプ ト か ら 実行で き ます。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 37 消費電力解析 X-Ref Target - Figure 5-1 䝛䝑䝖䝸䝇䝖 䝛䝑䝖䝸䝇䝖䛾⏕ᡂ㻌㻦㻌ྜᡂ䜎䛯䛿䜲䞁䝥䝸䝯䞁䝔䞊䝅䝵䞁 タᐃ 䝕䝄䜲䞁㻌䝛䝑䝖䝸䝇䝖䛾ㄞ䜏㎸䜏 䝕䝄䜲䞁ไ⣙䛾ᣦᐃ㻌㻦㻌䝍䜲䝭䞁䜾䚸䝅䝭䝳䝺䞊䝅䝵䞁䚸 㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌䝤䝻䝑䜽㻌䝁䞁䝣䜱䜼䝳䝺䞊䝅䝵䞁 ⎔ቃタᐃ䛾ᣦᐃ㻌㻦㻌䝕䝞䜲䝇䛾ືస᮲௳ ᐇ⾜ ᾘ㈝㟁ຊゎᯒ䜰䝹䝂䝸䝈䝮䛾ᐇ⾜ 3 ᗘ䛚䜘䜃㟁※ศ㓄䝺䝫䞊䝖 ゎᯒ ᾘ㈝㟁ຊ䝺䝫䞊䝖䛾☜ㄆ U ḟ䜢ゎᯒ㻛ㄪᩚ㻛ヨ⾜ 䝕䝄䜲䞁䛾䜰䜽䝔䜱䝡䝔䜱 タᐃ㻌㻦㻌⎔ቃ䚸䝕䝞䜲䝇 䝒䞊䝹㻌㻦㻌䜲䞁䝥䝸䝯䞁䝔䞊䝅䝵䞁䚸ゎᯒ ; 図 5-1 : 消費電力予測および解析フ ロー サポー ト さ れる フ ァ ミ リ • ザ イ リ ン ク ス 7 シ リ ーズ FPGA デバ イ ス サポー ト さ れる入力 • タ イ ミ ン グ制約を指定する XDC 制約フ ァ イ ル • ビヘ イ ビ アーま たは タ イ ミ ン グ シ ミ ュ レーシ ョ ンか ら のシ ミ ュ レーシ ョ ン出力ア ク テ ィ ビ テ ィ フ ァ イ ル (SAIF/VCD フ ァ イ ル) • 環境、動作条件、ツール デフ ォル ト 、お よび個々のネ ッ ト リ ス ト ノ ー ド ア ク テ ィ ビ テ ィ を指定す る XDC/Tcl フ ァ イ ル コ マン ド 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 38 消費電力解析 サポー ト さ れる出力 • GUI お よ びテ キ ス ト 形式の消費電力レ ポー ト • 指定のネ ッ ト リ ス ト エ レ メ ン ト の使用量お よ び統計を取得す る Tcl コ マン ド • Vivado IDE ビ ュ ーで さ ら に解析す る ためのネ ッ ト リ ス ト Vivado IDE を使用 し た消費電力解析 消費電力予測は、 合成後のデザ イ ン フ ロ ーの ど の段階で も 実行で き ます。 図 5-2 に、 Vivado IDE で消費電力予測を実 行 し 、 設定 メ ニ ュ ーにア ク セ スする 方法を示 し ます。 X-Ref Target - Figure 5-2 図 5-2 : Vivado IDE での消費電力予測の実行 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 39 消費電力解析 Vivado IDE からの消費電力解析の設定 [Report Power] ダ イ ア ロ グ ボ ッ ク ス で環境、 ア ク テ ィ ビ テ ィ 、 電源、 お よ びツール デフ ォ ル ト を指定す る には、 次を 実行 し ます。 図 5-2 を参照 し て く だ さ い。 1. [Flow] → [Open Synthesized Design] ま たは [Flow] → [Open Implemented Design] を ク リ ッ ク し ます。 ま たは、 Flow Navigator で こ れ ら を ク リ ッ ク し ます。 2. [Tool] → [Report Power] を ク リ ッ ク し ます。 ま たは、 Flow Navigator で [Report Power] を ク リ ッ ク し ます。 3. [Report Power] ダ イ ア ロ グ ボ ッ ク ス で、 デバ イ ス の環境お よ びツール設定を指定 し ます。 ° [Report Power] ダ イ ア ロ グ ボ ッ ク ス の各 タ ブで、 デザ イ ンの環境に合わせて設定を変更 し ます。 ° 環境お よ び電圧設定は、 デバ イ ス の ス タ テ ィ ッ ク 消費電力に大き く 影響 し ます。 ° ア ク テ ィ ビ テ ィ レー ト お よ び電圧設定は、 ダ イ ナ ミ ッ ク 消費電力に大 き く 影響 し ます。 ° 特定の設定が不明の場合は、 デフ ォル ト の値を使用 し て く だ さ い。 ° シ ミ ュ レーシ ョ ン結果か ら のア ク テ ィ ビテ ィ フ ァ イ ルがあ る場合、こ のダ イ ア ロ グ ボ ッ ク スで指定で き ます。 こ れ ら の段階の詳細は、 第 4 章の 「デバ イ ス/デザ イ ン設定を確認 し て既知のエ レ メ ン ト のア ク テ ィ ビ テ ィ を調 整」 を参照 し て く だ さ い。 4. レ ポー ト 名を指定 し ます。 Vivado IDE からの消費電力解析の実行 [Run] を ク リ ッ ク し て消費電力解析を実行 し ます。 ツールで次が実行 さ れます。 1. 環境、 デバ イ ス、 お よ びツール オプシ ョ ンが考慮 さ れます。 2. ネ ッ ト リ ス ト の接続お よ びコ ン フ ィ ギ ュ レーシ ョ ンが読み込まれます。 3. 定義 し た ノ ー ド のア ク テ ィ ビ テ ィ が適用 さ れます。 ノ ー ド と は、 ネ ッ ト 、 ピ ン、 ポー ト な ど の コ ンポーネ ン ト です。 4. 残 り の未定義 ノ ー ド のア ク テ ィ ビ テ ィ が決定 さ れ、 温度お よ び電源電力が算出 さ れます。 消費電力解析では、 ア ク テ ィ ビ テ ィ の定義に次の よ う な情報が使用 さ れます。 • シ ミ ュ レーシ ョ ン フ ァ イ ル (SAIF/VCD) • ベ ク タ ーレ ス消費電力解析手法を使用 し た自動計算 • set_switching_activity Tcl コ マン ド を使用 し た手動定義 詳細は、 「Tcl プ ロ ンプ ト か ら の消費電力解析の実行」 を参照 し て く だ さ い。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 40 消費電力解析 Vivado IDE からの消費電力レポー ト の解析 消費電力レ ポー ト お よ び解析ビ ュ ーは Vivado IDE に統合 さ れてい ます (図 5-3)。 さ ま ざ ま な消費電力ビ ュ ーを表示で き る だけではな く 、 既存の ビ ュ ー と 連動 さ せる こ と も 可能です。 • [Power] ビ ュ ーの [Settings] ページに、 消費電力の算出に使用 さ れたデバ イ ス、 ツール、 お よ び環境設定がすべて 表示 さ れます。 • [Summary] ページには、 重要な温度お よ び電源電力の結果のサマ リ が表示 さ れます。 [Utilization Details] セ ク シ ョ ンの各 リ ソ ース タ イ プのページ ま たは [Netlist] ビ ュ ーでので リ ソ ース タ イ プを選択す る と 、 [Properties] ビ ュ ーの [Statistics] タ ブに選択 し たエ レ メ ン ト の コ ン フ ィ ギ ュ レーシ ョ ン、 使用量、 ア ク テ ィ ビ テ ィ の詳細が表示 さ れます。 複数の レ ポー ト を生成 し て、異な る 動作条件やア ク テ ィ ビ テ ィ パ タ ーンでの消費電力を予測 で き ます。 X-Ref Target - Figure 5-3 図 5-3 : Vivado IDE での消費電力情報 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 41 消費電力解析 Vivado IDE からの What If? 解析の実行 What If? 解析を実行す る には、 デザ イ ンのネ ッ ト お よ び イ ン ス タ ン ス に対 し て信号レー ト お よ びス タ テ ィ ッ ク 確率を 設定 し ます。 こ れ ら の値は、 [Properties] ビ ュ ーの [Power] タ ブで設定 し ます (図 5-4)。 X-Ref Target - Figure 5-4 図 5-4 : [Properties] ビ ュ ーの [Power] タ ブ Tcl プ ロ ン プ ト を使用 し た消費電力解析 こ のセ ク シ ョ ンでは、 Tcl イ ン タ ーフ ェ イ ス を使用 し た典型的な消費電力解析フ ロ ーを説明 し ます。 「消費電力解析の Tcl コ マ ン ド 」 に、 消費電力解析に関連す る コ マン ド を リ ス ト し ます。 特定の コ マ ン ド のオプシ ョ ン、 属性、 適用可能なエ レ メ ン ト 、 お よ び戻 り 値は、 次を参照 し て く だ さ い。 • 「<command_name> -help」 と 入力 • 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) を参照 • 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) を参照 消費電力解析の Tcl コ マ ン ド • read_saif • set_switching_activity • set_default_switching_activity • set_operating_conditions 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 42 消費電力解析 • read_vcd • report_switching_activity • reset_default_switching_activity • report_operating_conditions • report_power • reset_switching_activity • report_default_switching_activity • reset_operating_conditions • set_units Tcl プ ロ ン プ ト からの消費電力解析の設定 消費電力予測を実行する 前に、 デバ イ ス の環境、 デザ イ ン ネ ッ ト リ ス ト の既知の ス イ ッ チン グ ア ク テ ィ ビ テ ィ レー ト を指定する 必要があ り ます。 こ れに よ り 、 消費電力予測が正確な も のにな り ます。 • 「デバ イ ス環境」 • 「ネ ッ ト リ ス ト エ レ メ ン ト ア ク テ ィ ビ テ ィ 」 • 「最小限の入力セ ッ ト 」 デバイ ス環境 次の よ う なデバ イ ス動作条件をすべて指定 し ます。 • • • 温度 ° 周辺温度 ° ヒ ー ト シン ク 電圧 ° VCCINT ° VCCAUX ° VCCO デバ イ ス ° 温度グ レー ド ° プ ロ セ ス コ ーナー 次の コ マ ン ド を使用 し ます。 • report_operating_conditions すべて ま たは指定 し た動作条件設定を レ ポー ト し ます。 • set_operating_conditions 指定 さ れてい る 動作条件パ ラ メ ー タ ーを変更 し ます。 • reset_operating_conditions 指定 さ れてい る 動作条件パ ラ メ ー タ ーま たはすべてのパ ラ メ ー タ ーを、 選択 し たデバ イ ス のデフ ォ ル ト 値に戻 し ます。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 43 消費電力解析 ネ ッ ト リ ス ト エレ メ ン ト アクテ ィ ビテ ィ 次の コ マ ン ド を使用 し て、 信号レー ト お よ び ス タ テ ィ ッ ク 確率な ど の ス イ ッ チ ン グ ア ク テ ィ ビ テ ィ 、 お よ び既知の ネ ッ ト リ ス ト エ レ メ ン ト の ク ロ ッ ク 波形情報を定義 し ます。 • • report_switching_activity ° 指定 し たエ レ メ ン ト のア ク テ ィ ビ テ ィ を レ ポー ト し ます。 ° 複数のエ レ メ ン ト を指定する と 、 平均ア ク テ ィ ビ テ ィ が返 さ れます。 set_switching_activity 指定 し たエ レ メ ン ト のア ク テ ィ ビ テ ィ を設定 し ます。 • reset_switching_activity 指定 し たネ ッ ト リ ス ト のエ レ メ ン ト のア ク テ ィ ビ テ ィ を ツールのデフ ォル ト 値に リ セ ッ ト し ます。 • report_default_switching_activity 指定 し たデフ ォル ト タ イ プのデフ ォ ル ト のア ク テ ィ ビ テ ィ を レ ポー ト し ます。 • set_default_switching_activity 指定 し たデフ ォル ト の タ イ プのア ク テ ィ ビ テ ィ を設定 し ます。 • reset_default_switching_activity 指定 し たデフ ォル ト タ イ プのア ク テ ィ ビ テ ィ を リ セ ッ ト し ます。 • read_saif SAIF シ ミ ュ レーシ ョ ン出力フ ァ イ ルを読み込んで、 一致す る ネ ッ ト リ ス ト エ レ メ ン ト に こ の フ ァ イ ルに記述 さ れてい る ス イ ッ チン グ ア ク テ ィ ビ テ ィ を ア ノ テー ト し ます。 • read_vcd VCD シ ミ ュ レーシ ョ ン出力フ ァ イ ルを読み込んで、 一致す る ネ ッ ト リ ス ト エ レ メ ン ト に こ の フ ァ イ ルに記述 さ れてい る ス イ ッ チン グ ア ク テ ィ ビ テ ィ を ア ノ テー ト し ます。 • create_clock ク ロ ッ ク 波形を指定する 合成/ イ ンプ リ メ ン テーシ ョ ン制約です。 • create_generated_clock 生成 ク ロ ッ ク 波形を指定する 合成/ イ ンプ リ メ ン テーシ ョ ン制約です。 デフ ォル ト では、 create_clock お よ び create_generated_clock は XDC フ ァ イ ルで定義 さ れてい る ので、 再び定義す る 必 要はあ り ません。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 44 消費電力解析 最小限の入力セ ッ ト 消費電力予測を実行する 前に、 次を実行 し ます。 • ネ ッ ト リ ス ト に含まれてい る すべての ク ロ ッ ク のア ク テ ィ ビ テ ィ が定義 さ れてい る こ と を確認 し ます。 • 可能な場合、 Tcl コ マン ド を使用 し てデザ イ ンに含まれ る プ ラ イ マ リ 入力ポー ト のア ク テ ィ ビ テ ィ を指定す る か、 ま たはシ ミ ュ レーシ ョ ン出力フ ァ イ ルを読み込みます。こ れ ら のポー ト のア ク テ ィ ビ テ ィ レー ト が内部 ロ ジ ッ ク のア ク テ ィ ビ テ ィ レー ト を決定す る ので、 ツールのデフ ォル ト 設定がアプ リ ケーシ ョ ン と 一致 し ていない と 、内 部 ロ ジ ッ ク のア ク テ ィ ビ テ ィ が正 し く 予測 さ れない可能性があ り ます。 • HDL コ ー ド で定義 さ れてい る グ ロ ーバル セ ッ ト 、 リ セ ッ ト 、 ク ロ ッ ク イ ネーブル信号な ど、 フ ァ ン ア ウ ト が大 き いネ ッ ト のア ク テ ィ ビ テ ィ レー ト がわか っ てい る 場合は指定 し ます。 シ ミ ュ レーシ ョ ン結果フ ァ イ ルを読み込む場合は、 典型的ま たは ワ ース ト ケース のデザ イ ン ア ク テ ィ ビ テ ィ が示 さ れてい る こ と を確認 し て く だ さ い。 特殊な状況のシ ミ ュ レーシ ョ ン結果を使用す る と 、 消費電力が正確に予測 さ れな い可能性があ り ます。 Tcl プ ロ ン プ ト からの消費電力解析の実行 環境お よ びア ク テ ィ ビ テ ィ をすべて定義 し た ら 、 report_power コ マ ン ド を使用 し て消費電力解析アルゴ リ ズ ム を 実行で き ます。 ツールで次が実行 さ れます。 1. 環境設定お よ びデザ イ ンのネ ッ ト リ ス ト が読み込まれます。 2. 入力フ ァ イ ルま たは Tcl コ マン ド を使用 し て指定 し たネ ッ ト リ ス ト エ レ メ ン ト のア ク テ ィ ビ テ ィ がア ノ テー ト さ れます。 注記 : 未定義の ノ ー ド には、 ベ ク タ ーレ ス伝搬エン ジ ンに よ り 、 既知のエ レ メ ン ト のア ク テ ィ ビ テ ィ 、 ロ ジ ッ ク コ ン フ ィ ギ ュ レーシ ョ ン、 接続に基づいて ア ク テ ィ ビ テ ィ が予測 さ れます。 3. デザ イ ンの温度お よ び電源電力が計算お よ びレ ポー ト さ れます。 Tcl プ ロ ン プ ト からの消費電力レ ポー ト の解析 デザ イ ンの消費電力を解析する には、 まず消費電力レ ポー ト に含まれてい る 温度お よ び電源電力情報を確認 し ます (図 5-5)。 次に、 要件に対する デザ イ ン マージ ンに よ っ て、 リ ソ ース ま たは階層セ ク シ ョ ン を確認 し ます。 こ れ ら のセ ク シ ョ ン には、 デザ イ ンの消費電力の分配が詳細に示 さ れます。 解析の結果、 Xilinx Power Esitimator に戻 り 、 デザ イ ンのアー キテ ク チ ャ シナ リ オ を実行す る 必要が出て く る こ と があ り ます。 What If? シナ リ オを実行 し 、 次の設定を変更 し た場合の影響を評価で き ます。 • 環境 • デバ イ ス • イ ンプ リ メ ン テーシ ョ ン • 消費電力ツール 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 45 消費電力解析 X-Ref Target - Figure 5-5 図 5-5 : 消費電力および温度情報を含むテキス ト 形式レポー ト 例 Vivado に含まれてい る cpu_hdl デザ イ ン を使用 し た場合の、 上記のセ ク シ ョ ンで説明 し た コ マン ド のほ と ん ど を含 むス ク リ プ ト 例を示 し ます。 消費電力レ ポー ト は Tcl コ マ ン ド を使用 し てダ イ ナ ミ ッ ク に実行で き ます。 次に例を示 し ます。 vivado -mode batch -source power_analysis.tcl ま たは、 Tcl ス ク リ プ ト を使用する こ と も で き ます。 次に、 バ ッ チ モー ド で ス ク リ プ ト を実行す る 場合の ス ク リ プ ト 例を示 し ます。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 46 消費電力解析 例 1 : プ ロ ジ ェ ク ト モー ド での合成後お よび イ ン プ リ メ ン テーシ ョ ン後の消費電 力予測お よび比較 #--------------------- Setup estimation --------------------# Open project with HDL source files and timing constraints open_project $install_directory/project_cpu_hdl/project_cpu_hdl.ppr # 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} #----------------------- Run Synthesis then Power estimation ----------------# Run Vivado Design Suite synthesis and automatically launch_runs synth_1 #open design open_run synth_1 # Generate verbose post-synthesis power report report_power -verbose -file ex1_post-synthesis.pwr #------------------------ Run Implementation then Power estimation ----------launch_runs 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} # could use '-all' 例 2 : 非プ ロ ジ ェ ク ト モー ド での合成後および イ ン プ リ メ ン テーシ ョ ン後の消費 電力予測お よび比較 #--------------------- Setup estimation --------------------# Open netlist in projectless mode read_edif -name top.edf # read design constraints 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} 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 47 消費電力解析 #----------------------- Power estimation post synthesis ----------------# Generate verbose post-synthesis power report report_power -verbose -file ex1_post-synthesis.pwr #----Run various Implementation steps then 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} # could use '-all' 例 3 : リ セ ッ ト 時の % High の値が正確である こ と を確認 # Identify resets in the design # Query the % high value of the reset identified for the design report_switching_activity -static_probability reset # Output is reset:static probability = 0.5 (D) # Set %high value of reset to 0 set_switching_activity -static_probability 0.0 reset # Generate post-route verbose power report report_power -verbose -file ex1_post_route_design.pwr 例 4 : ツールお よびデバイ スの環境設定のレ ポー ト 、 変更、 リ セ ッ ト イ ンプ リ メ ン ト 済みデザ イ ン を開き 、 次の コ マン ド を入力 し ます。 こ れに よ り 、 デフ ォ ル ト のア ク テ ィ ビ テ ィ 設定が 変更 さ れ、 新 し い消費電力レ ポー ト が生成 さ れます。 #------------------- Report tool default activity settings ------------------# Show tool default activity for the different class of netlist elements report_default_switching_activity -type all # Generate power report with tool default settings report_power -file ex2_tool-default-activity.pwr 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 48 消費電力解析 #------------------- Modify tool default activity settings ------------------# Set default clock freq of 100 MHz for all unconstrained clocks set_default_switching_activity -toggle_rate 100 -type clock # Increase activity of design inputs from 12.5 to 25% of clock rate set_default_switching_activity -type input -static_probability 50 -toggle_rate 25 # Report static and dynamic power implications report_power -file ex2_modified-default-activity.pwr #------------------- Reset tool default activity settings ------------------# Return activity of design inputs to default reset_default_switching_activity -all 例 5 : What If? デザイ ン解析/レポー ト 、 デザイ ン ア ク テ ィ ビ テ ィ の変更、 リ セ ッ ト 消費電力解析での作業はダ イ ナ ミ ッ ク であ り 、 What If? シナ リ オを即座に試す こ と がで き ます。 イ ンプ リ メ ン ト 済み デザ イ ン を開き 、次の コ マン ド を入力 し ます。 こ れに よ り 、サブモジ ュ ール fftEngine の制御信号 ( ク ロ ッ ク イ ネー ブルお よ び リ セ ッ ト ) のア ク テ ィ ビ テ ィ が変更 さ れ、 こ の階層レベルお よ びデザ イ ン全体の消費電力への影響を評価 で き ます。 #---------------- Report power and activity with default settings -----------# Report power report_power -file ex3_power_before.pwr # Get activity of signals of interest report_switching_activity -object_list [get_nets {fftEngine/reset fftEngine/wb_we_i_reg}] #---------- scenario with no reset and higher CE activity -------------# disable reset and enable clock enables in module fftEngine most of the time set_switching_activity -static_probability 0 -object_list [get_nets fftEngine/reset] set_switching_activity -static_probability 1 -object_list [get_nets fftEngine/wb_we_i_reg] report_power -file ex3_power_no_reset_activ.pwr report_switching_activity -object_list [get_nets fftEngine/reset fftEngine/wb_we_i_reg] #----------- scenario with active reset and low CE activity --------# enable reset and disable clock enable in module fftEngine most of the time set_switching_activity -static_probability 1 -object_list [get_nets fftEngine/reset] set_switching_activity -static_probability 0 -object_list [get_nets fftEngine/wb_we_i_reg] report_power -file ex3_power_reset_activ.pwr report_switching_activity -object_list [get_nets fftEngine/reset fftEngine/wb_we_i_reg] 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 49 消費電力の最適化 消費電力の最適化 Vivado デザ イ ン ツールでは、 さ ま ざ ま な消費電力の最適化が提供 さ れてお り 、 デザ イ ンのダ イ ナ ミ ッ ク 消費電力を 最大 30% 削減で き ます。 こ れ ら の最適化では、 ASIC で使用 さ れ る ク ロ ッ ク ゲーテ ィ ン グ手法が使用 さ れ、 デザ イ ン の出力に影響 し ない部分や、その ク ロ ッ ク サ イ ク ルで ス テー ト のア ッ プデー ト が不要な部分のア ク テ ィ ビ テ ィ を最小 限に抑え る こ と がで き ます。 最適化は、 デザ イ ン全体に適用する か、 選択 し た部分のみに適用で き ます (図 5-6)。 FPGA のダ イ ナ ミ ッ ク 消費電力は、 デザ イ ンの さ ま ざ ま な ノ ー ド におけ る ク ロ ッ ク 周波数 (f)、 ノ ー ド 容量 (C)、 FPGA の動作電圧 (V)、 お よ びア ク テ ィ ビ テ ィ か ら 算出 さ れます。 ほ と ん ど のデザ イ ンでは、 上記のパ ラ メ ー タ ーのい く つ かは FPGA テ ク ノ ロ ジ (電圧な ど) ま たはデザ イ ン要件 (動作周波数) に よ り 通常固定 さ れ ますが、 デザ イ ン内のモー ド には FPGA の出力には影響 し ないが ト グル し 続け る も の も あ り 、 ダ イ ナ ミ ッ ク 消費電力の大 き な部分を占め ます。 こ の よ う な ノ ー ド を FPGA の ク ロ ッ ク イ ネーブル (CE) を使用 し てゲーテ ィ ン グで き ます。 こ れは コ ーデ ィ ン グ手法 で も 達成で き ますが、 デザ イ ンにほかの ソ ー ス か ら の IP が含 まれていた り 、 その よ う な細粒度のゲーテ ィ ン グ を実 行する には多大な労力を要する ため、 ほ と ん ど の場合は実行 さ れません。 Vivado では こ れ ら の消費電力の最適化が 1 つの コ マ ン ド で自動的に実行で き 、 最大限の消費電力削減を簡単に実行で き ます。 Vivado では、 レ ガシ IP ブ ロ ッ ク お よ びサー ド パーテ ィ IP ブ ロ ッ ク を含むデザ イ ン全体が解析 さ れます。 各 ク ロ ッ ク サ イ ク ルの結果に影響 し ない ソ ース レ ジ ス タ の出力 ロ ジ ッ ク を特定 し 、 細粒度 ク ロ ッ ク ゲーテ ィ ン グ ま たは ロ ジ ッ ク ゲーテ ィ ン グ信号を作成 し て、 不要な ス イ ッ チ イ ン グ ア ク テ ィ ビ テ ィ を除去 し ます。 X-Ref Target - Figure 5-6 %HIRUH VLJ $IWHU 3RZHU &RQVXPSWLRQ 3RZHU &RQVXPSWLRQ VLJ &( :3BB 図 5-6 : ク ロ ッ ク ゲーテ ィ ング ク ロ ッ ク ゲーテ ィ ン グに よ る 最適化では、 シ ンプル デ ュ アル ポー ト モー ド ま たは完全なデ ュ アル ポー ト モー ド 両 方の専用ブ ロ ッ ク RAM の消費電力 も 削減 さ れます (図 5-7)。 こ れ ら のブ ロ ッ ク には、 ア レ イ イ ネーブル、 ラ イ ト イ ネーブル、 お よ び出力レ ジ ス タ の ク ロ ッ ク イ ネーブルな ど の イ ネーブル信号があ り ます。節約 さ れ る 消費電力のほ と んど はア レ イ イ ネーブルの使用に よ る も ので、 デー タ が書き 込まれず、 出力が使用 さ れない と き に、 消費電力を削減 する 機能が イ ンプ リ メ ン ト さ れます。 重要 : [Power Opt Design] は、 デザ イ ン フ ロ ーの配置前ま たは配置後の ど ち ら かで イ ネーブルにで き ますが、 両方共 で イ ネーブルにする こ と はで き ません。 詳細は、 50 ページの 「消費電力の最適化」 を参照 し て く だ さ い。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 50 消費電力の最適化 X-Ref Target - Figure 5-7 %HIRUH $IWHU DGGUHVV DGGUHVV GDWDRXW GDWDLQ GDWDRXW GDWDLQ FH :3BB 図 5-7 : ク ロ ッ ク ゲーテ ィ ングによ る最適化で ブ ロ ッ ク RAM イ ネーブルを活用 ザ イ リ ン ク ス の ク ロ ッ ク ゲーテ ィ ン グ最適化では追加のゲーテ ィ ン グ ロ ジ ッ ク が作成 さ れ、 ユーザー ロ ジ ッ ク が変 更 さ れ る こ と はないので、 デザ イ ンの機能は常に保持 さ れます。 ブ ロ ッ ク RAM の WRITE_MODE の消費電力最適化 True デ ュ アル ポー ト (TDP) のブ ロ ッ ク RAM の場合、 そのポー ト の出力が接続 さ れていなければ、 WRITE_MODE は WRITE_FIRST か ら NO_CHANGE に変更で き ます こ れに よ り 、 BRAM の出力ポー ト はア ッ プデー ト さ れないため、 書 き 込みサ イ ク ルの消費電力を節電で き ます。 こ の 最適化は、 ユーザー定義の機能お よ びパフ ォーマ ン ス に影響のない場合にのみ実行 さ れます。 Vivado IDE を使用 し た消費電力最適化 Vivado IDE で消費電力最適化を イ ネーブルにす る には、 [Tools] → [Project Settings] を ク リ ッ ク し 、 [Implementation] を 選択 し て [Power Opt Design] の下の [is_enabled] オプシ ョ ン を オンに し ます (図 5-8)。 こ のオプシ ョ ン を オ ン にす る と 、 消費電力最適化が Vivado IDE の イ ンプ リ メ ン テーシ ョ ン の一部 と し て実行 さ れ ま す。 最適化を詳細に設定 し 、 その結果を レ ポー ト する 場合は、 「消費電力解析の Tcl コ マン ド 」 を参照 し て く だ さ い。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 51 消費電力の最適化 X-Ref Target - Figure 5-8 図 5-8 : 消費電力最適化オプ シ ョ ン 消費電力最適化 Tcl コ マ ン ド Vivado には、 消費電力最適化用に 3 つの Tcl コ マン ド があ り ます。 • set_power_opt • power_opt_design • report_power_opt こ れ ら の コ マ ン ド は、 消費電力最適化を有効に し 、 デザ イ ンの最適化を適用す る 部分を指定 し 、 実行 さ れた最適化の 効果を レ ポー ト し ます。 指定 し た コ マ ン ド のオプシ ョ ン、 属性、 適用可能エ レ メ ン ト 、 戻 り 値の詳細は、 次を参照 し て く だ さ い。 • <command_name> -help を入力 • 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) を参照 • 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) を参照 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 52 消費電力の最適化 消費電力最適化制約の設定 消費電力最適化を実行する 前に、 オプシ ョ ンで消費電力最適化制約を設定 し 、 消費電力最適化を実行す る デザ イ ンの 部分を特定で き ます。 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] 表 5-1 : set_power_opt のオプ シ ョ ン オプ シ ョ ン名 必須/ オプ シ ョ ン デ フ ォル ト 説明 -include_cells オプシ ョ ン all ク ロ ッ ク ゲーテ ィ ン グ に含め る イ ン ス タ ン ス を指定 し ます。 -exclude_cells オプシ ョ ン None ク ロ ッ ク ゲーテ ィ ン グ か ら 除外す る イ ン ス タ ン ス を指 定 し ます。 -clocks オプシ ョ ン すべ て の ク ロック 指定 し た ク ロ ッ ク が供給 さ れ る イ ン ス タ ン ス に ク ロ ッ ク ゲーテ ィ ン グ を適用 し ます。 -cell_types オプシ ョ ン all ク ロ ッ ク ゲーテ ィ ン グ を適用す る セル タ イ プ を指定 し ます。 all、 bram、 reg、 srl、 none のいずれかを指定 し ます。 -quiet オプシ ョ ン なし コ マ ン ド エ ラ ーを無視 し ます。 -verbose オプシ ョ ン なし プ ロ グ ラ ム実行中 メ ッ セージの制限を解除 し 、 すべての メ ッ セージ を表示 し ます。 例 次の例では、 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 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 53 消費電力の最適化 消費電力最適化の実行 消費電力最適化は、 合成後ま たは opt_design の後、 配置前に実行 し ます。 消費電力最適化を有効にす る と 、 デザ イ ン 船体ま たは set_power_opt で指定 さ れた部分の消費電力が最適化 さ れます。 次に、 典型的な ス ク リ プ ト を示 し ます。 synth_design opt_design power_opt_design place_design route_design report_power こ の コ マ ン ド の構文は、 次の と お り です。 power_opt_design [-quiet] [-verbose] 表 5-2 : power_opt_design のオプ シ ョ ン オプ シ ョ ン名 必須/ オプ シ ョ ン デ フ ォル ト 説明 -quiet オプシ ョ ン なし コ マン ド エ ラ ーを無視 し ます。 -verbose オプシ ョ ン なし プ ロ グ ラ ム 実行中 メ ッ セージ の制限 を 解除 し 、 すべて の メ ッ セージ を表示 し ます。 消費電力最適化レ ポー ト の生成 report_power_opt コ マン ド を実行す る と 、 ブ ロ ッ ク RAM、 SRL、 レ ジ ス タ な ど、 消費電力最適化が実行 さ れたす べての イ ン ス タ ン ス が階層別に示 さ れます。 各 イ ン ス タ ン ス に使用 さ れた イ ネーブルに関す る 情報 と 、 イ ネーブルが Vivado で作成 さ れたのかユーザーに よ り 作成 さ れたのかが示 さ れます。 こ の コ マ ン ド の構文は、 次の と お り です。 report_power_opt [-cell <arg>] [-file <arg>] [-quiet] [-verbose] 表 5-3 : 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 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 54 消費電力の最適化 消費電力最適化を使用 し た消費電力の最大限の削減 Vivado ツールで消費電力最適化を実行 し た と き に消費電力が最大限に削減 さ れ る よ う にす る には、消費電力最適化を デザ イ ン全体に実行 し 、 デザ イ ンの一部を除外 し ない よ う に し ます。 消費電力最適化を有効に し て も 消費電力が削減 さ れない場合は、 制約が正 し く 付いてい る か ど う か確認 し ます。 check_timing コ マ ン ド を使用 し て、 デザ イ ンの レ ジ ス タ すべてに制約が付いてい る かど う か確認て く だ さ い。 デザ イ ンに正 し く 制約が付け ら れていれば、 消費電力最適化に影響す る 可能性のあ る コ ー ド 形式が含まれていないか 確認 し ます。 グ ロ ーバル セ ッ ト / リ セ ッ ト 信号、 ブ ロ ッ ク RAM イ ネーブルの生成の 3 つが主なデバ ッ グの対象 と な り ます。 消費電力最適化に生成 さ れた イ ネーブルの数が少ない場合、 コ ー ド ま たは合成お よ び イ ンプ リ メ ン テーシ ョ ンのオプシ ョ ン/属性を確認す る 必要があ る 可能性があ り ます。 • グ ロ ーバル セ ッ ト / リ セ ッ ト 信号 可能な限 り 、 非同期セ ッ ト / リ セ ッ ト 信号を使用 し ないで く だ さ い (特に、 デー タ パ ス ま たはパ イ プ ラ イ ン フ リ ッ プフ ロ ッ プ、 ブ ロ ッ ク RAM (BRAM))。 ま た、 power_opt_design でグ ロ ーバル セ ッ ト / リ セ ッ ト 信号を dont_touch と し て制約 し 、 イ ネーブル と し て使 用 さ れない よ う にする こ と も 考慮 し ます。 HDL で dont_touch 属性を設定する と 、 フ ロ ーのすべての段階で こ の属性が適用 さ れます。 こ のオプシ ョ ンは、 消費電力最適化用の XDC 制約 と し て設定す る こ と をお勧め し ます。 次にその例を示 し ます。 set_property DONT_TOUCH true [get_cells u1] 最後に、 消費電力最適化お よ びベ ク タ ーレ ス消費電力予測の前に、 グ ロ ーバル セ ッ ト / リ セ ッ ト 信号の信号レー ト お よ び確率が正 し く 設定 さ れてい る こ と を確認 し て く だ さ い。 • ス ラ イ ス レ ジ ス タ お よ び SRL power_opt_design でデザ イ ン の ス ラ イ ス レ ジ ス タ ま たは SRL に対 し て ク ロ ッ ク イ ネーブルが生成 さ れない原因 は、 多数あ り ます。 次はその例です。 ° • デザ イ ンに組み合わせループが存在する ° デザ イ ンへの主な入力が ソ ース と な る フ リ ッ プ フ ロ ッ プお よ び SRL にセ ッ ト / リ セ ッ ト 信号が使用 さ れて いる ° デー タ パ ス フ リ ッ プ フ ロ ッ プに非同期セ ッ ト / リ セ ッ ト 信号が使用 さ れてい る ° デザ イ ンに多数の ク ロ ッ ク ド メ イ ンがあ り 、 ク ロ ッ ク ド メ イ ン を ま たがっ てい る ために イ ネーブルが生成 さ れない ° SRL のサ イ ズ : SRL のシ フ ト レ ジ ス タ の段数が大き いほ ど、 すべての段に対 し て 1 つの ク ロ ッ ク イ ネーブ ルを生成する のが困難にな り ます。 ブ ロ ッ ク RAM ブ ロ ッ ク RAM (BRAM) が多数使用 さ れ る デザ イ ンでは、消費電力を大 き く 削減で き る 可能性があ り ます。Vivado では、 さ ま ざ ま な最適化手法を使用 し て イ ネーブルを生成 し 、 消費電力を削減 し ます。 power_opt_design を使用 し て も BRAM のゲーテ ィ ン グがそれほど適用 さ れていない場合は、 次の よ う な原因が考え ら れます。 ° BRAM が主に FIFO18E1/FIFO36E1 イ ン ス タ ン スであ る。 こ れ ら の イ ン ス タ ン スはツールで最適化で き ません。 ° 推論ま たは イ ン ス タ ン シエー ト さ れた メ モ リ が、A ポー ト と B ポー ト に別の ク ロ ッ ク を使用 し た完全なデ ュ アル ポー ト (TDP) モー ド であ り 、 power_opt_design で最適化で き ない。 ° BRAM 自体ま たは BRAM に供給 さ れ る ア ド レ ス/ ラ イ ト イ ネーブル フ リ ッ プ フ ロ ッ プに非同期 リ セ ッ ト が 使用 さ れてい る 。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 55 消費電力の最適化 消費電力最適化後の タ イ ミ ングの保持 消費電力最適化では、 消費電力を最大限に削減 し なが ら 、 タ イ ミ ン グへの影響は最小限に抑え ます。 消費電力最適化 に よ り タ イ ミ ン グが悪化 し た場合は、 こ の影響を補正する ための手法を使用で き ます。 可能な場合、 タ イ ミ ン グ ク リ テ ィ カルでない ク ロ ッ ク ド メ イ ン ま たはモジ ュ ールを特定 し 、 set_power_opt XDC コ マ ン ド を使用 し てそれ ら のみに消費電力最適化を適用 し ます。最 も ク リ テ ィ カルな ク ロ ッ ク ド メ イ ンがデザ イ ンの大部 分を占めてい る 場合や電力の大部分を消費 し てい る 場合は、ク リ テ ィ カル パ ス上のセルが消費電力最適化で削除 さ れ ていないかど う かを確認 し ます。 消費電力最適化で最適化 さ れたオブジ ェ ク ト には、 IS_CLOCK_GATED プ ロ パテ ィ が設定 さ れます。 こ れ ら のセルを消費電力最適化か ら 除外 し ます。 ク ロ ッ ク ゲーテ ィ ン グが適用 さ れたセルを検索す る には、 次の Tcl コ マン ド を使用 し ます。 get_cells -hier -filter {IS_CLOCK_GATED==1} Vivado IDE を使用 し てい る 場合は、 [Find] ダ イ ア ロ グ ボ ッ ク ス (図 5-9) を使用 し て こ れ ら の イ ン ス タ ン ス を検索で き ます。 X-Ref Target - Figure 5-9 図 5-9 : 消費電力最適化 さ れた イ ン ス タ ン スの検索 よ り 簡単な方法は、 BRAM に対す る 消費電力最適化を制限す る こ と です。 こ れに よ り タ イ ミ ン グへの影響が最小限 に抑え ら れ ますが、 その効果はデザ イ ン の BRAM の数お よ びそれ ら が ど の よ う にゲーテ ィ ン グ さ れてい る かに よ り ます。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 56 第 6章 消費電力削減のための ヒ ン ト および手法 概要 こ の章では、 消費電力を削減す る 手法お よ びその手法に よ る 総消費電力への効果を説明 し ます。 こ の情報は、 時間、 消費電力要件、 使用可能な リ ソ ース、 お よ びデザ イ ンの変更許容度な ど に合わせて最適なオプシ ョ ン を評価す る 際に 役立ち ます。 シ ス テム レ ベル 冷却ス ト ラ テ ジ 冷却ス ト ラ テジは、 デバ イ ス で生成 さ れた熱が除去 さ れて環境に吸収 さ れ る よ う に し ます。 こ れ ら の冷却ス ト ラ テジ は、 デバ イ ス の ス タ テ ィ ッ ク 消費電力に大 き く 影響 し ます。 通常設計の初期段階で適用 し 、 フ ロ ー後半にな っ てか ら では適用 し づ ら く な り ます。 • エア フ ロ ーを増や し ます。 • 周囲温度を下げます。 • ヒ ー ト シ ン ク ( さ ら に大 き い ヒ ー ト シ ン ク ) を使用する か、 ま たは別の レ ギ ュ レー タ を選択 し ます。 電源ス ト ラ テ ジ 電圧は、 ス タ テ ィ ッ ク 消費電力お よ びダ イ ナ ミ ッ ク 消費電力の両方に大 き く 影響 し ます。 電圧レベルのア ク テ ィ ブ制 御に よ り 、 指定の電圧がデバ イ ス に適用 さ れます。 • ス イ ッ チン グ レ ギ ュ レー タ を使用す る ス イ ッ チン グ レ ギ ュ レー タ は、 リ ニ ア レ ギ ュ レー タ と 比べ る と 電力効率は高 く な り ますが、 コ ン ポーネ ン ト 数 は多 く な り ます。 • 調整可能な レ ギ ュ レー タ を使用する 同 じ 電源で複数の FPGA に電力が供給 さ れ る 場合、 FPGA お よ び消費電力が最 も 消費 さ れ る デバ イ ス の電圧値に で き る 限 り 近い値にな る よ う 調整 し ます。 • 許容誤差が厳 し い レ ギ ュ レー タ を選択する 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 57 システム レベル デバイ スの選択 • 製品に適 し たデバ イ ス を選択する デバ イ ス選択の際に消費電力が主要な要素 と な っ て き てい ます。 集積度、 機能、 パ フ ォーマ ン ス要件に最適で、 消費電力要件 も 満たすデバ イ ス を選択 し て く だ さ い。 • デバ イ ス数を最小限に抑え る こ れに よ り 、 エ リ ア、 I/O イ ン タ ー コ ネ ク ト の消費電力、 総 リ ー ク 電流、 お よ びその他の要素を抑え る こ と がで き ます。 通常、 プ ロ セ ッ サ と FPGA な ど の複数の コ ン ポーネ ン ト をサ イ ズが大 き めの 1 つの FPGA と 置 き 換え る と 、 ス タ テ ィ ッ ク 消費電力を削減で き ます。 • 可能な限 り 小型のデバ イ ス を選択する こ れに よ り リ ー ク 電流が削減 さ れます。 通常、 1 つの FPGA フ ァ ミ リ では同 じ パ ッ ケージ を異な る ダ イ サ イ ズで 使用で き ます。 た と えば、 プ ロ ト タ イ プ中お よび生産前には大 き めのダ イ を使用 し 、 量産段階では小 さ めのダ イ を使用する こ と も 可能です。 • 可能な限 り 大型のパ ッ ケージ を選択する こ れに よ り 、放熱が増加 し ます。 パ ッ ケージが大 き いほど、 ダ イ の熱を環境に放散す る エ リ アが大 き く な り ます。 パ ッ ケージの上面に装着する ヒ ー ト シ ン ク を大 き く す る と 、 下面のボール グ リ ッ ド ア レ イ を介 し てプ リ ン ト 回 路基板に放散 さ れ る 熱を増やす こ と がで き ます。 • 低電圧デバ イ ス を使用する 一部のデバ イ ス フ ァ ミ リ には、 低消費電力オプシ ョ ンがあ り ます。 電圧要件を下げ る と 、 ス タ テ ィ ッ ク 消費電力 お よ びダ イ ナ ミ ッ ク 消費電力を大幅に削減で き ます。 • リ ー ク 電流が低いデバ イ ス を使用する 一部のデバ イ ス フ ァ ミ リ では、 特定の ス ピー ド グ レー ド ま たは温度グ レー ド を使用す る こ と に よ り 、 低 リ ー ク 電流 ま たは低 ス タ テ ィ ッ ク 消費電力オプシ ョ ン を利用で き ま す。 こ れ ら のデバ イ ス の価格は多少高 く な り ま す が、 電気代、 冷却ハー ド ウ ェ ア、 お よ びシ ス テ ム管理費を その価格以上に節約で き る 可能性があ り ます。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 58 デザイ ン レベル デザイ ン レ ベル 次のセ ク シ ョ ンでは、 デザ イ ンの消費電力要件を満たすためにデザ イ ンに適用で き る 手法を示 し ます。 デザ イ ン サ イ ク ルには、 主に次の二つの状況で消費電力 ク ロ ージ ャ が含まれます。 • 制約が満た さ れた後、 さ ら にデザ イ ン を最適化する 場合 ま たは • デザ イ ンが消費電力要件を超え てい る 場合 制約が満た さ れた後に さ ら にデザイ ン を最適化 通常、 開発プ ロ セ ス の こ の段階では、 RTL、 ボー ド 電源、 冷却パ ラ メ ー タ ーの変更は、 検証に時間がかか っ た り 、 PCB リ ス ピ ン コ ス ト がかかっ た り す る ため、 最小限に抑え る 必要があ り ますが、 こ の段階で も 異な る ツール オプシ ョ ン や制約を試 し て、 ロ ジ ッ ク お よ び配線 リ ソ ース数、 コ ン フ ィ ギ ュ レーシ ョ ン、 お よ びア ク テ ィ ビ テ ィ を最適化で き ま す。 こ の最適化に よ り 、 ダ イ ナ ミ ッ ク 消費電力が最小限に抑え ら れ、 同時に ス タ テ ィ ッ ク 消費電力 も 削減 さ れ ます。 デザ イ ン マージ ンに も よ り ますが、 ダ イ ナ ミ ッ ク 消費電力を通常 15% ~ 20% 削減で き 、 一部のデザ イ ンではそれ よ 以上削減で き ます。 消費電力要件を超えている場合 通常 こ の段階では、 シ ス テ ム を市場に リ リ ースす る 圧力が高 く 、 ボー ド 環境お よ び冷却オプシ ョ ン な ど のシ ス テ ムに 含まれ る 多 く のパ ラ メ ー タ ーは詳細に定義 さ れてい ます。 そのためエン ジニ ア リ ン グ作業のや り 直 し は制限 さ れます が、 次の手法を使用する と 、 消費電力を削減で き る 可能性が高いエ リ ア を特定で き ます。 手順 1 : 消費電力要件を超え てい る箇所の特定 GUI を使用 し てい る 場合は Vivado™ 消費電力解析レ ポー ト の [Summary] ページ、 コ マン ド ラ イ ン を使用 し てい る 場 合はレ ポー ト フ ァ イ ル (.pwr) の Summary セ ク シ ョ ン を確認 し ます。 [On-Chip Power] お よ び [Power Supply] セ ク シ ョ ンで、 消費電力分配の概要を確認で き ます。 [Summary] ページで要件を超え てい る 消費電力の種類お よ び電力量を確 認 し ます。 手順 2 : 焦点を置 く エ リ アの特定 Vivado 消費電力解析レ ポー ト ま たは Xilinx Power Estimator で詳細を確認 し ます。 環境パ ラ メ ー タ ー、 各 リ ソ ース、 デ ザ イ ン階層、 ク ロ ッ ク ド メ イ ンで消費 さ れ る 電力を解析 し ます。 消費電力が高いエ リ ア を見つけた場合は、 次の情報 を使用 し てその原因を特定で き ます。 手順 3 : 試行 上記の手順で特定 し た消費電力を最適化す る デザ イ ン箇所の候補 リ ス ト を確認 し 、 簡単な も のか ら 順に並び替え て、 実行する 最適化ま たは試みを決定 し ます。 消費電力ツールでは What If? 解析を実行で き る ので、 コ ー ド や制約を実際 に変更 し た り イ ンプ リ メ ン テーシ ョ ン を再実行 し た り せずに、 デザ イ ン を変更 し て簡単に消費電力を予測で き ます。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 59 デザイ ン レベル リ ソ ース を よ り 効果的に使用 • ブ ロ ッ ク RAM ° ° • ブ ロ ッ ク RAM の消費電力量は、 イ ネーブルにな っ てい る時間に直接比例し ます。 消費電力を削減する には、 デザ イ ンでブ ロ ッ ク RAM が使用 さ れていない ク ロ ッ ク サ イ ク ルで RAM イ ネーブル信号を Low に し ます。 ブ ロ ッ ク RAM の [Enable Rate] と [Clock] レー ト は、消費電力を最適化する 際に最 も 重要なパ ラ メ ー ターです。 TDP モー ド で書き 込み中に出力 ラ ッ チが変更 さ れない場合は、 NO_CHANGE モー ド を使用 し ます。 こ れが 電力効率が最 も 高いモー ド です。 SDP モー ド では、 NO_CHANGE モー ド は WRITE_FIRST モー ド と 同 じ な ので、 NO_CHANGE モー ド はあ り ません。 I/O I/O イ ン タ ーフ ェ イ ス は、 長距離を駆動す る 必要があ り 、 寄生要素に よ る 影響を受け る 可能性があ る ため、 通常 デバ イ ス の消費電力要件の大部分を占め ます。 ° VCCAUX で き る だけ低い VCCAUX を使用 し ます。 こ れに よ り 、 こ の電源の ス タ テ ィ ッ ク 消費電力お よ びダ イ ナ ミ ッ ク 消費電力の両方が最小限に抑え ら れます。 ° 入力 内部で参照 さ れ る 入力規格の使用を制限 し ます。 ° IODELAY IDELAY2 の HIGH_PERFORMANCE_MODE 属性を FALSE に設定 し ま す。 FALSE に設定す る と 、 出力ジ ッ タ ーは増加 し ますが、 消費電力は小 さ く な り ます。 ° IBUF_LOW_PWR 双方向 I/O お よ び入力 I/O の IBUF_LOW_PWR 属性を TRUE に設定 し ます。デザ イ ン パフ ォーマン ス で こ の 設定が許容 さ れ る こ と を確認 し て く だ さ い。 ° I/O コ ン フ ィ ギ ュ レーシ ョ ン パフ ォーマ ン ス要件に対 し て I/O 規格、 駆動電流、 お よ びオンチ ッ プ終端設定を確認 し 、 ト ラ イ ス テー ト が 可能な DCI I/O 規格 (T_DCI) を使用 し て駆動電流を下げた り 、 終端を省いた り 、 外部終端を使用 し た り で き ないかを評価 し ます。 ° 出力 - 受信チ ッ プでサポー ト さ れ る 最小の スルー /駆動電流/電圧を使用 し ます。 - 並列終端 よ り も 終端な し ま たは直列終端を選択 し ます。こ の決定には、シ グナル イ ン テ グ リ テ ィ シ ミ ュ レーシ ョ ン ツールを使用で き ます。 - デバ イ ス の温度要件、 シ ス テ ム コ ス ト 、 お よ びボー ド の スペース要件を考慮 し て、 オンチ ッ プ終端 と オ フ チ ッ プ終端の ど ち ら が適 し てい る かを検討 し ます。 - 電圧幅の低い差動規格を使用で き ないかを検討 し ます。 - アプ リ ケーシ ョ ンで大型パ ラ レル バ ス の代わ り に ト ラ ン シーバーを使用で き ないか を検討 し ます。 - IBUF、 IODELAY な ど の I/O 機能の要件を評価 し 、 許容 さ れ る 場合はデ ィ ス エーブルに し ます。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 60 デザイ ン レベル • ト ラ ン シーバー ° ° ° ° • 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 つの タ イ ルにパ ッ ク し て、 サポー ト 回路の複製を最小限に抑え ます。 ロジッ ク 次の方法でデザ イ ン記述を最適化で き ます。 ° ° ° ° ° ° ロ ジ ッ ク の最適化の妨げにな り 、 配置配線 リ ソ ース を多 く 使用する 非同期の制御信号を最小限に抑え ます。 制御セ ッ ト 数を最小限に抑え ます。 制御セ ッ ト は、 ク ロ ッ ク 、 ク ロ ッ ク イ ネーブル、 セ ッ ト 、 リ セ ッ ト 、 ラ イ ト イ ネーブル (LUT RAM の場合) 信号の固有グループです。 1 つの ス ラ イ ス内での信号数の制限お よ び信 号の共有のため、 制御セ ッ ト の情報は重要です。 こ れは FPGA アーキテ ク チ ャ に よ っ て異な り ますが、 制限 に達する と 、 近接 し た関連 ロ ジ ッ ク をパ ッ ク で き ず、 配線 リ ソ ース が増加する 場合があ り ます。 パ イ プ ラ イ ン段を追加 し て、 組み合わせ ロ ジ ッ ク コ ーンのサ イ ズ を最小限に抑え ます。 こ れに よ り 、 各 ク ロ ッ ク サ イ ク ルで信号が最終ス テー ト に到達す る ま で、レ ジ ス タ 間のグ リ ッ チの伝搬を最小限に抑え る こ と がで き ます。 リ ソ ース の タ イ ム シ ェ ア リ ン グ を使用 し ます。 こ の手法では、 同 じ ハー ド ウ ェ ア リ ソ ース に異な る フ ァ ン ク シ ョ ン を時分割多重化する こ と で、 デバ イ ス の リ ソ ース使用量を最小限に抑え ます。 こ れに よ り 、 小 さ い デバ イ ス を使用で き る よ う にな っ た り 、 配置配線の密集が緩和 さ れ、 ス タ テ ィ ッ ク 消費電力お よ びダ イ ナ ミ ッ ク 消費電力を削減で き ます。 低速で類似 し てい る プ ロ セ ス は、 別の リ ソ ース を使用せずに同 じ リ ソ ース で実行で き ます。 ただ し 、 処理す る デー タ のバ ッ フ ァ ー処理、 マルチプ レ ク サ処理、 初期化、 お よ び制御方法を慎重に検討す る 必要があ り ま す。 複数の入力センサーを処理す る な ど、 並列処理が行われ る アプ リ ケーシ ョ ンで こ の よ う な最適化を実行 し ます。 入力 と 同 じ 数の処理ユニ ッ ト を使用する 代わ り に、 1 つの処理ユニ ッ ト を高速に実行で き ます。 入 力チ ャ ネルは順に処理 し ますが、 各出力の応答時間は同 じ にな り ます。 Xilinx Power Estimator の What If? 予 測を実行する と 、 消費電力の削減が作業努力に値する かを判断で き ます。 DSP お よ びブ ロ ッ ク RAM のオプシ ョ ンの レ ジ ス タ を使用 し ます。 た と えば、 DSP ブ ロ ッ ク で乗算器ま たは MREG レ ジ ス タ を イ ネーブルにする と 、 ク ロ ッ ク サ イ ク ル間の内部グ リ ッ チの伝搬が最小限に抑え ら れ、最 も 電力効率の高い イ ンプ リ メ ン テーシ ョ ンにな り ます。 Vivado 消費電力最適化機能での試行 Vivado ツールで消費電力最適化を実行 し た と き に消費電力が最大限に削減 さ れ る よ う にす る には、消費電力最適化を デザ イ ン全体に実行 し 、 デザ イ ンの一部を除外 し ない よ う に し ます。 消費電力最適化を有効に し て も 消費電力が削減 さ れない場合は、 グ ロ ーバル セ ッ ト / リ セ ッ ト 信号、 ブ ロ ッ ク RAM イ ネーブルの生成の 3 つが主なデバ ッ グ の対象 と な り ます。 こ れ ら の部分で消費電力最適化に生成 さ れた イ ネーブルの数が少ない場合、 コ ー ド ま たは合成お よ び イ ンプ リ メ ン テーシ ョ ンのオプシ ョ ン/属性を確認す る 必要があ る 可能性があ り ます。 重要 : Vivado 消費電力最適化では、 消費電力を最大限に削減 し なが ら タ イ ミ ン グへの影響は最小限に抑え ますが、 場 合に よ っ ては タ イ ミ ン グが悪化する 場合があ り ます。 こ の影響を補正する 方法は、 第 5 章の 「消費電力最適化後の タ イ ミ ン グの保持」 を参照 し て く だ さ い。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 61 デザイ ン レベル • グ ロ ーバル セ ッ ト / リ セ ッ ト 信号 可能な限 り 、 非同期セ ッ ト / リ セ ッ ト 信号を使用 し ないで く だ さ い (特に、 デー タ パ ス ま たはパ イ プ ラ イ ン フ リ ッ プフ ロ ッ プ、 ブ ロ ッ ク RAM (BRAM))。 ま た、 power_opt_design でグ ロ ーバル セ ッ ト / リ セ ッ ト 信号を dont_touch と し て制約 し 、 イ ネーブル と し て使 用 さ れない よ う にする こ と も 考慮 し ます。 HDL で dont_touch 属性を設定する と 、 フ ロ ーのすべての段階で こ の属性が適用 さ れます。 こ のオプシ ョ ンは、 消費電力最適化用の XDC 制約 と し て設定す る こ と をお勧め し ます。 次にその例を示 し ます。 set_property DONT_TOUCH true [get_cells u1] 最後に、 消費電力最適化お よ びベ ク タ ーレ ス消費電力予測の前に、 グ ロ ーバル セ ッ ト / リ セ ッ ト 信号の信号レー ト お よ び確率が正 し く 設定 さ れてい る こ と を確認 し て く だ さ い。 • ス ラ イ ス レ ジ ス タ お よ び SRL power_opt_design でデザ イ ン の ス ラ イ ス レ ジ ス タ ま たは SRL に対 し て ク ロ ッ ク イ ネーブルが生成 さ れない原因 は、 多数あ り ます。 次は、 その例です。 ° • デザ イ ンに組み合わせループが存在する ° デザ イ ンへの主な入力が ソ ース と な る フ リ ッ プ フ ロ ッ プお よ び SRL にセ ッ ト / リ セ ッ ト 信号が使用 さ れて いる ° デー タ パ ス フ リ ッ プ フ ロ ッ プに非同期セ ッ ト / リ セ ッ ト 信号が使用 さ れてい る ° デザ イ ンに多数の ク ロ ッ ク ド メ イ ンがあ り 、 ク ロ ッ ク ド メ イ ン を ま たがっ てい る ために イ ネーブルが生成 さ れない ° SRL のサ イ ズ : SRL のシ フ ト レ ジ ス タ の段数が大き いほ ど、 すべての段に対 し て 1 つの ク ロ ッ ク イ ネーブ ルを生成する のが困難にな り ます。 ブ ロ ッ ク RAM ブ ロ ッ ク RAM (BRAM) が多数使用 さ れ る デザ イ ンでは、消費電力を大 き く 削減で き る 可能性があ り ます。Vivado では、 さ ま ざ ま な最適化手法を使用 し て イ ネーブルを生成 し 、 消費電力を削減 し ます。 power_opt_design を使用 し て も BRAM のゲーテ ィ ン グがそれほど適用 さ れていない場合は、 次の よ う な原因が考え ら れます。 ° BRAM が主に FIFO18E1/FIFO36E1 イ ン ス タ ン スであ る。 こ れ ら の イ ン ス タ ン スはツールで最適化で き ません。 ° 推論ま たは イ ン ス タ ン シエー ト さ れた メ モ リ が、A ポー ト と B ポー ト に別の ク ロ ッ ク を使用 し た完全なデ ュ アル ポー ト (TDP) モー ド であ り 、 power_opt_design で最適化で き ない。 ° BRAM 自体ま たは BRAM に供給 さ れ る ア ド レ ス/ ラ イ ト イ ネーブル フ リ ッ プ フ ロ ッ プに非同期 リ セ ッ ト が 使用 さ れてい る 。 Vivado 消費電力解析機能での試行 Vivado の [Report Power] ダ イ ア ロ グ ボ ッ ク ス で設定を変更 し て解析を実行 し 、 消費電力への影響を確認で き ます。 • 環境 : 温度パ ラ メ ー タ ー、 プ ロ セ ス、 ま たは電圧を設定 し ます。 • デザ イ ンのア ク テ ィ ビ テ ィ : デザ イ ンに含まれ る ネ ッ ト ま たは イ ン ス タ ン ス のア ク テ ィ ビ テ ィ を調整 し ます。 1 つま たは複数のア イ テ ム を同時に変更 し ます。 次 も 変更で き ます。 ° ク ロ ッ ク ド メ イ ン : ス イ ッ チン グ周波数を調整 し ます。 ° グルー ロ ジ ッ ク : ダ イ ナ ミ ッ ク ア ク テ ィ ビ テ ィ レー ト を調整 し ます。 ° I/O : ス タ テ ィ ッ ク ア ク テ ィ ビ テ ィ お よ びダ イ ナ ミ ッ ク ア ク テ ィ ビ テ ィ の確率を調整 し ます。 負荷容量や近 端ボー ド 終端な ど、 デバ イ ス出力に接続 さ れてい る 外部コ ン ポーネ ン ト のパ ラ メ ー タ ー も 調整で き ます。 ° 信号 : デー タ 信号のダ イ ナ ミ ッ ク ア ク テ ィ ビ テ ィ レー ト を調整 し ます。制御信号では、 ス タ テ ィ ッ ク 確率を 変更 し て ク ロ ッ ク イ ネーブル、 セ ッ ト 、 ま たは リ セ ッ ト の複数の想定下で消費電力を評価で き ます。 ° 特定のブ ロ ッ ク : ダ イ ナ ミ ッ ク ア ク テ ィ ビ テ ィ 確率に加え、ブ ロ ッ ク RAM のポー ト イ ネーブルま たは ラ イ ト イ ネーブルな ど の制御信号のア ク テ ィ ビ テ ィ も 調整で き ます。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 62 デザイ ン レベル Xilinx Power Estimator (XPE) での試行 XPE では、 複数の ソ ー ス に よ り 開発 さ れたモジ ュ ールの Vivado 消費電力解析結果を イ ン ポー ト し 、 こ れ ら の IP ブ ロ ッ ク をデバ イ ス に イ ンプ リ メ ン ト し た と き の総消費電力を確認で き ます。 ま た、 ネ ッ ト リ ス ト を変更 し な く てはい けない状況を評価 し 、 実際に コ ー ド を変更せずに消費電力への影響を評価で き ます。 XPE では各 ロ ジ ッ ク エ レ メ ン ト ま たは信号を個別に変更す る こ と はで き ないので、 デザ イ ンの コ ア ロ ジ ッ ク での精度は Vivado 消費電力解析 よ り も 低 く な り ます。 XPE では、 次 も 試す こ と がで き ます。 • リ ソ ース使用量 リ ソ ース数を減 ら し てみます。ロ ジ ッ ク の一部を ス ラ イ ス ロ ジ ッ ク か ら ブ ロ ッ ク RAM や DSP な ど の専用ブ ロ ッ ク にマ ッ プ し 直 し た り 、 ま たその逆を実行 し てみます。 • リ ソ ース コ ン フ ィ ギ ュ レーシ ョ ン デザ イ ンの I/O、 ブ ロ ッ ク RAM、 ク ロ ッ ク ジ ェ ネ レー タ ー、 お よ びその他の リ ソ ース に別の コ ン フ ィ ギ ュ レー シ ョ ン設定を使用 し てみます。 RTL コ ー ド の変更 消費電力を削減す る ために RTL コ ー ド を変更す る 必要があ る 場合は、 パ イ プ ラ イ ン を追加 し た り 、 キ ャ リ ー チ ェ ー ンや XOR フ ァ ン ク シ ョ ン な ど の ア ク テ ィ ビ テ ィ の高い ロ ジ ッ ク で リ タ イ ミ ン グ を実行 し てみた り で き ま す。 キ ャ リ ー チ ェ ーン を含む長いパ スは、 低速の ク ロ ッ ク ド メ イ ンにあ る こ と が多いですが、 グ リ ッ チが増え、 デザ イ ンの 消費電力が増加する 原因 と な り ます。 多 く の場合、 こ れ ら のパ ス を リ タ イ ミ ン グ ま たはパ イ プ ラ イ ン処理す る と 有益 です。 手順 4 : 変更を反映 し 、 消費電力を確認 時間、 パフ ォーマン ス、 お よ び リ ソ ース制約での最適な変更を決定 し た ら 、 こ れ ら を反映 さ せます。 一度に試すオプ シ ョ ンや変更が多すぎ る と 、競合や相互作用が発生す る 可能性があ る ため、結果が最適にな ら ない可能性があ り ます。 時間があ る 場合は一度に試すオプシ ョ ン を限定 し て、 ほかの変更を加え る 前に消費電力お よ びその他の制約への影響 を評価する 方法が最適です。 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 63 付録 A その他の リ ソ ース ザイ リ ン ク ス リ ソ ース ア ンサー、 資料、 ダ ウ ン ロ ー ド 、 フ ォー ラ ム な ど のサポー ト リ ソ ースは、 次のザ イ リ ン ク ス サポー ト サ イ ト を参照 し て く だ さ い。 http://japan.xilinx.com/support ザ イ リ ン ク ス資料で使用 さ れ る 用語集は、 次を参照 し て く だ さ い。 http://japan.xilinx.com/company/terms.htm ソ リ ュ ーシ ョ ン セ ン タ ー デバ イ ス、 ツール、 IP のサポー ト については、 ザ イ リ ン ク ス ソ リ ュ ーシ ョ ン セ ン タ ーを参照 し て く だ さ い。 ト ピ ッ ク には、 デザ イ ン ア シ ス タ ン ト 、 ア ド バ イ ザ リ 、 ト ラ ブルシ ュ ー ト ヒ ン ト な ど が含まれます。 参考資料 • Vivado™ Design Suite 2012.4 資料ページ : http://japan.xilinx.com/support/documentation/dt_vivado_vivado2012-4.htm • 『Vivado Design Suite Tcl コ マ ン ド リ フ ァ レ ン ス ガ イ ド 』 (UG835) を参照 • 『Vivado Design Suite ユーザー ガ イ ド : 制約の使用』 (UG903) を参照 • 『Xilinx Power Estimator ユーザー ガ イ ド 』 (UG440) 消費電力解析および最適化 UG907 (v2012.4) 2012 年 1 月 10 日 japan.xilinx.com 64
© Copyright 2024 Paperzz