Cyclone® II デバイスは、新規および既存の FPGA 市場で、低コストの量産アプリケーションにおける FPGA の役割を拡大します。FPGA はペリフェラルの用途に限定されることなく、システム内で多くの重要なプロセスを実現するようになりました。システム内のデータパスでの FPGA の使用が増えているため、豊富なオンチップ・メモリ・リソースでもストレージ要求に対応できないときは、FPGA が外部メモリ・デバイスにインタフェースできなければなりません。
アルテラは、ユーザが最新のメモリ・デバイスを Cyclone II FPGA に接続できることを保証するために、Cyclone デバイス・ファミリでの成功に基づいて、主要なメモリ・ベンダと連携してきました。Cyclone II デバイスは最大 668 Mbps の高速、高信頼性データ転送を保証する専用インタフェースを用いて、ダブル・データ・レート (DDR) 、DDR2、シングル・データ・レート (SDR) SDRAM デバイスおよびクワッド・データ・レート (QDRII) SRAM デバイスと通信するように設計されています。設計者は SDRAM および SRAM デバイスを数分で自身のシステムに組み込み、Cyclone II 用に最適化された標準 IP (Intellectual Property) コントローラ・コアと連係して動作させることができます。表 1 に Cyclone II 外部メモリ・インタフェースのサポートをまとめます。
| 表 1. Cyclone II デバイスの外部メモリ・インタフェースのサポート | ||||
| メモリ・テクノロジ | 標準 I/O 規格 | 最大バス幅 | 最大クロック・スピード | 最大データ・レート |
|---|---|---|---|---|
| SDR SDRAM | 3.3-V LVTTL | 72 ビット | 167 MHz | 167 Mbps |
| DDR SDRAM | 2.5-V SSTL Class I, II |
72 ビット | 167 MHz | 334 Mbps |
| DDR2 SDRAM | 1.8-V SSTL Class I, II |
72 ビット | 167 MHz | 334 Mbps |
| QDRII SRAM | 1.8-V HSTL Class I, II |
36 ビット | 167 MHz | 668 Mbps |
メモリ・デバイス
DDR SDRAM デバイスは主に、低消費電力、低コスト、広帯域幅などの理由から、最近とくに人気が高まっています。データ・トランザクションはクロックの両エッジで発生するため、DDR SDRAM デバイスは、低速な SDR アーキテクチャに対して、総データ帯域幅を効果的に倍増します。DDR SDRAM デバイスは、パーソナル・コンピュータ (PC) セグメントを超えて広く市場に浸透し、現在ではネットワーキングやコミュニケーションからセットトップ・ボックスや家庭用エンターテインメント・システムに至るまで、数多くのアプリケーション分野で幅広く使用されています。DDR2 メモリはこれらの特徴を継承しながら、より高速なクロック・レートおよび性能を提供します。業界の専門家の間では、DDR2 は集積度が高く、パーソナル・コンピュータ (PC) のメイン・メモリとして採用されているため、今後、長年にわたって主流となる DRAM タイプであると考えられています。
クワッド・データ・レート (QDRII) SRAM デバイスによって、主に通信アプリケーションでデータ・スループットを最大 167 MHz (668Mbps) のデータ・レートを利用して最大化することができます。QDRII アーキテクチャは、1 クロック・サイクル毎に 2 回動作する 2つのデータ・ポート (入力および出力) を備えており、1 サイクルあたり合計 4つのデータ・インストラクションを転送します。それによる性能の向上は、ルックアップ・テーブル用メイン・メモリ、リンク・リスト、コントローラ・バッファ・メモリなどの広帯域幅と高レイテンシが要求されるアプリケーションにおいて、特に効果を発揮します。
これらのメモリ・デバイスのタイプとアルテラのサポートについての詳しい情報は、Web ページメモリ・システム・ソリューションに記載されています。
インタフェースの技術詳細
Cyclone II デバイスは、外部メモリ・デバイスとの間で、高速で信頼性の高いデータ転送を実現するように設計されています。高速インタフェースを実現する鍵は、すべてのタイミング要件を満たし、最小限のデザイン努力で最大限の性能が確実に得られるように、専用 I/O 機能を搭載することです。
各 Cyclone II デバイスは、DDR/DDR2、SDR SDRAM、および QDRII SRAM デバイスとインタフェースする最適化された I/O ピンを備えています。各 I/O バンクには最大 2 組のインタフェース信号ピンがあり、各組には 1 本のデータ・ストローブ (DQS) ピンと関連データ (DQ) ピンがあります。これらのピンは、SSTL-18 Class I/II、SSTL-2 Class I/II、および HSTL Class I/II/ I/O 規格を使用する外部メモリ・デバイスとの間で高速データ転送を行うように設計されています。デバイスごとに最大 72 本の DQ ピンが対応する DQS ピンと共に装備されており、64 ビット・データおよび誤り訂正機能付きの 1 個のデュアルインライン・メモリ・モジュール (DIMM) をサポートします。
専用のデータ・ストローブ DQS 回路は、リード・サイクルの間に最適なクロックおよびデータ・アライメントが得られるように DQS 信号をシフトします。この回路は外部プリント基板 (PCB) トレース遅延を使用せず、ストローブ DQS 信号とデータ DQ 信号との間のクロック・スキューを最小化します。それによって、PCB コストを節約しながら、高速 DDR メモリ・タイミング要件を確実に満たします。 図 1 に Cyclone II FPGA と DDR メモリ・デバイスとの間の標準的なインタフェースを示します。データ・ピンはグループにまとめて基板に配線されます。クロック・ストローブは、データ・グループと共にグループ毎に 1 本ずつ配線されます。Cyclone II デバイス上のメモリ・コントローラ IP は、アドレス信号とコントロール信号を生成し、それらをオフチップ・メモリに送ります。 Cyclone II デバイスはシステム・クロックも生成します。
図 1. Cyclone II FPGA と DDR メモリとの間の標準的なインタフェース

