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

インタフェースの説明

と信号

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

3–23ページの「インタフェースの説明」

3–35ページの「信号」

インタフェースの説明

この項では、以下のローカル・サイドのインタフェース要求について説 明します。

3–24ページの「ライト」

3–26ページの「リード」

3–28ページの「リード-ライト-リード-ライト」

3–28ページの「リード-ライト-リード-ライト」

3–31ページの「DDR SDRAMの初期化のタイミング」

3–33ページの「DDR2 SDRAMの初期化タイミング」

これらのインタフェース要求は、ネイティブ・インタフェース 用です。Avalon インタフェースについては、「Avalon Bus Specification Reference Manual」を参照してください。

データパス・インタフェースについては、3–5ページの「データパス」を 参照してください。

表3–6.ロジック配置制約の方法

デバイス・ファミリ キャプチャ・レジスタ 再同期レジスタ

Stratix II/Stratix II GX – LAB配置

Stratix/Stratix GX – LogicLock領域制約

Cyclone II LAB配置 LAB配置

Cyclone LE配置 LE配置

ライト

3–25ページの図3-13に、サイズが異なる3つのライト要求を示します。

最初の2つはシーケンシャル・アドレスに対するライト要求、3つ目は 新しいロウおよびバンクに対するライト要求です。コントローラでは、

メモリ・デバイスで設定される最大バースト長以下の任意のバースト長 を使用できます。例えば、DDR SDRAMメモリにバースト長8を選択し た場合、コントローラではバースト長1、2、3、および4(DDR SDRAM サイドでは2、4、6、および8)を使用できます。

コンセプトはDDR2 SDRAMと同様ですが、バースト長1と2

(DDR2 SDRAMサイドでは2と4)しか使用できません。

図3-13. ライト

図3-13の注:

(1) local_cs_addr、local_row_addr、local_bank_addr、およびlocal_col_addr信号は、local_addr 信号の一部です。

(2) DDR Commandは、コマンド信号(ddr_ras_n、ddr_cas_n、およびddr_we_n)が発行するコマンドを示し ています。

clk

local_read_req local_write_req local_ready local_size local_cs_addr (1) local_row_addr (1) local_bank_addr (1) local_col_addr (1) local_wdata_req local_wdata local_be

ddr_cs_n ddr_cke ddr_a ddr_ba DDR Command (2) ddr_ras_n ddr_cas_n ddr_we_n ddr_dm(0) ddr_dq ddr_dqs(0)

1 2 44

1 33 0

010 210210 000

1 33 0

020 021 030030 000

9275FF45 1A27 C510A84BD259D259 A04A

2 1 33 2

F D F D F 7 F 77 F

F

000 010 000 040 042 0000 210 000 060060 000

0 1 0 1 0 3 0 33 0

NOP ACT NOP WR NOP ACT NOP WRWR NOP

DDR SDRAM Interface Local Interface

[1]

[3]

[2] [4] [5] [6]

1. ユーザ・ロジックは、local_write_req信号とこのライトのサイ ズおよびアドレスをアサートすることによって、最初のライトを要 求します。この例では、要求はチップ・セレクト1に対する長さ1

(DDR SDRAMサイドでは2)のバーストです。local_ready信号 がアサートされており、これはコントローラがこの要求を受け付け たことを示し、ユーザ・ロジックは次のクロック・サイクルで、別 の リ ー ド ま た は ラ イ ト を 要 求 で き る こ と を 示 し て い ま す。

local_ready 信号がアサートされていない場合、ユーザ・ロジッ クは、ライト要求、サイズ、およびアドレス信号をアサート状態に 維持する必要があります。

2. ユーザ・ロジックは、シーケンシャル・アドレスへの2回目のライ トを要求します。今回のサイズは2(DDR SDRAM サイドでは 4)

です。local_ready信号は、アサートされたままで、コントロー ラが要求を受け付けたことを示します。

3. コントローラはユーザ・ロジックからの最初の書き込み要求に対し て、ライト・データとバイト・イネーブルを要求します。ライト・

データとバイト・イネーブルは、要求の1クロック・サイクル後に 提示する必要があります。この例では、コントローラは以降の書き 込みに対してライト・データも継続して要求します。ユーザ・ロジッ クは、書き込みの要求時にバースト全体にライト・データを供給で きなければなりません。

