瞬间打开Verdi

原文链接: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“

  • 6
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值