马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
`include "hello_pkg.sv" 和import uvm_pkg::*; 区别 ? 这里做了两次,为什么?
`include "hello_pkg.sv" //这里Include hello_pkg.sv"
`include "dut_hello.v"//测试模块DUT文件
`include "hello_if.sv"//接口文件
`include "hello_case.sv"//测试用例case
module hello_tb_top;
import uvm_pkg::*;
import hello_pkg::*;// import hello_pkg::*
reg clk;
hello_if my_hello_if(clk,clk);//实例化接口
dut my_dut(.clk(clk),
.rxd(my_hello_if.rxd),
.rx_dv(my_hello_if.rx_dv),
.txd(my_hello_if.txd),
.tx_en(my_hello_if.tx_en)
);//实例化DUT,并将DUT的输入输出端口和my_hello_if连接在一起
initial begin//产生DUT需要的时钟
clk = 0;
forever begin
#10;clk = ~clk;
end
end
initial begin//通过config_db的set方式将my_if通知driver和monitor
//从而Driver和monitor可以直接和DUT通信。
uvm_config_db#(virtual hello_if)::set(null,"uvm_test_top.env.input_agt.drv","hello_if",my_hello_if);
uvm_config_db#(virtual hello_if)::set(null,"uvm_test_top.env.output_agt.mon","hello_if",my_hello_if);
run_test();//启动UVM
end
endmodule |