用dve查看覆盖率
dve -full64 -cov -dir simv.vdb &
用verdi查看覆盖率
verdi -cov -covdir simv.vdb &
相同代码不同tc的覆盖率合并:
- 合并多个simv.vdb 为一个
urg -full64 -dir tc1.vdb tc2.vdb -dbname merged.vdb -report urgReport
该命令会将所有覆盖率xml文件合并在mergedir.vdb/snps/coverage/db/testdata/merged下,并产生报告文件urgReport;
- 合并一个simv.vdb里面的case:
urg -full64 -dir simv.vdb -dbname merged -parallel -report urgReport
该命令合并后的文件叫做merged.vdb,里面有html格式的覆盖率。没有合并之前simv.vdb/snps/coverage/db/testdata/test/ 路径下是各个case不同seed文件,合并之后merged.vdb/snps/coverage/db/testdata/test/ 存放的是assert/branch/cond/fsm/line/tgl 等xml文件
待测命令:
预估前面两个命令合并等价于如下命令:
urg -full64 -dir *.vdb -dbname merged -parallel -report urgReport
还没有尝试过,尝试完了再来更新。
-parallel参数的作用是并行merge,预估差别在于合并时间。
假如修改了覆盖率相关的代码,如新添加了coverpoint等等,希望把新收集的和以前的merge到一起,可以使用选项-flex_merge union,不希望合并就使用-flex_merge drop
urg -full64 -flex_merge union -dbname <merge_coverage_name>.vdb -dir simv.vdb &urg -full64 -flex_merge drop -dbname <merge_coverage_name>.vdb -dir simv.vdb &
用urg 查看覆盖率
urg -dir simv.vdb
firefox urgReport //用浏览器打开
参考文献:
https://www.cnblogs.com/Alfred-HOO/articles/17589481.html (基础全面)
https://zhuanlan.zhihu.com/p/620471082 (merge 更详细)