概述
原文链接:http://blog.sina.com.cn/s/blog_13f7886010102xqlu.html
VCS和Verdi是一对好基友,二者相生相伴N多年。VCS为编译仿真工具,Verdi则为查看Waveform的工具,就这样愉快的Cowork着。
VCS和Verdi能正常工作的前提是,必须存在filelist(list出了所有用到的RTL),VCS对该filelist中的file进行编译,然后再进行仿真,顺带生成波形文件(xxx.fsdb)供Verdi打开,看到这里Verdi貌似只需要fsdb就能工作,如果是这样的话Verdi又怎么能知道filelist中多个module的层次关系(Hierarchy)呢?事实上,Verdi也需要编译一遍filelist才能提取出module间的层次关系。总结一下:VCS = Compile+Simulation; Verdi = Compile+打开xxx.fsdb。二者都有Compile这一步,那么Compile能不能合在一起呢?即: VCS = Compile+Simulation; Verdi = import VCS Compile的结果+打开xxx.fsdb,答案是肯定的,下面就来介绍一下具体的操作。
VCS Compile阶段加上“-kdb -lca”这个选项,这样就能在VCS Compile中看到simv.daidir/kdb.elab++这个目录,这个目录就是VCS为Verdi产生的库,其实就是VCS帮Verdi生成了一个Verdi认识的中间文件。
如果没有以上simv.daidir/kdb.elab++库文件,通常用”Verdi -sv +v2k -f filelist.f“这种方式打开Verdi, Verdi就开始启动GUI界面,然后是编译filelist.f(如果filelist.f比较大,可以看到Verdi一直在Compile,有可能需要1小时,甚至更多),最后打开Waveform,并加载xxx.fsdb。整个过程很有可能是Compile最耗时,导致打开Verdi的效率极低。
如果有了simv.daidir/kdb.elab++库文件, 可以用“Verdi -elab simv.daidir/kdb" 命令打开Verdi。用这种方式,启动GUI界面仍然少不掉,但是会把Verdi Compile filelist.f的时间改为import库文件,这一步几乎是瞬间完成,因此能节省不少时间。
总结一下:
VCS编译的命令中加上”-lca -kdb“。
使用”Verdi -elab simv.daidir/kdb“打开Verdi。
打开Verdi节省的时间几乎等于编译RTL的时间, VCS生成simv.daidir/kdb.elab++库文件占总编译时间的0.1%~2%,还是挺划算的一笔账。
小知识:
1) 如果只想生成simv.daidir/kdb.elab++, VCS编译时,用”-lca -kdb=only“
2) 如果只想看部分层级的Hierarchy, VCS编译时,用”-lca -kdb -top hierarchy“。如只关系top.a.b 这一级的RTL,可使用如下命令:”-lca -kdb -top top.a.b“
最后
以上就是成就皮带为你收集整理的瞬间打开Verdi的全部内容,希望文章能够帮你解决瞬间打开Verdi所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复