以前看到不少驗(yàn)證技術(shù)書籍都在說驗(yàn)證環(huán)境中隨機(jī)怎么怎么好,然后為了隨機(jī),UVM,SV 提供了什么什么支持。
但是最近的一些工作小編發(fā)現(xiàn)在驗(yàn)證中采用隨機(jī)存在很多缺點(diǎn)。下面小編帶大家看看使用隨機(jī)帶來的六宗罪。
第一宗罪:難以debug
出現(xiàn)fail的test,當(dāng)debug完,對設(shè)計(jì)和驗(yàn)證環(huán)境做了改動,可能無法復(fù)現(xiàn)fail的場景。
如何確保發(fā)現(xiàn)的testbench的問題,或者RTL的問題有真的修掉?一般的做法是用同樣的seed,然后跑一遍之前的fail的test。但是有很多時(shí)候,由于環(huán)境的文件,約束等改變,再用同樣的seed 跑fail 的test 和之前的行為不一致,從而錯誤的認(rèn)為問題已經(jīng)修掉。
第二宗罪:難以覆蓋到特定場景
有些場景通過隨機(jī)撞到的概率非常低。
如下圖所示,C=A &&B,在下圖場景中想通過 隨機(jī)到 (A==1)&&(B==1)的 場景,非常難。

第三宗罪:驗(yàn)證時(shí)間不確定
回歸結(jié)果不可靠。一次通過率100%,不代表次次回歸100%。
一次回歸可能100%,第二次回歸又變成90%。連續(xù)10次回歸100%,第十一次回歸又出現(xiàn)fail的test。
第四宗罪:重復(fù)測試用例很多
浪費(fèi)太多l(xiāng)icense 和服務(wù)器資源。
因?yàn)閱未蝦egression不能保證沒有問題,所以要周周跑,月月跑,一直跑到tapout,這浪費(fèi)了很多l(xiāng)icense和服務(wù)器資源。特別是有些test 打到的場景重復(fù),做一些無效驗(yàn)證,給公司資源造成極大浪費(fèi)。
第五宗罪:覆蓋率收集耗費(fèi)資源
coverage 收斂比較耗時(shí)間和資源。
由于隨機(jī)約束造成不同場景出現(xiàn)的概率不一樣,通過隨機(jī)測試將代碼覆蓋率和功能覆蓋率補(bǔ)全需要經(jīng)過大量的回歸測試。coverage的收斂速度沒有直接測試來得快。
下面是一個案例,在跑完一版regression后,功能覆蓋率是80.49%。

我們想將該功能覆蓋率補(bǔ)全,采用直接測試用例,我們調(diào)用了5次測試,可以將覆蓋率打到95.90% ,剩下的部分可以waive掉。

當(dāng)我們采用隨機(jī)測試,調(diào)用了5次隨機(jī)測試,覆蓋率為90.62%。

當(dāng)我們采用隨機(jī)測試,調(diào)用了10次隨機(jī)測試,覆蓋率為93.97%。

當(dāng)我們采用隨機(jī)測試,調(diào)用了20次隨機(jī)測試,覆蓋率為95.90%,達(dá)到了和直接測試同樣的效果。

第六宗罪:場景打不全
隨機(jī)驗(yàn)證打不全所有場景

如上圖所示,隨機(jī)的行為很難將所有的測試路徑都打到。
隨機(jī)有沒有好處呢?當(dāng)然有,比如
探索更多的場景:隨機(jī)驗(yàn)證可以探索更多的測試場景,覆蓋更多的狀態(tài)空間。這可以幫助發(fā)現(xiàn)設(shè)計(jì)中的潛在問題和漏洞,從而提高驗(yàn)證的質(zhì)量。
發(fā)現(xiàn)意外錯誤:隨機(jī)測試可以揭示一些設(shè)計(jì)者未曾考慮的異常情況,以及在正常測試中可能被忽略的邊緣情況。這有助于找到并修復(fù)一些潛在的設(shè)計(jì)錯誤。
減少人為偏見:手動創(chuàng)建測試用例可能受到驗(yàn)證工程師的認(rèn)知偏見和經(jīng)驗(yàn)限制的影響。隨機(jī)驗(yàn)證方法可以降低這種偏見對驗(yàn)證結(jié)果的影響,從而提高驗(yàn)證的可靠性。
減少人工編寫測試用例的時(shí)間和精力:隨機(jī)驗(yàn)證方法可以自動生成大量測試用例,從而減少人工編寫測試用例的時(shí)間和精力。這有助于縮短驗(yàn)證周期,提高驗(yàn)證效率。
更好地應(yīng)對復(fù)雜性:隨著芯片設(shè)計(jì)變得越來越復(fù)雜,人工創(chuàng)建足夠多的測試用例以覆蓋所有可能的場景變得越來越困難。隨機(jī)驗(yàn)證方法可以在面對復(fù)雜設(shè)計(jì)時(shí)自動生成更多的測試用例,從而更好地應(yīng)對這種復(fù)雜性。
雖然使用隨機(jī)驗(yàn)證存在很多問題,但它在許多情況下仍然是一種非常有效的驗(yàn)證方法。為了克服這些缺點(diǎn),可以將隨機(jī)驗(yàn)證與其他驗(yàn)證方法(如指導(dǎo)性驗(yàn)證、形式驗(yàn)證等)相結(jié)合,以實(shí)現(xiàn)更全面、有效的芯片驗(yàn)證。
審核編輯:劉清
-
RTL
+關(guān)注
關(guān)注
1文章
393瀏覽量
62371 -
UVM
+關(guān)注
關(guān)注
0文章
183瀏覽量
19933
原文標(biāo)題:芯片驗(yàn)證隨機(jī)(random)的六宗罪
文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
關(guān)于功能驗(yàn)證、時(shí)序驗(yàn)證、形式驗(yàn)證、時(shí)序建模的論文
【云智易試用體驗(yàn)】開箱與初評六宗罪
怎么設(shè)計(jì)基于USB和FPGA的隨機(jī)數(shù)發(fā)生器驗(yàn)證平臺?
設(shè)計(jì)驗(yàn)證中的隨機(jī)約束
選購低價(jià)筆記本:不得不說的五宗罪
基于OVM驗(yàn)證平臺的IP芯片驗(yàn)證
基于System Verilog的可重用驗(yàn)證平臺設(shè)計(jì)及驗(yàn)證結(jié)果分析
從滴滴的七宗罪細(xì)數(shù)到七十宗罪
分享編程的七宗罪,也許對你會有所啟發(fā)
安防行業(yè)產(chǎn)能過剩 智能安防企業(yè)成本控制的“四宗罪”概述
AN4230 STM32 MCU使用NIST隨機(jī)數(shù)生成驗(yàn)證統(tǒng)計(jì)測試套件
受約束隨機(jī)驗(yàn)證的效果真的比直接用例測試好嗎?
淺析芯片驗(yàn)證中的scoreboard

看看使用芯片驗(yàn)證隨機(jī)帶來的六宗罪
評論