リソースをより効果的に使用 - 2022.1 日本語

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

Document ID
UG907
Release Date
2022-04-26
Version
2022.1 日本語
ブロック RAM
  • ブロック RAM の消費電力量は、イネーブルになっている時間に直接比例します。消費電力を削減するには、デザインでブロック RAM が使用されていないクロック サイクルで RAM イネーブル信号を Low にします。ブロック RAM のイネーブル レートとクロック レートは、消費電力を最適化する際に最も重要なパラメーターです。
  • TDP モードで書き込み中に出力ラッチが変更されない場合は、NO_CHANGE モードを使用します。これが電力効率が最も高いモードです。SDP モードでは、NO_CHANGE モードは WRITE_FIRST モードと同じなので、NO_CHANGE モードはありません。
I/O
I/O インターフェイスは長距離を駆動する必要があり、寄生効果の影響が大きくなる可能性があるため、通常デバイスの消費電力要件の大部分を占めます。
VCCAUX
できるだけ低い VCCAUX を使用します。これにより、この電源のスタティック消費電力およびダイナミック消費電力の両方が最小限に抑えられます。
入力
内部で参照される入力規格の使用を制限します。
IODELAY
IDELAY2 の HIGH_PERFORMANCE_MODE プロパティを FALSE に設定します。FALSE に設定すると、出力ジッターは増加しますが、消費電力は小さくなります。
IBUF_LOW_PWR
双方向 I/O および入力 I/O の IBUF_LOW_PWR プロパティを TRUE に設定します。デザイン パフォーマンスでこの設定が許容されることを確認してください。
I/O コンフィギュレーション
パフォーマンス要件に対して I/O 規格、駆動電流、およびオンチップ終端設定を確認し、トライステートが可能な DCI I/O 規格 (T_DCI) を使用して駆動電流を下げたり、終端を省いたり、外部終端を使用したりできないかを評価します。
出力
  • 受信チップでサポートされる最小のスルー/駆動電流/電圧を使用します。
  • 並列終端よりも終端なしまたは直列終端を選択します。この決定には、シグナル インテグリティ シミュレーション ツールを使用できます。
  • デバイスの温度要件、システム コスト、およびボードのスペース要件を考慮して、オンチップ終端とオフチップ終端のどちらが適しているかを検討します。
  • 電圧幅の低い差動規格を使用できないかを検討します。
  • アプリケーションで大型パラレル バスの代わりにトランシーバーを使用できないかを検討します。
  • IBUF、IODELAY などの I/O 機能の要件を評価し、許容される場合はディスエーブルにします。
トランシーバー
  • GTX/GTH/GTP トランシーバーでは、消費電力を削減できる可能性のあるパワーダウン モードがサポートされています。
  • GTX/GTH レシーバーには、システム レベルでの消費電力とパフォーマンスのトレードオフに応じて、2 種類の適応フィルターがあります。GTX/GTH/GTP レシーバーには、チャネル損失が低く消費電力で最適化された、電力効率の高い LPM (低消費電力モード) という適応モードがあります。
  • 各 GTX/GTH/GTP トランシーバーでは、SATA (Serial ATA) および SAS (Serial Attach SCSI) 仕様に記述されている OOB (Out Of Band) シーケンスの生成と、 PCI™ Express 仕様に記述されているビーコンがサポートされています。OOB シーケンスを使用しない場合、さらに消費電力を削減できます。
  • トランシーバーを可能な数だけ 1 つのタイルにパックして、サポート回路の複製を最小限に抑えます。
XADC
  • XADC は、ランタイム中に DRP ポートからそのコンフィギュレーション レジスタ #2 (アドレス 0x42) に書き込むことでパワーダウンできます。各チャネルのパワーダウンは、このレジスタのビット DI4 と DI5 で制御されます。 Vivado® でパワーダウン動作をスタティックにエミュレートするには、Vivado の Tcl コンソールに次のコマンドを入力し、コンフィギュレーション レジスタを設定します。
    set_property INIT_42 {16'h0430} [get_cells <inst>]

    <inst> は XADC インスタンスです。上記のコマンドは、XADC の両方のチャネルをパワーダウンします。

ロジック

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

  • ロジックの最適化の妨げになり、配置配線リソースを多く使用する非同期の制御信号を最小限に抑えます。
  • 制御セット数を最小限に抑えます。制御セットは、クロック、クロック イネーブル、セット、リセット、ライト イネーブル (LUT RAM の場合) 信号の固有グループです。1 つのスライス内での信号数の制限および信号の共有のため、制御セットの情報は重要です。これはデバイス アーキテクチャによって異なりますが、制限に達すると、近接した関連ロジックをパックできず、配線リソースが増加する場合があります。
  • パイプライン段を追加して、組み合わせロジック コーンのサイズを最小限に抑えます。これにより、各クロック サイクルで信号が最終ステートに到達するまで、レジスタ間のグリッチの伝搬を最小限に抑えることができます。
  • リソースのタイム シェアリングを使用します。この手法では、同じハードウェア リソースに異なるファンクションを時分割多重化することで、デバイスのリソース使用量を最小限に抑えます。これにより、小さいデバイスを使用できるようになったり、配置配線の密集が緩和され、スタティック消費電力およびダイナミック消費電力を削減できます。
  • 低速で類似しているプロセスは、別のリソースを使用せずに同じリソースで実行できます。ただし、処理するデータのバッファー処理、マルチプレクサー処理、初期化、および制御方法を慎重に検討する必要があります。複数の入力センサーを処理するなど、並列処理の実行されるアプリケーションでこのような最適化を実行します。多数の処理ユニットを入力として使用する代わりに、1 つの処理ユニットを高速に動作させ、入力チャネルを順次処理しながら各出力の応答時間は同じになるようにできます。 Xilinx® Power Estimator の what-if 見積もりを実行すると、消費電力の削減が作業努力に値するかを判断できます。
  • DSP およびブロック RAM のオプションのレジスタを使用します。たとえば、DSP ブロックで乗算器または MREG レジスタをイネーブルにすると、クロック サイクル間の内部グリッチの伝搬が最小限に抑えられ、最も電力効率の高いインプリメンテーションになります。