Coverage 相关技巧

        罗列一下平时遇到或者用过的coverage相关的东西:

1. Verdi打开vcs产生的vdb文件:

verdi -cov -covdir simv.vdb

2. DVE 打开vdb文件

dve -full64 -covdir simv.vdb

3. merge coverage

//基本的,平时用的最多的cmd
urg -full64 -dir simv1.vdb simv2.vdb xxx.vdb -dbname merge.vdb
//如果修改了covergroup 名字或者采样信号,加上以下option:
-flex_merge reference
//如果增加了coverpoint,希望merge之后加上新加的,加入option:
-flex_merge union
//如果不想merge之后加上新加入的,加入option:
-flex_merge drop

4.有时会遇到一个design内部多次instance了同一个IP,逻辑完全一致,看coverage的时候不希望每个instance都看一次,希望把多个instance的merge到一起,对应的方式:

1.准备mapfile:
///this is mapfile:my.map
MODULE:my_dut //原型名字
INSTANCE:
SRC: my_top.dut_top.ip1
DST:  my_top.dut_top.ip0
SRC: my_top.dut_top.ip2
DST:  my_top.dut_top.ip0

merge cmd:

urg -full64 -dbname merged.vdb -dir org.vdb -dir org_copy.vdb -mapfile my.map

把原始vdb copy一份就行,注意第一个-dir后面的vdb是base,这样就能把三份IP(IP0/1/2)的coverage merge成一份(IP0).

5. 有时看coverage数据看到了某行code不应该被打到结果就打到了,这个时候就想看一下对应打到的case的waveform,怎么找到对应的case呢:

1. merge coverage的时候加上option: -show tests
2. 用firefox 打开report: firefox urgreport/groups.html
3.点上面的modlist,找到对应的rtl和对应的行数
4.查看打到的case number,效果如下图:

 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值