図 1 の注:
- 双方向のデータおよびストローブ
- ストローブはデータ・グループと共に配線されます
- システム・クロックはPLL によりオプションで生成されます
読み出し動作
図 2 にメモリ・デバイスからの 1 データ・ビットの読み出し動作を示します。DQS 信号は入力 DQ 信号と中央で揃えられ、デバイスのグローバル・クロック・ネットワークに送られます。DQ 信号は FPGA レジスタを使用してクロックの両エッジでキャプチャされ、2 組目の正エッジ・トリガ・コア・レジスタを使用して、システム・クロックに同期化されます。
図 2. 外部メモリ・デバイスの読み出し動作
書き込み動作
図 3 にメモリ・デバイスへの 1 データ・ビットの書き込み動作を示します。DQS 信号は、90 度位相が異なる形で送信されたデータとともにメモリ・デバイスに送られます。出力イネーブル・ロジックを使用して、対応するプリアンブルおよびポストアンブル・タイミング条件を満たします。
DQ 信号は、1 組のロジック・レジスタおよびデータ A 信号とデータ B 信号の間で切り替わる 1 個の出力マルチプレクサを使用して、インフェーズ・システム・クロックの両エッジでメモリ・デバイスに送られます。
図 3. 外部メモリ・デバイスの書き込み動作

Cyclone II デバイスの外部メモリ・インタフェースに関する詳細な情報は、Cyclone II デバイス・ハンドブック (PDF) の Cyclone II デバイス・ファミリー・データ・シート (PDF) に記載されています。
Cyclone II デバイス用に最適化された IP
アルテラは、アルテラと AMPP (Altera Megafunction Partners Program) パートナによって開発およびテストされた、完全にカスタマイズ可能な IP メガファンクション・コントローラ・コアを、Web サイト IP MegaStore で提供しています。アルテラは、独自のカスタム・メモリ・インタフェースをデザインするユーザのために、いくつかのメモリ・コントローラのデザイン例も提供しています。これらのメガファンクションにより、設計者は、Quartus® II ソフトウェアの直感的に操作可能なグラフィカル・ユーザ・インタフェース (GUI) を使用して、最新メモリ・テクノロジへのインタフェースを自身の Cyclone II デザインに素早く簡単に取り込むことができます。この過程で、Cyclone II デバイスのすべての専用外部メモリ・サポート機能が自動的に構成されます。「Time-to-Market」が重要な場合でも、メモリ・コントローラ IP により、設計者は自身の製品の機能に専念することができます。
