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

ID 683241
日付 4/25/2022
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

2.13. インテル® Agilex™ でサポートされるエンベデッド・メモリーIP

表 12.   インテル® Agilex™ のメモリーIP次の表は、 インテル® Agilex™ のエンベデッド・メモリー・ブロックでサポートされる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 Intel® FPGA IP なし なし あり

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

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