1.某些协议中,driver 要每隔一段时间向DUT 发送类似心跳的信号。心跳包与普通包没有本质区别也是普通的transaction。两种选择:
1)在driver 中产生,发送:
2)sequence 实现,无效循环:
上述代码最好不要使用绝对延时,而使用virtual sequence。应该如下:
心跳包优先级最高,所以grab。
2.使用virtual sequence:
3.不能如下:
1)因为心跳sequence 是无限循环,上述会导致这个body 无法停止。
4.virtual sequence 的objection 被撤销,main_phase 停止,退出仿真,但心跳sequence 真正发送,所以要在心跳中也设置:
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-13 00:37:12