一、什么是phase机制
UVM中的phase机制可以保证各组件例化的先后关系以及各组件例化后的连接关系,phase机制同样允许在例化前对底层组件的配置,总的来说phase机制管理控制着仿真按一定顺序进行,使得UVM仿真阶段层次化
二、phase分类
phase总共有九种,分类如下表所示
run_phase说明
其中只有run_phase是任务,因此只有run_phase才消耗时间,这也使得run_phase可以做一些等待、激励采样等任务,同时run_phase又可以分为12个phase,如下图
run_phase与这12个phase是并行的关系,如下图所示
用户可以使用run_phase或者另外12个phase,但不要混合起来使用,会导致执行关系的不明确
对于phase机制,这里有一些建议:
(1)避免使用12个细分的phase;
(2)避免phase的跳跃;
(3)避免自定义phase的使用