SystemVerilog 接口(interface)是否有与 this
等效的构造?
我想做的是绑定(bind)某个 DUT block 内的接口(interface),然后使用 UVM 配置数据库作为虚拟接口(interface)传递它:
bind some_block some_interface(...);
interface some_interface(...);
initial
`uvm_config_db #(virtual some_interface)::set(null, "some.path", "vif", this);
endinterface
我采取的解决方法是定义一个包装器模块来实例化接口(interface),然后执行配置数据库设置:
module some_interface_wrapper(...);
some_interface some_if(...);
initial
`uvm_config_db #(virtual some_interface)::set(null, "some.path", "vif", some_if);
endmodule
我不喜欢这种方法的是,我必须定义白盒信号两次,一次在接口(interface)中,一次在包装器模块中。
有更简洁的方法吗?
最佳答案
有一个proposal使用向上引用来代替它,但尚未最终确定。
关于system-verilog - 'this' 相当于 SystemVerilog 接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29893155/