Quartus II调用modelsim无缝仿真

Quartus II调用modelsim无缝仿真

 

本篇文章为转载,写的不错,最近在学modelsim仿真,网上的教程很乱,把本身认为不错的整理贴出来,后面有机会会写个详细点的。html

Quartus 中调用modelsim的流程工具

1. 设定仿真工具 
assignmentèsettingèEDA tool settingèsimulation 选择你须要的工具。 
clip_image001post

2. 自动产生测试激励文件模板: 
processingèstartèStart test bench template writer 
clip_image003
咱们点击以后系统会自动在目录:当前文件夹è simulation è modelsim (这个文件夹名字跟你选的仿真工具备关中产生一个测试激励文件 xxx.vt(Verilog test bench) 或者 xxx.vht(VHDL test bench), 文件名跟你工程中的Top module 的名字同样, 后缀为.vt或者.vht。 
clip_image004测试

3. 编辑走动生成的test bench文件 
咱们加入本身须要的激励以及初始化语句,这里咱们还要修改test bench的模块名字为tb(咱们会看到这个名字和后面的设定有联系)。 
clip_image005url

4. 链接test bench,咱们须要从Quartus中自动调用仿真工具,因此须要设定Native Link选项。命令行

a) 仍是在simulation的设置页面里,设定 Native Link对话框中的设定。咱们这里由于须要工具自动调用激励因此选中 
clip_image007设计

b) 点击右边的Test Benches, 咱们须要在这里设定一个相关联的test bench. 
clip_image009
这里会弹出一个让你指定test bench的对话框,由于咱们以前没有指定任何的test bench,因此这里是空白的。3d

c) 指定test bench 
由于咱们是第一次产生test bench,点击new. 
clip_image011
点击New以后会产生一个New Test bench setting的对话框,在这里你将test bench和你的相应的test bench file进行绑定。 
clip_image013
咱们这里在Test bench name的对话框中输入一个名字”my_1st_tb”, 咱们将看到,在下面的Top level module in test bench对话框中也自动显示”my_1st_tb”. 注意这个名字应该和你的test bench 中的module name一直,咱们以前在第3步的时候将test bench的module name已经改为了tb,因此咱们这里应该把对话框中的名字改为tb。 
clip_image014调试

d) 加入test bench文件 
clip_image016htm

5. 进行仿真 
当这些设定都完成了以后, 选择菜单 
toolèRun EDA Simulation toolèEDA RTL simulation 
clip_image017
就能够直接调用modelsim进行仿真。

6. 小技巧: 
咱们这样调用仿真,若是是Modelsim AE每次不会编译lib文件,但若是咱们使用的是Modelsim SE版本,每次调用都须要从新编译库,很是不爽,在这里咱们建议本身修改脚本文件,进行仿真.

a) 当咱们按照以前的描述,运行完仿真以后,停留在Modelsim的界面。

b) 在Modelsim界面的命令行上,咱们点向上的方向键,就会出现咱们上一条指令, 咱们能够看到是 
do xxxx.do 这说明工具执行的上一个命令式 xxxx.do这个脚本文件,咱们这里的例子是 
do oversampling_core_run_msim_rtl_verilog.do 
clip_image019

i. 咱们知道了工具执行的脚本,咱们就能够按照本身的想法去改变这个脚本了。使用 
edit oversampling_core_run_msim_rtl_verilog.do命令,能够看到这个脚本的内容(固然咱们也可使用Ultra Edit或者VIM等文本编辑软件去打开这个脚本文件)。这个脚本一般分红3部分 库文件编译部分,设计文件编译,运行参数设定和开始执行部分 
clip_image021

ii. 一般来讲库文件只在第一次编译的时候,须要编译,后面咱们只须要在仿真的时候指定库文件的位置就行了,不须要每次都编译。所以咱们能够注释掉“库文件编译部分”。下面图中红色框中的部分就是被注释掉的库编译部分,这样会节省咱们的仿真时间,注意在脚本语言中#是注释符。 
clip_image023

iii. 咱们将编辑过的脚本文件另存为sim.do, 在之后的仿真中咱们能够在Modelsim命令行中,直接在脚本中运行do sim.do(固然是先须要将Modelsim的工做目录改到 工程所在文件夹/simulation/modelsim/)。

c) 另外脚本生成的波形文件一般是将test bench的顶层加入到图形画面中咱们能够看到在脚本的第3部分(运行参数和开始执行)部分,默认命令式 
add wave *, 这条命令就是讲 test bench顶层的全部信好加入到wave窗口中。 
clip_image024
对咱们来讲,在调试阶段,有不少底层信号都是想观测的,因此须要再手动修改一下命令

i. 在modelsim的窗口中,选中本身想要关心的模块,右键能够将本身关心的信号加入wave波形中 
clip_image026clip_image028

ii. 此时咱们在wave 窗口中能够将这个波形的格式存下来,在wave窗口中点菜单fileèsave… 选择文件名为wave.do. 
clip_image030

iii. 在咱们执行的脚本中将add wave *,这个命令替换成do wave .do, 就能够在每次执行仿真的时候自动添加想要观测的波形了。 
clip_image024[1]clip_image031

7. 接下来最后一个问题,怎样才能一次性的编译好库文件,让软件再也不每次编译。其实altera已经为客户准备了相应的选项,只不过藏得比较深,很差找。

a) 一次性编译库:

i. 点击toolè launch EDA simulation Library Compiler 
clip_image033

ii. 咱们会看到一个让咱们选择器件的页面。根据你的实际状况选择下面的设定。点击start compile,软件会自动帮你完成编译,而后关掉就好,至此你应该已经完成了库的编译。 
clip_image035

iii. 接下来咱们须要在QII的仿真设定页面作一些修改。 
咱们须要回到设定界面 
Assignmentèsettingèsimulationèmore Nativelink setting 
clip_image037

设定好相应的路径。 
clip_image039

好了,从新run仿真,就发现不会再编译咱们的库文件了。

★emouse 思·睿博客文章★ 原创文章转载请注明:http://emouse.cnblogs.com
相关文章
相关标签/搜索