在UVM中以组合驱动输入信号(在同一周期中)



如果我想根据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

最新更新