分享一個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文章
2722瀏覽量
47572 -
soc
+關注
關注
38文章
4182瀏覽量
218507 -
代碼
+關注
關注
30文章
4803瀏覽量
68752
原文標題:一個coverage merge小技巧
文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
git merge后,原分支的內容沒有出現在新的master分支中。
McFW框架中的dup和merge的作用是什么?
請教8168 Merge Link作用
BIM_ext.hex和merge出來的hex地址沖突
Systemverilog覆蓋率的合并和計算方式
華為發布物聯網建網方法論Things Coverage
對于merge、join和concat三者的區別分析
![對于<b class='flag-5'>merge</b>、join和concat三者的區別分析](https://file1.elecfans.com//web2/M00/A7/23/wKgZomUMQpiADh5kAABD5mcr-N4804.png)
Merge用VR和AR技術創建和發展一個適合孩子的XR生態系統
Git命令解析-merge、rebase
![Git命令解析-<b class='flag-5'>merge</b>、rebase](https://file.elecfans.com/web1/M00/84/91/pIYBAFxQEgSAJIdnAAA_NsN5L4I296.jpg)
SystemVerilog實用知識點:覆蓋率之Function Coverage
![SystemVerilog實用知識點:覆蓋率之Function <b class='flag-5'>Coverage</b>](https://file1.elecfans.com/web2/M00/89/2D/wKgZomR8TDGAc0leAADkFCfty84581.jpg)
git rebase和git merge的區別
![git rebase和git <b class='flag-5'>merge</b>的區別](https://file1.elecfans.com/web2/M00/8C/08/wKgaomSkzTuAM-k9AAASXz6NsK8478.jpg)
評論