Interface 将内部DUT信号绑定到接口并在监视器中使用
我有一些内部DUT信号,我需要在显示器中使用。我尝试绑定接口,然后在monitor中使用虚拟接口,但DUT值没有反映在我的接口上 测试台-Interface 将内部DUT信号绑定到接口并在监视器中使用,interface,system-verilog,uvm,Interface,System Verilog,Uvm,我有一些内部DUT信号,我需要在显示器中使用。我尝试绑定接口,然后在monitor中使用虚拟接口,但DUT值没有反映在我的接口上 测试台- bind fifo1 : i_dut.fifo_inst.fifo1_inst exp_interface m1 (.fifo_out(out_dut1)); exp_interface exp_intf(); initial begin uvm_config_db#(virtual exp_interface)::set(nul
bind fifo1 : i_dut.fifo_inst.fifo1_inst exp_interface m1 (.fifo_out(out_dut1));
exp_interface exp_intf();
initial
begin
uvm_config_db#(virtual exp_interface)::set(null, "*", "exp_intf", exp_intf);
end
接口文件-
interface exp_interface (
output fifo_in,
input fifo_out
);
endinterface
在监视器中,我尝试使用-
if(exp_intf.fifo_out==1)
$display("hello0---------------------");
但是我没有看到out_dut1的dut值(绑定到1)反映在接口上 bind语句仅在您提供的实例中实例化类型为
exp\u interface
的接口,该实例名为m1
因此,接口的路径是i_dut.fifo_inst.fifo1_inst.m1
。这是你需要注册的
在本例中,您在当前范围中实例化了另一个接口,该接口未绑定到任何实际信号。它是不需要的。bind语句只是在您提供的实例中用实例名
m1
实例化类型为exp\u interface
的接口
因此,接口的路径是i_dut.fifo_inst.fifo1_inst.m1
。这是你需要注册的
在本例中,您在当前范围中实例化了另一个接口,该接口未绑定到任何实际信号。不需要它。ahhh。。。我觉得有些联系缺失,现在你明白了。所以我注册了m1,现在可以得到并看到DUT值。谢谢你。这几乎毁了我的周末。啊。。。我觉得有些联系缺失,现在你明白了。所以我注册了m1,现在可以得到并看到DUT值。谢谢你。这几乎毁了我的周末。