Quartus II 与 Modelsim 联调【转】
Quartus II 9.0版本的时候软件还有自带的仿真工具,现在安装的是11.0以上版本,才发现 Quartus II 11.0以上取消了软件自带的波形仿真工具,因此需要波形仿真就要调用专业的仿真工具Modelsim.
刚开始几天非常不习惯使用Modelsim,总觉得各种麻烦和不习惯,一度有想换回9.0版本的冲动,但是想想技术总是往前发展的,既然Quartus 取消了自带的仿真,而使用专业的仿真工具Modelsim总是有其自己的道理,所以还是决定学习新技术。经过几天的学习加练习,总算是熟练了一些。
这里我来谈谈如实使用Quartus来调用modelsim进行仿真。
1. 首先在Quartus II 中新建工程,在tools-->options-->General-->EDA Tool Option中设置好Modelsim的安装文件的路径,这里我的安装路径是在C:\modeltech64_10.0c\win64,如图:

2.然后为你的工程新建或者添加设计文件(原理图或者Verilog HDL),编译成功后,如果你的设计文件是原理图文件的话,还需要先转化为Verilog HDL文件,这是因为Modelsim只能仿真Quartus中的.v文件,而无法仿真.bdf文件。方法如下,在打开原理图的情况下,点击File-->Create/Updata-->Create HDL Design File For Current File,跳出如下图:

打开你的Verilog HDL文件,选择Verilog HDL,点击OK,然后重新编译这个文件,这里需要注意的是,如果你要编译.v文件,那么就需要先移除掉.bdf文件,否则会报错如下图:这是因为两个文件重复了。

3.Verilog HDL文件编译成功后,设置Assignments-->Settings-->Simulation 如下图:

Tool name 中选Modelsim,Format for output netlist 选Verilog HDL,Time scale 为最小时间单位,output directory可以选择默认的,它会在工程目录中自动生成该文件用来保存接下去产生的仿真测试文件,最后保存该设置。
4.回到主界面,选择processing-->Start-->Start Test Bench Template Writer,就会产生一个和本工程中当前的.v文件关联的测试文件,若是成功,它会跳出对话框表明成功了,如下图。

5.打开测试文件File-->Open-->simulation/modelsim-->对应的.vt文件后,可以查看相关的测试文件,它已经为你自动生成了测试框架,可以在这里修改测试文件,也可以到后面到modelsim软件中进行修改。
6.测试文件生成后,点击回到第3步中的界面,在NativeLink settings中选择Compile test bench,点击后面的Test Benchs...跳出如下界面:

点击New,跳出如下界面:

在Top level module in test bench 中输入测试文件的模块名,这个模块名可以在第5步中查看。输入后Test bench name也作了相应的修改。选中Use test bench to perform VHDL timing simulation,将Designe instance name in test bench改为i1。在Test bench files-->File name打开相应的.vt测试文件,如下图,然后Add-->OK.

