生成覆盖率报告

参考文章:vcs 覆盖率收集2——覆盖率选项 + 合并覆盖率_vcs覆盖率-CSDN博客

使用VCS生成覆盖率报告-weiqi7777-电子技术应用-AET-中国科技核心期刊-最丰富的电子设计资源平台

1、生成覆盖率报告时,一般要在编译和仿真时,加入选项 -cm  line | fsm | tgl | cond 指定生成什么条件的覆盖率。

  • -cm:指定覆盖率的类型,包括line、cond、fsm、tgl、path、branch和assert,line指的是行覆盖率,cond指的是条件覆盖率,fsm指的是状态机覆盖率,tgl指的是反转覆盖率,path指路径覆盖率,branch指分支覆盖率,assert指断言覆盖率(一般是在验证里面加,收集覆盖率)。
  • -cm_name:修改默认的test目录。对于每一个test,生成的coverage数据,默认是在simv.vdb/snps/coverage/db/testdata/test目录下。比如-cm_name load_test,那么coverage数据,就会生成在simv.vdb/snps/coverage/db/testdata/load_test目录下。

  • -cm_dir :指定覆盖率统计结果的存放路径,默认是${OUTPUT}.vdb,更改默认的coverage model生成的目录。

  • -cm_log:指定保存覆盖率结果的文本文件的名称。

  • -cm_hier:指定覆盖率统计的范围,可以指定是module名、层次名和源文件等。0表示统计所有,1表示只统计当前层,2表示统计当前层和下一层,之后依次类推。

  • -cm_tgl mda:为Verilog 2001和SystemVerilog未打包的多维数组启用翻转覆盖。

  • -cm_noconst:告诉VCS不要监视由于信号始终为1或0值而永远无法满足的条件或永远无法执行的线路。

2、运行之后会生成${OUTPUT}.vdb目录,该文件夹下包含了覆盖率的内容。

编译:

vcs -full64 +v2k -sverilog -f filelist.f +define+RTL_SAIF ${FSDB_OPTION} -l com.log -o ${OUTPUT} -cm line+tgl+cond+fsm -cm_name ${OUTPUT}

仿真:

./${OUTPUT} -l ${OUTPUT}.log -cm line+tgl+cond+fsm 

verdi打开:

verdi -cov -covdir ${OUTPUT}.vdb/

生成覆盖率报告:

urg -dir ${OUTPUT}.vdb -report both

3、在both文件下打开dashboard.html即可看见全部的覆盖率。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值