heyuanpi

vcs和verdi的联合仿真

0
阅读(10261)

之前的使用方法是先用vcs把fsdb波形文件dump出来。然后打开verdi,导入filelist,再打开fsdb波形文件,最后restore波形信号.rc文件。这是一种比较老式的后处理模式。


最近在YouTube上看到vcs和verdi的联合仿真,有些收获,记录在这里。


最大的收获是,vcs编译过后可以产生simv.daidir这个文件夹,其中存放的是包含了编译信息的中间数据,这样verdi就可以用这个中间数据直接导入编译后的工程,不需要再手动导入filelist重新编译一边。


如何做?

首先设置环境变量setenv NOVAS_HOME  xxxx 和setenv VCS_HOME xxx

然后用vcs编译的时候加上-debug_access+all -kdb -lca         注意这里-kdb是属于lca这个feature的,因此这两个都要加上。这一步实际上就是产生verdi能用的编译信息。

最后编译好simv之后有两种调用方式:一是交互式模式,即用simv -verdi打开verdi,在verdi中进行仿真的运行和调试;二是后处理模式,即仍然用simv跑出fsdb波形,然后verdi -ssf test.fsdb即可打开verdi,它会自动导入simv.dairdir下面的工程信息和波性文件,即打开后波形和.v文件都进入了verdi。


小知识:

1) 如果只想生成simv.daidir/kdb.elab++, VCS编译时,用”-lca -kdb=only“

2)如果生成.simv之后没有仿真产生fsdb,那么通过verdi -dbdir ./simv.daidir可以打开verdi导入工程。这说明上面的那个命令verdi -ssf test.fsdb虽然没有指定-dbdir,但是它默认找到了。完整的命令应该是verdi -ssf test.fsdb -dbdir ./simv.daidir


怎么样,是不是方便了一些?下面是YouTube链接:

https://www.youtube.com/watch?v=SGiSNNCVk4Y