如果我想根据UVM驱动器设计的某些输出组合驱动设计输入信号,最好的方法是什么?如果我在运行阶段实现它并查看设计输出信号,我会在时钟的下一个正边沿看到它,对吧?这将浪费一个周期。
E.g。 rd输入信号随机断言设计;除非空为高,否则它应在同一循环中取消断言。
答案 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