1.通常,一个transaction 对应一个response,但事实上,UVM 也支持一个transaction 对应多个response 的情况。需要sequence 多次调用get_response,而在driver 中,需要多次调用put_response:
1).将response 作为item_done 的参数不在适用,多次使用item_done 会报错。
2.response 机制的原理是driver 将rsp 推送给sequencer,而sequencer 内部维持一个队列,当有新的response 进入时,就推入此队列。队列大小默认为8。如果有8个response时,在发新的response,UVM会给出错误。