基于modelsim和debussy的批处理仿真

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于modelsim和debussy的批处理仿真

本文将会叙述采用批处理的方法进行modelsim结合debussy仿真调试。目的在于提高仿真效率。该流程只适用于FPGA的前仿真,使用verilog文件以及测试文件。

如此操作有以下几个优点:

1、虽然开始的时候需要稍作准备,但等你完成了一次仿真后,以后只需要略微

修改一下就可以直接应用到其他工程里边去。相对于采用用modelsim的界面操作,省去了很多例如创建工程、添加仿真文件、进行编译、进行仿真等等节省了宝贵的工作时间。当然可以提高工作效率。

2、文件管理非常清楚。所有的verilog文件都放在一个文件夹,所有仿真需要的

文件以及仿真结果都放在另外一个文件里边,而且仿真后的文件也相对于使用modelsim界面操作仿真结果要少。

3、还有就是,因为没有界面操作,仿真速度会快很多,特别是采用modelsim进

行稍微大的仿真的时候,这时候采用这种方法的优势就更加明显了。

以下是进行仿真前的准备工作

第一步:安装modelsim、debussy软件以及编译相应的仿真库,如何安装以及破解,网络上有很多的资料说明,在这里就不详细说了。对于仿真库的编译,也有很多的方法,可以参考文章《modelsim添加仿真库方法》by Craftor。许多工程师也在自己的博客写过或转载过相似的库编译的方法。

这些都是我进行批处理仿真前已经做好了。

我的软件都是装在D盘分别是:D:\modeltech_6.5e和D:\Novas\Debussy

第二步:创建do文件。

如下(行号不需要):

1、vlib work

2、vlog-f vfile.f-incr

3、vsim-L xilinxcorelib_ver-L unisims_ver-L simprims_ver-L uni9000_ver-L unisims_ver-pli novas_fli.dll-lib work tuner_iic_tb

4、run40ms

5、exit

然后保存为sim.do

解析:1表示创建仿真工作库,也就是将你编译文件之后的文件存在这个work文件夹下。

2表示编译vfile.f文件里边的文件,也就是将你要编译的的文件以及仿真文件添加到该文件里边去,下文会有说明。

3调用仿真库,因为我是用了xilinx的器件,所以要添加相应的ip仿真库,在编写testbench的时候,我们通过加入函数产生fsdb文件,例如:

initial

begin

$fsdbDumpfile("top.fsdb");

$fsdbDumpvars(0,top)

End

说明:这里边有两个函数fsdbDumpfile以及fsdbDumpvars

所以,我们还需要一些操作:也就是将debussy文件里边的novas_fli.dll文件拷贝到modelsim 的win32目录下例如我的目录是:D:\modeltech_6.5e\win32然后在modelsim目录下的ini 文件修改一下,也就是将veriuser的路径值指向该文件

Veriuser=D:\Novas\Debussy\share\PLI\modelsim_fli54\WINNT

在3里边的-pli novas_fli.dll就是因为有这两个函数,需要debussy来解析一下(具体机理也没搞明白),如果不添加这句话就会出现警告说,这个函数没有定义,也就是无法产生fsdb 文件。

还有就是,在最后要添加上自己testbench的module名。表示这个是顶层。

4表示仿真运行40ms,其实这个仿真时间也可以在testbench里边表示。

小结:因为我们需要利用modelsim来进行仿真,然后产生fsdb文件,利用debussy进行观察仿真结果,所以,在这一步我们需要较繁琐的操作。

总的来说,也就是将debussy的一个dll文件拷贝到modelsim的目录下,然后修改一下ini 里边的路径,对应的文件夹分别是:

Modelsim D:\modeltech_6.5e\win32

Debussy D:\Novas\Debussy\share\PLI\modelsim_fli54\WINNT

然后修改modelsim.ini文件,Veriuser=D:\Novas\Debussy\share\PLI\modelsim_fli54\WINNT 因为我之前老是产生fsdb文件的时候出错,所以有点啰嗦。可以试一下,是不是不用修改ini文件,或者不用拷贝dll文件,因为我觉得有点重复了。

注意:在debussy里边,可能对应有多个novas_pli.dll,大家注意一下哪个是你modelsim的版本,因为可能debussy下边会有好几个novas_pli.dll文件。

第三步:创建vfile.f文件

该文件主要是一个列表,就是要将你需要仿真时用到的文件添加进来。如我的:

../rtl/tb/uart_model.v

../rtl/tb/I2Cslave.v

../rtl/uart_intf/wb2ibus.v

../rtl/uart_intf/wb_arbiter.v

以上内容表示文件保存在该目录的上一级目录的rtl文件夹下。

然后保存为vfile.f,其实其他文件名字也可以,只要在第二步的时候,对应你的名称就可以

了。注意:一定要将testbench写在第一个位置,因为涉及到仿真的精度,如果你第一个文件没有写明仿真进度的话,后边编译会报错。好像只要有`timescale这个说明就可以了。

同时,不用我多说了,当然是在创建rtl文件夹,将你所有的rtl文件放在rtl该文件夹下。

第四步:创建bat文件

这一步很简单,就是要启动modelsim的仿真程序,执行第二步的sim.do文件

例如:

D:\modeltech_6.5e\win32\vsim.exe-c-do sim.do

我一般保存为modelsim.bat。

然后,我们可以同样的道理,也通过这种方法调用debussy软件,直接打开仿真结果

D:\Novas\Debussy\bin\Debussy.exe-f E:\modelsim\ncsim\vfile.f

以上是我的debussy.bat文件

表示,启动debussy软件,并且打开文件vfile.f里边的所有文件。

现在准备工作已经做完,可以进行仿真了。

我们可以重新了解一下思路:

前边的内容也就是为了创建一下几个文件:

调用的过程就是:通过modelsim.bat调用modelsim仿真软件进行do里边的仿真操作,相当于直接在modelsim界面里边操作一样的,只不过省去了采用界面操作的许多繁琐的操作。那当modelsim需要对仿真文件进行编译,所以需要vfile.f文件说明你的verilog文件放在了哪里。在这一步结束后,我们可以产生fsdb文件,然后使用debussy.bat文件打开所有的verilog 文件,导入fsdb文件。

下面,我们启动仿真:

首先,直接点击modelsim.bat

出现一下结果

相关文档
最新文档