system-verilog - 'this' 相当于 SystemVerilog 接口(interface)

标签 system-verilog uvm

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/

相关文章:

Verilog:如何实例化模块

system-verilog - 在UVM中重写后如何获取类句柄的属性?

system-verilog - 在 UVC 中处理协议(protocol)扩展

oop - 类的对象在其类结束类定义中的含义是什么?

verilog - 如何将可合成字符串分配给 SystemVerilog 中的字节数组?

vhdl - AXI4 Lite 从 IP

system-verilog - 通过 SystemVerilog DPI-C 层传递 C 结构

verilog - 当 RTL 和 Goldenmodel 可能产生不同但正确的输出时,验证 HW 的标准方法是什么?

system-verilog - 使用系统 Verilog 生成随机枚举

stdout - 将 SystemVerilog $display 发送到 stderr