'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 使用向上引用来代替这个,但还没有最终确定。