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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

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

[求助] phase运行问题

[复制链接]
发表于 2022-3-29 20:57:00 | 显示全部楼层 |阅读模式

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

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

x
在一个UVM平台中,混用了run_phase和main_phase,driver使用run_phase而monitor使用main_phase,
运行时,driver工作正常,而monitor只能够进入main_phase而无法执行消耗仿真时间的语句,比如在monitor中
·uvm_info(A)
#1;
·uvm_info(B)
运行后只能够打印A而不打印B

请问这是为何?


发表于 2022-3-30 09:48:16 | 显示全部楼层
可可能时间过了drop了,#1还没到,就直接kill了mainphase
 楼主| 发表于 2022-3-30 14:22:11 | 显示全部楼层


A1985 发表于 2022-3-30 09:48
可可能时间过了drop了,#1还没到,就直接kill了mainphase


仿真时间很长,#1时没有drop
发表于 2022-3-30 15:49:17 | 显示全部楼层
本帖最后由 qsh123_123 于 2022-3-30 16:06 编辑

看着像是main_phase里面的raise_objection/drop_objection机制没有执行起来就结束了,检查一下整个环境中有没有对main_phase的objection控制。。。
一般monitor里面都挂着while(1)的死循环,用testcase的objection机制来控制仿真时间;假如你在testcase/reference-model里面只用raise_objection/drop_objection控制了run_phase,而没有管main_phase的objection,那么整个main_phase就不会被任何消耗时间的进程raise,自然会只执行main_phase里面打印信息就结束了;因为打印信息不消耗仿真时间,是可以被执行的。。

发表于 2022-3-30 16:33:57 | 显示全部楼层
大概率是main phase没有挂起objection
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-11-5 23:25 , Processed in 0.017380 second(s), 7 queries , Gzip On, Redis On.

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