分享一個(gè)coverage merge小技巧,在群里經(jīng)??吹接行』锇閱?wèn)改了代碼之后coverage能不能merge。今天帶大家來(lái)看看這個(gè)問(wèn)題。
在下面代碼里面有三個(gè)實(shí)例,分別是dut,cnt1,cnt2.
我們生成第一版coverage simv1.vdb
然后我們改動(dòng)arb_module里面的內(nèi)容,生成第二版的coverage simv2.vdb
現(xiàn)在我們merge 看看會(huì)發(fā)生什么事情。
使用urg -dir simv1.vdb simv2.vdb -dbname final.vdb
不出意外,log顯示coverage 沒(méi)有merger 上。
如上面所說(shuō),我們只改動(dòng)了arb_module里面的內(nèi)容。這個(gè)時(shí)候arb_module因?yàn)榇a改動(dòng)確實(shí)已經(jīng)不能用了,需要重新跑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顯示可以,并沒(méi)有報(bào)錯(cuò)。
這種用法可以將unit tb收集的IP code coverage merge到SOC中去,一方面保證驗(yàn)證的指標(biāo),另外一方面保證代碼的一致性。
所以當(dāng)代碼改動(dòng)導(dǎo)致coverage merge不上的時(shí)候,可以考慮用map merge還可以用的code coverage。但是我們?cè)趍erge前也要確認(rèn)改動(dòng)部分沒(méi)有影響到可以merge module的功能。如果影響到建議還是重新跑。
-
SoC設(shè)計(jì)
+關(guān)注
關(guān)注
1文章
148瀏覽量
18753 -
Merge模式
+關(guān)注
關(guān)注
0文章
2瀏覽量
1606
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論