- UVM實(shí)戰(zhàn)
- 張強(qiáng)編著
- 13字
- 2019-01-01 00:58:03
第2章
一個(gè)簡(jiǎn)單的UVM驗(yàn)證平臺(tái)
2.1 驗(yàn)證平臺(tái)的組成
驗(yàn)證用于找出DUT中的bug,這個(gè)過(guò)程通常是把DUT放入一個(gè)驗(yàn)證平臺(tái)中來(lái)實(shí)現(xiàn)的。一個(gè)驗(yàn)證平臺(tái)要實(shí)現(xiàn)如下基本功能:
- 驗(yàn)證平臺(tái)要模擬DUT的各種真實(shí)使用情況,這意味著要給DUT施加各種激勵(lì),有正常的激勵(lì),也有異常的激勵(lì);有這種模式的激勵(lì),也有那種模式的激勵(lì)。激勵(lì)的功能是由driver來(lái)實(shí)現(xiàn)的。
- 驗(yàn)證平臺(tái)要能夠根據(jù)DUT的輸出來(lái)判斷DUT的行為是否與預(yù)期相符合,完成這個(gè)功能的是記分板(scoreboard,也被稱為checker,本書(shū)統(tǒng)一以scoreboard來(lái)稱呼)。既然是判斷,那么牽扯到兩個(gè)方面:一是判斷什么,需要把什么拿來(lái)判斷,這里很明顯是DUT的輸出;二是判斷的標(biāo)準(zhǔn)是什么。
- 驗(yàn)證平臺(tái)要收集DUT的輸出并把它們傳遞給scoreboard,完成這個(gè)功能的是monitor。
- 驗(yàn)證平臺(tái)要能夠給出預(yù)期結(jié)果。在記分板中提到了判斷的標(biāo)準(zhǔn),判斷的標(biāo)準(zhǔn)通常就是預(yù)期。假設(shè)DUT是一個(gè)加法器,那么當(dāng)在它的加數(shù)和被加數(shù)中分別輸入1,即輸入1+1時(shí),期望DUT輸出2。當(dāng)DUT在計(jì)算1+1的結(jié)果時(shí),驗(yàn)證平臺(tái)也必須相應(yīng)完成同樣的過(guò)程,也計(jì)算一次1+1。在驗(yàn)證平臺(tái)中,完成這個(gè)過(guò)程的是參考模型(reference model)。

圖2-1 簡(jiǎn)單驗(yàn)證平臺(tái)框圖
一個(gè)簡(jiǎn)單的驗(yàn)證平臺(tái)框圖如圖2-1所示。在UVM中,引入了agent和sequence的概念,因此UVM中驗(yàn)證平臺(tái)的典型框圖如圖2-2所示。
從下一節(jié)開(kāi)始,將從只有一個(gè)driver的最簡(jiǎn)單的驗(yàn)證平臺(tái)開(kāi)始,一步一步搭建如圖2-2所示的驗(yàn)證平臺(tái)。

圖2-2 典型UVM驗(yàn)證平臺(tái)框圖
推薦閱讀
- DevOps with Kubernetes
- Instant Apache Stanbol
- Java高并發(fā)核心編程(卷2):多線程、鎖、JMM、JUC、高并發(fā)設(shè)計(jì)模式
- 小創(chuàng)客玩轉(zhuǎn)圖形化編程
- JavaScript+jQuery開(kāi)發(fā)實(shí)戰(zhàn)
- INSTANT CakePHP Starter
- Internet of Things with Intel Galileo
- C++從入門(mén)到精通(第5版)
- OpenCV 4計(jì)算機(jī)視覺(jué)項(xiàng)目實(shí)戰(zhàn)(原書(shū)第2版)
- Unity 2018 Shaders and Effects Cookbook
- JavaScript+jQuery網(wǎng)頁(yè)特效設(shè)計(jì)任務(wù)驅(qū)動(dòng)教程
- 奔跑吧 Linux內(nèi)核
- C語(yǔ)言程序設(shè)計(jì)教程
- Distributed Computing with Python
- 第五空間戰(zhàn)略:大國(guó)間的網(wǎng)絡(luò)博弈