因為DUT是一個靜態的內容,所以testbench理應也是靜態的,其作為uvm驗證環境和DUT的全局根結點。
module tb_top;
import uvm_pkg::*;
bit clk;
always #10 clk <= ~clk;
dut_if dut_if1 (clk);
dut_wrapper dut_wr0 (._if (dut_if1));
initial begin
uvm_config_db #(virtual dut_if)::set (null,"uvm_test_top","dut_if",dut_if1);
run_test ("base_test");
end
endmodule
上面是一個簡單的驗證平臺的tb_top示例.其中:
- tb_top 是一個靜態的module,驗證環境中所有的信息都可以從這里索引到。此時需要 import uvm_pkg:: * 才能識別一些uvm庫的內容。
- 在tb_top需要生成驗證環境、DUT和接口都需要的時鐘和復位。因為驗證環境是動態的,無法在其中例化物理接口,所以需要采用uvm_config_db將物理interface的指針set給驗證環境中的virtual interface。
- 通過ru
n_test(“
base_test
”) 啟動
一個test_case。
Clock generation
一般的數字設計都會包含一個或者多個時鐘,同時設計可能會因為工藝等問題工作在不同的頻率下,所以時鐘生成最好是參數化的。
Reset Generation
和時鐘類似,復位也需要在testbench頂層實現。在許多數字設計中,復位分為 硬件復位和軟件復位 ,它們的復位方式不一樣,前者通過寄存器接口實現,后者直接通過硬件復位接口實現。
和DUT interface一樣,時鐘和復位在驗證環境和DUT中都會用到,對應的賦值可以在tb_top中實現,也可以在驗證環境中實現。
另外很多驗證環境都需要抽取DUT中的信號,可能是force,也可能是采樣DUT內部信號。此時需要在testbench tb_top中將DUT信號賦值過去。
interface gen_if;
logic signals;
endinterface
module tb_top;
gen_if u_if0 ();
des u_des ( ... );
// Assign an internal net to a generic in
assign u_if0.signals = u_des.u_xyz.status;
endmodule
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
時鐘
+關注
關注
11文章
1734瀏覽量
131510 -
UVM
+關注
關注
0文章
182瀏覽量
19179 -
DUT
+關注
關注
0文章
189瀏覽量
12397
發布評論請先 登錄
相關推薦
IC驗證"一個簡單的UVM驗證平臺"是如何搭建的(六)
main_phase的聲明中,有一個uvm_phase類型的參數phase,在真正的驗證平臺 中,這個參數是不需要用戶理會的。本節的驗證
發表于 12-04 15:48
IC驗證"UVM驗證平臺加入factory機制"(六)
加入factory機制 上一節《IC驗證"一個簡單的UVM驗證平臺"是如何搭建的(五)》給出了一個只有driver、使用UVM搭建的
發表于 12-08 12:07
IC驗證“UVM驗證平臺加入objection機制和virtual interface機制“(七)
在上一節中,**《IC驗證"UVM驗證平臺加入factory機制"(六)》**雖然輸出了“main_phase is called”,但是“data is drived”并沒有
發表于 12-09 18:28
基于C的測試和驗證套件集成到常規UVM測試平臺的方法
Systemverilog [1]和 UVM [2]為驗證團隊提供結構和規則。它使得在許多測試中能獲得一致的結果,并可以在團隊之間共享驗證。許多驗證團隊都在使用由C代碼編寫的
發表于 12-11 07:59
基于C的測試和驗證套件集成到常規UVM測試平臺的方法
Systemverilog [1]和 UVM [2]為驗證團隊提供結構和規則。它使得在許多測試中能獲得一致的結果,并可以在團隊之間共享驗證。許多驗證團隊都在使用由C代碼編寫的
發表于 12-15 07:38
數字IC驗證之“什么是UVM”“UVM的特點”“UVM提供哪些資源”(2)連載中...
原文鏈接:https://zhuanlan.zhihu.com/p/345775995大家好,我是一哥,上章內容主要講述兩個內容,芯片驗證以及驗證計劃。那本章我們主要講述的內容有介紹什么是uv
發表于 01-21 16:00
數字IC驗證之“典型的UVM平臺結構”(3)連載中...
大家好,我是一哥,上章內容我們介紹什么是uvm?uvm的特點以及uvm為用戶提供了哪些資源? 本章內容我們來看一看一個典型的uvm驗證
發表于 01-22 15:32
數字IC驗證之“構成uvm測試平臺的主要組件”(4)連載中...
大家好,我是一哥,上章一個典型的uvm驗證平臺應該是什么樣子的?從本章開始就正式進入uvm知識的學習。先一步一步搭建一個簡單的可運行的測試平臺
發表于 01-22 15:33
數字IC驗證之“搭建一個可以運行的uvm測試平臺”(5)連載中...
事物的控制,在智能代碼中前后有兩個if語句,這里先不用管,它的功能是控制驗證平臺何時結束。 在來看看repeat語句當中的內容,repeat的語句中使用了uvm do這個uvm內建的
發表于 01-26 10:05
什么是uvm?uvm的特點有哪些呢
大家好,我是一哥,上章內容我們介紹什么是uvm?uvm的特點以及uvm為用戶提供了哪些資源?本章內容我們來看一看一個典型的uvm驗證
發表于 02-14 06:46
UVM驗證平臺執行硬件加速
。 本文所聚焦的技術手段是讓一個已有的UVM驗證平臺通過改變需求去執行硬件加速。如果這些點在UVM環境開發過程中被考慮到,那么之后將環境遷移到硬件加速器作為一個性能選項將是一件較容易的
發表于 09-15 17:08
?14次下載
ASIC芯片設計之UVM驗證
百度百科對UVM的釋義如下:通用驗證方法學(Universal Verification Methodology, UVM)是一個以SystemVerilog類庫為主體的驗證
發表于 11-30 12:47
?1514次閱讀
評論