消費電力制約アドバイザー - 2023.2 日本語

Vivado Design Suite ユーザー ガイド: 消費電力解析および最適化 (UG907)

Document ID
UG907
Release Date
2023-10-18
Version
2023.2 日本語

消費電力制約アドバイザーは、デザイン内の制御信号すべてを対象に、ツールで計算したスイッチング アクティビティをレポートします。制御信号には、リセットおよびイネーブル (リセット、セット、クリア、プリセットなど) が含まれます。妥当なスイッチング アクティビティを供給することにより、消費電力をより正確に解析できます。

消費電力制約アドバイザーを実行するには、AMD Vivado™ IDE で Tools > Power Constraints Advisor をクリックします。

ヒント: また、消費電力制約アドバイザーでは、イネーブルやリセットの状態を検証し、ワースト ケースの電力解析が実行されるようにします。最大ファンアウトのネットが正しく定義されていることを確認する必要があります。
図 1. 消費電力制約アドバイザー

レポートの表を確認し、非アクティブなイネーブルや必要以上の時間アサートされるリセット信号など、クリティカルな制御信号のスイッチング アクティビティが正しくない場合は修正します。消費電力制約アドバイザー レポートには、次の制約が表示されます。

Net
ネットは制御セット、ブロック RAM イネーブル、レジスタ イネーブルのいずれかです。
Confidence
ネットのスイッチング アクティビティがどの程度正確か (信頼性レベル) を示します。ネットの信頼性レベルを計算するときに消費電力ツールで使用されるしきい値は、次のとおりです。
セット/リセット/プリセット/クリア
表 1. 消費電力ツールのしきい値
信頼性レベル スタティック確率
Low > 8%
Medium 5% - 8%
High < 5%
ブロック RAM イネーブル
表 2. ブロック RAM イネーブル
信頼性レベル スタティック確率
Low < 1%

信頼性レベルが Low の場合、ブロック RAM はデザインでアクティブではないので、削除できるかどうかを再検討してください。

レジスタ イネーブル
表 3. レジスタ イネーブル
信頼性レベル スタティック確率
Low < 3%
Medium > 3%

信頼性レベルが Low の場合、デザインのレジスタがアクティブではないので、再検討する必要があります。信頼性レベルが Medium の場合、ユーザーの定義した、またはツールで設定された妥当な時間でレジスタがイネーブルになることを示します。

Fanout
各制御信号のファンアウト (駆動される最下位プリミティブの数) を示します。ファンアウトが大きい信号は最も重要で、確認して修正すべき信号です。ファンアウトの大きい信号は、デザインを広い範囲に渡り、ダウンストリーム スイッチングをディスエーブルにしてしまうので、消費電力がかなり低くレポートされる可能性があるからです。ファンアウトの小さい信号だと、スイッチングが間違っていても影響が小さいので、重要度は低くなります。
Fanout Types
ネットが制御セット (セット、リセット、クリア、プリセット) かブロック RAM イネーブルかを示します。制御ネットに複数のエントリがあると、そのネットには複数のファンアウトがあり、ファンアウト セルにある複数のピンを駆動しているということになります。
Polarity
制御セットの極性を示します。ネットのスタティック確率を設定する際は、極性に注意してください。
Static Probability
編集可能なフィールドで、ネットのファンアウト タイプと極性に基づいた正しいアクティビティを入力する必要があります。
Toggle Rate
ネットのトグル レートを示します。このフィールドは編集可能で、スタティック確率に基づいて入力する必要があります。
注記: デフォルトでは、[Confidence] が [Low] のものから、[Fanout] が [High] から [Low] の順にリストされますが、列に基づいてフィルターすることもできます。列フィルターを使用するには、表のヘッダーを右クリックし、Enable Column Filtering をクリックします。

消費電力制約アドバイザーは、次のように使用することをお勧めします。

  1. Confidence 列をクリックして Low が一番上になるように並べ替えます。
  2. Ctrl キーを押しながら Fanout 列を 2 回クリックし、ファンアウトの大きいものからリストされるようにします。
  3. [Confidence] が [Low] でファンアウト 200 を超える制御ネットすべてを確認し、新しい Static ProbabilityToggle Rate を定義します。
  4. OK をクリックしてデザインに制約を適用し、[Report Power] コマンドを再実行します。

次に、制御セットおよびブロック RAM イネーブルに正確なスイッチング アクティビティを設定するのに役立つ例を示します。

アクティブ High リセット、スタティック確率 0.9

これは、リセットが 90% の時間 High (アクティブ) であることを示します。ロード セルが 90% の時間リセットされるということなので、これは多すぎます。[Static Probability] を 0、[Toggle Rate] を 0 に設定して、リセットが非アクティブ、つまり、より現実的な状態になるようにスイッチング アクティビティを変更します。

スタティック確率 0、トグル レート 0 のブロック RAM イネーブル

ブロック RAM がイネーブルにならないことを示していますが、これは非現実的です。[Static Probability] を 0.25、[Toggle Rate] を 50 に設定してイネーブル レートを 25% にするなど、ブロック RAM イネーブルにより現実的なスイッチング アクティビティを割り当ててください。次のコマンドを使用すると、消費電力制約アドバイザーのテキスト レポートを生成できます。
report_power -advisory -file power_report.pwr

アドバイザリの表は、このレポート ファイルの最後に追加されます。