Viavdo&ISE&Quartus II级联Modelsim级联仿真
博主一直致力寻找高效的工作方式,所以一直喜欢折腾软件,从刚开始只用软件IDE自带的编辑器,到Notepad++,再到后来的Vim,从用ISE14.7自带的Isim仿真,到发现更好的Modelsim,再到使用do脚本自动化仿真,乐此不疲。之前一直使用Modelsim独立仿真,虽然好用,但是对于IP Core的仿真可真是麻烦,需要找到对应的IP Core库文件,所以博主一直在寻找把FPGA开发工具和Modelsim级联起来的方法,终于被我找到,分享出来!
Vivado2017.3与Modelsim级联仿真
首先在Modelsim的安装目录下新建一个文件夹,命名随意,知道是Vivado的库文件就行了。

打开一个Vivado工程,点击上方菜单栏Tools——>Compile Simulation Libraries

按上图所示选择,上面是刚才新建好要综合到的Vivado的库文件,下面是Modelsim的安装路径。设置完成后点击Compile,综合Vivado的库文件。

这个过程应该是持续半个小时或者更长,依个人电脑性能而定。

综合完成后会在Tcl Console打印出这样的信息,这都是综合好的库文件,可以看到是0Errors 警告可以忽略。

打开刚才Modelsim安装路径下新建的库文件可以看到生成了很多文件夹。

回到Vivado,点击左边Flow Navigtor的Setting——>Simulation,选择仿真工具为Modelsim,综合库文件路径指定到刚才生成好的路径。Apply。

选择3rdParty Simulators,按如图所示添加Modelsim安装路径和仿真库路径。Apply。

打开编译好的库文件夹,下面有一个modelsim.ini的文件,打开

找到如图所示部分,复制,如果你全编译了,得好老一大段呢。

然后打开Modelsim安装路径下的modelsim.ini这个文件

把刚才那段粘贴到这里。

点击Run Simulation——>Run Behavioral Simlation进行行为级仿真。

如果一直卡在这个界面,这个时候就要看下Tcl Console,窗口打印的信息了,应该是有错误或警告,Modelsim仿真时,变量必须定义在代码使用这个变量中出现之前,这个如果用过Modelsim的朋友应该会深有体会。自行解决。

一切都没有问题后,当然就会出仿真波形了。下面是重点了。

Vivado会在仿真时候在如图工程路径里生成这么几个do文件,关于do文件我前面介绍过,即自动化仿真脚本,我们只需要修改这些do文件,在Modelsim中的Transcript窗口输入do xxx.do命令即可。

键入do再按键盘↑键会自动弹出可以运行的do文件,按下Enter即可运行。

这里的后缀为udo的这个文件是Xilinx提供的用户do文件,要添加do文件的内容应该是在这里面添加,比如需要在Wave里添加其他模块的波形,直接在这个udo文件里添加相应的代码就好了。
Vivado定制一键操作工具
这里还有一个小技巧,就是Viado自定义一键操作工具,这里自定义一个Modelsim的一键仿真图标,点击就可以直接进入仿真。

点击Tools——>Custom Cpmmands——>Customzie Commands弹出如下界面。

点击如图所示+号,键入modelsim_sim,回车。

找一个Modelsim的图标图片保存在modelsim的安装路径下,图片格式为png。

按如图所示设置,从上到下,Shorcut可以设置快捷键,这里需要添加一个Tcl脚本(如下),添加modelsim图标路经,Apply。

脚本中个人要修改的是刚才编译的Vivado库文件的路径。

完成后就会在菜单栏生成一个Modelsim的图标,点击图标便可以直接进入仿真界面。
ISE14.7级联Modelsim仿真
折腾完了Vivado,咱们来继续折腾一下ISE,我们知道ISE到14.7版本就停更了,虽说最近出了个Win10版本,但是我装了下,打开就跟打开了个虚拟机似的,不习惯。虽然ISE14.7在Win10上有多个兼容性问题,不过博主都一一找到了解决办法,一直用着感觉还可以。下来整整它和Modelsim联合仿真吧。

在ISE14.7安装路径下,找到compxlibgui.exe这个可执行文件,点击运行。



