5. クロックを中心にするためのPLL位相のバースト。
6. 設定をロードするための二番目の初期化シーケンス(LMR)。
7. ctl_cal_success信号はHighになります。
8. 機能メモリ・ステージ。
DDR および DDR2 高性能コントローラ II
この項では、HPC IIの以下のタイミング図について説明します。
■ 「ハーフ・レート・リード」
■ 「ハーフ・レート・ライト」
■ 「フル・レート・リード」
■ 「フル・レート・ライト」
?9? :タイミング図DDRおよびDDR2高性能コントローラ II
© 2010年2月Altera CorporationDDRおよびDDR2 SDRAM高性能コントローラおよびALTMEMPHY IPユーザーガイド
ハーフ・レート・リード
以下のシーケンスは、図 9–9の番号付の項目に対応しています。
図 9‒9. HPC II のハーフ・レート・リード動作
phy_clk Local Interface local_address[25:0]
local_size[4:0]
local_ready local_burstbegin local_read_req local_rdata[31:0]
local_rdata_valid local_be[3:0]
afi_addr[27:0]
Controller - AFI
afi_ba[5:0]
afi_cs_n[3:0]
AFI Command[2:0]
afi_dm[3:0]
afi_dqs_burst[0]
afi_dqs_burst[1]
afi_doing_rd[1:0]
afi_rdata[31:0]
afi_rdata_valid[1:0]
mem_cke[1:0]
AFI Memory Interface
mem_clk mem_ba[2:0]
mem_addr[13:0]
mem_cs_n[0]
Mem Command[2:0]
mem_dqs mem_dm mem_dq[7:0]
mem_odt[1:0]
0000002 0000000
2
0000004 0000000
AABBCCDD EEFF0011 AABBCCDD EEFF0011 AABBCCDD EEFF0011
0000000 0000000 0000008 0000000 0
0000010 0000000
B F B F B
RD NOP RD RD NOP
F
3
F
3
AABBCCDD EEFF0011 AABBCCDD EEFF0011 AABBCCDD EEFF0011
0000 0000 0008 0000 0
0010
RD NOP
NOP RD NOP RD NOP
DDCCBB AA 11 00 FF EE DDCCBB AA 11 00 FF EE DDCCBB AA 11 00 FF EE
[5] [6]
[1] [2] [3] [4] [7]
第 9 章 : タイミング図 9–17 DDR および DDR2 高性能コントローラ II
1. ユーザー・ロジックは、local_read_req信号とこのリードのサイズおよびア ドレスをアサートすることによって、最初のリードを要求します。この例では、
要求はローカル・アドレス0×000000に対する長さ2のバーストです。このロー カル・アドレスはハーフ・レート・モードによる以下のメモリ・アドレスにマッ プされます。
mem_row_address = 0×000000 mem_col_address = 0×0000 mem_bank_address = 0×00
2. ユーザー・ロジックは、同一ロウ内で別のメモリ・カラムに2回目のリードを開 始します。 2回目のライトの要求は長さ2のバーストです。この例では、コマン ド・キューがフルになるまで、ユーザー・ロジックはコマンドを受け入れ続けて
います。 コマンド・キューがフルになると、コントロールはlocal_ready信号
をデアサートします。 開始ローカル・アドレス0x000002はハーフ・レート・
モードによる以下のメモリ・アドレスにマップされます。
mem_row_address = 0×0000
mem_col_address = 0×0002<<2 = 0×0008 mem_bank_address = 0×00
3. コントローラはALTMEMPHYメガファンクションに最初のリード・メモリ・コマ ンドおよびアドレス信号を発行して、メモリ・デバイスに送信します。
4. コントローラは最初のリードに対する予想する必要があるリード・データのク ロック・サイクル数をALTMEMPHYメガファンクションに知らせるために、
afi_doing_rd信号をアサートします。ALTMEMPHYメガファンクションは予測 されるメモリ・バーストの持続時間に対して、afi_doing_rd信号を使用して キャプチャ・レジスタをイネーブルします。
5. ALTMEMPHYメガファンクションはメモリへの最初のリード・コマンドを発行し、
かつメモリからのリード・データをキャプチャします。
6. afi_rdataバス上に有効なリード・データが存在するとき、
afi_rdata_valid信号をアサートすることによって、ALTMEMPHYメガファンク
ションはphy_clkドメインにデータを再同期化させた後、最初のリード・デー
タをコントローラに返します。
7. local_rdataバス上に有効なリード・データが存在するとき、
local_rdata_valid信号をアサートすることによって、コントローラは最初の リード・データをユーザーに返します。ECCロジックはディセーブルされる場
合、 afi_rdataとlocal_rdataバス間の遅延がありません。コントローラで
ECCロジックが存在する場合、afi_rdataおよびlocal_rdataバスの間に1 または3遅延のクロック・サイクルがあります。
?9? :タイミング図DDRおよびDDR2高性能コントローラ II
© 2010年2月Altera CorporationDDRおよびDDR2 SDRAM高性能コントローラおよびALTMEMPHY IPユーザーガイド
ハーフ・レート・ライト
以下のシーケンスは、図 9–10の番号付の項目に対応しています。
1. ユーザー・ロジックはロウ0に最初のライト要求をアサートするので、ロウ0は次のトランザクションの前に開いていま す。
図 9‒10. HPC II のハーフ・レート・ライト動作
Local Interface local_address[25:0]
local_size[4:0]
local_ready local_burstbegin local_be[3:0]
local_write_req local_wdata[31:0]
afi_addr[27:0]
Controller - AFI afi_ba[5:0]
afi_cs_n[3:0]
AFI Command[2:0]
afi_dm[3:0]
afi_wlat[4:0]
afi_dqs_burst[0]
afi_dqs_burst[1]
afi_wdata[31:0]
afi_wdata_valid[1:0]
mem_cke[1:0]
AFI Memory Interface mem_clk mem_ba[2:0]
mem_addr[13:0]
mem_cs_n[0]
Mem Command[2:0]
mem_dqs mem_dm mem_dq[7:0]
mem_odt[1:0]
phy_clk
0000002
0000000 0000004 0000000
2
[1] [2] [3] [4] [5] [6]
AABBCCDDEEFF0011AABBCCDDEEFF0011AABBCCDD EEFF0011
AABBCCDD EEFF0011AABBCCDDEEFF0011AABBCCDD EEFF0011 0000000 0000000 0000000 0000000 0000008 0000000 0000010 0000000
B F B F B F B F F
F B
ACT NOP WR NOP WR NOP WR NOP WR NOP
0 F
F 2
0
3 0 3
0000 0000 0000 0000 0008 0000 0010
NOP ACT NOP WR NOP WR NOP WR NOP WR NOP
00 00 DD CC BB AA 11 00 FF EEDD CC BB AA 11 00 FF EEDD CC BB AA 11 00 FF EE
第 9 章 : タイミング図 9–19 DDR および DDR2 高性能コントローラ II
2. ユーザー・ロジックは2のサイズと0のアドレス(カラム = 0、ロウ = 0、バンク
= 0、チップ = 0)で2つ目のlocal_write_req信号をアサートします。
local_ready信号がlocal_write_req信号と共にアサートされており、これ はコントローラがこの要求を受け付けたことを示し、ユーザー・ロジックは次の クロック・サイクルで、別のリードまたはライトを要求できます。
local_ready信号がアサートされていなかった場合、local_ready信号はHigh に登録されるまで、ユーザー・ロジックはアサートされた、ライト要求、サイ ズ、およびアドレス信号を保持する必要があります。
3. コントローラはALTMEMPHYメガファンクションに最初の必要なメモリ・コマン ドおよびアドレス信号を発行して、メモリ・デバイスに送信します。
4. コントローラは、有効なライト・データとライト・データ・マスクが
ALTMEMPHYメガファンクションへの入力に存在しているのをALTMEMPHYメガ
ファンクションに示すためにafi_wdata_valid信号をアサートします。
5. コントローラは、ALTMEMPHYメガファンクションがメモリに発行するDQS信号 のタイミングを制御するためにafi_dqs_burst信号をアサートします。
6. ALTMEMPHYメガファンクションは、ライト・コマンドを発行し、そしてライト・
データおよびライトDQSをメモリに受信します。
?9? :タイミング図DDRおよびDDR2高性能コントローラ II
© 2010年2月Altera CorporationDDRおよびDDR2 SDRAM高性能コントローラおよびALTMEMPHY IPユーザーガイド
フル・レート・リード
以下のシーケンスは、図 9–11の番号付の項目に対応しています。
図 9‒11. HPC II のフル・レート・リード動作
phy_clk
local_address[23:0]
local_size[2:0]
local_ready local_burstbegin local_read_req local_rdata_valid local_rdata[15:0]
local_be[1:0]
afi_addr[12:0]
afi_ba[1:0]
afi_cs_n AFI Command[2:0]
afi_dm[1:0]
afi_dqs_burst afi_doing_rd afi_rdata[15:0]
afi_rdata_valid
mem_cke mem_clk mem_ba[1:0]
mem_addr[12:0]
mem_cs_n Mem Command[2:0]
mem_dqs mem_dm mem_dq[7:0]
mem_odt
000000 000000 000002
2
FFFF
FFFF ABCD EF01 ABCD EF01
3
0000 0
NOP NOP NOP
NOP NOP NOP
RD RD
RD RD
000000 000004
3
FFFF
FFFF ABCD EF01 ABCD EF01
0 0000
0000 0004
00
00 CD AB 01 EF CD AB 01 EF 00
AFI Memory Interface Local Interface
Controller - AFI
[1] [2] [3] [6]
[4] [5]
第 9 章 : タイミング図 9–21 DDR および DDR2 高性能コントローラ II
1. ユーザー・ロジックは、local_read_req信号とこのリードのサイズおよびア ドレスをアサートすることによって、最初のリードを要求します。 この例では、
要求はローカル・アドレス0×000000に対する長さ2のバーストです。 このロー カル・アドレスはハーフ・レート・モードによる以下のメモリ・アドレスにマッ プされます。
mem_row_address = 0×0000
mem_col_address = 0×0000<<2 = 0×0000 mem_bank_address = 0×00
2. コントローラはALTMEMPHYメガファンクションに最初のリード・メモリ・コマ ンドおよびアドレス信号を発行して、メモリ・デバイスに送信します。
3. コントローラは最初のリードに対する予想する必要があるリード・データのク ロック・サイクル数をALTMEMPHYメガファンクションに知らせるために、
afi_doing_rd信号をアサートします。ALTMEMPHYメガファンクションは予測 されるメモリ・バーストの持続時間に対して、afi_doing_rd信号を使用して キャプチャ・レジスタをイネーブルします。
4. ALTMEMPHYメガファンクションはメモリへの最初のリード・コマンドを発行し、
かつメモリからのリード・データをキャプチャします。
5. afi_rdataバス上に有効なリード・データが存在するとき、
afi_rdata_valid信号をアサートすることによって、ALTMEMPHYメガファンク
ションはphy_clkドメインにデータを再同期化させた後、最初のリード・デー
タをコントローラに返します。
6. local_rdataバス上に有効なリード・データが存在するとき、
local_rdata_valid信号をアサートすることによって、コントローラは最初の リード・データをユーザーに返します。ECCロジックはディセーブルされる場
合、 afi_rdataとlocal_rdataバス間の遅延がありません。コントローラで
ECCロジックが存在する場合、afi_rdataおよびlocal_rdataバスの間に1 または3遅延のクロック・サイクルがあります。
?9? :タイミング図DDRおよびDDR2高性能コントローラ II
© 2010年2月Altera CorporationDDRおよびDDR2 SDRAM高性能コントローラおよびALTMEMPHY IPユーザーガイド
フル・レート・ライト
以下のシーケンスは、図 9–12の番号付の項目に対応しています。
1. ユーザー・ロジックはロウ0に最初のライト要求をアサートするので、ロウ0は次のトランザクションの前に開いていま す。
図 9‒12. HPC II のフル・レート・ライト動作
phy_clk
local_address[23:0]
local_size[2:0]
local_ready local_burstbegin local_be[1:0]
local_write_req local_rdata[15:0]
local_wdata[15:0]
afi_addr[12:0]
afi_ba[1:0][1:0]
afi_cs_n AFI Command[2:0]
afi_dm[1:0]
afi_wlat[4:0]
afi_dqs_burst afi_wdata[15:0]
afi_wdata_valid
mem_cke mem_clk mem_ba[1:0]
mem_addr[12:0]
mem_cs_n Mem Command[2:0]
mem_dqs mem_dm mem_dq[7:0]
mem_odt
000000 000004 000008 000000
2
3 FFFF
0000 ABCD EF01 ABCD EF01 ABCD EF01 0000
0000 0008 0000 0010 0000
0
NOP ACT NOP WR NOP WR NOP WR NOP WR NOP
3 0 3 0 3
04
0000 ABCD EF01 ABCD EF01 ABCD EF01
0
0000 0008 0000 0010 0000
NOP ACT NOP WR NOP WR NOP WR NOP WR NOP
00 CD AB 01 EF CD AB 01 EF CD AB 01 EF
Local Interface
Controller - AFI
AFI Memory Interface
[5]
[3]
[2]
[1]
[6] [4]
第 9 章 : タイミング図 9–23 DDR および DDR2 高性能コントローラ II
2. ユーザー・ロジックは2のサイズと0のアドレス(カラム = 0、ロウ = 0、バンク
= 0、チップ = 0)で2つ目のlocal_write_req信号をアサートします。
local_ready信号がlocal_write_req信号と共にアサートされており、これ はコントローラがこの要求を受け付けたことを示し、ユーザー・ロジックは次の クロック・サイクルで、別のリードまたはライトを要求できます。
local_ready信号がアサートされていなかった場合、local_ready信号はHigh に登録されるまで、ユーザー・ロジックはアサートされた、ライト要求、サイ ズ、およびアドレス信号を保持する必要があります。
3. コントローラはALTMEMPHYメガファンクションに最初の必要なメモリ・コマン ドおよびアドレス信号を発行して、メモリ・デバイスに送信します。
4. コントローラは、有効なライト・データとライト・データ・マスクが
ALTMEMPHYメガファンクションへの入力に存在しているのをALTMEMPHYメガ
ファンクションに示すためにafi_wdata_valid信号をアサートします。
5. コントローラは、ALTMEMPHYメガファンクションがメモリに発行するDQS信号 のタイミングを制御するためにafi_dqs_burst信号をアサートします。
6. ALTMEMPHYメガファンクションは、ライト・コマンドを発行し、そしてライト・
データおよびライトDQSをメモリに受信します。