• 検索結果がありません。

ゎᯒ

手順 3 : 試行

上記の手順で特定 し た消費電力を最適化す る デザ イ ン箇所の候補 リ ス ト を確認 し 、 簡単な も のか ら 順に並び替え て、

実行す る 最適化ま たは試みを決定 し ます。 消費電力ツールを使用す る と what-if 解析を実行で き る ので、 コ ー ド や制 約を実際に変更 し た り イ ンプ リ メ ン テーシ ョ ン を再実行 し た り せずに、 デザ イ ンの変更を入力 し て簡単に消費電力 を見積 も る こ と がで き ます。

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

• ブ ロ ッ ク RAM

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

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

ので、NO_CHANGE モー ド はあ り ません。

• I/O

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

° VCCAUX

第 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 の両方のチ ャ ネルをパ ワーダ ウ ン し ます。

第 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]

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

第 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 のポー ト イ ネーブルま た は ラ イ ト イ ネーブルな ど の制御信号のア ク テ ィ ビ テ ィ も 調整で き ます。

関連したドキュメント