Response总结,共三种情况
(1)每一笔都等response -> 直接get_response
注意put_response的前提是当前的seq的body没有直接结束,这个body一定是最底层发req的那个seq的body
(2)连续发送数据,其中有的是blocking,有的是non-blocking的,针对blocking的req,发出去之后必须等待cpl回来之后才能发下一笔 -> 在一个seq里面多次发送req,如果是blocking的req就执行get-response,否则不执行,但是需要注意的是这个seq结束body的时间一定是所有req的rsp都回来了才结束;
(3)连续发,但是需要拿到每一个req的rsp->采用response handler,同样需要注意body任务的结束时间
针对driver需要注意,id_info一定要保证正确,get_next_item之后使用item_done();注意一定是不带rsp的,把rsp放在put_response(rsp)去做。
此外除了可以使用seq_item_port的put_response之外还可以使用rsp_port,针对seq_item_port除了使用put_response以外应该还可以使用put(没实验过)。
记录相关链接:
UVM中使用put_response的一个注意点-CSDN博客
https://www.cnblogs.com/Alfred-HOO/articles/16519230.html
https://blog.csdn.net/Kizuna_AI/article/details/133684332
https://blog.csdn.net/tingtang13/article/details/46563031
https://www.cnblogs.com/csjt/p/15416039.html
https://blog.csdn.net/W1Z1Q/article/details/129966781
https://blog.csdn.net/W1Z1Q/article/details/129965689?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22129965689%22%2C%22source%22%3A%22W1Z1Q%22%7D
https://blog.csdn.net/gsjthxy/article/details/105276065
https://blog.csdn.net/gsjthxy/article/details/105276065
https://www.cnblogs.com/Alfred-HOO/articles/16519230.html
https://blog.csdn.net/lbt_dvshare/article/details/80633839
https://zhuanlan.zhihu.com/p/436911218