驗(yàn)證平臺(tái)顧名思義就是為了驗(yàn)證而存在的。普通意義上來說,如果是IP驗(yàn)證,當(dāng)驗(yàn)證人員拿到設(shè)計(jì)的某模塊的RTL代碼(DUT,Design Under Test),設(shè)計(jì)文檔之后,就會(huì)根據(jù)文檔,基于自己的理解去著手寫驗(yàn)證計(jì)劃,提取功能點(diǎn),準(zhǔn)備搭建驗(yàn)證平臺(tái)(其實(shí)大多數(shù)情況下,是迭代上一代的驗(yàn)證平臺(tái)),開始寫驗(yàn)證的case(成熟的公司也很可能是繼承上一代的驗(yàn)證case,進(jìn)行改動(dòng)或者增加)。所以,驗(yàn)證平臺(tái)可以看做是一個(gè)“測(cè)試機(jī)器”,專門是為了測(cè)試RTL代碼以及功能的正確性,找出其中“躲藏”的bug,千里之堤潰于蟻穴,芯片的流片失敗,可能只是其中的一個(gè)小小bug。
形象一點(diǎn)來說,RTL代碼你可以想象成一根彎彎繞繞的水管,現(xiàn)在的情況是,你不知道這根水管通不通,能不能順利的把水從這頭送到那頭。那怎么辦,找另一根有水的管子,和這根管子接上,再觀察這根管子的出口有沒有水出來即可。同樣的道理,驗(yàn)證平臺(tái)就相當(dāng)于一根有水的管子,把它和DUT的輸入端口(input)連起來就可以了,這個(gè)“水”就相當(dāng)于激勵(lì)。
為了找出bug,我們就需要這樣一個(gè)測(cè)試平臺(tái),能夠發(fā)送激勵(lì),也就是數(shù)據(jù)(data),對(duì)代碼進(jìn)行檢驗(yàn),為什么要叫做激勵(lì),我想,可能是想激勵(lì)DUT努力工作吧。這里就涉及到激勵(lì)發(fā)生器。比如說,我們要驗(yàn)證一個(gè)加法器。加法器都知道,它的功能就是實(shí)現(xiàn)a+b=c,這樣的運(yùn)算。激勵(lì)發(fā)生器負(fù)責(zé)產(chǎn)生a和b的值,DUT負(fù)責(zé)運(yùn)算出c的值,驗(yàn)證平臺(tái)通過對(duì)照c的值來判定DUT的代碼是否正確。
上面這段描述,就涉及UVM里面幾個(gè)重要的知識(shí)點(diǎn):
· Driver,負(fù)責(zé)產(chǎn)生,發(fā)送激勵(lì)(后面會(huì)將產(chǎn)生和發(fā)送分開);
· Scoreboard就像是一個(gè)質(zhì)檢員,負(fù)責(zé)把樣品和合格品進(jìn)行對(duì)比;
· monitor負(fù)責(zé)進(jìn)行數(shù)據(jù)收集、以及發(fā)送給scoreboard;
· 正確與否我們需要一個(gè)參照,這個(gè)就是所謂的reference model。
這四個(gè)部分就可以組成UVM中簡單的驗(yàn)證平臺(tái),如圖所示:
但是有一天,driver說我不干了,我干的事情太多了。所以,就要把driver的功能進(jìn)行拆分,俗話說,術(shù)業(yè)有專攻嘛,driver就負(fù)責(zé)發(fā)送激勵(lì),而不再產(chǎn)生激勵(lì)。把功能拆分之后,另一個(gè)好處就是,復(fù)用程度更高。針對(duì)不同的case,往往只是激勵(lì)的不同,拆分之后,我們不再需要每次都改變driver。如此一來,這么一拆分,就有了UVM中,經(jīng)典的驗(yàn)證平臺(tái),如下圖所示。
有的同學(xué)可能會(huì)說,怎么沒有sequence?請(qǐng)記住,sequence不屬于驗(yàn)證平臺(tái)的任何一個(gè)部分。在這個(gè)經(jīng)典的驗(yàn)證平臺(tái)中,其實(shí)是沒有產(chǎn)生激勵(lì)的部分了。這就相當(dāng)于,你給DUT這根管子接了一根沒水的新管子,你需要在這根新管子上再接一根有水的管子。這樣的好處是什么呢,還是復(fù)用。這樣,你的驗(yàn)證平臺(tái)就不需要怎么改動(dòng)了,只要每次去切換那根有水的管子,也就是sequence。在實(shí)際的工作當(dāng)中,針對(duì)一個(gè)項(xiàng)目,會(huì)有很多很多的sequence,但是驗(yàn)證平臺(tái)的組件,基本上對(duì)于一個(gè)項(xiàng)目來說,是不動(dòng)的。
-
RTL
+關(guān)注
關(guān)注
1文章
385瀏覽量
59978 -
UVM
+關(guān)注
關(guān)注
0文章
182瀏覽量
19236 -
DUT
+關(guān)注
關(guān)注
0文章
189瀏覽量
12509 -
sequence
+關(guān)注
關(guān)注
0文章
23瀏覽量
2868
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
IC驗(yàn)證"UVM驗(yàn)證平臺(tái)"組成(三)
IC驗(yàn)證"一個(gè)簡單的UVM驗(yàn)證平臺(tái)"是如何搭建的(六)
IC驗(yàn)證"UVM驗(yàn)證平臺(tái)加入factory機(jī)制"(六)
IC驗(yàn)證“UVM驗(yàn)證平臺(tái)加入objection機(jī)制和virtual interface機(jī)制“(七)
基于C的測(cè)試和驗(yàn)證套件集成到常規(guī)UVM測(cè)試平臺(tái)的方法
數(shù)字IC驗(yàn)證之“什么是UVM”“UVM的特點(diǎn)”“UVM提供哪些資源”(2)連載中...
數(shù)字IC驗(yàn)證之“典型的UVM平臺(tái)結(jié)構(gòu)”(3)連載中...
數(shù)字IC驗(yàn)證之“構(gòu)成uvm測(cè)試平臺(tái)的主要組件”(4)連載中...
數(shù)字IC驗(yàn)證之“搭建一個(gè)可以運(yùn)行的uvm測(cè)試平臺(tái)”(5)連載中...
什么是uvm?uvm的特點(diǎn)有哪些呢
請(qǐng)問一下在UVM中的UVMsequences是什么意思啊
數(shù)字IC驗(yàn)證之“典型的UVM平臺(tái)結(jié)構(gòu)”(3)連載中...
![數(shù)字IC<b class='flag-5'>驗(yàn)證</b>之“<b class='flag-5'>典型</b>的<b class='flag-5'>UVM</b><b class='flag-5'>平臺(tái)</b>結(jié)構(gòu)”(3)連載<b class='flag-5'>中</b>...](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
如何優(yōu)雅地結(jié)束UVM Test
![如何優(yōu)雅地結(jié)束<b class='flag-5'>UVM</b> Test](https://file.elecfans.com/web2/M00/84/25/poYBAGOdNEiAfn2wAAOe6MAtDt0572.png)
評(píng)論