• 検索結果がありません。

この項では、以下の内容について説明します。

3–5ページの「データパス」

3–15ページの「PLLコンフィギュレーション」

3–19ページの「DLLコンフィギュレーション」

3–20ページの「デザイン例」

3–22ページの「制約」

データパス

Stratixシリーズでは、DDRおよびDDR2 SDRAMコントローラは、ラ イトおよびリード方向で入力出力エレメント(IOE)レジスタを使用し ます。リード方向では、位相シフト・リファレンス回路が、DQリード・

データのサンプリングに使用する各 DQS でのプロセス、電圧、温度

(PVT)補償された遅延を提供します。Cyclone シリーズでは、DDR

SDRAMコントローラは、ロジック・エレメント(LE)レジスタを使用

して、グループ全体で一貫したタイミングを保証します。適切なDQS遅 延は、Cycloneシリーズのプログラマブル遅延によって生成され、その 値は制約スクリプトで設定されます。

リード方向では、DQ ピンからのダブル・レート・データは、正および 負エッジでトリガされるレジスタに供給され、DQS の両方のエッジで データがサンプリングされます。次に、これらの信号は、コンフィギュ レーション可能な別のレジスタ・セットを通過して、これらをシステム・

クロック・ドメインに返します。IP Toolbenchタイミング解析は、DQS クロック・ドメインからシステム・クロック・ドメインへの遷移(再同 期化)を設定します。システム・クロックの正エッジを再同期クロック

として使用することから、リード・データをシステム・クロック・ドメ インに安全に返すためにさらに1個以上のレジスタ・セットが必要にな る、より複雑なケースまで、多様なオプションがあります。

再同期化について詳しくは、A–4ページの「再同期」を参照してください。

ライト方向では、wdata_valid 信号は、local_wdataレジスタのイ ネーブルとして働きます。これらのレジスタの出力は、IOEのレジスタ にクロックされ、そこからDQピンに供給されます。IOEのレジスタは、

ライト・クロック(システム・クロックより位相が90°早い)によって クロックされます。これにより、データパスで生成されるDQSが、DQ ピンのデータの中央に現れます。ライト DQS は、tDQSS パラメータが

DDRまたはDDR2 SDRAMデバイスで条件を満たすように、システム・

クロックでクロックされるレジスタから生成されます。

表3–3に、データパスへのインタフェースを示します。

表3–3.データパス・インタフェース (1/2)

信号名 方向 説明

control_doing_wr 入力 control_doing_wr信号は、コントローラがDDRまたは

DDR2 SDRAMへの書き込み中にアサートされ、DQピン

の出力イネーブルを制御します。

control_wdata_valid 入力 control_wdata_valid信号は、ローカル・インタフェー スへのライト・データ要求のクロックに同期した信号で す。この信号は、ライト・データとバイト・イネーブル・

レジスタをイネーブルし、有効データとイネーブルがあ る場合にのみ、それらが更新されるようにします。

control_dqs_burst 入力 control_dqs_burst信号は、DQSピンの出力イネーブル を制御します。DQS 出力イネーブルは、特にローカル・

バースト・サイズがメモリ・バースト長よりも短いとき には、DQ出力イネーブルよりも長くアサートする必要が あります。

control_wdata[] 入力 control_wdata 信号はライト・データ・バスであり、

control_wdata_valid がアサートされるのと同じク ロック・サイクルで有効なデータを持つ必要があります。

control_be[] 入力 control_be 信号はバイト・イネーブル・バスであり、

control_wdata_valid がアサートされるのと同じク ロック・サイクルで有効なデータを持つ必要があります。

図3-3に、データパスのタイミング(CASレイテンシが2.0)を示しま す。

図3-3. データパス・タイミング

control_doing_rd 入力 control_doing_rd信号は、コントローラがDDRまたは

DDR2 SDRAM から読み出しているときアサートされ、

DQキャプチャ・レジスタをイネーブルします。また、こ の信号は、ポストアンブル・コントロール・レジスタを 制御して、DQキャプチャ・レジスタがDQSリード・ポ ストアンブル後に誤ってクロックされるのを防止しま す。

control_rdata[] 出力 control_rdataバスはリード・データ・バスで、リード・

コマンドが発行された後何クロック・サイクルかの間、有 効なデータが存在する必要があります。正確な関係は、メ モリのCASレイテンシと、レジスタ付きDIMMが使わ れているか否かによります。

表3–3.データパス・インタフェース (2/2)

信号名 方向 説明

clk

Write Interface

control_doing_wr control_wdata_valid

control_wdata control_be

Read Interface

control_doing_rd control_rdata

DDR SDRAM Interface

DDR Command ddr_dm ddr_dq ddr_dqs control_dqs_burst

A269 32A0 4671 31F531F5

1 0 3 00

AD75 D739D31D3A503A50

NOP ACT NOP RD NOP PCH NOP ACT NOP WRWR NOP

[1] [2] [3] [4]

1. コントローラは、control_doing_rdをアサートしてDQ入力レ ジスタをイネーブルして、リード・データがキャプチャされるよう にします(データパスはこの信号を遅延させて CAS レイテンシと 一致させる)。このケースでは、4サイクルのリード・データを期待 しているため、4 クロック・サイクルの間信号はアサートのまま保 持されます。バーストの終了時に、この信号がデアサートされてDQ キャプチャ・レジスタをディセーブルします。これにより、DQキャ プチャ・レジスタが DQS リード・ポストアンブル後に不必要にク ロックされるのを防止します。

