您好,欢迎来到九壹网。
搜索
您的当前位置:首页基于modelsim和debussy的批处理仿真

基于modelsim和debussy的批处理仿真

来源:九壹网
基于modelsim和debussy的批处理仿真

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

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

1、虽然开始的时候需要稍作准备,但等你完成了一次仿真后,以后只需要略微修改一下就可以直接应用到其他工程里边去。相对于采用用modelsim的界面操作,省去了很多例如创建工程、添加仿真文件、进行编译、进行仿真等等节省了宝贵的工作时间。当然可以提高工作效率。

2、文件管理非常清楚。所有的verilog文件都放在一个文件夹,所有仿真需要的文件以及仿真结果都放在另外一个文件里边,而且仿真后的文件也相对于使用modelsim界面操作仿真结果要少。

3、还有就是,因为没有界面操作,仿真速度会快很多,特别是采用modelsim进行稍微大的仿真的时候,这时候采用这种方法的优势就更加明显了。

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

第一步:安装modelsim、debussy软件以及编译相应的仿真库,如何安装以及破解,网

络上有很多的资料说明,在这里就不详细说了。对于仿真库的编译,也有很多的方法,可以参考文章《modelsim添加仿真库方法》byCraftor。许多工程师也在自己的博客写过或转载过相似的库编译的方法。

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

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

第二步:创建do文件。

如下(行号不需要):1、vlibwork

2、vlog-fvfile.f-incr

3、vsim-Lxilinxcorelib_ver-Lunisims_ver-Lsimprims_ver-Luni9000_ver-Lunisims_ver-plinovas_fli.dll-libworktuner_iic_tb4、run40ms5、exit

然后保存为sim.do

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

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

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

initialbegin

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

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

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

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

总的来说,也就是将debussy的一个dll文件拷贝到modelsim的目录下,然后修改一下ini里边的路径,对应的文件夹分别是:ModelsimD:\\modeltech_6.5e\\win32DebussyD:\\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-dosim.do我一般保存为modelsim.bat。

然后,我们可以同样的道理,也通过这种方法调用debussy软件,直接打开仿真结果D:\\Novas\\Debussy\\bin\\Debussy.exe-fE:\\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出现一下结果

可以看见上图,verilog代码编译通过后,正在进行仿真,产生了fsdb临时文件,等到仿真结束后,就会有fsdb文件如图:

我们进行仿真后,可以看到产生了几个文件,一个是work文件夹,用来存放所有verilog文件编译后的数据,也就是仿真库。Tuner_iic_tb.fsdb文件是我们需要的结果,也就是所有仿真结果都放在该文件里边,具体关于fsdb文件的含义,可以搜索一下就很清楚了。Transcript是编译的结果,如果运行modelsim文件后,出现了这个页面,说明你的文件里边有错,可以通过打开transcript来查看你的文件哪里不对。

我把其中一个文件代码里边的分号去掉了。然后从上图的窗口中可以看到,运行出现错误#**Error:D:/modeltech_6.5e/win32/vlogfailed.#Errorinmacro./sim.doline2

#D:/modeltech_6.5e/win32/vlogfailed.#whileexecuting#\"vlog-fvfile.f-incr\"

也就是说,modelsim。Bat文件运行到第二行vlog–fvfile.f–incr的时候出现了错误。当然了,因为我改了一下代码,故意弄出一个错误,那么该文件无法编译通过,就无法产生fsdb文件,这时,我们可以用文本打开transcript文件,查找你代码的错误或者是其他错误。例如我的错误是:

#--SkippingmoduleI2CslaveWith8bitsIO

#**Error:../rtl/agc_iic.v(132):near\"wire\":syntaxerror,unexpected\"wire\expecting';'当我们很顺利通过了编译以及仿真之后,我们就可以点击debussy然后可以看到

然后,就可以导入fsdb文件,对仿真结果进行分析。剩下的就是关于debussy的操作了。可以参考相应的文档。

使用总结:

我们只需要在debussy里边察看仿真结果,然后使用ue来修改,点击两个把bat文件就可以重新察看结果了,比在modelsim界面里边来回操作要省事多了吧。

文档附注:

这只是个人喜欢的一种工具使用方式,只要适合自己的就好。工具只是工具,自己的设计思想才是最重要的。我们只要不被工具影响我们的设计,熟练应用就可以了,不需要太深入的研究。Edit:linbo.dengDate:2011.4.15

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务