赞
踩
第一次搭建DDR3仿真模型,记录一下过程以防忘记。
硬件平台:7A100TFGG484-2
Vivado 版本 2018.3
利用vivado软件生成 MIG IP核,具体生成过程参考“正点原子达芬奇PRO 第30章DDR3读写测试 实验”。
生成IP核自带例程,将IP核的自带例程保存在一个路径下准备好,后面需要在此例程中复制一些文件。
打开刚刚生成的自带工程拷贝如下文件
红框内为5个所需文件,蓝色箭头为文件地址。
将以上五个文件拷贝至自己的工程中。添加后的工程如下图
上方红框的位置就是我们在第四步需要替换的模块,即:我们需要把自己写的DDR3工程替换掉红框内的模块。替换步骤见第四步。
通过在sim_tb_top文件中,例化自己的DDR3工程,实现替换目的,替换后的工程如下图
运行仿真,以init_calib_complete拉高作为DDR3仿真模型搭建成功的标志,注意:在107us左右才会有init_calib_complete信号拉高,如果用vivado仿真的话,可能需要等较长时间(在做此工程时,我等待了10分钟)。仿真波形如下图。
在107us时,init_calib_complete信号拉高,并且读写都正常。
在自己工程内,调用MIG IP时,
注意app_sr_req,app_ref_req,app_zq_req 三个信号必须要给1‘b0,否则会导致不能正常仿真,错误的仿真情况如下图:
可以看到,在错误的仿真波形中,虽然init_calib_complete信号被正常拉高,但是仿真的波形不正确。
以上记录较为粗糙,仅提供整体思路,具体细节待后续完善…………
感谢正点原子提供的视频以及代码例程。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。