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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1638|回复: 1

[求助] 为什么uvm的objection机制只有在run_phase及其run-time phase中使用?

[复制链接]
发表于 2020-6-28 20:03:29 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 leine 于 2020-6-28 20:25 编辑

RT,为什么uvm的objection机制只有在run_phase及其run-time phase中使用?看张强的uvm实战卷1里有这么一句话:“在进入到某一phase时, UVM会收集此phase提出的所有objection, 并且实时监测所有objection是否已经被撤销了, 当发现所有都已经撤销后, 那么就会关闭此phase, 开始进入下一个phase。 当所有的phase都执行完毕后, 就会调用$finish来将整个的验证平台关掉。 ”

后续举例了下面这种main_phase,说没使用objection所以马上退出了。但是针对上面这段话,我的build、connect等phase里面没有raise objection那岂不是也会立即退出吗?





  1. task driver::main_phase(uvm_phase phase);
  2. #100;
  3. endtask


复制代码

---------------自己解答,看到后面:“ 一般不会这么用。 phase的引入是为了解决何时结束仿真的问题, 它更多面向main_phase等task phase, 而不是面向function phase。 ”
发表于 2020-6-28 22:31:54 | 显示全部楼层

function phase不消耗时间,在0时刻就可以执行完function phase中的内容。
raise_objection()在task phase中,要放在0时刻位置。否则未挂起objection,将会立即退出。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-11-13 23:06 , Processed in 0.014723 second(s), 6 queries , Gzip On, Redis On.

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