在UVM中组合地(在相同的循环中)驱动输入信号

时间:2014-01-29 03:19:12

标签: verification system-verilog uvm

如果我想根据UVM驱动器设计的某些输出组合驱动设计输入信号,最好的方法是什么?如果我在运行阶段实现它并查看设计输出信号,我会在时钟的下一个正边沿看到它,对吧?这将浪费一个周期。

E.g。 rd输入信号随机断言设计;除非空为高,否则它应在同一循环中取消断言。

1 个答案:

答案 0 :(得分:0)

在运行阶段实现任何内容并不意味着您将在时钟的同步上进行同步。你总是可以从等待特定信号变化的运行阶段中分出一个方法,然后在那一点做一些事情:

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