如果出现上图错误,这可能是在解决win10兼容性问题的时候修改了一些文件,可以在开始菜单里,找到simulation library compilation打开。


接下来会弹出如上窗口,选择Modelsim SE,和Modelsim安装路径。

语言选择Both没准啥时候还会用到。

这里选择需要编译的库文件,可以全选,也可以吧CPLD器件勾选掉,应该不会用到了吧。

Next~

在Modelsim安装路径下新建一个ISE14.7的库文件夹,把要编译的路劲指向这个文件夹。


看网上一个博主说这个过程得快一个小时,我的电脑不到十分钟,七代I7-7700果然强悍(逃)。

Finish编译完成。

打开编译好的库文件夹,下面有一个modelsim.ini的文件,打开

找到如图所示部分,复制,我这里编译的库较少,所以只有这些,如果你全编译了,得好老一大段呢。

然后打开Modelsim安装路径下的modelsim.ini这个文件

把刚才复制的那段粘贴到这里。

打开ISE点击Edit——>Preferences——>设置Modelsim的运行路径

点击设置配置,将仿真工具设置为Modelsim SE。


然后就可以点击如图所示,弹出的窗口选择No直接仿真了。

接下来还是要提的是,ISE同样会生成自动仿真脚本。在ISE的工程目录下。在Transcript下面按↑键可自动弹出do xxx.fdo脚本命令,Enter运行。同样用户也是修改udo脚本,来添加波形。
QuartusII级联Modelsim进行仿真
顺带也折腾下QuartusII吧,其实对于QuartusII,博主是一直使用Modelsim独立仿真的,因为QuartusII的IP Core在设置的时候会告诉你用到了哪个库文件,只需要在仿真的时候把对应的库文件添加到工程里就可以了。不过调用起来其实也不麻烦,干起来。

点击上方菜单栏Tools——>Options,在EDA Tools Options中选择Modelsim软件的运行路径。

OK

上方菜单栏点击Assignments——>Setting按图所示,选择仿真工具为Modelsim。然后添加test bench文件。

点击New~

将写好的测试文件添加进来,上面的命名必须与testbench文件一致,否则会报错。

设置完成后点击OK。

OK

OK~

点击Tools——>Run Simulation Tool——>RTL Simulation,可直接运行仿真。

运行过程中如果弹出这个Error,是因为Modelsim没有破解成功,需要重新破解,破解完成后,重启软件即可。

同样的QuartusII在工程目录下也会生成一个do文件,用户可直接修改进行仿真了。
关于do文件的使用和模板,可以看我之前发的一片博文。Modelsim中使用TCL脚本编写do文件实现自动化仿真

