|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
各位大侠,我最近在学uvm,根据书《UVM1.1应用指南及源码分析》 在顶层连接interface时出错了,我的test是一个my_test类,但是书上通过config来配置却是:
25 initial begin
26 uvm_config_db #(virtual my_if)::set(null,"uvm_test_top.env.i_agt.drv","my_if",my_my_if);
27 uvm_config_db #(virtual my_if)::set(null,"uvm_test_top.env.o_agt.mon","my_if",my_my_if);
28 run_test();
29 end
用irun运行时出现
file: ./top.sv
uvm_config_db #(virtual my_if)::set(null,"uvm_test_top.env.i_agt.drv","my_if",my_my_if);
|
ncvlog: *E,NOPBIND (./top.sv,26|16): Package uvm_config_db could not be bound.
uvm_config_db #(virtual my_if)::set(null,"uvm_test_top.env.o_agt.mon","my_if",my_my_if);
|
ncvlog: *E,NOPBIND (./top.sv,27|16): Package uvm_config_db could not be bound.
module worklib.top:sv
errors: 2, warnings: 0
我的问题是这uvm_test_top是uvm里面内定的吗?无论什么testcase 都这样配置??我仔细看过路径没有错啊,这个错误怎样去除??
我将其改为my_test.env.o_agt.drv问题仍然是一样的,
top的源代码是
2 `include "my_if.sv"
3 `include "dut.sv"
4
5 module top;
6 import uvm_pkg::*;
7 `include "uvm_macros.svh"
8 `include "my_test.sv"
9
10 reg clk;
11 my_if my_my_if(clk,clk);
12 dut my_dut(.clk(clk),
13 .rxd(my_my_if.rxd),
14 .rx_dv(my_my_if.rx_dv),
15 .txd(my_my_if.txd),
16 .tx_en(my_my_if.tx_en)
17 );
18 initial begin
19 clk = 0;
20 forever begin
21 #10; clk=~clk;
22 end
23 end
24
25 initial begin
26 uvm_config_db #(virtual my_if)::set(null,"uvm_test_top.env.i_agt.drv","my_if",my_my_if);
27 uvm_config_db #(virtual my_if)::set(null,"uvm_test_top.env.o_agt.mon","my_if",my_my_if);
28 run_test();
29 end
30 endmodule
在driver和monitor中声明 interface是这样的
virtual my_if vif;
但是我改为
uvm_config_db #(virtual my_if)::set(null,"uvm_test_top.env.i_agt.drv",“vif",my_my_if);
也是不对的
请知道的人赐教啊,小弟不甚感激。 |
|