分享一个coverage merge小技巧,在群里经常看到有小伙伴问改了代码之后coverage能不能merge。今天带大家来看看这个问题。
在下面代码里面有三个实例,分别是dut,cnt1,cnt2.
我们生成第一版coverage simv1.vdb
然后我们改动arb_module里面的内容,生成第二版的coverage simv2.vdb
现在我们merge 看看会发生什么事情。
使用urg -dir simv1.vdb simv2.vdb -dbname final.vdb
不出意外,log显示coverage 没有merger 上。
如上面所说,我们只改动了arb_module里面的内容。这个时候arb_module因为代码改动确实已经不能用了,需要重新跑simulation收集,但是cnt_module 还是可以用的。用下面命令将simv2.vdb里面 cnt_module的code coverage merge到simv1.vdb中去。-map指定需要merge 的模块。
urg -dir simv1.vdb simv2.vdb -map cnt_module -dbname final.vdb
log显示可以,并没有报错。
这种用法可以将unit tb收集的IP code coverage merge到SOC中去,一方面保证验证的指标,另外一方面保证代码的一致性。
所以当代码改动导致coverage merge不上的时候,可以考虑用map merge还可以用的code coverage。但是我们在merge前也要确认改动部分没有影响到可以merge module的功能。如果影响到建议还是重新跑。
审核编辑:汤梓红
-
模块
+关注
关注
7文章
2749浏览量
48024 -
soc
+关注
关注
38文章
4231浏览量
219656 -
代码
+关注
关注
30文章
4852浏览量
69413
原文标题:一个coverage merge小技巧
文章出处:【微信号:处芯积律,微信公众号:处芯积律】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
git merge后,原分支的内容没有出现在新的master分支中。
请教8168 Merge Link作用
BIM_ext.hex和merge出来的hex地址冲突
Systemverilog覆盖率的合并和计算方式
华为发布物联网建网方法论Things Coverage
对于merge、join和concat三者的区别分析

Merge用VR和AR技术创建和发展一个适合孩子的XR生态系统
Git命令解析-merge、rebase

SystemVerilog实用知识点:覆盖率之Function Coverage

git rebase和git merge的区别

评论