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

发布时间:2026/10/2 7:18:17

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能加快每一个工程师的仿真速度
延伸阅读

更多相关文章

2026/10/2 7:18:17

SR8201F以太网PHY调试实战:从机贴失败到稳定运行

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 7:13:16

Hindsight实战:为LLM Agent构建高效记忆系统

1. 从“hindsight”说起:为什么我们需要给Agent装上“后视镜”第一次看到“hindsight”这个词,是在一个做LLM Agent的朋友群里。有人丢了一张截图,说他们的Agent在连续对话到第37轮的时候,突然把用户三小时前说过的偏好设置忘得一…

2026/10/2 8:13:20

dbx命令行数据库管理工具实战:多源连接、备份与自动化运维

上个月接手一个老项目,开发库、测试库、生产库分别用的是三个不同客户端,连接信息还散落在同事的聊天记录里。我花了一个下午,把十几套数据源全部收编到一个叫 dbx 的命令行数据库管理工具下面,从那以后所有环境的连接和维护都在同…

2026/10/2 8:13:20

终端环境增强实战:基于zsh与fzf等工具构建OpenShell高效工作台

如果你的工作有一半时间泡在终端里,那你大概率经历过这样一幕:临时拿到一台开发机的登录权限,打开一个光秃秃的shell,敲两条命令,输出没有任何高亮,历史记录按十几遍ctrlr都翻不到想要的那条,切…

2026/10/2 8:13:20

sed 与 awk 实战:文本处理三剑客

sed 与 awk 实战:文本处理三剑客> 系列:Shell 脚本系列(第5篇)> 笔名:厕所里的思想家—## 一、开篇引子在日常 Linux 运维和脚本开发中,文本处理占到了日常工作量的 60% 以上。日志分析、配置修改、数…

2026/10/2 8:13:20

Node.js + React 实战:构建有状态 AI Agent 的工程指南

1. 从 paperclip 说起:一个把 AI Agent 装进 Node.js 与 React 世界的工程实践第一次看到paperclip这个标题,我脑子里蹦出来的不是回形针办公用品,而是那个经典的“回形针助手”隐喻——一个能理解上下文、能主动帮你干活的智能体。结合热搜词…

2026/10/2 8:08:19

MLIR模型编译加速实战:从ONNX到高性能动态库的完整流水线

1. 从四处碰壁到真正提速:我为什么决定把推理链路整个交给MLIR 干推理优化这几年,有一个问题几乎每次都会被问到:模型部署时的性能瓶颈到底在哪?如果你的第一反应是“算子实现不够快”,那只能说答对了一小半。我自己的…

2026/10/1 5:21:14

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/10/1 17:09:46

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 10:48:55

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/2 0:02:57

PWN入门:从栈溢出原理到ROP链实战

1. 这不是“学PWN”,是重新理解你每天敲的每一行C代码我第一次在CTF赛场上写出能控制程序流的exp时,手抖得连gdb的c命令都输错三次。那道题只有23行C代码,一个gets()调用,一个printf(),一个return——它甚至没开NX&…

2026/10/2 0:02:57

Windows下cudaMallocHost显存占用之谜:WDDM与TCC模式差异及优化方案

1. 一个反直觉的显存占用现象第一次在 Windows 上看到cudaMallocHost把显存吃掉的时候,我的反应是打开任务管理器反复确认了三遍。明明调用的是主机端锁页内存分配,按 CUDA 文档的说法,这块内存应该落在系统 RAM 里,跟 GPU 的显存…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