Vivado:【1】Vivado 2018.3 配置ModelSim仿真
碎碎念:
想要之后尽量将更新频率提高一些!_(:з)∠)_
众所周知Vivado其实自带了仿真工具Vivado Simulator,但是使用起来有些卡顿和延迟(尽管UI非常好看)。
由于Vivado本身支持多种第三方仿真工具,我们可以自己配置所需要的仿真环境。本文介绍Vivado2018.3 & Modelsim DE-64 10.6c来实现更高效的代码仿真。
目录
1 软件安装
1.1 Modelsim 10.6 c的安装
2 仿真配置
3 新建工程时的仿真设置
4 仿真测试
5 修改代码并再次仿真
6 参考博客
1 软件安装
这里不对Vivado 2018.3 的安装进行介绍,具体可以参考正点原子提供的安装教程(或者参考其他教程),默认大家已经安装好了Vivado软件。
在Xilinx官网中明确写出了不同版本的Vivado所对应的第三方仿真工具,大家一定要注意安装对应的版本,否则会报错。
Xilinx Customer Community
我的电脑系统是Windows 10,使用的软件版本是Vivado 2018.3,因此有上图可知需要安装ModelSim 10.6c。
1.1 Modelsim 10.6 c的安装
下载链接:可以关注公众号“Alex的书桌与实验室”,回复“3MS”获取下载链接。
下载后解压文件:
右键点击第三个安装文件,以管理员身份运行,点击下一步,注意安装路径下不能出现中文或者空格。
如果提示目标路径不存在,点击“是”,创建即可。
当出现Add Modelsim To Path选择是。
当出现Install Hardware Security Key Driver时选择否。
出现Modelsim License Wizard时选择Close。
安装完成后,进入modelsim安装目录:
将安装包下的crack.bat、MentorKG.exe复制到win64pe这个目录下。
win64pe目录下的mgls64.dll重命名为mgls.dll。(tips:键盘上的F2是重命名的快捷键)
如下图是修改前:
修改后:
双击运行我们复制进来的crack.bat,等待20s左右,会弹出如下的界面:
我们将所生成的LICENSE.TXT另存为到modelsim的安装目录下,这里我的路径是:D:\ProgramFiles\modelsim_dlx64_10.6c
之后将win64pe目录下修改过名称的mgls.dll文件名字改回到mgls64.dll
在桌面点击“此电脑”-“属性”-“高级系统设置”-“环境变量”。在系统变量下点击新建。
添加系统变量:
变量名:MGLS_LICENSE_FILE
变量值:D:\ProgramFiles\modelsim_dlx64_10.6c\LICENSE.TXT
点击确定,就完成了环境变量的配置。
此时可以打开桌面的图标,(前提是安装过程中选择了在桌面创建快捷方式),验证是否完成了破解。
如果成功打开,证明安装完成。
2 仿真配置
打开Vivado 2018.3。
点击:
之后会弹出如下的界面,对于2018.3来说,我们需要修改这4处:
1:选择仿真器为ModelSim Simulator
2:这个表示编译库的存放位置,我这里在Vivado2018的安装目录下,新建了一个名为Modelsim_Vivado_Lib的文件夹,用来存储编译库。因此路径设置为 D:/ProgramFiles/Xilinx2018/Modelsim_Vivado_Lib
3:这里用来填写modelsim.exe的路径。 D:/ProgramFiles/modelsim_dlx64_10.6c/win64pe
4:这里表示将会编译所有的Xilinx IP核,以后再次使用IP的时候就不需要再次编译了。
设置完成后点击“Compile”即可,Vivado会开始编译,这里花费的时间会比较长,我们可以通过Tcl Console窗口看到编译的过程。
在我的电脑上花费了30分钟的时间进行编译,编译完成后如下:
可以看到遇到了一个问题,经过查找由于很可能不会用到出现问题的IP核,因此直接忽略这个错误提示即可。至此编译完成。
3 新建工程时的仿真设置
对于Vivado来说,每次新建的工程都会默认仿真工具为Vivado Simulator,因此每个新工程都要重新设置一次。
这里我们以正点原子ZYNQ7000系列视频中FPGA例程1_led_twinkle为例进行设置(对于任何工程的设置方法是一样的),设置好之后也可以使用另存为来作为新工程的模板。
首先打开正点原子的例程1_led_twinkle。
点击Tools-Settings...
在弹出的界面选择Simulation标签页,分别设置Target simulator 为 ModelSim Simulator;将Compiled library location 设置为我们之前存储编译库的文件夹路径。
之后选择3rd Party Simulators标签页,分别设置ModelSim的路径为win64pe的路径,并将其默认编译库的位置设置为我们之前存储编译库的文件夹路径。
完成后点击“OK”即可。
4 仿真测试
继续在上面的步骤进行仿真测试,由于工程中正点原子已经提供了tb文件和模块代码,我们直接点击左侧的:SIMULATION-Run Simulation-Run Behavioral Simulation即可。
经过短暂的等待,成功弹出了ModelSim的仿真界面,证明安装配置完成。
5 修改代码并再次仿真
那么如何发挥出Modelsim仿真速度更快的优势呢?通过咨询@公子哥大佬,假设我们已经进行过一次仿真,弹出了modelsim的界面,我们可以按照如下流程实现:
1.修改代码,并保存:
2.在ModelSim DE-64 10.6c 的Library部分找到这库xil_defaultlib。(一定是存在的,并且会对应着你所打开的Vivado工程):
3.选中其中的三个文件重新编译:
Transcript显示编译成功:
4.打开波形界面Wave,点击重新Restart即可:
6 参考博客
FPGA学习之路—Vivado与Modelsim联合仿真_modelsim和vivado_日拱一卒_未来可期的博客-CSDN博客
https://blog.csdn.net/weixin_42837669/category_10559725.html
modelsim安装小结_add modelsim to path_嵌入式程序员Alpha的博客-CSDN博客
有没有感觉瞬间效率提高了很多?这就是本期的全部内容啦,如果你喜欢我的文章,不要忘了点赞+收藏+关注,分享给身边的朋友哇~
Vivado:【1】Vivado 2018.3 配置ModelSim仿真相关推荐
- Vivado级联Modelsim仿真Re-launch问题
Vivado级联Modelsim仿真出现修改设计代码后重新run do文件,波形没有随着代码修改而改变,这个问题博主之前没有注意到,因为把Vivado和Modelsim级联好后还没有试过仿真过,不过用 ...
- Vivado联合ModelSim仿真设置(附图步骤)
目录 1.在Vivado中生成lib 2.生成库的选择 3.点击Compile,即可开始生成库文件 4.在Vivado中添加ModelSim调用设置 5.将Vivado的仿真库添加到ModelSim中 ...
- vivado使用modelsim仿真
vivado使用modelsim仿真 vivado 修改vivado默认仿真器 将vivado中的IP编译成modelsim库 modelsim 效果 vivado 修改vivado默认仿真器 将to ...
- Vivado使用技巧(18):仿真功能概述
仿真功能概述 仿真FPGA开发中常用的功能,通过给设计注入激励和观察输出结果,验证设计的功能性.Vivado设计套件支持如下仿真工具:Vivado Simulator.Questa.ModelSim. ...
- Modelsim仿真操作指导
目录 一.前言 二.仿真分类 三.RTL级仿真 3.1创建库 3.2 仿真配置设置 3.3 运行仿真 四.常见问题 4.1 # Error loading design 4.2 运行仿真时报错&quo ...
- Xilinx MIG DDR3 控制器 Modelsim 仿真
项目上用到图像拼接,输入的视频流要存DDR3,做个DDR3的Modelsim仿真.软件版本用的Vivado2017.3,这个版本生成的Modelsim仿真库好像跟Modelsim10.6版本才兼容.常 ...
- FPGA配合debussy、modelsim仿真环境搭建
FPGA配合debussy.modelsim仿真环境搭建 一.软件环境搭建 1,modelsim. 2,debussy 二.工程环境搭建 1,生成testbench 2.生成.fsdb波形文件 第一步 ...
- ModelSim仿真入门之一:软件介绍
http://www.cnblogs.com/xd-elegant/p/4093645.html 编写这个教程之前,为了让不同水平阶段的人都能阅读,我尽量做到了零基础入门这个目标,所有的操作步骤 ...
- modelsim仿真quartus软件IP核错误及解决办法
本人作为萌新.在这个寒假第一次接触FPGA,并且在仿真的过程中遇到了很多问题,并且通过互联网发现csdn上有许多大佬分享的心得与资料.虽然很多大佬的思路给了我启发,但是实现过程不够细致,导致仿真过程出 ...
最新文章
- 学习Python不错的网站
- FPGA 的I/O BANK介绍
- Objective - C基础: 第一天 - 5.对象和类
- leetcode 209. Minimum Size Subarray Sum | 209. 长度最小的子数组(Java)
- Rational Rose 2003 下载、破解及安装方法(图文)
- ListView(2)
- 什么舱位_把“订舱位”说成book warehouse position,外企不会要你
- Share Favorites
- NumPy————NumPy广播机制的学习笔记
- Windows下后台运行cmd启动的程序
- mysql数据库任务计划_MySQL计划任务(事件调度器) Event Scheduler介绍
- Wind安装python插件遇到问题怎么办
- 金士顿服务器内存条怎么看型号,区分内存条型号的方法
- Flex TLF 相关知识
- 搜狗公众号爬虫学习系列一公众号的biz
- uva10056(概率+等比求和)
- 【二叉树前/先序DLR中序LDR后序LRD遍历及镜像翻转,so esay~】
- Tetris项目总结
- DevExpress中动态设置主题、皮肤
- mysql 事务机制
热门文章
- 果集数据:从化妆镜切入“她”赛道,Amiro如何挖掘科技美护市场新机会?
- Javascript中四舍六入五成双
- 个人家用nas_家庭私有云盘系列教程-本地搭建家庭NAS方案
- 【最短路径树】 [USACO09JAN]Safe Travel G
- 运动图像目标检测与跟踪简述
- otg烧写linux内核,Linux——OTG方式烧写镜像文件步骤总结
- Object.assign方法的使用和splice方法用法
- 计算机专业排名211大学排名,计算机专业大学排名,计算机专业强的211!
- get the sack
- python curl 获取返回值_python-将curl查询转换为请求