转载请注明出处:NingHeChuan(宁河川)
个人微信订阅号:开源FPGA
如果你想及时收到个人撰写的博文推送,可以扫描左边二维码(或者长按识别二维码)关注个人微信订阅号
知乎ID:NingHeChuan
微博ID:NingHeChuan
原文地址:http://www.cnblogs.com/ninghechuan/p/8999078.html
Viavdo&ISE&Quartus II级联Modelsim级联仿真的更多相关文章
- Vivado&ISE&Quartus II调用Modelsim级联仿真
博主一直致力寻找高效的工作方式,所以一直喜欢折腾软件,从刚开始只用软件IDE自带的编辑器,到Notepad++,再到后来的Vim,从用ISE14.7自带的Isim仿真,到发现更好的Modelsim,再 ...
- 【转】Quartus II调用modelsim无缝仿真
Quartus II调用modelsim无缝仿真 ★emouse 思·睿博客文章★ 原创文章转载请注明:http://emouse.cnblogs.com 本篇文章为转载,写的不错,最近在学mode ...
- Quartus II调用modelsim无缝仿真
本篇文章为转载,写的不错,最近在学modelsim仿真,网上的教程很乱,把自己认为不错的整理贴出来,后面有机会会写个详细点的. Quartus 中调用modelsim的流程 1. 设定仿真工具 ass ...
- Quartus II 与 Modelsim 联调【转】
Quartus II 9.0版本的时候软件还有自带的仿真工具,现在安装的是11.0以上版本,才发现 Quartus II 11.0以上取消了软件自带的波形仿真工具,因此需要波形仿真就要调用专业的仿真工 ...
- Quartus II 与modelsim连接不上的问题
在Quartus II 中tools>options>General>EDA Tool Options 设置modelsim 路径 说明:不管是Quartus II 与modelsi ...
- Quartus II 使用 modelsim 仿真
转自:http://www.cnblogs.com/emouse/archive/2012/07/08/2581223.html Quartus 中调用modelsim的流程 1. 设定仿真工具 as ...
- (转)Quartus II和Modelsim的联合仿真(详细)
这篇文章不需要在modelsim中建库.映射.建工程等一些繁琐的步骤,直接使用modelsim中的默认work库.使用quartus+modelsim联合仿真. 首先推荐一篇文章 http://www ...
- quartus II输入原理图及仿真步骤
在Quartus II中输入原理图以及实现仿真是学习基本数字电路的好方法.下面以一个基本的D锁存器为例,在quartus II 13.0中一步一步来实现原理图输入以及仿真过程. 1,创建工程 指定工程 ...
- [原创][FPGA]Quartus中调用Modelsim波形仿真步骤说明
0. 简介 在使用QuartusII软件的过程中,经常地需要跑仿真,那么说到仿真就不得不说Modelsim这个仿真软件了,我们这里介绍下该软件在QuartusII中的使用方法. 1. 建立Quartu ...
随机推荐
- React Native入门教程2 -- 基本组件使用及样式
在上一篇文章中,我们学会了如何搭建React Native的环境(React Native入门教程(笔记) 1 – 开发环境搭建),不知道你们是否搭建好了呢,如果还没有,那么快动起小手,来体验RN带给 ...
- Linux中的查找命令find
原文:http://blog.csdn.net/windone0109/article/details/2817792 查找目录:find /(查找范围) -name '查找关键字' -type d ...
- Java Web 高性能开发,第 1 部分: 前端的高性能
Web 发展的速度让许多人叹为观止,层出不穷的组件.技术,只需要合理的组合.恰当的设置,就可以让 Web 程序性能不断飞跃.所有 Web 的思想都是通用的,它们也可以运用到 Java Web.这一系列 ...
- 【翻译】了解Ext JS 5的小部件
原文:Understanding Widgets in Ext JS 5 在Ext JS 5,引入了新的"widgetcolumn",支持在网格的单元格中放置组件.同时,还在Ext ...
- 一个小公式帮你轻松将IP地址从10进制转到2进制
网络工程师经常会遇到的一个职业问题:如何分配IP,通过子网如何捕捉某一网段或某台机器?他们甚至能够进行精准的分析和复杂的开发......凡此种种,其实与一些他们头脑中根深蒂固的常识性理论存有某种内在的 ...
- 【Qt编程】Qt版扫雷
学习要学会举一反三.在以前的<用matlab扫扫雷>一文中,我用matlab简单的编写了一个扫雷小程序.当然,与Windows自带的扫雷程序自然是不敢相提并论.今天我就用c++来写个扫雷程 ...
- 移动App设计的十条建议
原文链接: 10 Key Design Tips for Great Mobile Apps 原文日期: 2014年03月24日 翻译日期: 2014年04月01日 使用Android和iOS编写一个 ...
- 如何将sqlserver的windows验证模式改为SQL Server 和 Windows 混合身份验证模式
今天问同事拷贝了份虚拟机,里面已装好sqlserver2008,可是他装的时候选择的是windows身份验证,我需要将其改成SQL Server 和 Windows 混合身份验证模式,具体步骤如下: ...
- android Titlebar一行代码实现沉浸式效果
github地址 一个简单易用的导航栏TitleBar,可以轻松实现IOS导航栏的各种效果 整个代码全部集中在TitleBar.java中,所有控件都动态生成,动态布局.不需要引用任何资源文件,拷贝 ...
- 【编程练习】收集的一些c++代码片,算法排序,读文件,写日志,快速求积分等等
写日志: class LogFile { public: static LogFile &instance(); operator FILE *() const { return m_file ...