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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: 静影沉璧

[讨论] 有关objection机制的思考

[复制链接]
 楼主| 发表于 2018-8-17 09:52:06 | 显示全部楼层
回复 5# houxiangyun


    我想问一下您,我只是在sequence中有raise和drop objection,那么compoent中的main_phase是如何raise、drop objection进行正常运行的。
发表于 2018-8-17 09:54:36 | 显示全部楼层
回复 8# zqq624723237


   sequence用了sequencer的phase 指针,张强的书上好像说过。
发表于 2018-8-17 10:41:13 | 显示全部楼层
component 的运行机制和sequence不同,phase 可以理解为有10位同学,依次答题,1号答完2号答。而每位同学答题何时结束则由手中的稿子决定 这就是sequence。当没有了objection也就是稿子读完了,该下一位同学了。
另外 objection这个概念在uvm1.2中依然存在但是不需要我们去处理了。
发表于 2018-8-17 10:43:14 | 显示全部楼层
回复 11# 静影沉璧


    说不定在component的源码中实现了呢
发表于 2018-8-17 12:58:31 | 显示全部楼层
回复 11# 静影沉璧

见10楼所有的objection的raise时间点都是在component的run-time phase中进行的。
启动sequence的主要两种方式:start和default sequence.
default sequence在10楼大致解释了。
start方式的话,你可以去看看seq.start()都是在那里调用的。你会发现它其实都是在某个component的某个run-time phase函数里面调用的。(非run-time phase由于不消耗仿真时间,所以有没有objection无所谓)。
 楼主| 发表于 2018-8-17 13:26:13 | 显示全部楼层
回复 10# houxiangyun


    您太厉害了,谢谢~
发表于 2018-8-18 13:18:41 | 显示全部楼层
compoent的phase启动和不启动和raise,drop没有关系,他是通过uvm树形结构自动依次执行的。raise和drop只是决定在这个phase要不要block住不进行到下一个phase
发表于 2018-8-18 18:00:05 | 显示全部楼层
回复 10# houxiangyun


   您回答的太详细了,真的要好好看看源码了
发表于 2018-8-19 13:09:38 | 显示全部楼层
是否用if(!starting_phase =  null)
发表于 2018-8-21 15:17:17 | 显示全部楼层
回复 17# Marlbe_Yang


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

本版积分规则

关闭

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

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

GMT+8, 2024-4-28 13:53 , Processed in 0.026664 second(s), 8 queries , Gzip On, Redis On.

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