Agilex™ 7 エンベデッド・メモリー・ユーザーガイド

ID 683241
日付 12/17/2024
Public
ドキュメント目次

2.14. Agilex™ 7 でサポートされるエンベデッド・メモリー IP

表 13.   Agilex™ 7 メモリー IP次の表は、 Agilex™ 7 エンベデッド・メモリー・ブロックでサポートされる IP をリスト化し、説明しています。
IP サポートされるメモリーモード M20K のサポート MLAB のサポート eSRAM のサポート 詳細
RAM: 1-PORT Intel® FPGA IP シングルポート RAM あり あり なし 一度に実行できる読み出しまたは書き込み動作は 1 つだけです。

読み出しイネーブルポートを使用して、書き込み動作時の RAM 出力ポートの動作を制御します。

  • 直近のアクティブな読み出しイネーブルの際に保持されていた以前の値を維持するには、読み出しイネーブルポートを作成し、その読み出しイネーブルポートがデアサートされている状態で書き込み動作を行います。
  • 書き込まれている新しいデータ、そのアドレスの古いデータ、または Don't Care の値を、Read-During-Write が同じアドレス位置で発生している際に表示する場合は、読み出しイネーブル信号の作成、もしくは書き込み動作中の読み出しイネーブルのアクティブ化を行わないでください。
RAM: 2-PORT Intel® FPGA IP シンプル・デュアルポート RAM あり あり なし 異なる位置への 1 つの読み出し動作と 1 つの書き込み動作を同時に実行することができます。すなわち、書き込み動作がポート A で発生し、読み出し動作がポート B で発生している状態です。
RAM: 2-PORT Intel® FPGA IP トゥルー・デュアルポート RAM あり なし なし ポートの 2 つの動作を任意の組み合わせで行うことができます (シングルクロック・モードで 2 つの読み出し、2 つの書き込み、または 1 つの読み出しと 1 つの書き込み)。
RAM: 4-PORT Intel® FPGA IP シンプル・クアッドポート RAM あり なし なし 異なる位置への 2 つの読み出し動作と 2 つの書き込み動作を同時に行うことができます。この場合、書き込みアドレスは address_a および address_b 信号/ポートで指定され、読み出しアドレスは address2_a および address2_b 信号/ポートで指定されます。
ROM: 1-PORT Intel® FPGA IP シングルポート ROM あり あり なし

1 つのアドレスポートのみを読み出し動作で利用可能です。

メモリーブロックを ROM として使用することができます。

  • メモリーブロックの ROM のコンテンツは、.mif または .hex を使用して初期化します。
  • ROM のアドレスラインは、M20K ブロックではレジスターされます。MLAB ではレジスターされない場合もあります。
  • 出力は、レジスターする/しないを選択することができます。
  • 出力レジスターは、非同期クリア、もしくは同期クリアにすることができます。
  • ROM の読み出し動作は、シングルポート RAM のコンフィグレーションにおける読み出し動作と同じです。
ROM: 2 PORT Intel® FPGA IP デュアルポート ROM あり なし なし

デュアルポート ROM には、シングルポート ROM とほぼ同じ機能のポートがあります。違いは、デュアルポート ROM には読み出し動作にアドレスポートが追加されることです。

メモリーブロックを ROM として使用することができます。

  • メモリーブロックの ROM のコンテンツは、.mif または .hex を使用して初期化します。
  • M20K ブロックでは、ROM のアドレスラインはレジスターされます。
  • 出力は、レジスターする/しないを選択することができます。
  • 出力レジスターは、非同期クリア、もしくは同期クリアにすることができます。
  • ROM の読み出し動作は、トゥルー・デュアルポート RAM のコンフィグレーションにおける読み出し動作と同じです。
Shift Register (RAM-based) Intel® FPGA IP あり あり なし

メモリーブロックをシフト・レジスター・ブロックとして使用し、ロジックセルと配線リソースの使用を抑えます。

このモードは、ローカル・データ・ストレージを必要とする DSP のアプリケーションで有効です。これには、有限インパルス応答 (FIR) フィルター、擬似乱数発生器、マルチチャネル・フィルタリング、自己相関関数および相互相関関数などがあります。従来、ローカル・データ・ストレージは標準的なフリップフロップで実装されますが、大きなシフトレジスターでは多数のロジックセルが消費されます。

入力データ幅 (w)、タップ長 (m)、およびタップ数 (n) でシフトレジスターのサイズ (w × m × n) が決まります。メモリーブロックをカスケード接続することで、より大きなシフトレジスターを実装することができます。

FIFO Intel® FPGA IP あり あり なし

メモリーブロックは、FIFO バッファーとして使用することができます。SCFIFO および DCFIFO の機能を使用し、シングルクロックまたはデュアルクロックの非同期 FIFO バッファーをデザインに実装します。

小さく浅い FIFO バッファーを多数備えるデザインでは、MLAB が FIFO モードに最適です。ただし、MLAB は混合幅の FIFO モードをサポートしません。

eSRAM Agilex™ FPGA IP なし なし あり

eSRAM メモリー (大容量メモリー) を使用し、単一の読み出しおよび書き込み手法を実行します。eSRAM メモリーには 4 つのポートがあります。各 ポートには専用の書き込みアドレスと読み出しアドレスがあり、書き込みイネーブルと読み出しイネーブルのコントロール信号で読み出しおよび書き込み動作を動的に制御します。

注意:
メモリーコンテンツの破損を回避するため、読み出しまたは書き込み動作時にエンベデッド・メモリー・ブロックの入力レジスターでセットアップ時間またはホールド時間に違反しないようにします。この制限は、シングルポート RAM、シンプル・デュアルポート RAM、トゥルー・デュアルポート RAM、シンプル・クアッドポート RAM、または ROM モードでメモリーブロックを使用する場合に適用されます。