uvm 形式验证_《UVM实战(卷一)》阅读笔记——UVM验证平台的运行

推荐阅读:UVM phase的用法研究【zz】​www.cnblogs.com

phase是使验证平台中各个component按照各自的需求可以阶段性执行的一种自动化的机制。phase根据是否消耗时间可以分成不消耗时间的函数phase和消耗时间的任务phase。

1.phase的执行顺序

run_phase和另外的12个小的taskphase并行执行(forkjoin块),12个小的taskphase顺序执行(begin_end块)。其中,reset、configure、main、shutdown四个phase是核心。假设要在运行过程中对DUT进行一次复位(reset)操作,分别在scoreboard、reference model及其他部分(如driver、monitor等)的reset_phase写好相关代码,之后如果想做一次复位操作,那么只要通过phase的跳转,就会自动跳转回reset_phase。

对于UVM树来说(具有父子关系的component),除了build_phase之外,所有不耗费仿真时间的phase(即function phase)都是自下而上执行的。如对于connect_phase即先执行driver和monitor的connect_phase,再执行agent的connect_phase。在build_phase中做实例化的工作时,driver和monitor都是agent的成员变量,所以它们的实例化都要在agent的build_phase中执行。如果在agent的build_phase之前执行driver的build_phase,此时driver还根本没有实例化,所以调用driver.build_phase只会引发错误。因此选择了自上而下的执行顺序。

对于同一层次的、具有兄弟关系的component,如

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值