1、打开ip核
双击Memory Interface Generator
2、
创建一个设计;
输入喜欢的名字;
只生成一个控制器;
不用AXI4接口(刚开始学还是用普通接口简单)。
3、直接Next。
4、重点来了
①ddr3工作时钟,这里选择400MHz,由于ddr3是双边沿取数据,所以相当于工作在800MHz时钟下;
②MIGip核会生成一个ui_clk供我们编写的用户端控制程序使用,4:1即ui_clk=100MHz;
③器件类型,不用想太多;
④选择对应开发板上的型号;
⑤数据宽度,我使用的黑金开发板有两片16bit宽的ddr3,所以数据宽度为32bit;
⑥打开数据掩码功能,数据掩码的宽度=每次写入数据宽度/8,因为ddr3数据读写是8倍预取,32bit位宽的话每次读写是数据为32*8=256bit,那么数据掩码变量的位宽就为32位。ip核对应控制接口为app_wdf_mask,对应位高电平数据无效,一般直接等于0就行,数据全部有效。
5、Input Clock Period:ip核的输入时钟,因为我开发板是200MHz的时钟,所以直接选择200MHz选项。(当然板载时钟不是200MHz的也可以生成一个200MHz的时钟,或者直接选择其他选项)
6、
①系统时钟nobuffer
②参考时钟,因为我板子是200MHz的所以选择Use System Clock。ip核生成的选择nobuffer
③不用说了吧
7、
8、有ucf文件的可以选择Fixed Pin,只是仿真的话先跟着我选。
9、后面一路Next到这个界面,接受协议后继续Next。
10、Generate生成ip核
11、此时MIGip核设置完成
MIGip核设置介绍完毕,下面是仿真文件的调用。