因?yàn)镈UT是一個(gè)靜態(tài)的內(nèi)容,所以testbench理應(yīng)也是靜態(tài)的,其作為uvm驗(yàn)證環(huán)境和DUT的全局根結(jié)點(diǎn)。
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
上面是一個(gè)簡(jiǎn)單的驗(yàn)證平臺(tái)的tb_top示例.其中:
- tb_top 是一個(gè)靜態(tài)的module,驗(yàn)證環(huán)境中所有的信息都可以從這里索引到。此時(shí)需要 import uvm_pkg:: * 才能識(shí)別一些uvm庫(kù)的內(nèi)容。
- 在tb_top需要生成驗(yàn)證環(huán)境、DUT和接口都需要的時(shí)鐘和復(fù)位。因?yàn)轵?yàn)證環(huán)境是動(dòng)態(tài)的,無(wú)法在其中例化物理接口,所以需要采用uvm_config_db將物理interface的指針set給驗(yàn)證環(huán)境中的virtual interface。
- 通過(guò)ru
n_test(“
base_test
”) 啟動(dòng)
一個(gè)test_case。
Clock generation
一般的數(shù)字設(shè)計(jì)都會(huì)包含一個(gè)或者多個(gè)時(shí)鐘,同時(shí)設(shè)計(jì)可能會(huì)因?yàn)楣に嚨葐?wèn)題工作在不同的頻率下,所以時(shí)鐘生成最好是參數(shù)化的。
Reset Generation
和時(shí)鐘類(lèi)似,復(fù)位也需要在testbench頂層實(shí)現(xiàn)。在許多數(shù)字設(shè)計(jì)中,復(fù)位分為 硬件復(fù)位和軟件復(fù)位 ,它們的復(fù)位方式不一樣,前者通過(guò)寄存器接口實(shí)現(xiàn),后者直接通過(guò)硬件復(fù)位接口實(shí)現(xiàn)。
和DUT interface一樣,時(shí)鐘和復(fù)位在驗(yàn)證環(huán)境和DUT中都會(huì)用到,對(duì)應(yīng)的賦值可以在tb_top中實(shí)現(xiàn),也可以在驗(yàn)證環(huán)境中實(shí)現(xiàn)。
另外很多驗(yàn)證環(huán)境都需要抽取DUT中的信號(hào),可能是force,也可能是采樣DUT內(nèi)部信號(hào)。此時(shí)需要在testbench tb_top中將DUT信號(hào)賦值過(guò)去。
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
-
時(shí)鐘
+關(guān)注
關(guān)注
11文章
1887瀏覽量
132947 -
UVM
+關(guān)注
關(guān)注
0文章
182瀏覽量
19473 -
DUT
+關(guān)注
關(guān)注
0文章
190瀏覽量
12876
發(fā)布評(píng)論請(qǐng)先 登錄
IC驗(yàn)證"UVM驗(yàn)證平臺(tái)"組成(三)
IC驗(yàn)證"一個(gè)簡(jiǎn)單的UVM驗(yàn)證平臺(tái)"是如何搭建的(六)
IC驗(yàn)證"UVM驗(yàn)證平臺(tái)加入factory機(jī)制"(六)
IC驗(yàn)證“UVM驗(yàn)證平臺(tái)加入objection機(jī)制和virtual interface機(jī)制“(七)
基于C的測(cè)試和驗(yàn)證套件集成到常規(guī)UVM測(cè)試平臺(tái)的方法
基于C的測(cè)試和驗(yàn)證套件集成到常規(guī)UVM測(cè)試平臺(tái)的方法
數(shù)字IC驗(yàn)證之“什么是UVM”“UVM的特點(diǎn)”“UVM提供哪些資源”(2)連載中...
數(shù)字IC驗(yàn)證之“典型的UVM平臺(tái)結(jié)構(gòu)”(3)連載中...
數(shù)字IC驗(yàn)證之“構(gòu)成uvm測(cè)試平臺(tái)的主要組件”(4)連載中...
數(shù)字IC驗(yàn)證之“搭建一個(gè)可以運(yùn)行的uvm測(cè)試平臺(tái)”(5)連載中...
什么是uvm?uvm的特點(diǎn)有哪些呢
基于UVM的驗(yàn)證平臺(tái)設(shè)計(jì)研究
UVM驗(yàn)證平臺(tái)執(zhí)行硬件加速

評(píng)論