ModelsIm是FPGA仿真中最常见的软件之一。可以单独利用Modelsim来仿真或者通过开发工具调用来联合仿真。至于用哪一种方法呢?那就取决于个人的喜好了,经过一段时间的对比,目前我比较趋向于利用开发工具联调来仿真。主要有以下优势:
联调仿真分析,操作简单。你几乎不需要手动敲Tcl指令就可以进行仿真,自动化程度更高。
与单独用Modelsim建立工程仿真相比,联调仿真一般在仿真是所需要调用的库,软件会自动分析,不需要自己筛选仿真所需的库文件,且不容易出错。这一优势在你仿真工程中带有大量IP核、原语的时候,会体现得淋漓尽致。
在仿真时候,多个测试用例仿真时,层次结构更加清晰。
本文就如何利用vivado联合modelsim仿真进行简要说明。
1.仿真前具体设置
利用vivado先编译好modelsim仿真所需要的库。存放在某个文件夹中,方便以后调用。我的习惯一般将库放到modelsim的安装目录下,新建一个文件夹来存放新编译的库。如下图所示文件夹叫vivado2017_lib。方便区分,我就以我用的vivado版本来命名。
修改modelsim.ini文件,将库添加到modelsim的启动中。具体做法在介绍modelsim仿真一文有详细说明,这里不展开。
接Vivado的相关设置。主要包含以下4步,其中第4步是把仿真库指向前一个步骤编译出来的库文件。第5步是指向modelsim启动程序的路径。
以上即做好了联合仿真前的准备设置工作了。
2.仿真步骤
工程准备完毕后,添加好仿真所需文件(testbench/仿真激励模块)。例如下图中,1是我准备要仿真的工程。2是仿真的顶层文件即测试用例,3是仿真包含的内容,包括需要仿真的文件(UDT),仿真激励,例如时钟以及复位产生文件等。其中UDT即仿真对象是可综合的文件。
激活当前仿真的测试用例,就可以开始仿真了。
问题1:如何保留我这一次的观察信号设置?
具体操作步骤如下:
为了方便保留这一次仿真中的一些观察信号以及设置,我们可以把它保存下来。在modelsim软件呢中,点击保存,想这次的相关设置保存好do文件。注意:为例避免被覆盖掉,一般不能取默认的命名,建议将do文件命名与对应的测试用例对应上。
问题2:怎样还原上一次的仿真波形等设置?
在下一次启动modelsim的时候,选择File—>LoadàMacro_File,然后选择上一次保留的设置文件即可。
问题3.如何添加多个测试用例文件?
通过下述步骤添加仿真文件。例如不同的testbench等。
针对多个testbench的情况,通过设计set_as_top选择来激活当前testbench,从而决定该次仿真的测试用例。如下图的工程中,包含了2个测试用例,当前激活的是tb02。
3.可能出现的问题
联合仿真的时候,有时候并不像单独利用modelsim仿真的那样,会弹出错误日志方便你定位。有时候有些错误(例如语法错误,编译顺序的问题,中文路径或者缺乏某个文件导致没能仿真成功)会导致vivado一直卡住了,没能够走到调用modelsim的不骤。那么碰到这种情况,我们可以去哪找到日志呢?
以我建的工程为例,一般在vivado存放仿真工程的路径中,可以找到compile.log和simulate.log这两个日志文件,方便定位。
4.仿真文件管理建议
一个好的仿真文件管理习惯,有助于快速还原当初的仿真环境,有助于定位问题。
最起码可以在仿真文件中包含以下几个子文件夹,其中HDL用于存放仿真是所编写的一些文件,例如仿真的时钟产生模块、外围芯片模型等;TB_PTN用于存放不同的测试用例,即不同的testbench。Wave文件用于存放针对不同testbench下观察信号的设置等等。
审核编辑:汤梓红
-
FPGA
+关注
关注
1629文章
21729浏览量
602986 -
仿真
+关注
关注
50文章
4070浏览量
133552 -
ModelSim
+关注
关注
5文章
174浏览量
47162 -
编译
+关注
关注
0文章
657浏览量
32852 -
Vivado
+关注
关注
19文章
812浏览量
66470
原文标题:4.仿真文件管理建议
文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论