xilinx的mig核使用modelsim仿真问题
问题描述
modelsim调用mig进行仿真的时候,init_done拉不起来。问题图像忘记截了(懒不想把代码该回去了)。我说一下把,就是下图的黄线之后会打印 memory initialization completed at time 。

wiredelay模块的作用-解决方法
之前modelsim调用mig进行仿真的时候,ddr3_model.sv以及mig的调用都在同一个v文件中,故未发现此问题(ddr3_model.sv以及mig的调用不在同一个v,导致仿真的init起不来)。
本次使用的时候是按上述问题例化进行例化,仿真输出脚本跑一会就报告phy-init已经完成,但是init_done并没有拉起来。
后续我对比和官方例程中发现,官方例程中在从exampl_top出来之后会过一个wiredelay的模块,其中的参数延迟数值为0,一开始再进行例化的时候没有关注这个,所以之前的自己的历程中并没有加此模块。也能用就忽略了。
但是始终想不到为啥延迟0,我还要例化下。就像大佬说的他需要过一下,进行判断逻辑
。
这种问题都能浪费我时间,我要玩单片机教练,那个快。
本文探讨了在ModelSim中使用Xilinx MIG核时遇到的init_done信号无法正常工作的难题。通过对比官方示例,发现了加入带有0延迟设置的wiredelay模块能够解决问题的现象,并解释了其背后的逻辑原因。
2万+

被折叠的 条评论
为什么被折叠?



