1.任何DUT 模块都有延时:
在sequence 中,m时刻发送完最后一个sequence,如果此刻drop_objection,那么在 n+p 时刻DUT 的输出报无法收到。所以需要延时p时间才能drop_objection:
2.UVM所有的objection 设置了 drain_time 属性。设置方式:
1)phase_done 是uvm_phase 的变量:
2)UVM 在main_phase 检查到所有objection 被撤销后,会检查是否设置drain_time,如果有,则延迟drain_time。
3.my_case0:
4结果: