UVM知识之phase机制

Phase机制是UVM定义的一套规范,约定了各个仿真阶段的功能,统一了环境组件的仿真步调。通过phase机制,可以保证不同组件例化的先后关系。
  在UVM中使用phase机制来将仿真阶段层次化,将仿真阶段划分成不同的phase,按照phase的顺序来执行仿真,同时,处于同一个phase的组件执行顺序也区分先后。
  优点:
  (1) Phase机制约定的功能具有普适性,且这套协作方式足够好用,这套机制在时间尺度上将功能干净的隔离开(每个阶段都知道该干嘛),适用于绝大多数的功能验证。
  (2) Phase机制的意义更在于对UVM通用性的保障。举个栗子,基于UVM的验证本身是面向对象的编程实践,这就意味着在仿真过程中可以动态地去实例化对象,如果不按照同一套时间和顺序规范去例化对象、连接组件、执行仿真和报告仿真结果,基于UVM的验证环境、组件或者验证IP的通用性都会大打折扣 
  0. 不同phase主要完成的任务
     build_phase: 主要完成组件和寄存器模型的创建、设置或者获取配置(config_db)
     connect_phase: 完成组件之间的连接、连接寄存器模型和adapter
     start_of_simulation: 打印环境结构
     run_phase: 从具体的某个组件的功能入手,比如sequencer是负责产生激励、driver负责发送激励、monitor负责监测激励、scb负责数据比较
     report_phase: 做消息报告和写入到log文件
  1. run_phase和其细分的12个phase的执行顺序关系
     (1) run_phase和其细分的12个phase之间是并行执行的,相当于两个线程
     (2) 12个phase

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值