modelsim仿真ROM IP核没有输出数据问题如何解决

modelsim仿真ROM IP核没有输出数据问题如何解决

问题介绍

当用MATLAB生成.mif文件后 调用Quartus中ROM IP核 加载.mif文件对ROM IP核进行仿真 发现输出数据一直为零 但是ROM 中的地址却发生变化 但是没有数据输出 如下仿真图所示 address 依次加一 但是输出端一直为8’h0
(今天各种查各种问各种踩雷哈哈 算是altera遗留的一个问题吧 今天就把这个问题解决吧 )
在这里插入图片描述

问题原因

使用modelsim对ROM IP核仿真时必须把.mif文件放在仿真的根目录中 (不明白很正常 后面演示一下我怎么错的和怎么找到bug的 相信很多人跟我一样哈哈)

错误示范

下图红色椭圆是通过加载.mif文件生成的路径。
在这里插入图片描述
在对IP核添加.mif文件时直接把MATLAB生成的.mif文件加载进去了 也没有考虑所加载的.mif文件的位置
首先大家要清楚 . ./. ./doc/sine.mif的意思 . ./的意思是在当前文件夹向上一级 最开始的地址也就是生成ROM IP核文件的位置,. ./. ./doc/sine.mif的意思是从ROM IP核文件的位置向上翻两级到doc文件夹中加载sine.mif文件 然后进行仿真就出现了最上面的仿真图 地址更新但是数据一直为零。

解决方法

通过各种问各种研究哈哈 终于知道咋回事了
也就是前面所说的要把.mif文件放到modelsim仿真的根目录中
什么是根目录 也就是在建立仿真project时会生成一个叫work的文件夹 复制.mif文件放到跟work文件同一文件中 如下图所示
在这里插入图片描述
然后在更改一下 ROM IP核加载.mif文件的位置 如下图所示也就不再加载之前的.mif文件 而是加载我们复制的.mif文件 因为此.mif文件在仿真的根目录中 modelsim在仿真的时候只会在根目录中寻找.mif 文件。如果找不到就会出现没有数据输出的效果,这个就比较坑 哈哈。
在这里插入图片描述
在更改IP核设置时会出现下图对话框 因为重新设置了IP核 所以有的文件会重新生成 直接OK就完事了
在这里插入图片描述
通过打开 ip_rom.v文件可以看到 如下图所示 加载的.mif文件已经不是doc文件中的了 而是根目录中的.mif文件
在这里插入图片描述
然后仿真就完事了 哈哈 仿真如下图所示
在这里插入图片描述
可以看出随着地址的更新输出也不断输出

注意

在仿真 altera IP时别忘了需要在Modeslim工程中添加altera_mf文件仿真库 也就是把altera_mf.v这个文件添加到工程 这个文件一般在:\altera\13.1\quartus\eda\sim_lib\altera_mf.v这个路径中 也就是Quartus安装路径 如果找不到可以直接用我上传的资源中找 哈哈

  • 3
    点赞
  • 11
    收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页
评论 1

打赏作者

橘子FPGA

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值