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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1346|回复: 6

[原创] sequence向sequencer中送出transaction

[复制链接]
发表于 2021-10-22 17:12:47 | 显示全部楼层 |阅读模式

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

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

x
定义了sequence后,只需要在某个component(如my_sequencer、my_env)的main_phase中启动这个sequence即可。

我的问题是
为何在任何component的main_phase中启动这个sequence都可以?

 楼主| 发表于 2021-10-22 17:16:03 | 显示全部楼层
如果使用default_sequence的方式,只需要在某个component(如my_env)的build_phase中通过uvm_config_db来设置。
为何又是某个component,而不是固定在某个地方,比方说在top。
发表于 2021-10-22 19:25:47 | 显示全部楼层
本帖最后由 年轻的韭菜 于 2021-10-28 09:46 编辑

你问的问题如果要解释清楚需要看源码,sequence的启动到底是啥,sequence的启动是指start函数?sequence的启动分几种方式?这个博主的文章进行了详细介绍,你可以看看。https://blog.csdn.net/Holden_Liu/article/details/111740898
https://blog.csdn.net/Holden_Liu/article/details/111387721
发表于 2021-10-27 13:40:54 | 显示全部楼层
uvm的phase机制是将各个component联动起来的,只要在MAIN_PHASE就行
发表于 2021-10-27 18:14:55 | 显示全部楼层
因为sequence和transaction都是uvm_object,即使你已经定义了他们的类本身,但它们在正真地被调用前是不会被分配内存地址的,所以才有uvm_object具有生命周期这么一说。
正是因为uvm_object的这种特性,它才可以在任意一个uvm_component中进行实例化和调用,来完成它里面所承载的变量、函数和任务等功能。
所以,不管是sequencer、driver、agent甚至是env,只要是一个component且具有实际仿真和运行时间的phase,都可以在实例化sequence后对其进行启动和运行。

至于为何在build_phase中设置了default_sequence后就不用手动启动sequence,那是因为sequencer在其main_phase中,会在启动default_sequence时默认在其starting_phase中调用在其build_phase时获取到的sequence的句柄并调用start函数,此时剩下的就只要让sequence的body函数运行起来就够了——所以才需要在sequence中加入对starting_phase的raise_objection函数的调用过程。因此,不用default_sequence的话,raise_objection/drop_objection这两个函数的调用就得自己在其他组件手动调用sequence时候拉起objection。


 楼主| 发表于 2021-10-28 14:36:36 | 显示全部楼层


年轻的韭菜 发表于 2021-10-22 19:25
你问的问题如果要解释清楚需要看源码,sequence的启动到底是啥,sequence的启动是指start函数?sequence的 ...


多谢
 楼主| 发表于 2021-10-28 14:37:28 | 显示全部楼层


qsh123_123 发表于 2021-10-27 18:14
因为sequence和transaction都是uvm_object,即使你已经定义了他们的类本身,但它们在正真地被调用前是不会 ...


非常感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-4-20 02:36 , Processed in 0.023481 second(s), 6 queries , Gzip On, Redis On.

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