新闻详情

新闻详情

首页 / 资讯中心 / 详情

Modelsim独立仿真教程,仿真Vivado IP核

发布时间:2026/10/2 7:18:09来源:尧图网络
Modelsim独立仿真教程,仿真Vivado IP核
相比于Vivado自带的仿真器我一直很推崇用Modelsim进行独立仿真。对于复杂工程Modelsim在编译和仿真速度上都是Vivado不能比拟的。本文结合几个关键博客仅供学习梳理一下如何用Modelsim进行独立仿真同时如何仿真Vivado自带的IP核。1. 软件准备安装Modelsim软件版本是Modelsim 2020.4 SE安装教程modelsim 2020.4SE安装教程超详细仅供学习使用_modelsim安装教程-CSDN博客。注意教程中需要添加一条环境变量LM_LICENSE_FILE。安装Vivado软件相关的安装教程网上很多各个版本的安装大致相同。作者安装了一个最新的版本Vivado 2026.1选择了必要的器件后大小约为80G左右。作者在网络上也找到了2026.1版本的License【新提醒】vivado 2026.1许可license文件 - EDA资源使用讨论 - EETOP 创芯网论坛 (原名电子顶级开发网) - Powered by Discuz!。获得Vivado的License后按照下图指定License文件位置即可不要修改LM_LICENSE_FILE的值最后点击Set即可。2. 编译Vivado的IP核Modelsim之所以能够仿真Vivado的IP核需要基于IP核的仿真库文件。打开任意的Vivado工程点击Tools-Compile Simulation Libraries图中Family选择自己常用的器件类型如果选择默认的All后续的编译时间会比较长生成的仿真库文件也比较大。其余的Simulator、Language和Library和我选择一样即可。红色框中Compiled library location是生成的仿真库文件的位置大家可以在Vivado安装目录下新建文件夹放进去。Simulator executable path选择到Modelsim安装路径下的win64文件夹。最后点击Compile等待一段时间生成相应的仿真库如下图所示。生成的仿真库中有一个modelsim.ini文件复制该文件中的有关IP核的所有路径信息部分路径如下图所示。进入Modelsim的安装目录D:\modeltech64_2020.4目录下也有一个同名文件modelsim.ini属性取消勾选只读将复制的路径信息粘贴到modelsim_lib xxx下方保存后并重新勾选只读。打开Modelsim软件可以看到Library中显示了Vivado IP核的相关内容。3. 独立仿真过程先明确Modelsim的作用是进行功能仿真而设计的Synthesis和Implementation则由Vivado来完成。所以大部分情况下Modelsim和Vivado往往是同时使用的。新建一个文件夹用于放置Modelsim的工程。打开Modelsim软件在主界面上依次点击File-New-Project指定工程名和路径并点击OK完成。添加设计和激励文件在Project空白处点击鼠标右键点击添加Existing File将Vivado工程中的文件添加到Modelsim中来。将Vivado工程xxx.srcs目录下涉及到的设计和激励文件全部添加到Modelsim工程中。此外将Vivado工程xxx.gen\sources_1\ip\xxx\sim\xxx.v等IP仿真文件也添加到Modelsim工程中。同时选择Reference from current location这样ModelSim会直接引用原始源文件无需维护两份代码。在Vivado中对设计和激励文件进行修改保存后Modelsim中的文件同步被修改。添加完文件后点击Compile All对所有的文件进行编译检查保证所有文件不存在报错如下图所示。下面进行仿真在主界面上点击Simulate-Start Simulation。如下图所示勾选Enable optimization点击Optimization Options并选择Apply full visibility to all modules(full debug mode)。在work中选择要进行仿真的顶层tb文件并点击OK开始仿真。如果使用到了IP核正常情况下肯定会报错报错信息就是Module fifo_generator_v13_2_15 is not defined。因为之前添加的xxx.gen下的IP核仿真文件会例化仿真库文件。我们回到上一步在主界面上点击Simulate-Start Simulation。如下图所示在Libraries部分中点击Add在Select Library框中输入上面报错的模块名fifo_generator_v13_2_15来添加对应的仿真库。最后回到Design部分在work中选择顶层tb文件并点击最下方的OK进行仿真。一般情况下能够进行正常仿真。在sim中可以选择对应的模块并在右侧选择想要查看的信号右键Add Wave添加到波形窗口。在波形窗口点击Restart接着点击Run -All跑出仿真波形如下图所示。后续的仿真操作变得更加容易不需要关闭当前的仿真界面和窗口。修改代码并保存后在Modelsim端重新Compile All并在波形窗口点击Restart然后点击Run -All即可查看新的波形。4. 总结上文就是Modelsim独立仿真的步骤。工欲善其事必先利其器希望Modelsim能加快每一个工程师的仿真速度
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