7.以上的设置好之后,就剩最后一步了,点击Tools-->Run EDA Simulation Tool-->EDA RTL Simulation,就自动打开Modelsim软件进行仿真了,如果你在第5步中没有修改测试文件,那么这次的仿真是无效的。可以在Modelsim中打开.vt测试文件,进行修改(初始化,生成激励波形等),然后在Modelsim中进行仿真。Modelsim的仿真方法和步骤下次再说。
如果不使用Quartus II直接调用Modelsim的话,也可以直接打开Modelsim,然后新建工程,将Quartus II编译好的.v文件直接拷贝到Modelsim新建的工程中,进行仿真。仁者见仁智者见智,大家觉得哪个好用就用哪个方法吧!使用了几天这个方法后,现在我觉得还是蛮便捷的!
Quartus II 与 Modelsim 联调【转】的更多相关文章
- 【转】Quartus II调用modelsim无缝仿真
Quartus II调用modelsim无缝仿真 ★emouse 思·睿博客文章★ 原创文章转载请注明:http://emouse.cnblogs.com 本篇文章为转载,写的不错,最近在学mode ...
- Quartus II 与modelsim连接不上的问题
在Quartus II 中tools>options>General>EDA Tool Options 设置modelsim 路径 说明:不管是Quartus II 与modelsi ...
- Quartus II调用modelsim无缝仿真
本篇文章为转载,写的不错,最近在学modelsim仿真,网上的教程很乱,把自己认为不错的整理贴出来,后面有机会会写个详细点的. Quartus 中调用modelsim的流程 1. 设定仿真工具 ass ...
- 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 ...
- Viavdo&ISE&Quartus II级联Modelsim级联仿真
博主一直致力寻找高效的工作方式,所以一直喜欢折腾软件,从刚开始只用软件IDE自带的编辑器,到Notepad++,再到后来的Vim,从用ISE14.7自带的Isim仿真,到发现更好的Modelsim,再 ...
- Vivado&ISE&Quartus II调用Modelsim级联仿真
博主一直致力寻找高效的工作方式,所以一直喜欢折腾软件,从刚开始只用软件IDE自带的编辑器,到Notepad++,再到后来的Vim,从用ISE14.7自带的Isim仿真,到发现更好的Modelsim,再 ...
- Quartus ii 12.0 和ModelSim 10.1 SE安装及连接
quartus ii 10.0后就没有自带的仿真软件,每次写完一个VerilogHDL都想简单仿真一下,结果发现没有了自带仿真软件.这时候就需要第三方仿真软件ModelSim 10.1 SE. Qua ...
- Modelsim SE 和 Quartus II 编译器(综合器)的区别
当对目标模块进行RTL描述后,习惯先会用Modelsim做一下功能仿真.当我们写好Tensbench文件,直接在Modelsim SE中对源文件(design和Testbench)进行编译时,如果源文 ...
随机推荐
- Windows对象
JS之Window对象 一.说明: 他是JS中最大的对象,它描述的是一个浏览器窗口,一般要引用他的属性和方法时,不需要用“Window.XXX”这种形式,而是直接使用“XXX”.一个框架页面也是一个窗 ...
- 输出MYSQL所有SQL语句
在my.cnf中的mysqld段增加如下参数,然后重启MYSQL: log-output = FILE general_log = 1 general_log_file = "D:/Visu ...
- 关于mybatis一对多关联时
一对多关联时注:collection标签,property属性名称,column参数字段, ofType查询返回类型,select查询方法,javaType方法的返回类型
- 几种垂直居中的方式及CSS图片替换技术
由于块级元素的高度是可以设置的,所以对于块级元素的垂直居中比较简单. 方法一: 在不定高的情况下,把元素的上下内边距设为同一个值即可实现,即padding :10px 0; 以上方法针对块级元素和 ...
- 通过a++来理解闭包改变作用域的问题
纯属个人理解,如果有误请指出! 让我们先看一段代码 function dog(){ var a=100; a++; return a; } alert(dog()); alert(dog()); 我们 ...
- Reverse Linked List II 单向链表逆序(部分逆序)
0 问题描述 原题点击这里. 将单向链表第m个位置到第n个位置倒序连接.例如, 原链表:1->2->3->4->5, m=2, n =4 新链表:1->4->3-& ...
- 动态生成tr,并将其下控件的值拼接后传到后台并保存
有两个表(主表和子表),现在需要根据主表某一个字段动态的生成记录(一条记录就一个tr),然后再讲tr下控件的各个值取出来,传到后台,并保存到子表. html代码: <!--#for(Record ...
- ASP.NET Repeater 控件分页
protected void Page_Load(object sender, EventArgs e) { HttpContext context = HttpContext.Current; co ...
- javaweb学习总结 servlet开发(一)
转载:http://www.cnblogs.com/xdp-gacl/p/3760336.html 这里主要是将其加入自己的理解过一遍. 这里的代码全在eclipse java ee中执行的. 一.s ...
- ios 改变push方向,可以把present改为push方式
- (void)pop{ CATransition* transition = [CATransition animation]; transition.duration = 0.5; ...