采用MIG IP核对DDR3进行调试,仿真时出现一些问题。我手里的板子是黑金的Spartan-7。由于网上能找到很多MIG IP核的生成的生成方式,因此MIG IP核的生成方式就不多复述。生成方式可以参考此文:(4条消息) 快速上手Xilinx DDR3 IP核(2)----MIG IP核的官方例程与读写测试模块(Native接口)_孤独的单刀的博客-CSDN博客_ddr3 ip核 例子
但是网上很多MIG IP核数据位宽是16位。此文主要是针对Spartan-7上两片DDR3的仿真调试,因为数据位宽是32位,所以在对仿真模型进行调试时,需要例化两次DDR3模型。例化模板主要在sim_tb_top.v文件的1015行的Memory Models instantiations。
![](https://img-blog.csdnimg.cn/img_convert/d8bfe02e8f3be7697cedbf1f5ad1e631.png)
对上述的for循环进行修改,尤其注意cke等例化中有r的需要删除。下图是我例化的:
![](https://img-blog.csdnimg.cn/img_convert/b9a9f5b21b5974978264c71832cb32e9.png)
其他和上述博主是一致的。
自己在调试仿真时,没有找到两片ddr模型例化的问题,一直卡了很久。有这方面的问题可以参考。例化两片模型就可以进行仿真了。