System verilog 强制来自UVM驱动器的内部DUT信号

System verilog 强制来自UVM驱动器的内部DUT信号,system-verilog,uvm,System Verilog,Uvm,我有一个设想。我有一个uvm_驱动程序,它有一个虚拟接口vif。此虚拟接口具有带信号a的modports。有两个级别的模拟。下层L1和上层L2。在L1中,代理是主动的,驱动器驱动信号a;在L2级,代理是被动的,因为预期DUT会驱动该信号,并且只创建监视器。有一种临时情况,驾驶a的DUT尚未准备好,我们需要驾驶员驾驶。你能告诉我如何强制这个信号吗?这是一个内部信号,现在是来自uvm_驱动器的L2级信号?我的uvm_驱动程序中有复杂的逻辑,无论我在哪里用vif辅助a,我想在L2级时强制a信号 提前感

我有一个设想。我有一个uvm_驱动程序,它有一个虚拟接口vif。此虚拟接口具有带信号a的modports。有两个级别的模拟。下层L1和上层L2。在L1中,代理是主动的,驱动器驱动信号a;在L2级,代理是被动的,因为预期DUT会驱动该信号,并且只创建监视器。有一种临时情况,驾驶a的DUT尚未准备好,我们需要驾驶员驾驶。你能告诉我如何强制这个信号吗?这是一个内部信号,现在是来自uvm_驱动器的L2级信号?我的uvm_驱动程序中有复杂的逻辑,无论我在哪里用vif辅助a,我想在L2级时强制a信号


提前感谢

UVM提供了一种超速驱动信号的方法,例如:

uvm_hdl_force
uvm_hdl_deposit
uvm_hdl_force_time
所以,你可以这样做:

uvm_hdl_force("my_tb.my_dut.a", 1'b1);

您需要拿出一个简单的代码示例来描述您的问题。目前,你只是告诉我们,你有一个坏的设计测试台,并希望修补它。很抱歉,根据您的描述,很难在此论坛中为您提供帮助。