自建Spartan6 DDR3仿真平台

 

上一篇讲到了如何去运行xilinx给出的ddr3 ip sim example。这次来讲解一下如何通过自建的来仿真DDR3。


1.新建一个工程。新建一个top.v的文件。等会DDR3 Ip核例化在top中 
image_1d04g61s51h1412877oo231boe9.png-16.5kB 
将DDR3 ip核添加到工程中,(.xco后缀的文件。) 
image_1d04g97pv3re1h7mc30frg1rrem.png-30.8kB 
在生成的IPcore的docs文件夹里面有IP核需要参考的手册。 
image_1d04gq1d711fe1fqnr571l6k127s2n.png-19.5kB 
打开mig_39_2的例化模板 
image_1d04gfme91pkg11ql18vjk0j1hq41g.png-51.1kB 
将DDR3 IP核例化到top文件中 
image_1d04ggmkkomv16r5vkopjt187n1t.png-76.1kB 
将这一大串内容复制到你的top文件中。 
其中C3_SIMULATION和C3_RST_ACT_LOW这两个参数要更改。 
image_1d04l5q6q1md01dpo132t1s2t8o1al.png-42.8kB 
这两个参数的作用:image_1d04la83it3bjqarei1u3pfl2c2.png-132kB 
C3_RST_ACT_LOW这个参数设置是高电平复位还是低电平复位。 
C3_SIMULATION这个参数更改成TURE有利于仿真。


2.参考DDR3 IP的 example,打开example工程的顶层,我们模仿着他写 
image_1d04gbtfmjmm1ah0deu21ig2d13.png-113.8kB 
将这些信号添加到自己的工程top的module里面。 
image_1d04gnl6q1t841k7v4b891g1cba2a.png-65.5kB 
顶层信号中的calib_done在实际跑板子的时候是有作用的,因为这里只是作仿真,所以可以不要。 
Calib_done信号作用,可以打开xilinx ip核的手册,在ip核目录下的doc文件夹中 
image_1d04hlega11jd1uv01pd8af91tqc3h.png-16.6kB 
搜索calib_done,可以看到xilinx对他的介绍,可以知道calib_done是FPGA MCB初始化结束的标志信号,在他初始化的阶段,不能对DDR3进行读写操作。那FPGA MCB的初始化有哪些步骤呢? 
image_1d04hn3bj24gf81vm9109619l3u.png-79.5kB点击他的文本链接。 
image_1d04ho0huko1hco1fjj1h1k1elt4b.png-66.7kB 
点击startup Sequence,page 45. 
image_1d04hqovusm31no91ceunm0pre4o.png-49.2kB 
这个MCB的初始化操作步骤。 
top中顶层信号最后的样子 
image_1d04hgro71i9bqt61n5b1ts41ter34.png-50.3kB


3.接下来编写sim仿真文件,还是和之前quartusii13一样,去模仿着example去做。先新建一个tb文件。 
image_1d04keo5te701gi486t1gj7dq5i.png-82.6kB 
然后添加top例化到tb_top中。 
image_1d04kflic1fbp2rf1fi0128jj405v.png-47kB 
将DDR3的仿真模型和rzq和zio例化进去(这些也都是参考仿真例子的,req和zio都可以理解为一个校准信号,这是FPGA的信号,没有连接到DDR3中) 
image_1d04kh5oejoi6fejg51qq71nj56p.png-36.5kB 
image_1d04km93k43q17ev1l2q1gq1tcn76.png-90.5kB 
image_1d04knst11rk01k0a1a2mm4tthj7j.png-76kB


4.根据仿真脚本的提示,找到ddr3_model_c3这个文件。 
在工程中搜索这个文件,会有两个 
image_1d04ks1u21sdvpnh1ajt1kjl1ocq80.png-27.8kB 
打开ddr3_model_c3.v可以知道,这个文件需要调用.vh的参数文件,所以要选择sim中functional文件夹的模型文件。 
image_1d04ku1691e5o1gi7ne1h31bp8d.png-35.1kB 
将ddr3_model_c3.v和 ddr3_model_parameters_c3.vh这两个文件复制到自己的sim文件夹下。(ddr3_model_parameters_c3.vh这个参数文件有些电脑是需要放在自己的ISE工程文件夹下才能运行的) 
然后将sim下的tb_top和两个仿真模型文件添加到工程中 
image_1d04jclbm2j31d5apilq1q1g8i55.png-21.1kB 
将属性改成sim。


5.添加好后,点击tb_top可以进行仿真。 
image_1d04le66t1p5r1ia51no0jud15bfcf.png-46.1kB 
然后将top_inst添加到仿真波形中。 
run个100us 
image_1d04li4mmkl8tu2160okdgorocs.png-58.3kB 
去查看刚刚的calib_done这个信号有没有生成,如果有拉高,则说明自建平台搭建成功。

猜你喜欢

转载自blog.csdn.net/qq_38376586/article/details/85558103
今日推荐