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

ID 683423
日付 12/24/2018
Public
ドキュメント目次

2.9. インテル® Stratix 10® でサポートされているエンベデッド・メモリーIPコア

表 11.   インテル® Stratix 10® メモリーIPコア次の表は、 インテル® Stratix 10® エンベデッド・メモリー・ブロックでサポートされているメモリーモードの一覧と説明です。
IPコア サポートされているメモリーモード M20Kサポート MLABサポート 詳細
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 あり 読み出し動作1回と書き込み動作1回を異なる位置に対して同時に実行できます。これは、書き込みアドレスの指定が、 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として使用することができます。

  • .mifまたは .hexを使用してメモリーブロックのROMの内容を初期化します。
  • ROMのアドレス・ラインはM20K上に登録されます。
  • 出力は登録済みまたは未登録になります。
  • 出力レジスターは、非同期または同期クリアになります。
  • 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モードをサポートしていません。

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