当前位置: 首页 > article >正文

modelsim仿真使用到vivado的IP,该如何使用!

modelsim仿真时,如果使用到了vivado的IP就会报错,本次就告诉大家如何将vivado的IP添加到modelsim中直接仿真。

一、生成ini文件以及IP打包

打开vivado,点击上方的Tools-->Compile Simulation Libraries得到如下界面

simulator:选择相应的仿真器,本次讲解的时modelsim,所以该选什么你们懂的。

language:选择语言,自行判断。

library:一个相关的一个是相关的,也就是你调用的IP是相关的,没有调用的就是不相关的。总之你不理解的话,就选All。

family:选择你所用的板子,同理不知道什么板子的就全选。

compiled library location:选择IP包和ini文件的存储位置(注意:要记清这个位置,而且最好是在modelsim安装的地方)。

simulator executable path:选择modelsim启动程序,找到你modelsim安装的位置里面有win64类似的启动程序。比如我的位置在这里

后面的几个就不解释了,用不到!

勾选的话就选第一个就行,我把第二个也选了是因为我已经生成了,所以需要覆盖一下。

然后点击compile就可以了。那之后就是慢慢等了,大概要个半个多小时的时间。

二、综合IP与ini的关系

1.修改权限

用文本方式打开modelsim安装下的modelsim.ini(后面简称为ini1),同时记得在属性里面修改一下它的权限,把它改为可改写。

2.修改

然后打开,找到library

同时打开我们刚刚生成的ini,也就是上面我让你记住的文件位置。里面也会有一个modelsim.ini(后面就简称为ini2

打开后别弄混淆了哦,两个可是长得很像的,也同样找到相应的位置library位置,将ini2中library下面,到DefineOptionset中间的数据复制到ini1相同的位置(要覆盖里面的library到DefineOptionset)。这一步慢慢看懂看清楚,错了就要重来的喔!

3.检查

弄完之后你就可以检查一下modelsim有没有上面的IP,打开modelsim点开library,就可以看到相应的IP。但还没完,有后续的!

三、加入数据

1.找到IP

打开你vivado生成的程序文件夹,找到你想要仿真的IP,复制 xxx_sim_netlist.v,如果你用的是VHDL你就赋值下面那个。

2.存储IP

将IP粘贴到你的仿真程序文件夹里,再和你的仿真程序一起加到modelsim里(modelsim创建和加入文件应该不需要我交吧,需要的留言,我看看有多少,后面再补充),我用的是FIFO示例

3.加入库

将程序compile之后,点simulate-->start  simulate-->Libraries-->add...

向里面加入以下五个库secureip、simprims_ver、unifast、unifast_ver、unimacro、unimacro_ver、unisim、unisims_ver。这些库在刚刚vivado生成的文件夹里面!加完之后就可以在work里面找到一些数据命名的文件。

然后你就可以点击ok仿真了。

四、错误

在仿真文件里面例化一下glbl,这样可以避免时钟报错,还有modelsim是不支持PS端的仿真,别瞎搞!另外其他报错,就是你需要重新添加一下上面的库,因为重新打开貌似需要重新添加库。还有vivado生成的那些文件不要删除、也不要移动或者改名字,改了那就改回来,要么你就从头开始!

后续有问题就留言吧,或者私聊,觉得有用就动动小手点个赞+收藏+关注,后续会出一些更多有意义的操作。


http://www.kler.cn/a/230122.html

相关文章:

  • RNN模型文本预处理--数据增强方法
  • transformer学习笔记-神经网络原理
  • CGAL CGAL::Polygon_mesh_processing::self_intersections解析
  • Elasticsearch中的节点(比如共20个),其中的10个选了一个master,另外10个选了另一个master,怎么办?
  • 【大数据学习 | Spark-Core】RDD的缓存(cache and checkpoint)
  • 基于vite创建的react18项目的单元测试
  • LeetCode541. 反转字符串 II
  • C++单例模式详解
  • Pandas常用操作记录(更新中)
  • 74HC154D-LED
  • Swift Combine 从入门到精通一
  • Python数据可视化库之mplfinance使用详解
  • android开发中遇到的问题和注意点
  • 陶哲轩如何用 GPT-4 辅助数学研究
  • 在Python中执行Linux Shell脚本详解
  • BLEUScore AttributeError: ‘list‘ object has no attribute ‘split‘——问题解决
  • LRU缓存
  • MySQL 表的设计
  • Android13多媒体框架概览
  • 三维天地为生物制药研发实验室物料平衡管理提供有力支持
  • 百度PaddleOCR字符识别推理部署(C++)
  • 备战蓝桥杯---搜索(剪枝)
  • sqli.bypass靶场本地小皮环境(1-5关)
  • Linux定时器
  • 决策树之scikit-learn
  • 华为机考入门python3--(9)牛客9-提取不重复的整数