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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2644|回复: 7

[求助] UVM phase问题

[复制链接]
发表于 2018-8-6 22:59:18 | 显示全部楼层 |阅读模式

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

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

x
请问 UVM的build_phase为什么采用top-down方式?
发表于 2018-8-7 10:00:29 | 显示全部楼层
uvm源码中,uvm_build_phase和uvm_final_phase 继承自uvm_topdown_phase。

build_phase是一个不消耗仿真时间的function phase,它在仿真阶段的0时刻执行。

build_phase的主要功能:
1,使用config_db来传递数据,主要就是通过uvm_config_db::set/get来进行。
2,实例化成员变量,主要是通过type_id::create的方式来进行。

build_phase的执行顺序是,new之后,main_phase之前。

回答你提出的问题:
比如说agent里面有driver和monitor,他们的实例化都在agent里面的build_phase里面进行。那如果agent的build_phase还没执行,而driver的build_phase先执行了,这个时候,driver还没实例化,就会造成错误。就是这个原因。
发表于 2018-8-7 10:17:19 | 显示全部楼层
http://bbs.eetop.cn/thread-766112-1-1.html
谁能回答一下我的问题
发表于 2018-8-7 10:49:10 | 显示全部楼层
采用top-down的形式是因为要从top到down形成component的树形结构
发表于 2018-8-7 10:50:03 | 显示全部楼层
必须是parent的component先形成,如果child的component先形成会报错
发表于 2018-8-7 13:53:32 | 显示全部楼层
回复 2# uunn69


   那么为什么其他phase是down-top呢?
 楼主| 发表于 2018-8-7 22:57:25 | 显示全部楼层
平台运行时首先在test_top也就是module中运行,通过run_test()调用uvm_test子类,首先执行它里面的build_phase,里面例化env,再执行env的build_phase,以此类推。这是与平台启动顺序相关的,这样解释是否正确???
发表于 2018-8-12 17:21:45 | 显示全部楼层
回复 7# yaof12

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

本版积分规则

关闭

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

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

GMT+8, 2024-4-19 11:16 , Processed in 0.023972 second(s), 6 queries , Gzip On, Redis On.

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