Class uvm_build_phase
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
- All uvm_components have been instantiated.
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
×
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):