ET创芯网论坛(EETOP)

您现在是游客状态

请您   登录   或  注册  享受更多权益

超低功耗免电池物联网方案合集(下载送好礼!)
查看: 430|回复: 3

[求助] 求助: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的值;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

小黑屋|手机版|Archiver|ET创芯网 ( 京ICP备:10050787号 京公网安备:110105001212 )

GMT+8, 2019-4-21 18:58 , Processed in 0.062531 second(s), 11 queries , Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表