4. ユーザ・ロジックは、別のチップ・セレクトに対する3回目の書き 込みを要求します。コントローラは4つまでの要求をバッファでき るため、local_ready信号がHigh になったままで要求が受け付 けられます。

5. 必要なバンク・アクティブ化コマンドが発行されると、コントロー ラは、最初の2つのライト要求をメモリ・デバイスに順次発行します。

6. データがメモリに書き込まれていない場合でも、ddr_dqs 信号は、

メモリ・デバイスの全バースト長(この例では 8)にわたって、ト グルを継続する必要があります。

リード

3–27ページの図3-14に、サイズが異なる3つのリード要求を示します。

コントローラでは、メモリ・デバイスで設定される最大バースト長以下 の任意のバースト長を使用できます。例えば、DDR SDRAM メモリに バースト長8を選択した場合、コントローラではバースト長1、2、3、お

コンセプトはDDR2 SDRAMと同様ですが、バースト長1と2

(DDR2 SDRAMサイドでは2と4)しか使用できません。

図3-14. リード

図3-14の注:

(1) local_cs_addr、local_row_addr、local_bank_addr、およびlocal_col_addr信号は、local_addr 信号の一部です。

(2) DDR Commandは、コマンド信号が発行しているコマンドを示します。

clk

local_read_req local_write_req local_ready local_size local_cs_addr (1) local_row_addr (1) local_bank_addr (1) local_col_addr (1) local_rdata_valid local_rdata

ddr_cs_n ddr_cke ddr_a ddr_ba DDR Command (2) ddr_ras_n ddr_cas_n ddr_we_n ddr_dm ddr_dq ddr_dqs

0 4 2 1 00

0 11 0

170 040040 000

0 11 0

050 055 057057 000

534886F4 D310 77F4 0479 54B054B0 CB48

F E F E F D F D F DD F

F

000 170 000 0A0 000 040 000 0AA 000 0AE0AE 000

0 1 0 11 0

NOP ACTNOPRD NOP ACTNOPRD NOPBT RD BTBT NOP

DDR SDRAM Interface Local Interface

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

1. ユーザ・ロジックは、local_read_req 信号とこのリードおよび アドレスをアサートすることによって、最初のリードを要求します。

この例では、要求は長さ4(DDR SDRAMサイドでは8)のバース トです。local_ready信号がアサートされており、これはコント ローラがこの要求を受け付けたことを示し、ユーザ・ロジックは次 のクロック・サイクルで、別のリードまたはライトを要求できるこ とを示しています。local_ready 信号がアサートされていない場 合、ユーザ・ロジックは、リード要求、サイズ、およびアドレス信 号がアサート状態に維持する必要があります。

2. ユーザ・ロジックは、別のアドレスへの2回目のリードを要求しま す。今 回 の サ イ ズ は 2(DDR SDRAM サ イ ド で は 4)で す。

local_ready信号は、アサートされたままで、コントローラが要 求を受け付けたことを示します。

3. ユーザ・ロジックは、別のアドレスへの3回目のリードを要求しま す。今 回 の サ イ ズ は 1(DDR SDRAM サ イ ド で は 2)で す。

local_ready信号は、アサートされたままで、コントローラが要 求を受け付けたことを示します。

4. コントローラは、local_rdata_valid 信号をアサートすること によって、最初の要求に対するリード・データを返します。コント ローラが要求を受け付けてデータを返すまでの正確なクロック・サ イクル数は、コントローラで保留になっている要求数、メモリの状 態、およびメモリのタイミング要件(CASレイテンシなど)によっ て異なります。

5. コントローラは、後続のリード要求に対するリード・データを返し ます。

リード-ライト-リード-ライト

3–29 ページの図3-15に、インタリーブされたリードとライトのシーケ ンスを示します。

図3-15. リード-ライト-リード-ライト

図3-15の注:

(1) local_cs_addr、local_row_addr、local_bank_addr、およびlocal_col_addr信号は、local_addr 信号の一部です。

(2) DDR Commandは、コマンド信号が発行するコマンドを示します。

1. ユーザ・ロジックは、local_read_req 信号をそのリードのサイ ズ およ び ア ド レ スと 共 に ア サー ト し て、リ ー ドを 要 求 し ます。

local_ready信号がHighなので、この要求は受け付けられたもの とみなすことができます。

clk

