在UVM寄存器模型的操作中,寄存器用于設(shè)置DUT狀態(tài)和芯片狀態(tài)信息的上報(bào),有前門(mén)和后門(mén)讀寫(xiě)兩種方式。
推而廣之,其他的DUT內(nèi)部信號(hào),由于驗(yàn)證的需要,有時(shí)也需要進(jìn)行后門(mén)讀寫(xiě)。這些信號(hào)除了包含前門(mén)可讀的寄存器以外,還會(huì)包含reg/wire信號(hào)、狀態(tài)機(jī)的狀態(tài)值、memory內(nèi)容等。
總的來(lái)看,獲取DUT內(nèi)部狀態(tài)分為前門(mén)和后門(mén)兩種方式。
前門(mén)讀寫(xiě)
前門(mén)讀寫(xiě):使用總線對(duì)DUT發(fā)起真實(shí)的讀寫(xiě),一般需要總線VIP支持,僅針對(duì)DUT內(nèi)部可訪問(wèn)的地址空間,如配置和上報(bào)寄存器、memory。
這種方式好處在于能夠和芯片真實(shí)的工作場(chǎng)景保持高度相似,能夠發(fā)現(xiàn)時(shí)序配合上的一些問(wèn)題。
缺點(diǎn)一方面也是前門(mén)的“真實(shí)性”,當(dāng)需要讀寫(xiě)的地址空間數(shù)量很大時(shí),會(huì)消耗非常多的仿真時(shí)間,影響用例的執(zhí)行效率。
另一方面是這種耗時(shí)的讀寫(xiě)不滿(mǎn)足“實(shí)時(shí)性”比對(duì)的驗(yàn)證要求。某些驗(yàn)證環(huán)境中,可能需要在幾個(gè)cycle內(nèi)完成對(duì)DUT狀態(tài)的獲取和比對(duì),這種場(chǎng)景下前門(mén)讀取方式則無(wú)法滿(mǎn)足。
后門(mén)讀寫(xiě)
后門(mén)讀寫(xiě):繞過(guò)前門(mén)總線,直接通過(guò)DUT內(nèi)信號(hào)的hierarchy路徑強(qiáng)制force或者讀取信號(hào)值。
后門(mén)操作的方式可以分為:按信號(hào)的Hierarchy讀取、interface連接DUT信號(hào)、和VPI訪問(wèn)。
1. 信號(hào)的Hierarchy讀取
DUT經(jīng)過(guò)編譯后,內(nèi)部的信號(hào)都有對(duì)應(yīng)的hierarchy路徑,如dut.a.b.c,dut.out。在驗(yàn)證環(huán)境中可以直接使用,例如:
bit A; A=dut.sub_block.A; if(A==0) begin ..... end
bitA; bit[15:0] B if(uvm_hdl_read("dut.sub_block.A",A))begin ..... end //bit[31:0] Y uvm_hdl_read("dut.X.Y[15:0]",B)//錯(cuò)誤!使用VPI訪問(wèn)缺點(diǎn):不能按位域驅(qū)動(dòng)和讀取。對(duì)于多bit信號(hào),無(wú)法只對(duì)其中的部分bit操作。
一般而言對(duì)于黑盒驗(yàn)證中的加密代碼,使用Hierarchy和VPI方式都是無(wú)法獲取加密代碼內(nèi)部信號(hào)的狀態(tài)。當(dāng)然如果在已知加密代碼層次前提下,通過(guò)一些處理,還是可以通過(guò)Hierarchy方式進(jìn)行后門(mén)操作。
審核編輯:湯梓紅
-
芯片
+關(guān)注
關(guān)注
455文章
50818瀏覽量
423722 -
寄存器
+關(guān)注
關(guān)注
31文章
5343瀏覽量
120385 -
仿真
+關(guān)注
關(guān)注
50文章
4083瀏覽量
133614 -
信號(hào)
+關(guān)注
關(guān)注
11文章
2791瀏覽量
76778 -
DUT
+關(guān)注
關(guān)注
0文章
189瀏覽量
12386
原文標(biāo)題:驗(yàn)證環(huán)境獲取DUT內(nèi)部信號(hào)的方法
文章出處:【微信號(hào):處芯積律,微信公眾號(hào):處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論