[source]

Class uvm_pkg::uvm_build_phase

Copyright 2007-2011 Mentor Graphics Corporation Copyright 2007-2010 Cadence Design Systems, Inc. Copyright 2010 Synopsys, Inc. All Rights Reserved Worldwide

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

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.

Class

uvm_build_phase

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

exec_func(uvm_component comp, uvm_phase phase)
Parameters:
get()

Function

get

Returns the singleton phase handle

Return type:

uvm_build_phase

get_type_name()