2. コントローラ・ステート・マシンは書き込み中であると判断すると、

直ぐにcontrol_wdata_valid信号をアサートします。この信号 はこのように早い段階でアサートする必要はありません。ただし、

この例では、コントローラのデザインが単純化されます。ライト・

データは、そのクロック・サイクルでのみ有効で、書き込みが発生 するまでwdataレジスタに保持されます。

3. コントローラは、control_doing_wr をバーストの間(4 ビート)

アサートして、書き込み中であることを示します。この信号は、DQ 信号の出力イネーブルを制御します。

4. コントローラは現在メモリに書き込み中であることが分かると、

control_wdata_validを再アサートして次のライト・データを要 求します。

DDR2 SDRAMを使用して独自のコントローラを設計する

場合は、control_doing_wr 信号の生成時に、可変のラ イト・レイテンシを考慮する必要があります。

独自のコントローラの設計

リード・コマンドを発行するステート・マシンは、control_doing_rd を生成します。この信号は、リード・コマンドがメモリに発行されると 開始され、バーストの間アサート状態を維持します。これは、以下のオ プションに対応するために、コントローラ内部で遅延されます。

Insert pipeline registers on address and command outputs(アドレ スおよびコマンド出力にパイプライン・レジスタを挿入する)

Registered DIMM(レジスタ付きDIMM)

Insert extra pipeline registers in the datapath(追加パイプライン・

レジスタをデータパスに挿入する)

のパイプラインの最後のレジスタがポストアンブル・コントロール・レ ジスタに供給されます。独自のコントローラを設計する場合は、適切な CAS レイテンシのデータパスを生成する必要があります。そうでない と、このパイプラインは正しい長さになりません。

キ ャ プ チ ャ・レ ジ ス タ の イ ネ ー ブ ル と デ ィ セ ー ブ ル

(control_doing_rd信号で制御される)は、RTLシミュレーションで ディセーブルされます。これは、RTLシミュレーションの動作はシステ ムでのタイミングに大きく依存するためです。したがって、RTLシミュ レ ー シ ョ ン で は、キ ャ プ チ ャ・レ ジ ス タ は 常 に イ ネ ー ブ ル さ れ、

control_doing_rd 信号のタイミングが変化してもデータパスの動作 は変わりません。独自のコントローラを設計する場合、ゲート・レベル・

シミュレーションを使用して、この信号の正確なタイミングをテストす る必要があります。

control_doing_rdを生成するソースと同じソースで

local_rdata_valid信号を生成します。この信号はコントローラ内部 で同じ時間だけ遅延させます。また、この信号は以下のデータパス・オ プションを考慮して遅延させます。

Reclock resynchronized data to the positive edge(再同期データを 正エッジに再クロックする)

Insert intermediate resynchronization registers(中間再同期レジス タを挿入する)

また、local_rdata_valid 信号は 4 + R サイクルだけ遅延させます

(ここで、Rは、ウィザードが予測する再同期サイクル)。例えば、再同 期サイクルが2、Reclock resynchronized data to the positive edgeがオ ン、Insert intermediate resynchronization registers がオ フの 場合、

local_rdata_valid信号はcontrol_doing_rd信号よりも7サイク ル(4 + 2 + 1 + 0 = 7)遅れる必要があります。

control_doing_wr信号は、DQおよびDQSピンの出力イネーブルを制 御します。この信号は、ライト・コマンドを発行するステート・マシン が生成し、以下のオプションに対応するためにコントローラ内部で遅延 されます。

Insert pipeline registers on address and command outputs(アドレ スおよびコマンド出力にパイプライン・レジスタを挿入する)

Registered DIMM(レジスタ付きDIMM)

Insert extra pipeline registers in the datapath(追加パイプライン・

レジスタをデータパスに挿入する)

DDR SDRAMの場合、ライト・レイテンシは1クロック・サイクルに固 定されています。control_doing_wr 信号は、メモリにライト・コマ ンドを発行すると開始するようにし、バースト長の間アサートされたま まの状態であることが必要です。

DDR2 SDRAMの場合、ライト・レイテンシはCASレイテンシに応じて

変化します。コントローラはこれを考慮し、control_doing_wr 信号 を遅延させて一致させます。control_doing_wr 信号は、ライト・コ マンドが発行された(CASレイテンシ-2)クロック後に発行し、バース ト長の間アサートされたままにする必要があります。

コントローラがDDR2 SDRAMモードの場合、control_doing_wrお よびcontrol_wdata_valid信号は、コントローラからの出力で全く 同じ信号です。コントローラがフル・サイズのライト・バーストを発行 している場合、control_dqs_burst 信号はcontrol_doing_wr よ りも1クロック・サイクル長く発行する必要があります。コントローラ が メ モ リ・バ ー ス ト 長 の 全 長 で 書 き 込 ま な い 場 合 は、

control_dqs_burst 信号をアサート状態に維持することによって、

DQSをバーストの全長でトグルさせる必要があります。

DQSグループのブロック図

3–11ページの図3-4に、Stratix II DQS グループのブロック図を示しま す。3–12ページの図3-5に、Stratix DQSグループのブロック図を示し ます。3–13ページの図3-6に、Cyclone II DQSグループのブロック図を 示します。3–14ページの図3-7に、Cyclone DQSグループのブロック図 を示します。