UVM之uvm_phase
UVM中的phase机制很有意思,它能让UVM启动之后,自动执行所有的流程。UVM 的user guide 中对uvm_phase的定义如下:
This base class defines everything about a phase: behavior, state, and context.
To define behavior, it is extended by UVM or the user to create singleton objects which capture the definition of what the phase does and how it does it. These are then cloned to produce multiple nodes which are hooked up in a graph structure to provide context: which phases follow which, and to hold the state of the phase throughout its lifetime. UVM provides default extensions of this class for the standard runtime phases. VIP Providers can likewise extend this class to define the phase functor for a particular component context as required.
UVM中的phase,按照其是否消耗仿真时间的特性,可以分成两大类,一类是function phase,通过函数来实现;另一类是task phase,消耗仿真时间,通过函数来实现。
注:在面向对象编程中类也可以做为方法的传递类型。