在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2661|回复: 4

[求助] 求助:sequence如何使用monitor中的变量

[复制链接]
发表于 2019-2-12 12:39:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
大家好,请教一下sequence如何使用monitor中的变量的问题。
如图,sequence_0想根据DUT返回的不同情况,发送不同的sequence。DUT返回的ret由monitor_1监视。在monirot_1中有一个变量是cnt,请问在sequence_0中如何拿到cnt?谢谢。




                               
登录/注册后可看大图
seq.JPG
发表于 2019-2-12 16:10:03 | 显示全部楼层
纯属个人想法:
第一种,在env中将out_agent中的monitor_1 uvm_config_db::set() 到in_agent中的sequencer_0,然后sequence_0中通过uvm_config_db::get()到monitor_1的句柄,通过这个句柄访问变量cnt。
第二种,如果有virtual sequencer,则可以将out_agent中的monitor_1 uvm_config_db::set() 到virtual sequencer中,然后sequence_0中通过uvm_config_db::get()到virtual sequencer中monitor_1的句柄,通过这个句柄访问变量cnt。
第三种,如果只有变量cnt而且功能纯粹,是否可以考虑将这个变量cnt放置在in_agent的monitor中,这样结构会方便一点。

但是总感觉这三种方法都不好,导致结构混乱,复用性变差。
发表于 2019-2-12 16:40:13 | 显示全部楼层
可以试试response,monitor检测信号传给driver,driver给sequence以反馈。
发表于 2019-2-12 23:17:07 | 显示全部楼层
看了2楼和3楼的回答,觉着有问题;

我的做法,使用TLM传递:
1. 在moniter_1中增加一个analysis_port,把cnt 广播出去;
2. 在sequencer_0中增加一个imp,接收步骤1中广播的cnt;
3. sequence中可以直接通过sequencer_0中的port得到cnt的值;
发表于 2024-3-2 18:13:22 | 显示全部楼层


chaozhanghu 发表于 2019-2-12 23:17
看了2楼和3楼的回答,觉着有问题;

我的做法,使用TLM传递:


楼主说的对,sequencer 是桥接sequence 和component的桥梁

已做验证
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-29 04:56 , Processed in 0.021845 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表