首页 > 解决方案 > 强制来自 UVM 驱动器的内部 DUT 信号

问题描述

我有一个场景。我有 uvm_driver,它有一个虚拟接口 vif。此虚拟接口具有带有信号 a 的 modport。有两个级别的模拟。下层 L1 和上层 L2。在 L1 中,代理处于活动状态,驱动程序驱动信号 a;在 L2 级中,代理处于被动状态,因为预期 DUT 会驱动此信号,并且仅创建监视器。有一种临时情况,驱动 a 的 DUT 尚未准备好,我们需要驱动程序来驱动。你能告诉我如何从uvm_driver强制这个信号a(现在是L2级的内部信号)吗?我的 uvm_driver 中有复杂的逻辑,无论我在哪里使用 vif,我都想在我处于 L2 级别时强制这个信号 a。

提前致谢

标签: system-veriloguvm

解决方案


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

uvm_hdl_force
uvm_hdl_deposit
uvm_hdl_force_time

因此,您可以执行以下操作:

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

推荐阅读