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 ...
随机推荐
- 【一天一道LeetCode】#226. Invert Binary Tree
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 来源:http ...
- JAVA代码规范笔记(下)
声明 17.推荐一行一个声明,因为这样有利于写注释.换句话说,下面的声明方法中, int level; // indentation level int size; // size of table ...
- 如何在Cocos2D游戏中实现A*寻路算法(二)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- iOS中 图文混排/自定义图文混排 作者:韩俊强
指示根视图:(准备几张图片,把label加载在window上) CustomLable *label = [[CustomLable alloc]initWithFrame:CGRectMake(0, ...
- K-均值聚类算法(K-means)
K-means是一种无监督的学习,将相似的对象归到同一个簇中.可以将一批数据分为K个不同的簇,并且每个簇的中心采用簇中所含样本的均值计算而成. K-means算法的K值需要由用户指定, ...
- 【IOS 开发】Object-C 运算符
博客地址 : http://blog.csdn.net/shulianghan/article/details/41624613 1. 算术运算符 算术运算符 : 加(+), 减(-), 乘(*), ...
- 从JDK源码角度看线程池原理
"池"技术对我们来说是非常熟悉的一个概念,它的引入是为了在某些场景下提高系统某些关键节点性能,最典型的例子就是数据库连接池,JDBC是一种服务供应接口(SPI),具体的数据库连接实 ...
- Java Web 高性能开发,第 3 部分: 网站优化实战
这个系列的前两篇,介绍了前端的优化技术,这些技术秉承了前人至高无上的智慧,我只是负责吸收和传播.然而,这些技术一般也都是某某大型网站的技术经验,我们大部分人或许只能接触到相对小规模的网站,小规模的网站 ...
- linux服务器批量部署应用系统shell脚本(Tomcat/jetty)
linux服务器批量部署应用系统shell脚本: 1.请更换代码内的服务器地址(Tomcat或jetty服务器) serverRoot=/home/undoner/java_tool/apache-t ...
- Java对象引用处理机制
翻译人员: 铁锚 翻译时间: 2013年11月13日 原文链接: How does Java handle aliasing? 什么是Java的引用别名机制 Java的引用别名机制(原文为Aliasi ...