如果我想根据UVM驱动程序中设计的某些输出来组合设计输入信号,那么最好的方法是什么?如果我在运行阶段实现它并查看设计输出信号,我会在时钟的下一个正边缘上看到它,对吗?这将浪费一个周期。
例如。RD输入信号被随机主张。除非空为高,否则应在同一周期中解答。
在运行阶段中实现任何内容并不意味着您将同步时钟的姿势。您可以随时从运行阶段分配一种方法,该方法等待特定信号的更改,然后在此时进行某些操作:
task run_phase(uvm_phase phase);
fork
monitor_comb_sig();
join_none
endtask
task monitor_comb_sig();
forever begin
@(some_signal); // waits until some_signal changes
// drive some other signal based on this change
end
endtask