hindsight 后见之明:在 Dify 工作流中构建 AI 应用的回看、纠错与记忆机制 2026/10/2 18:24:21

hindsight 后见之明:在 Dify 工作流中构建 AI 应用的回看、纠错与记忆机制

1. 从一个空标题说起:hindsight 到底在讲什么提示:本案例基于“hindsight”与“hindsight dify”热词展开,结合 Dify 平台的实际工作流设计,重建一套可落地的“后见之明”增强机制。先说一个反直觉的结论:绝大多数 LLM…

阅读更多 →
基于Dify构建AI复盘工作流:从原始材料到行动清单的完整实践 2026/10/2 18:24:21

基于Dify构建AI复盘工作流:从原始材料到行动清单的完整实践

很多人都有过这种体验:一个项目收尾之后回头看,当时明明有那么多信号,为什么就是没注意到?英文里有句俗话叫“hindsight is 20/20”,意思是事后看东西总是清清楚楚的。可问题也正在这里——事后聪明如果不能转化成下一…

阅读更多 →
Java+Swing+MySQL员工工资管理系统:从建表到打包的完整实现方案 2026/10/2 18:24:15

Java+Swing+MySQL员工工资管理系统:从建表到打包的完整实现方案

简介:这是一套面向Java初学者与课程设计学习者的员工工资管理系统完整源码,采用Swing做桌面界面、MySQL做数据存储,适合用来练习桌面应用开发、JDBC数据库操作与增删改查业务逻辑。系统分为管理员与普通用户两种角色:管理员可管理…

阅读更多 →
Spring Boot+微信小程序构建游戏陪玩撮合系统:从订单状态机到微信支付实战 2026/10/2 18:24:15

Spring Boot+微信小程序构建游戏陪玩撮合系统:从订单状态机到微信支付实战

"游戏陪玩"、"互动约玩平台"、"电竞陪游撮合系统",这三个名字放在同一个毕设题目下面,本质说的是同一件事:搭建一个基于 Java 后端的微信小程序,让玩家能发布"求陪"需求,陪玩…

阅读更多 →
MATLAB实现ISODATA聚类:参数调优、避坑与轮廓系数验证 2026/10/2 18:24:15

MATLAB实现ISODATA聚类:参数调优、避坑与轮廓系数验证

简介:这份资源提供ISODATA聚类算法的MATLAB实现,面向需要处理复杂数据分布、希望自动确定聚类数量的数据分析学习者与科研人员。ISODATA结合了K-means与DBSCAN的思路,通过分类、合并、分裂的迭代流程,能够适应非球形、大小和密度各…

阅读更多 →
AI辅助写综述的三套核心指令:从文献地图到学术转写 2026/10/2 18:24:15

AI辅助写综述的三套核心指令:从文献地图到学术转写

阅读标题前,先说句大实话:我没法把写好综述这件事,简单归因于“给AI喂三句话”。但确实,只调整了和AI沟通的口令之后,我后来写的几篇综述,从被导师改得满页红,到几乎只标了几处引用位置&#xf…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