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结果:
5.一个phase 对应一个drain_time,其他phase 要用,要给自己单独设置。不共享。
本文探讨了在UVM验证环境中,如何正确处理DUT模块的延时问题,特别是通过设置drain_time来确保所有objection被正确撤销后的稳定期。介绍了在sequence结束后为何需要延时才能drop objection,以及UVM如何检查并应用drain_time。

1194

被折叠的 条评论
为什么被折叠?



