- phase有两大类,task phase(消耗仿真时间)、function phase(不消耗仿真时间);UVM的所有phase中,除了run_phase(包括预期并行的12个小phase)是task phase,其他phase都是function phase。
- 事实上, 除了build_phase之外, 所有不耗费仿真时间的phase( 即function phase) 都是自下而上执行的。 如对于connect_phase即先执行driver和monitor的connect_phase, 再执行agent的connect_phase。
- 同一个组件的各个phase之间自上而下依次执行,不同组件的相同phase是并行的,所有组件的同一phase执行完毕后,才会进入到下一个phase!
- 类似run_phase、 main_phase等task_phase也都是按照自下而上的顺序执行的。 但是与前面function phase自下而上执行不同的是, 这种task phase是耗费时间的, 所以它并不是等到“下面”的phase( 如driver的run_phase) 执行完才执行“上面”的phase( 如agent的run_phase) , 而是将这些run_phase通过fork…join_none的形式全部启动。 所以, 更准确的说法是自下而上的启动, 同时在运行。
【UVM基础】phase中的一些重要特性
最新推荐文章于 2025-04-04 11:31:25 发布