Core Service

Contents
Core Service
uvm_coreservice_tThe library implements the following public API in addition to what is documented in IEEE 1800.2.
uvm_default_coreservice_tImplementation of the uvm_default_coreservice_t as defined in section F.4.2.1 of 1800.2-2020.

uvm_coreservice_t

The library implements the following public API in addition to what is documented in IEEE 1800.2.

Summary
uvm_coreservice_t
The library implements the following public API in addition to what is documented in IEEE 1800.2.
Methods
get_phase_hopperReturns the uvm_phase_hopper (singleton) instance for this environment
get_test_runnerReturns the uvm_test_runner (singleton) instance for this environment
set_core_stateThis method is used to set the UVM core state and trigger the appropriate <uvm_run_test_callback> methods.
initializeInitializes the core service and any internal state.

get_phase_hopper

pure virtual function uvm_phase_hopper get_phase_hopper()

Returns the uvm_phase_hopper (singleton) instance for this environment

@uvm-contrib For potential contribution to 1800.2

get_test_runner

pure virtual function uvm_test_runner get_test_runner()

Returns the uvm_test_runner (singleton) instance for this environment

@uvm-contrib For potential contribution to 1800.2

set_core_state

pure virtual function void set_core_state(
    uvm_core_state  state
)

This method is used to set the UVM core state and trigger the appropriate <uvm_run_test_callback> methods.

If this method is called on an instance of the uvm_coreservice_t class that is not global core service, then the method shall generate a fatal error and return immediately.

@uvm-contrib For potential contribution to the 1800.2 standard

initialize

pure virtual function void initialize()

Initializes the core service and any internal state.

This method is called automatically by the uvm_init method after the core service has been determined.  It is not intended to be called by the user. except as `super.initialize()` in a subclass.

@uvm-contrib For potential contribution to the 1800.2 standard

uvm_default_coreservice_t

Implementation of the uvm_default_coreservice_t as defined in section F.4.2.1 of 1800.2-2020.

class uvm_default_coreservice_t extends uvm_coreservice_t
Summary
uvm_default_coreservice_t
Implementation of the uvm_default_coreservice_t as defined in section F.4.2.1 of 1800.2-2020.
Methods
get_default_printerImplementation of the get_default_printer method, as defined in section F.4.1.4.13 of 1800.2-2020.
initializeInitializes the core service and any internal state.

get_default_printer

virtual function uvm_printer get_default_printer()

Implementation of the get_default_printer method, as defined in section F.4.1.4.13 of 1800.2-2020.

The default printer type returned by this function is a uvm_table_printer, unless the default printer has been set to another printer type

@uvm-accellera The details of this API are specific to the Accellera implementation, and are not being considered for contribution to 1800.2

initialize

virtual function void initialize()

Initializes the core service and any internal state.

This method is called automatically by the uvm_init method after the core service has been determined.  It is not intended to be called by the user. except as `super.initialize()` in a subclass.

@uvm-contrib For potential contribution to the 1800.2 standard

pure virtual function uvm_phase_hopper get_phase_hopper()
Returns the uvm_phase_hopper (singleton) instance for this environment
class uvm_phase_hopper extends uvm_object
The UVM phase hopper is responsible for the execution of the UVM phases during a test.
pure virtual function uvm_test_runner get_test_runner()
Returns the uvm_test_runner (singleton) instance for this environment
class uvm_test_runner extends uvm_object
The UVM test runner is responsible for the execution of the UVM test.
pure virtual function void set_core_state(
    uvm_core_state  state
)
This method is used to set the UVM core state and trigger the appropriate uvm_run_test_callback methods.
pure virtual function void initialize()
Initializes the core service and any internal state.
The library implements the following public API in addition to what is documented in IEEE 1800.2.
Implementation of uvm_init, as defined in section F.3.1.3 in 1800.2-2020.
virtual function uvm_printer get_default_printer()
Implementation of the get_default_printer method, as defined in section F.4.1.4.13 of 1800.2-2020.
virtual function void initialize()
Initializes the core service and any internal state.