Stratix シリーズ FPGA のエンベデッド・メモリ

Stratix® FPGAファミリは TriMatrix メモリという概念を導入しました。TriMatrix メモリでは、オンチップ・メモリはそれぞれが特定の用途を持つ3つの異なるブロック・サイズで実装されます。メモリ・タイプは Stratix シリーズのデバイスを通じて、維持および最適化されてきました。

Stratix V FPGA の内部メモリの大きなアーキテクチャの変更により、これらの構造の容量とバンド幅の両方が大幅に増加しました。Stratix V FPGA では、強化されたメモリ・ロジック・アレイ・ブロック (MLAB) と M20K メモリ・ブロックの2種類のブロックを利用できます。これらの変更により、デジタル信号処理 (DSP) デザインの能力向上を含む、性能と利用率の両方において重要な最適化が可能になりました。Quartus® II 開発ソフトウェアにより、従来の Stratix シリーズ FPGA メモリ・アーキテクチャのデザインを新しい構造に自動的に移行できます。

以下に挙げる MLAB 機能の主要な強化により、効率とバンド幅が改善されます。

  • MLAB内部のアドレス・レジスタとデータ・レジスタ
    • 性能向上
    • ロジック利用率の低減
  • 幅広く浅いFIFO(nビット幅、深さ32または64ビット)の効率向上


以下に挙げる主要M20Kメモリ・ブロック機能による性能と利用率の向上:

  • エンベデッド・メモリ・ビット数の増加
  • メモリ・ブロック性能の向上
  • 各種アプリケーションに対応するメモリ・アーキテクチャの柔軟性の向上
  • 簡略化されたフロアプランニングと配線
  • オプションのハード誤り訂正コード(ECC)は、パイプラインまたは非パイプライン化モードで動作できます。


Quartus II 開発ソフトウェアは、最も効率的なエンベデッド・メモリ実装を提供するために、各インスタンス化に対して最適なメモリを選択します。

図 1に、最新の Stratix FPGA ファミリ間のメモリ・ブロックと関連アプリケーションの違いを示します。

図 1. Stratix III、Stratix IV、および Stratix V FPGA の TriMatrix ブロック間の比較

メモリ・ファンクション Stratix III および IV Stratix V
  • プロセッサ・コードのストレージ
  • パケット・バッファ
  • ビデオ・フレーム・バッファ
M144K
144K ビット
M20K
20K ビット
  • 汎用メモリ
M9K
9K ビット
  • シフト・レジスタ
  • 幅広く浅い FIFO バッファ
  • フィルタのディレイ・ライン
MLAB
640 ビット
強化された MLAB
640 ビット

Stratix V デバイスのメモリ・ブロック容量の詳細については、Stratix V の概要 をご覧ください。

従来のStratix FPGAファミリのメモリ・ブロック・カウントについて詳しくは、関連するハンドブックの章を参照してください。

表2に、Stratix V FPGAに実装された2つの内部メモリ・タイプのそれぞれの特長を示します。

表 2. Stratix V FPGA における内部メモリの特長

特徴 MLAB M20K
性能 600 MHz 600 MHz
Simple Dual-Port Check Check
True Dual-Port - Check
パリティ Check Check
パック・モード - Check
ECC Check Check
ロー・パワー・モード Check Check
シフト・レジスタ Check Check
FIFO Check Check
初期化 Check Check
混合クロック Check Check
バイト・イネーブル Check Check
アドレス・クロック・イネーブル Check Check