例说FPGA连载40:DDR控制器集成与读写测试之DDR2控制器IP配置 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc DDR2 IP核配置 ① 在新建的工程中,点击菜单“ToolsàMegaWizard Plug-In Manager”。 ② 在弹出的选项卡中选择“Creat a new custom megafunction variation”,然后点击“Next”。 ③ 接着接着选择我们所需要的IP核,如图4.9所示进行设置。 ● 在“Select a megafunction from the list below”下面选择IP核为“Interface à External Memory àDDR2 SDRAMàDDR2 SDRAM Controller with ALTMEMPHY v13.1”。 ● 在“What device family will you be using”后面的下拉栏中选择我们所使用的器件系列为“Cyclone IV E”。 ● 在“What type of output file do you want to create?”下面选择语言为“Verilog”。 ● 在“What name do you want for the output file?”下面输入工程所在的路径,并且在最后面加上一个名称,这个名称是我们现在正在例化的DDR2 Controller IP核的名称,这里我们可以给他起名叫ddr2_controller,然后点击Next进入下一个页面。 图4.9 DDR2 IP核创建向导 ④ 进入配置页面后,首先是“Parameter Settings àMemory Settings”选项卡,如图4.10进行设置。 图4.10 DDR2存储器参数配置 ● “Device family”后面的下拉框中选择工程所使用的器件系列,本实例工程选择“Cyclone IV E”。 ● “Speed grade”后面的下拉框中选择工程所使用器件的速度等级,根据实际器件的情况,我们选择“8”。 ● “PLL reference clock frequency”后面设置输入到该IP核的PLL模块的时钟频率,本实例工程输入时钟频率为“100MHz”。 ● “Memory clock frequency”后面输入DDR2实际操作的差分时钟频率,我们设置为“167MHz”。 ● “Controller data rate”为该IP核与FPGA内部逻辑接口之间的频率,我们设定为“Half”,表示这个频率为DDR2时钟频率167MHz的一半。 ● “Memory Presets”下面有很多可选的DDR2型号,我们根据实际使用型号选择“Micron MT47H32M16CC-3”。 关于“Memory Presets”部分,如果我们找不到自己使用的DDR2芯片信号,那么可以现在“Presets”中先选择一个和实际使用型号参数相近的型号,然后点击“Modify parameters…”按钮对一些具体的参数进行修改,以匹配实际使用的DDR2型号。如图4.11所示,打开的“Preset Editor”中几乎可以更改所有的DDR2相关参数。这些参数的具体含义可以参考Altera官方文档“ug_altmemphy.pdf”。 图4.11 DDR2自定义参数设置 ● “Preset Editor”选项卡中需要更改一个设置,即Parameter为“Memory burst length”行对应的“Value”更改为“8”。这是由于我们使用了Half模式的Controller data rate,若不更改此burst值,则IP核生成时将会报错。 ⑤ “Parameter Settings àPHY Settings”选项卡、 “Parameter Settings àBoard Settings”选项卡以及“Parameter Settings àController Settings”选项卡,通常都不需要额外设置,使用默认设置就可以。 ⑥ “EDA”选项卡和仿真有关,可以选择是否生成响应的网表文件。 ⑦ “Summary”选项卡可以选择是否生成一些IP核相关的文件,点击“Finish”就可以生成IP核。如图4.12所示,至此IP核以及生成完毕。 图4.12 DDR2 IP核生成
|