modelsim时序仿真ram初值读出来的都是0
时间:10-02
整理:3721RD
点击:
在quartus中用了megawizard中的双口ram,一读一写
其初值用一个.mif文件输入
现在在modelsim中仿真
功能仿真没有错误,读出了值
但是时序仿真读出来的都是0
请教各位这可能是什么原因引起的?
另外,当ram中写入新的值以后,再读的时候就是新写入的值了
我的ram深度是64,即64个周期后才出来新写入的值,前面的都是0
不知是怎么回事?功能仿真时没有问题的
时序仿真是不是需要什么设置啊?
先谢谢了!
其初值用一个.mif文件输入
现在在modelsim中仿真
功能仿真没有错误,读出了值
但是时序仿真读出来的都是0
请教各位这可能是什么原因引起的?
另外,当ram中写入新的值以后,再读的时候就是新写入的值了
我的ram深度是64,即64个周期后才出来新写入的值,前面的都是0
不知是怎么回事?功能仿真时没有问题的
时序仿真是不是需要什么设置啊?
先谢谢了!
估计是reset位设置错了。
没有啊。而且,我把ram这个子模块单独仿真,无论功能还是时序都是正确的
而仿真顶层模块时,功能仿真时正确的,时序就不行了
(顶层模块中例化了这个子模块)
用modelsim仿真的时候能够读取的mif文件必须和仿真工程在同一目录下,看看是不是路径不对
对的
功能仿真结果是正确的
就是时序出了问题
看看所有控制信号有没有问题,不要局限于reset,因为这种情况下,控制信号出问题的概率最大。
你晚点读呢?
会不会是时序仿真,你其它器件的初始化还没有完成,你就发读操作了。
比如说PLL这些。
小编,你的问题是怎么解决的?我也遇到了这样的问题。能不能说说。很期待。
问题解决了。 应用其他论坛的话如下:

