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

Vivado【1】:Vivado 2018.3 配置ModelSim仿真_第1张图片

我的电脑系统是Windows 10,使用的软件版本是Vivado 2018.3,因此有上图可知需要安装ModelSim 10.6c。

1.1 Modelsim 10.6 c的安装

下载链接:可以关注公众号“Alex的书桌与实验室”,回复“3MS”获取下载链接。

下载后解压文件:

Vivado【1】:Vivado 2018.3 配置ModelSim仿真_第2张图片

右键点击第三个安装文件,以管理员身份运行,点击下一步,注意安装路径下不能出现中文或者空格。

Vivado【1】:Vivado 2018.3 配置ModelSim仿真_第3张图片

如果提示目标路径不存在,点击“是”,创建即可。

当出现Add Modelsim To Path选择是。

当出现Install Hardware Security Key Driver时选择否。

出现Modelsim License Wizard时选择Close。

安装完成后,进入modelsim安装目录:

Vivado【1】:Vivado 2018.3 配置ModelSim仿真_第4张图片

将安装包下的crack.bat、MentorKG.exe复制到win64pe这个目录下。

win64pe目录下的mgls64.dll重命名为mgls.dll。(tips:键盘上的F2是重命名的快捷键)

如下图是修改前:

修改后:

双击运行我们复制进来的crack.bat,等待20s左右,会弹出如下的界面:

Vivado【1】:Vivado 2018.3 配置ModelSim仿真_第5张图片

我们将所生成的LICENSE.TXT另存为到modelsim的安装目录下,这里我的路径是:D:\ProgramFiles\modelsim_dlx64_10.6c

Vivado【1】:Vivado 2018.3 配置ModelSim仿真_第6张图片

之后将win64pe目录下修改过名称的mgls.dll文件名字改回到mgls64.dll

在桌面点击“此电脑”-“属性”-“高级系统设置”-“环境变量”。在系统变量下点击新建。

Vivado【1】:Vivado 2018.3 配置ModelSim仿真_第7张图片

添加系统变量:

Vivado【1】:Vivado 2018.3 配置ModelSim仿真_第8张图片

变量名:MGLS_LICENSE_FILE

变量值:D:\ProgramFiles\modelsim_dlx64_10.6c\LICENSE.TXT

点击确定,就完成了环境变量的配置。

此时可以打开桌面的图标,(前提是安装过程中选择了在桌面创建快捷方式),验证是否完成了破解。

Vivado【1】:Vivado 2018.3 配置ModelSim仿真_第9张图片

如果成功打开,证明安装完成。

Vivado【1】:Vivado 2018.3 配置ModelSim仿真_第10张图片

2 仿真配置

打开Vivado 2018.3。

Vivado【1】:Vivado 2018.3 配置ModelSim仿真_第11张图片

点击:

Vivado【1】:Vivado 2018.3 配置ModelSim仿真_第12张图片

之后会弹出如下的界面,对于2018.3来说,我们需要修改这4处:

Vivado【1】:Vivado 2018.3 配置ModelSim仿真_第13张图片

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窗口看到编译的过程。

Vivado【1】:Vivado 2018.3 配置ModelSim仿真_第14张图片

在我的电脑上花费了30分钟的时间进行编译,编译完成后如下:

Vivado【1】:Vivado 2018.3 配置ModelSim仿真_第15张图片

可以看到遇到了一个问题,经过查找由于很可能不会用到出现问题的IP核,因此直接忽略这个错误提示即可。至此编译完成。

3 新建工程时的仿真设置

对于Vivado来说,每次新建的工程都会默认仿真工具为Vivado Simulator,因此每个新工程都要重新设置一次。

这里我们以正点原子ZYNQ7000系列视频中FPGA例程1_led_twinkle为例进行设置(对于任何工程的设置方法是一样的),设置好之后也可以使用另存为来作为新工程的模板。

首先打开正点原子的例程1_led_twinkle。

Vivado【1】:Vivado 2018.3 配置ModelSim仿真_第16张图片

点击Tools-Settings...

Vivado【1】:Vivado 2018.3 配置ModelSim仿真_第17张图片

在弹出的界面选择Simulation标签页,分别设置Target simulator 为 ModelSim Simulator;将Compiled library location 设置为我们之前存储编译库的文件夹路径。

Vivado【1】:Vivado 2018.3 配置ModelSim仿真_第18张图片

之后选择3rd Party Simulators标签页,分别设置ModelSim的路径为win64pe的路径,并将其默认编译库的位置设置为我们之前存储编译库的文件夹路径。

Vivado【1】:Vivado 2018.3 配置ModelSim仿真_第19张图片

完成后点击“OK”即可。

4 仿真测试

继续在上面的步骤进行仿真测试,由于工程中正点原子已经提供了tb文件和模块代码,我们直接点击左侧的:SIMULATION-Run Simulation-Run Behavioral Simulation即可。

Vivado【1】:Vivado 2018.3 配置ModelSim仿真_第20张图片

经过短暂的等待,成功弹出了ModelSim的仿真界面,证明安装配置完成。

Vivado【1】:Vivado 2018.3 配置ModelSim仿真_第21张图片

5 修改代码并再次仿真

那么如何发挥出Modelsim仿真速度更快的优势呢?通过咨询@公子哥大佬,假设我们已经进行过一次仿真,弹出了modelsim的界面,我们可以按照如下流程实现:

1.修改代码,并保存:

Vivado【1】:Vivado 2018.3 配置ModelSim仿真_第22张图片

2.在ModelSim DE-64 10.6c 的Library部分找到这库xil_defaultlib。(一定是存在的,并且会对应着你所打开的Vivado工程):

Vivado【1】:Vivado 2018.3 配置ModelSim仿真_第23张图片

3.选中其中的三个文件重新编译:

Vivado【1】:Vivado 2018.3 配置ModelSim仿真_第24张图片

Transcript显示编译成功:

Vivado【1】:Vivado 2018.3 配置ModelSim仿真_第25张图片

 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使用技巧,fpga开发,Vivado,Verilog,fpga,ModelSim)