FC2カウンター FPGAの部屋 VeritakでのDDR2 SDRAMコントローラのシミュレーション (初期化)
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

VeritakでのDDR2 SDRAMコントローラのシミュレーション (初期化)

VeritakでDDR2 SDRAMコントローラのシミュレーションが大体できたようだ。(”DDR2 SDRAMコントローラのシミュレーション時のバグ”も参照)
DDR2 SDRAMの初期化手順は”DDR2 SDRAM(Micron MTH16M16-37E)の初期化について”の手順で行っている。シミュレータの出力を下に示すが、同様のことを行っているのが確認できた。最後に、DDR2 SDRAMのモデルからInitialization Sequence is complete も表示され、初期化が終了できたのも確認できた。

DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200806000.0 ps INFO: Precharge bank 0
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200806000.0 ps INFO: Precharge bank 1
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200806000.0 ps INFO: Precharge bank 2
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200806000.0 ps INFO: Precharge bank 3
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200821000.0 ps INFO: Load Mode 2
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200841000.0 ps INFO: Load Mode 3
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200861000.0 ps INFO: Load Mode 1
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200861000.0 ps INFO: Load Mode 1 DLL Enable = Enabled
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200861000.0 ps INFO: Load Mode 1 Output Drive Strength = Full
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200861000.0 ps INFO: Load Mode 1 ODT Rtt = 75 Ohm
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200861000.0 ps INFO: Load Mode 1 Additive Latency = 0
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200861000.0 ps INFO: Load Mode 1 OCD Program = OCD Exit
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200861000.0 ps INFO: Load Mode 1 DQS_N Enable = Enabled
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200861000.0 ps INFO: Load Mode 1 RDQS Enable = Disabled
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200861000.0 ps INFO: Load Mode 1 Output Enable = Enabled
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200881000.0 ps INFO: Load Mode 0
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200881000.0 ps INFO: Load Mode 0 Burst Length = 4
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200881000.0 ps INFO: Load Mode 0 Burst Order = Sequential
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200881000.0 ps INFO: Load Mode 0 CAS Latency = 3
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200881000.0 ps INFO: Load Mode 0 Test Mode = Normal
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200881000.0 ps INFO: Load Mode 0 DLL Reset = Reset DLL
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200881000.0 ps INFO: Load Mode 0 Write Recovery = 3
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200881000.0 ps INFO: Load Mode 0 Power Down Mode = Fast Exit
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200901000.0 ps INFO: Precharge bank 0
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200901000.0 ps INFO: Precharge bank 1
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200901000.0 ps INFO: Precharge bank 2
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200901000.0 ps INFO: Precharge bank 3
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200916000.0 ps INFO: Refresh
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 200996000.0 ps INFO: Refresh
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201076000.0 ps INFO: Load Mode 0
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201076000.0 ps INFO: Load Mode 0 Burst Length = 4
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201076000.0 ps INFO: Load Mode 0 Burst Order = Sequential
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201076000.0 ps INFO: Load Mode 0 CAS Latency = 3
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201076000.0 ps INFO: Load Mode 0 Test Mode = Normal
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201076000.0 ps INFO: Load Mode 0 DLL Reset = Normal
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201076000.0 ps INFO: Load Mode 0 Write Recovery = 3
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201076000.0 ps INFO: Load Mode 0 Power Down Mode = Fast Exit
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201096000.0 ps INFO: Load Mode 1
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201096000.0 ps INFO: Load Mode 1 DLL Enable = Enabled
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201096000.0 ps INFO: Load Mode 1 Output Drive Strength = Full
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201096000.0 ps INFO: Load Mode 1 ODT Rtt = 75 Ohm
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201096000.0 ps INFO: Load Mode 1 Additive Latency = 0
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201096000.0 ps INFO: Load Mode 1 OCD Program = OCD Default
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201096000.0 ps INFO: Load Mode 1 DQS_N Enable = Enabled
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201096000.0 ps INFO: Load Mode 1 RDQS Enable = Disabled
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201096000.0 ps INFO: Load Mode 1 Output Enable = Enabled
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201116000.0 ps INFO: Load Mode 1
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201116000.0 ps INFO: Load Mode 1 DLL Enable = Enabled
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201116000.0 ps INFO: Load Mode 1 Output Drive Strength = Full
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201116000.0 ps INFO: Load Mode 1 ODT Rtt = 75 Ohm
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201116000.0 ps INFO: Load Mode 1 Additive Latency = 0
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201116000.0 ps INFO: Load Mode 1 OCD Program = OCD Exit
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201116000.0 ps INFO: Load Mode 1 DQS_N Enable = Enabled
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201116000.0 ps INFO: Load Mode 1 RDQS Enable = Disabled
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201116000.0 ps INFO: Load Mode 1 Output Enable = Enabled
DDR2_SDRAMtest_tb.MT47H16M16_inst.cmd_task: at time 201116000.0 ps INFO: Initialization Sequence is complete


これがタイミングチャートだ。
ddr2_initialize_080120.png

これで初期化はうまく行った。
次は、もう大体できたがライト、リードのシミュレーションだ。
  1. 2008年01月20日 21:35 |
  2. DDR SDRAMコントローラ
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/717-5a49973d
この記事にトラックバックする(FC2ブログユーザー)