local_read_req local_write_req local_ready local_size local_cs_addr (1) local_row_addr (1) local_bank_addr (1) local_col_addr (1) local_rdvalid_in_n local_rdata_valid local_rdata local_wdata_req local_wdata

ddr_cs_n ddr_cke ddr_a ddr_ba DDR Command (2) ddr_ras_n ddr_cas_n ddr_we_n ddr_dm ddr_dq ddr_dqs

0 1 0

0 2 0 22 0

0000 0143 0021 01430021 0000

0 1 2 1 2 0

000 019 086 01A 085 000

FFD0 9A38

DF08 D5CDD5CD 14D9

FF FB FF FB FE FF FE FF FB FF FEFE FF

FF

0000 0143 0000 0032 0021 0000 010C0000 0034 0000 010A010A 0000

0 1 0 1 2 0 2 0 1 0 22 0

NOP ACT NOP RD ACT NOP WR NOP RD NOP WRWR NOP

DDR SDRAM Interface Local Interface

[1] [2] [3] [4] [5] [6]

2. ユーザ・ロジックは、ライト、リード、および別のライト要求を要 求し、受け付けられます。

3. コントローラは、ライト・データ要求信号をアサートして、次のク ロック・エッジで有効なライト・データとバイト・イネーブルを提 示するようにユーザ・ロジックに指示します。

4. 最初のリード要求からのリード・データが返され、リード・データ 有効信号によって有効としてマークされます。

5. コントローラは、2回目のライト要求に対するライト・データ要求 を再度アサートします。

6. 2回目のリード要求からのリード・データが返されます。

ユーザ・リフレッシュ・コントロール

図3-16に、ユーザ・リフレッシュ・コントロール・インタフェースを示 します。この機能を使用すると、コントローラがメモリにリフレッシュ を発行するタイミングを制御できます。この機能により、ワースト・ケー ス・レイテンシをより適切に制御し、バーストでリフレッシュを発行し てアイドル期間を利用することができます。

図3-16. ユーザ・リフレッシュ・コントロール

図3-16の注:

(1) DDR Commandは、コマンド信号が発行するコマンドを示します。

clk reset_n

local_refresh_req local_refresh_ack

ddr_cs_n ddr_cke ddr_a ddr_ba DDR Command ddr_ras_n ddr_cas_n ddr_we_n

FF 00 FF 00 FF 0000 FF

FF

0000 04000400 0000

0

NOP PCH NOP ARF NOP ARFARF NOP

DDR SDRAM Interface Local Interface

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

1. ユーザ・ロジックは、リフレッシュ要求信号をアサートして、コン トローラにリフレッシュを実行する必要があることを示します。コ ントローラがリフレッシュ要求に優先権を設定するため、リードお よびライト要求信号の状態は問題ではありません(ただし、コント ローラは現在アクティブなリードまたはライトを完了します)。

2. コントローラはリフレッシュ確認信号をアサートして、リフレッシュ を発行したことを示します。この信号はユーザ・リフレッシュ・コ ントロール・オプションがオンになっていない場合でも使用でき、

ユーザ・ロジックはコントローラがリフレッシュを発行するタイミ ングを管理することができます。

3. ユーザ・ロジックはリフレッシュ要求信号をアサート状態のまま維 持し、もう一つのリフレッシュ要求があることを示します。

コントローラはリフレッシュ確認信号を再度アサートして、リフレッ シュを発行したことを示します。この時点で、ユーザ・ロジックはリフ レッシュ要求信号をデアサートし、コントローラはバッファのリードお よびライトを継続します。

DDR SDRAMの初期化のタイミング

DDR SDRAMとDDR2 SDRAMでは、初期化のタイミングが異なりま

す。DDR2 SDRAM の初期化タイミングについては、3–33 ページの

「DDR2 SDRAMの初期化タイミング」を参照してください。

DDR SDRAMコントローラは、以下のメモリ・コマンド・シーケンスを

発行することによって、SDRAMデバイスを初期化します。

NOP(200 µs、プログラム可能)

PCH

拡張LMR(ELMR)

LMR

NOP(200クロック・サイクル、固定)

PCH

ARF

ARF

LMR

3–32 ページの図3-17 に、以下で説明する標準的な初期化タイミング・

シーケンスを示します。リセットから最初の PCH コマンドまでの時間 は、200 µsでなければなりません。シミュレーション・テストでは、IP

Toolbench のスタートアップ・タイマ・パラメータを設定して、この時

間を短縮できます。