[source]

Class uvm_build_phase

Title

UVM Common Phases

The common phases are the set of function and task phases that all uvm_components execute together. All uvm_components are always synchronized with respect to the common phases.

The names of the UVM phases (which will be returned by get_name() for a phase instance) match the class names specified below with the "uvm_" and "_phase" removed. For example, the build phase corresponds to the uvm_build_phase class below and has the name "build", which means that the following can be used to call foo() at the end of the build phase (after all lower levels have finished build):

function void phase_ended(uvm_phase phase) ;
   if (phase.get_name()=="build") foo() ;
endfunction

The common phases are executed in the sequence they are specified below.

Create and configure of testbench structure

uvm_topdown_phase that calls the uvm_component::build_phase method.

Upon entry

  • The top-level components have been instantiated under uvm_root.

  • Current simulation time is still equal to 0 but some "delta cycles" may have occurred

Typical Uses

  • Instantiate sub-components.

  • Instantiate register model.

  • Get configuration values for the component being built.

  • Set configuration values for sub-components.

Exit Criteria

Variables

Name

Type

Description

type_name

string

Functions

virtual function void exec_func ( uvm_component comp, uvm_phase phase ) [source]
static function uvm_build_phase get ( ) [source]

Returns the singleton phase handle

virtual function string get_type_name ( ) [source]