在UVM寄存器模型的操作中,寄存器用于設置DUT狀態和芯片狀態信息的上報,有前門和后門讀寫兩種方式。
推而廣之,其他的DUT內部信號,由于驗證的需要,有時也需要進行后門讀寫。這些信號除了包含前門可讀的寄存器以外,還會包含reg/wire信號、狀態機的狀態值、memory內容等。
總的來看,獲取DUT內部狀態分為前門和后門兩種方式。
前門讀寫
前門讀寫:使用總線對DUT發起真實的讀寫,一般需要總線VIP支持,僅針對DUT內部可訪問的地址空間,如配置和上報寄存器、memory。
這種方式好處在于能夠和芯片真實的工作場景保持高度相似,能夠發現時序配合上的一些問題。
缺點一方面也是前門的“真實性”,當需要讀寫的地址空間數量很大時,會消耗非常多的仿真時間,影響用例的執行效率。
另一方面是這種耗時的讀寫不滿足“實時性”比對的驗證要求。某些驗證環境中,可能需要在幾個cycle內完成對DUT狀態的獲取和比對,這種場景下前門讀取方式則無法滿足。
后門讀寫
后門讀寫:繞過前門總線,直接通過DUT內信號的hierarchy路徑強制force或者讀取信號值。
后門操作的方式可以分為:按信號的Hierarchy讀取、interface連接DUT信號、和VPI訪問。
1. 信號的Hierarchy讀取
DUT經過編譯后,內部的信號都有對應的hierarchy路徑,如dut.a.b.c,dut.out。在驗證環境中可以直接使用,例如:
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)//錯誤!使用VPI訪問缺點:不能按位域驅動和讀取。對于多bit信號,無法只對其中的部分bit操作。
一般而言對于黑盒驗證中的加密代碼,使用Hierarchy和VPI方式都是無法獲取加密代碼內部信號的狀態。當然如果在已知加密代碼層次前提下,通過一些處理,還是可以通過Hierarchy方式進行后門操作。
審核編輯:湯梓紅
-
芯片
+關注
關注
459文章
52446瀏覽量
439896 -
寄存器
+關注
關注
31文章
5433瀏覽量
124242 -
仿真
+關注
關注
52文章
4266瀏覽量
135691 -
信號
+關注
關注
11文章
2851瀏覽量
78193 -
DUT
+關注
關注
0文章
190瀏覽量
12940
原文標題:驗證環境獲取DUT內部信號的方法
文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
基于VMM驗證方法學的MCU驗證環境
基于VMM的驗證環境的驗證MCU指令實現設計
基于VMM驗證方法學的MCU驗證環境實現方法介紹
SoC驗證環境搭建方法的研究
DUT 和 testbench 連接教程
驗證組件配置參數

基于DUT內部寄存器值的鏡像
北京清微智能科技有限公司發布IC驗證新方法,實現雙DUT驗證

評論