ブロック RAM - 2023.2 日本語

Power Design Manager ユーザー ガイド (UG1556)

Document ID
UG1556
Release Date
2023-10-18
Version
2023.2 日本語
Block RAM ページには、36 kb の専用ブロック RAM の消費電力見積もりが表示されます。これらの RAM は、LUTRAM で実現可能なメモリよりもはるかに大きなメモリ配列をインプリメントするために使用されます。ブロック RAM は通常、特定の深さ、幅、およびカスケード高の配列で構成されます。大きな配列を入力する場合は、合成結果と近くなるので、Add Memory ボタンから Memory Configuration ウィザードを使用することをお勧めします。多くの場合、パフォーマンス、エリア、および消費電力のバランスをとるために合成で特定アーキテクチャのトレード オフが実行されるので、結果が予測とは少し異なることがあります。次に、ブロック RAM サイズの設定に使用される列について説明します。
[Cascade Group Size]
ブロック RAM には専用のカスケード回路があり、アドレス指定、デコード、多重化のために余分なロジック コストを発生させずに、より深いメモリを効率的に構築できます。最も重要なのは、一度にアクティブになるのはカスケード グループ内のブロック RAM 1 つのみであるため、ブロック RAM をカスケード接続すると、ダイナミック消費電力を大幅に削減できることです。消費電力とパフォーマンスの間にトレードオフがあるので、それを反映して PDM のデフォルトのカスケード グループ サイズは 4 になっています。合成により、カスケードは最大 8 (最小消費電力)、最小 1 (最高パフォーマンス) の深さになります。
[Mode]
ブロック RAM サイズおよびエラー訂正モード (使用されている場合) の設定を表します。PDM では、次のようなさまざまなサイズがモデル化されます。
  • RAMB18: 容量 18 K ビット、最大幅 18 ビット
  • RAMB36: 容量 18 K ビット、最大幅 18 ビット
  • RAMB18SDP: 固定幅 36 ビットの単純なデュアル ポート モード
  • RAMB36SDP: 固定幅 72 ビットの単純なデュアル ポート モード

SDP モードを設定すると、エラー訂正コーディング回路を有効にできます。また、SDP RAM モードは、必ずしも単純なデュアル ポート RAM に使用されるわけではありません。これは、SDP モード設定の固定幅にポートのビット幅が効率的にフィットするかどうかによります。RAMB18 の場合は 36 ビット幅、RAMB36 の場合は 72 ビット幅です。中間幅は、RAMB18 および RAMB36 モードにマップされる可能性が高くなります。

[Bit Width]
各ブロック RAM ポートのデータ幅で、選択肢は RAM ブロック設定でサポートされる幅の値に制限されます。
  • 中間幅の場合は、その次に高い幅を選択します。
  • SDP モード設定では、RAMB18SDP の場合は 36 、RAMB36SDP の場合は 72 の幅を選択する必要があります。
  • 非対称幅がサポートされています。

構造的なコンフィギュレーションを決定すると、ダイナミック消費電力に影響するアクティビティ レートを追加で設定できます。

[Clock]
ポートごとに、同じクロックまたは独立したクロックが使用できます。クロックが割り当てられると、該当するポートはディスエーブルになっていても電力を消費します。これは、クロック ネットワークがブロック RAM 回路の一部でまだアクティブであるためです。
[Toggle Rate]
ブロック RAM データがトグルしているクロック サイクルの割合 (%) です。これは、行の入力項目に含まれるすべてのブロック RAM の全入力および出力データ ピンの平均値です。
[Write Mode]
このモードは、同じアドレスに同時に書き込みと読み出しがある場合の動作を決定します。デフォルトの NO_CHANGE にすると、ブロック RAM 出力に遷移が見られないため、最小の消費電力になります。WRITE_FIRST および READ_FIRST のその他のモードでは、出力データが書き込みデータまたは読み出しデータにそれぞれ遷移するため、ダイナミック消費電力が高くなります。
[Enable Rate]
ポートがアクティブである時間とスタンバイである時間の割合 (%) です。ポートがイネーブルになると、消費電力が増加します。
[Write Enable]
[Enable Rate] とは無関係に、ポートが書き込まれる時間の割合 (%) です。このため、[Write Enable] <= [Enable Rate] になるようにしてください。
RAM の消費電力を最小限に抑えるため、イネーブル ロジックは、必要な場合にのみポートがイネーブルになるように設計する必要があります。ポートが常時イネーブル ([Enable Rate] が 100%) になると、電力を浪費します。Vivado ブロック RAM の消費電力の最適化では、論理的な最適化を使用してこの推奨事項が実行されます。たとえば、[Write Enable] がサイクルの 25% アクティブで、[Enable] が High の場合は、そのポートの [Enable Rate] は 100% で見積もられます。ただし、Vivado は論理ネットリスト内の書き込みおよびイネーブル制御信号をスワップして、[Write Enable] がアクティブ ([Write Enable] = 100%) に接続され、[Enable] が書き込みイネーブル ロジック ([Enable Rate] = 25%) で駆動されるようにします。
注記: 入力項目を慎重に確認して、[Enable Rate] が最小になるようにしてください。