驗(yàn)證平臺(tái)顧名思義就是為了驗(yàn)證而存在的。普通意義上來(lái)說(shuō),如果是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)來(lái)說(shuō),RTL代碼你可以想象成一根彎彎繞繞的水管,現(xiàn)在的情況是,你不知道這根水管通不通,能不能順利的把水從這頭送到那頭。那怎么辦,找另一根有水的管子,和這根管子接上,再觀察這根管子的出口有沒有水出來(lái)即可。同樣的道理,驗(yàn)證平臺(tái)就相當(dāng)于一根有水的管子,把它和DUT的輸入端口(input)連起來(lái)就可以了,這個(gè)“水”就相當(dāng)于激勵(lì)。
為了找出bug,我們就需要這樣一個(gè)測(cè)試平臺(tái),能夠發(fā)送激勵(lì),也就是數(shù)據(jù)(data),對(duì)代碼進(jìn)行檢驗(yàn),為什么要叫做激勵(lì),我想,可能是想激勵(lì)DUT努力工作吧。這里就涉及到激勵(lì)發(fā)生器。比如說(shuō),我們要驗(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)通過(guò)對(duì)照c的值來(lái)判定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中簡(jiǎn)單的驗(yàn)證平臺(tái),如圖所示:
但是有一天,driver說(shuō)我不干了,我干的事情太多了。所以,就要把driver的功能進(jìn)行拆分,俗話說(shuō),術(shù)業(yè)有專攻嘛,driver就負(fù)責(zé)發(fā)送激勵(lì),而不再產(chǎn)生激勵(lì)。把功能拆分之后,另一個(gè)好處就是,復(fù)用程度更高。針對(duì)不同的case,往往只是激勵(lì)的不同,拆分之后,我們不再需要每次都改變driver。如此一來(lái),這么一拆分,就有了UVM中,經(jīng)典的驗(yàn)證平臺(tái),如下圖所示。
有的同學(xué)可能會(huì)說(shuō),怎么沒有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)目來(lái)說(shuō),是不動(dòng)的。
-
RTL
+關(guān)注
關(guān)注
1文章
385瀏覽量
59948 -
UVM
+關(guān)注
關(guān)注
0文章
182瀏覽量
19227 -
DUT
+關(guān)注
關(guān)注
0文章
189瀏覽量
12490 -
sequence
+關(guān)注
關(guān)注
0文章
23瀏覽量
2862
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論