以前看到不少驗(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完,對(duì)設(shè)計(jì)和驗(yàn)證環(huán)境做了改動(dòng),可能無法復(fù)現(xiàn)fail的場(chǎng)景。
如何確保發(fā)現(xiàn)的testbench的問題,或者RTL的問題有真的修掉?一般的做法是用同樣的seed,然后跑一遍之前的fail的test。但是有很多時(shí)候,由于環(huán)境的文件,約束等改變,再用同樣的seed 跑fail 的test 和之前的行為不一致,從而錯(cuò)誤的認(rèn)為問題已經(jīng)修掉。
第二宗罪:難以覆蓋到特定場(chǎng)景
有些場(chǎng)景通過隨機(jī)撞到的概率非常低。
如下圖所示,C=A &&B,在下圖場(chǎng)景中想通過 隨機(jī)到 (A==1)&&(B==1)的 場(chǎng)景,非常難。
第三宗罪:驗(yàn)證時(shí)間不確定
回歸結(jié)果不可靠。一次通過率100%,不代表次次回歸100%。
一次回歸可能100%,第二次回歸又變成90%。連續(xù)10次回歸100%,第十一次回歸又出現(xiàn)fail的test。
第四宗罪:重復(fù)測(cè)試用例很多
浪費(fèi)太多l(xiāng)icense 和服務(wù)器資源。
因?yàn)閱未蝦egression不能保證沒有問題,所以要周周跑,月月跑,一直跑到tapout,這浪費(fèi)了很多l(xiāng)icense和服務(wù)器資源。特別是有些test 打到的場(chǎng)景重復(fù),做一些無效驗(yàn)證,給公司資源造成極大浪費(fèi)。
第五宗罪:覆蓋率收集耗費(fèi)資源
coverage 收斂比較耗時(shí)間和資源。
由于隨機(jī)約束造成不同場(chǎng)景出現(xiàn)的概率不一樣,通過隨機(jī)測(cè)試將代碼覆蓋率和功能覆蓋率補(bǔ)全需要經(jīng)過大量的回歸測(cè)試。coverage的收斂速度沒有直接測(cè)試來得快。
下面是一個(gè)案例,在跑完一版regression后,功能覆蓋率是80.49%。
我們想將該功能覆蓋率補(bǔ)全,采用直接測(cè)試用例,我們調(diào)用了5次測(cè)試,可以將覆蓋率打到95.90% ,剩下的部分可以waive掉。
當(dāng)我們采用隨機(jī)測(cè)試,調(diào)用了5次隨機(jī)測(cè)試,覆蓋率為90.62%。
當(dāng)我們采用隨機(jī)測(cè)試,調(diào)用了10次隨機(jī)測(cè)試,覆蓋率為93.97%。
當(dāng)我們采用隨機(jī)測(cè)試,調(diào)用了20次隨機(jī)測(cè)試,覆蓋率為95.90%,達(dá)到了和直接測(cè)試同樣的效果。
第六宗罪:場(chǎng)景打不全
隨機(jī)驗(yàn)證打不全所有場(chǎng)景
如上圖所示,隨機(jī)的行為很難將所有的測(cè)試路徑都打到。
隨機(jī)有沒有好處呢?當(dāng)然有,比如
探索更多的場(chǎng)景:隨機(jī)驗(yàn)證可以探索更多的測(cè)試場(chǎng)景,覆蓋更多的狀態(tài)空間。這可以幫助發(fā)現(xiàn)設(shè)計(jì)中的潛在問題和漏洞,從而提高驗(yàn)證的質(zhì)量。
發(fā)現(xiàn)意外錯(cuò)誤:隨機(jī)測(cè)試可以揭示一些設(shè)計(jì)者未曾考慮的異常情況,以及在正常測(cè)試中可能被忽略的邊緣情況。這有助于找到并修復(fù)一些潛在的設(shè)計(jì)錯(cuò)誤。
減少人為偏見:手動(dòng)創(chuàng)建測(cè)試用例可能受到驗(yàn)證工程師的認(rèn)知偏見和經(jīng)驗(yàn)限制的影響。隨機(jī)驗(yàn)證方法可以降低這種偏見對(duì)驗(yàn)證結(jié)果的影響,從而提高驗(yàn)證的可靠性。
減少人工編寫測(cè)試用例的時(shí)間和精力:隨機(jī)驗(yàn)證方法可以自動(dòng)生成大量測(cè)試用例,從而減少人工編寫測(cè)試用例的時(shí)間和精力。這有助于縮短驗(yàn)證周期,提高驗(yàn)證效率。
更好地應(yīng)對(duì)復(fù)雜性:隨著芯片設(shè)計(jì)變得越來越復(fù)雜,人工創(chuàng)建足夠多的測(cè)試用例以覆蓋所有可能的場(chǎng)景變得越來越困難。隨機(jī)驗(yàn)證方法可以在面對(duì)復(fù)雜設(shè)計(jì)時(shí)自動(dòng)生成更多的測(cè)試用例,從而更好地應(yīng)對(duì)這種復(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文章
389瀏覽量
61102 -
UVM
+關(guān)注
關(guān)注
0文章
182瀏覽量
19540
原文標(biāo)題:芯片驗(yàn)證隨機(jī)(random)的六宗罪
文章出處:【微信號(hào):處芯積律,微信公眾號(hào):處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
關(guān)于功能驗(yàn)證、時(shí)序驗(yàn)證、形式驗(yàn)證、時(shí)序建模的論文
【云智易試用體驗(yàn)】開箱與初評(píng)六宗罪
怎么設(shè)計(jì)基于USB和FPGA的隨機(jī)數(shù)發(fā)生器驗(yàn)證平臺(tái)?
設(shè)計(jì)驗(yàn)證中的隨機(jī)約束
選購低價(jià)筆記本:不得不說的五宗罪
基于OVM驗(yàn)證平臺(tái)的IP芯片驗(yàn)證
基于System Verilog的可重用驗(yàn)證平臺(tái)設(shè)計(jì)及驗(yàn)證結(jié)果分析

分享編程的七宗罪,也許對(duì)你會(huì)有所啟發(fā)
安防行業(yè)產(chǎn)能過剩 智能安防企業(yè)成本控制的“四宗罪”概述
AN4230 STM32 MCU使用NIST隨機(jī)數(shù)生成驗(yàn)證統(tǒng)計(jì)測(cè)試套件

受約束隨機(jī)驗(yàn)證的效果真的比直接用例測(cè)試好嗎?
偽隨機(jī)數(shù)和真隨機(jī)數(shù)的區(qū)別是什么呢?
淺析芯片驗(yàn)證中的scoreboard

評(píng)論