博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVM:6.7.3 response handler 与另类的response
阅读量:4222 次
发布时间:2019-05-26

本文共 601 字,大约阅读时间需要 2 分钟。

1.get_response 和 put_response是一一对应的。当在sequence 中启动get_response 是,进程就会阻塞在那,一直等response_queue 中被放入新的记录。

2.如果被阻塞,不可能发出新的transaction。

3.根本原因是sequence 中发送transaction 与get_response 是在同一个进程中执行的。

4.如果分开,需要使用response_handler:

1)response_handler 默认是关闭的,所以要首先调用use_response_handler。

2)打开response_handler后,需要重载虚函数response_handler。参数是一个uvm_sequence_item 类型的指针,需要cast 成my_transaction,之后根据rsp 的值来决定sequence行为。

5.无论put/get_response 或者response_handler,都是新建一个transaction,并将其返回给sequence。

6.事实上,当uvm_do执行完后,其第一个参数不是空指针,而是指向刚刚被送给driver 的transaction。可以实现一种另类response:

driver:

7.sequence检测这个值:

这种另类的response在很多总线的driver 中用到。

你可能感兴趣的文章
阶段性胜利。。
查看>>
有点儿累了,最近特别能吃
查看>>
project的架构模式
查看>>
总结一下细节问题
查看>>
重新整合了一下代码
查看>>
有点儿伤感。。
查看>>
我要开始疯狂code了。。。
查看>>
在写我的论坛ing...
查看>>
页面间的信息传递
查看>>
进入了比较困难的阶段
查看>>
初见成效
查看>>
于根伟退役了。。
查看>>
大年初一的晚上
查看>>
接近尾声咯
查看>>
。。。。。。。。。。
查看>>
你还是杀了我吧
查看>>
这个旋律。。
查看>>
这些是我没有好好珍惜的。。
查看>>
2006年2月9日 凌晨0点46分
查看>>
技术文章
查看>>