'this' 等效于 SystemVerilog 接口
'this' equivalent for SystemVerilog interfaces
对于 SystemVerilog 接口,是否有与 this
等效的结构?
我想做的是在某个 DUT 块内绑定一个接口,然后使用 UVM 配置数据库作为虚拟接口传递它:
bind some_block some_interface(...);
interface some_interface(...);
initial
`uvm_config_db #(virtual some_interface)::set(null, "some.path", "vif", this);
endinterface
我的解决方法是定义一个实例化接口的包装器模块,然后执行配置数据库集:
module some_interface_wrapper(...);
some_interface some_if(...);
initial
`uvm_config_db #(virtual some_interface)::set(null, "some.path", "vif", some_if);
endmodule
我不喜欢这种方法的地方是我必须定义白盒信号两次,一次在接口中,一次在包装器模块中。
有更简洁的方法吗?
有一个 proposal 使用向上引用来代替这个,但还没有最终确定。
对于 SystemVerilog 接口,是否有与 this
等效的结构?
我想做的是在某个 DUT 块内绑定一个接口,然后使用 UVM 配置数据库作为虚拟接口传递它:
bind some_block some_interface(...);
interface some_interface(...);
initial
`uvm_config_db #(virtual some_interface)::set(null, "some.path", "vif", this);
endinterface
我的解决方法是定义一个实例化接口的包装器模块,然后执行配置数据库集:
module some_interface_wrapper(...);
some_interface some_if(...);
initial
`uvm_config_db #(virtual some_interface)::set(null, "some.path", "vif", some_if);
endmodule
我不喜欢这种方法的地方是我必须定义白盒信号两次,一次在接口中,一次在包装器模块中。
有更简洁的方法吗?
有一个 proposal 使用向上引用来代替这个,但还没有最终确定。