SystemVerilog | UVM | Phase机制基础

SystemVerilog | UVM | Phase机制基础

Phase在UVM中可以理解为是仿真片段或者仿真阶段,非常符合phase单词本意。

UVM方法学将仿真过程划分成了多个仿真阶段,然后还给这些仿真阶段都起了名字、预定义了功能、确定了先后关系和协作方式等等。这些概念的定义和协调仿真阶段的方式,被统称为Phase机制(Phase mechanism)。

Phase机制在基于UVM的仿真中尤其重要,它是整个仿真周期中的同步机制。每个环境组件(uvm_component)在仿真中都会执行一组预定义的仿真阶段,而且默认情况下,只有在所有组件都执行完了当前仿真阶段的任务,才可以进入到下一个仿真阶段。

01 Phase基础

所有的仿真阶段被分成了三组:Build time phases, Run time phases, Clean-up phases。其中build time和clean-up time两组phases不消耗仿真时间,实现方法(method)用的函数(function);Run time phases需要消耗仿真时间,是用任务(task)来实现的。

每组Phases又分别包含了多个具体的Phase,每一个Phase都有自己预定义的功能,在下图中被详细列出。

你可能感兴趣的:(uvm,uvm)