Stratix® の特長のひとつである TriMatrix メモリ構造は、サイズが異なる 3 種類のエンベデッド RAM ブロックから構成されています。すなわち、M512 ブロック、M4K ブロック、M-RAM ブロックの 3 種類で、これらを構成して各種の機能をサポートできます。7M ビット超の RAM 容量、最大 8 テラビット/秒のデバイス・メモリ帯域幅を実現する TriMatrix メモリ構造により、Stratix ファミリはメモリ消費量の多いアプリケーションに最適なデバイスとなっています。
TriMatrix メモリには 3 種類のメモリ構造があり、複雑なデザインに使用される多様なメモリ・ファンクションを実現することができます。小容量の M512 RAM ブロックは、メモリ帯域幅が重要となる FIFO(first-in first-out)ファンクションやクロック・ドメイン・バッファリングに使用することができます。画期的な M-RAM ブロックは、FPGA メモリ要件のすき間を埋める RAM ブロックで、IP パケット・バッファリングやシステム・キャッシュなどの大容量のバッファリングを必要とするアプリケーション向けです。M4K ブロックは、非同期通信モード(ATM)セル処理など、中容量のメモリを必要とする用途に最適です。
図 1: TriMatrix メモリ構造
図 2: TriMatrix メモリ・アプリケーション
広メモリ帯域幅と高集積度
Stratix デバイスのメモリ/ロジック比は、あらゆるFPGAファミリの中で最高であり、これは面積効率の高い 512K ビットの M-RAM ブロックによって実現されました。1 ブロックあたり 18 ビット幅のデータ・ポートを提供する小容量の M512 ブロックと、36 ビット幅のデータ・ポートを提供すると M4K ブロックも同様に重要な役割を果たしており、FPGAメモリ最大の帯域幅を提供し、メモリ・リソースへの高いアクセス能力を必要とするアプリケーションに最適なデバイスになっています。
メモリ帯域幅は、メモリ・ブロックを通過できるデータ量の尺度であり、RAM ブロックのメモリ・データ・ポート幅と性能の積として定義されます。Stratix デバイス・ファミリのひとつ、EP1S80 デバイスの場合、データ・ポート数は 28,000 以上、各データ・ポートのデータ転送レートは 285MHz 以上であるため、メモリ帯域幅は 8 テラビット/秒という比類のない値になります(表 1 参照)。
| 表 1: Stratix デバイスの帯域幅(1) | ||||||
| デバイス | ロジック・エレメント数 | RAM 総ビット数 | M-RAM ブロック数(512K ビット) | M4K ブロック数(4K ビット) | M512 ブロック数(512 ビット) | 最大メモリ帯域幅(Mbps) |
| EP1S10 | 10,570 | 920,448 | 1 | 60 | 94 | 1,245,024 |
| EP1S20 | 18,460 | 1,669,248 | 2 | 82 | 194 | 2,096,928 |
| EP1S25 | 25,660 | 1,944,576 | 2 | 138 | 224 | 2,894,400 |
| EP1S30 | 32,470 | 3,317,184 | 4 | 172 | 295 | 3,750,192 |
| EP1S40 | 41,250 | 3,423,744 | 4 | 183 | 384 | 4,384,800 |
| EP1S60 | 57,120 | 5,215,104 | 6 | 292 | 574 | 6,762,528 |
| EP1S80 | 79,040 | 7,427,520 | 9 | 364 | 767 | 8,784,720 |
注:
- 外部メモリ・デバイス・インターフェースに関連した追加の帯域幅図を含んでいません。
高性能 TriMatrix メモリ構造を構成する RAM ブロックには、次の特長があります。
- 複雑なメモリ・ファンクションに適した全二重デュアル・ポート
- パリティー・ビット
- エンベデッド・シフト・レジスタ機能
- 異周波数でのアクセス
- バイト・イネーブルのサポート
- 非対称のビット設定
- 3 種類の各 RAM ブロックのメモリ幅を設定可能(表 2 参照)
| 表 2: TriMatrix メモリの RAM ブロックの寸法 | |||
| メモリの諸機能 | M512 ブロック 512ビット+パリティ |
M4Kブロック 4Kビット+パリティ |
M-RAM ブロック 512ビット+パリティ |
| 性能 |
319 MHz
|
290 MHz
|
287 MHz
|
| 全二重デュアル・ポート・メモリ |
|
|
|
| シンプル・デュアル・ポート・メモリ |
|
|
|
| シングル・ポート・メモリ |
|
|
|
| バイト・イネーブル |
|
|
|
| パリティ・ビット |
|
|
|
| シフト・レジスタ |
|
|
|
| 異周波数でのアクセス |
|
|
|
| コンフィギュレーション | 512 x 1 256 x 2 128 x 4 64 x 8 64 x 9 32 x 16 32 x 18 |
4K x 1 2K x 2 1K x 4 512 x 8 512 x 9 256 x 16 256 x 18 128 x 32 128 x 36 |
64K x 8 64K x 9 32K x 16 32K x 18 16K x 32 16K x 36 8K x 64 8K x 72 4K x 128 4K x 144 |
関連リンク
- Stratix デバイス 外部メモリ・デバイス・インターフェイス
- Stratix デバイス SRAM サポート
- Stratix デバイス DRAM サポート
- メモリ・ソリューション・センター
- Chapter 3. Using TriMatrix Embedded Memory Blocks in Stratix & Stratix GX Devices, in Volume 2 of the New Stratix Handbook (Replaces AN 203)
- Chapter 12. Transitioning APEX Designs to Stratix Devices, in Volume 2 of the New Stratix Handbook (Replaces AN 206)
- AN 207: TriMatrix Memory Selection Using the Quartus II Software
- AN 210: Converting Memory from Asynchronous to Synchronous for Stratix Designs
