インテル® Arria® 10 コア・ファブリックおよび汎用 I/O ハンドブック

ID 683461
日付 6/21/2017
Public
ドキュメント目次

2.4. エンベデッド・メモリー・モード

表 6.  エンベデッド・メモリー・ブロックでサポートされるメモリーモード次の表は、Arria 10のエンベデッド・メモリー・ブロックでサポートされるメモリーモードをリストし、説明しています。
メモリーモード M20Kサポート MLAB サポート 説明
シングルポート RAM 可能 可能

一度に 1 つの読み取り動作または書き込み動作を実行できます。

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

  • 直近のアクティブ読み取りイネーブル中に保持していた以前の値を継続して保持する—読み取りイネーブルポートを作成し、読み取りイネーブルポートがディアサートされた状態で書き込み動作を実行します。
  • 同じアドレス位置で Read-During-Write が実行される際、新しく書き込まれているデータ、アドレスにある古いデータ、または "Don't Care" の値を表示する—読み取りイネーブル信号を作成しないか、あるいは書き込み動作中に読み取りイネーブルを有効にします。
シンプル・デュアルポート RAM 可能 可能

書き込み動作がポート A、読み取り動作がポート B で実行されるような別の位置に対し、読み取り動作と書き込み動作を 1 回ずつ同時に実行できます。

トゥルー・デュアルポート RAM 可能

2 つの異なるクロック周波数で、2 つのポート動作の任意の組み合わせ ( 2 つの読み取り、2 つの書き込み、または 1 つの読み取りと 1 つの書き込み ) を実行できます。

シフトレジスター 可能 可能

メモリーブロックをシフトレジスター・ブロックとして使用して、ロジックセルと配線リソースを節約することができます。

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

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

ROM 可能 可能

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

  • .mifまたは.hexを使用してメモリーブロックの ROM の内容を初期化します。
  • ROM のアドレスラインはM20Kブロックでレジスターされますが、MLAB ではレジスターされない場合があります。
  • 出力はレジスターすることも、しないことも可能です。
  • 出力レジスターは非同期クリアーが可能です。
  • ROM の読み取り動作は、シングルポート RAM コンフィグレーションでの読み取り動作と同じです。
FIFO 可能 可能

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

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

注意:
メモリー内容の破損を防ぐために、読み取りまたは書き込み動作中に、すべてのメモリーブロック入力レジスターでセットアップまたはホールドタイムに違反しないでください。これは、シングルポート RAM、シンプル・デュアルポート RAM、トゥルー・デュアルポート RAM、または ROM モードでメモリーブロックを使用する場合に適用できます。