このトピックでは、リード・データパスについて説明します。
Arria GX、Arria II GX、HardCopy II、Stratix II、および Stratix II GX デバイ ス
以下の項では、Arria GX、Arria II GX、HardCopy II、Stratix II、およびStratix II GXデバイ
スのDDR/DDR2 SDRAMのサポートについて説明します。
フル・レート・データパスは、ハーフ・レート・データパスに類似しています。ま た、フル・レート・データパスはデータ入力と同じ幅(ハーフ・レートの幅と同じ)
を持つRAMで構成されていますが、RAMのデータ出力の幅はハーフ・レートPHY のデータ出力幅の半分です。RAMの機能は、再同期化クロック・ドメインからシス テム・クロック・ドメインにリード・データを転送することです。
リード・データパス・ロジックは、メモリ・デバイスから送られたデータをキャプ チャし、データをアラインメントしてシステム・クロック・ドメインに戻します。
リード・データパスでは以下の機能が実行されます。
1. データのキャプチャと再同期化 2. データの逆多重化
3. データ・アラインメント
図 5–7に、リード・データパスで実行される機能の順序とリード・データ処理時の 周波数を示します。
データのキャプチャと再同期化
データのキャプチャおよび再同期化は、DQSストローブでリード・データ(DQ)を キャプチャし、キャプチャしたデータをenhanced PLL(Phase-Locked Loop)から供給 される内部フリーランニング・フル・レート・クロックに再同期化するプロセスで す。
図 5‒7. Arria GX、Arria II GX、HardCopy II、Stratix II、および Stratix II GX デバイスにおける DDR/DDR2
SDRAM リード・データパス ( 注 1)
図 5–7の注:
(1) Arria II GXデバイスでは、再同期レジスはIOEに実装されます。
SDR SDR/HDR
DDR
D Q D Q
データ・キャプチャ IOE
D Q D Q
D Q
データの再同期化 データ・デマルチプレクス およびアラインメント
rdata_1x[4n]
wr_data[2n] rd_data[4n]
wr_clk rd_clk
FIFO
phy_clk_1x rdata_2x_p[n]
rdata_2x_n[n]
resync_clk_2x DQ[n]
DQS
第 5 章 : 機能の説明 ̶ALTMEMPHY 5–27 ブロック説明
タイミング制約は、データ再同期化レジスタをDQピンの近くに配置して、最大性能 を達成するのに使用されます。また、DQピンのスキューをさらに制限するためにも 使用されます。図 5–7に示すように、キャプチャしたデータ(rdata2x_pおよび rdata_2x_n)は、再同期化クロック(resync_clk_2x)に同期化されます。
データの逆多重化
データの逆多重化とはSDRデータをHDRデータに変換するプロセスのことです。
データの逆多重化は、再同期化されたデータの周波数をシステム・クロックの周波 数に低減し、外部メモリ・デバイスからのデータを最終的にFPGA DDRまたは
DDR2 SDRAMコントローラ・クロック・ドメインに入力するために必要となります。
データ・キャプチャ前、データはDDRでnビット幅です。 データ・キャプチャ後、
データはSDRで2nビット幅です。 データ分離後、データは4nビット幅のHDRで す。システム・クロック周波数は、メモリ・クロック周波数の半分です。
逆多重化は、再同期化クロック(SDR)で動作する2nビット幅のライト・ポートお よびPHYクロック(HDR)で動作する4nビット幅のリード・ポートを持つデュア ル・ポート・メモリを使用して達成されます。動作の基本原理は、データはSDR レートでメモリに書き込まれ、メモリからはHDRレートで読み出され、そのとき リード・アドレス・ポインタおよびライト・アドレス・ポインタがインクリメント されるというものです。SDRおよびHDRクロックが生成されると、同じPLLによっ てリード・ポインタとライト・ポインタが継続的にインクリメントされ、4nビット 幅のリード・データが、一定のレイテンシを持つ2nビットの幅のライト・データに 続きます。
リード・データ・アラインメント
データ・アラインメントとは、キャプチャした正しいリード・データが同じハーフ・
レート・クロック・サイクルでリード・データDPRAMの出力に存在することを保証 するための、シーケンサで制御されるプロセスです。 データ・アラインメントは、
M4KまたはM12Kメモリ・ブロックを使用して実装されます。 図 5–8の最後の部分 に、リード・データを有効なHDRデータに連結する様子を示します。
ポストアンブル保護
ALTMEMPHYメガファンクションは、DQSポストアンブル・ロジックを提供します。
ポストアンブル・クロックは、再同期化クロックから派生する、再同期化クロック の負エッジです。 ALTMEMPHYメガファンクションは、再同期化クロックがデータ有 効ウィンドウの中央にくるようにキャリブレーションします。ポストアンブル・ロ ジックの制御に使用されるクロック、すなわちポストアンブル・クロックが再同期 化クロックの負エッジです。追加クロックは必要ありません。 図 5–8に、ポストアン ブル・クロックと再同期化クロックの関係を示します。
5–28 第 5 章 : 機能の説明 ̶ALTMEMPHY ブロック説明
f ポスト・アンブル回路について詳しくは、「Stratix IIデバイス・ハンドブック」の
「External Memory Interfaces」の章を参照してください。
Cyclone III デバイス
図 5–9に、シングルDQピンのCyclone IIIリード・データパスを示します。この図 は、各DQピンに対して4つのデータ・ビットが生成されるハーフ・レート・リー ド・パスを示しています。Stratix®IIやStratix IIIデバイスとは異なり、I/Oエレメント
(IOE)にはDDIOキャプチャ・レジスタがない(非DQSキャプチャ)ため、データ・
キャプチャはすべてコア・ロジックで実行されます。
図 5‒8. ポストアンブル・クロックと再同期化クロックの関係 ( 注 1)
図 5–8の注:
(1) resync_clk_2xをさらに遅延させて、I/Oエレメント(IOE)からコアの遷移時間を許容 resync_clk_2x
postamble_clk
H1 L1 H2 L2
dqs (90˚ shifted)
dq
Data input to resync reg's
ARST at postamble reg's
H1L1 H2L2
図 5‒9. Cyclone III のリード・データパス
DQ
resync_clk_2x
FIFO
wr_data rd_data 4ビット
phy_clk read_data データ・キャプチャ データ・パイプライン・レジスタ
データ・デマルチプレクスおよび アラインメント
D Q D Q
D Q D Q D Q
第 5 章 : 機能の説明 ̶ALTMEMPHY 5–29 ブロック説明
Cyclone IIIデバイスのフル・レート・リード・データパスは、データがハーフ・レー
ト・クロックではなくフル・レート・クロックでFIFOバッファから読み出される点 を除いて、ハーフ・レートCyclone IIIの実装に類似しています。
キャプチャおよびパイプライン化
DDRおよびDDR2 SDRAMのリード・データは、Cyclone III FPGAコアのレジスタを使 用してキャプチャされます。 これらのキャプチャ・レジスタは、キャプチャ・クロッ ク(resynch_clk_2x)でクロックされます。キャプチャしたリード・データは、
DQピンごとに2つのデータ・ビットを生成します。1つはキャプチャ・クロックの 立ち上がりエッジでキャプチャしたリード・データ用のデータ・ビット、もう1つ はキャプチャ・クロックの立ち下がりエッジでキャプチャしたリード・データ用の データ・ビットです。
リード・データをキャプチャした後、タイミングを満たすためにキャプチャ・レジ スタとリード・データFIFOバッファ間のリード・データパスにレジスタを挿入する 必要があります。 これらのレジスタはパイプライン・レジスタと呼ばれ、キャプ チャ・レジスタが使用するクロックと同じキャプチャ・クロック
(resync_clk_2x)でクロックされます。
データの逆多重化
Cyclone IIIデバイスのデータ逆多重化は、Stratix IIデバイスの場合と同じ方法でイン
スタンス化されます。
ポストアンブル保護
DQデータのDQSモード・キャプチャはサポートされないため、Cyclone IIIデバイス を実装するのにポストアンブル保護回路は必要ありません。 データ・キャプチャは、
ALTPLLメガファンクションで生成されるクロック(resync_clk_2x)を使用して
実行されます。
Stratix III および Stratix IV デバイス
Stratix IVおよびStratix IIIデバイスはハーフ・レートまたはフル・レートDDR/DDR2
SDRAMをサポートします。
Stratix IVおよびStratix IIIのリード・データパス(図 5–10)は、次の2つのメイン・
ブロックで構成されています。
■ データのキャプチャ、再同期化、および逆多重化
■ リード・データパス・ロジック(リード・データパス)
5–30 第 5 章 : 機能の説明 ̶ALTMEMPHY ブロック説明
データのキャプチャ、再同期化、および逆多重化
Stratix IVおよびStratix IIIデバイスでは、IOEのスマート・インタフェース・モジュー ルは以下のタスクを実行します。
■ データのキャプチャ
■ キャプチャしたデータのDQSドメインから再同期化クロック(resync_clk_2x)
ドメインへの再同期化
■ 再同期化されたデータのハーフ・レート・データへの変換。これは、再同期化さ れたデータを、再同期化クロックのハーフ・レートで駆動されるIOE内のHDR変 換ブロックに供給することによって実行されます。resync_clk_1x信号はPLL からのresync_clk_2x信号に応じて、I/Oクロック・ディバイダ・モジュール から生成されます。
f IOEレジスタについて詳しくは、「Stratix IIIデバイス・ハンドブック Volume 1」の
「External Memory Interfaces in Stratix III Devices」の章および「Stratix IVデバイス・ハン ドブック Volume 1」の「External Memory Interfaces in Stratix IV Devices」の章を参照し てください。
データの再同期化
リード・データパス・ブロックは、以下の2つのタスクを実行します。
1. DPRAMを使用して、キャプチャしたリード・データ(rdata[n]_1x)をハー
フ・レート再同期化クロック(resync_clk_1x)ドメインからハーフ・レー ト・システム・クロック(phy_clk_1x)ドメインに転送します。FIFOからの再 同期化されたデータは、ram_data_1xと表記されます。
2. 再同期化されたデータ(ram_rdata_1x)をctl_mem_rdataにリオーダしま す。
図 5‒10. Stratix IV および Stratix III デバイスにおける DDR/DDR2 SDRAM データのキャプチャおよびリード・
データのマッピング
図 5–10の注:
(1) この図は、ハーフ・レート・バリエーションを示しています。フル・レート・コントローラの場合、dio_radata2_1xおよ びdio_rdata3_1xが接続されます。
Dual Port RAM リード・データパス データ・キャプチャ、再同期化、
およびデータの逆多重化
mem_dq
dio_rdata3_1x
IOE
mem_dqs mem_dqsn
dio_rdata2_1x
dio_rdata1_1x dio_rdata0_1x resync_clk_1x
4n bits wr_data
wr_clk rd_data
rd_clk
ctl_rdata ram_rdata_1x[4n]
phy_clk_1x Data
Mapping Logic