uvm_globals.svh

UVMkit » 1800.2-2020
Summary
uvm_globals.svh
MiscellaneousThe library implements the following public API at the package level beyond what is documented in IEEE 1800.2.
uvm_initImplementation of uvm_init, as defined in section F.3.1.3 in 1800.2-2020.
uvm_wait_for_nba_regionThis task will block until SystemVerilog’s NBA region (or Re-NBA region if called from a program context).

Miscellaneous

The library implements the following public API at the package level beyond what is documented in IEEE 1800.2.

uvm_init

Implementation of uvm_init, as defined in section F.3.1.3 in 1800.2-2020.

Note: The LRM states that subsequent calls to uvm_init after the first are silently ignored, however there are scenarios wherein the implementation breaks this requirement.

If the core state (see <get_core_state>) is UVM_CORE_PRE_INIT when uvm_init, is called, then the library can not determine the appropriate core service.  As such, the default core service will be constructed and a fatal message shall be generated.

If the core state is past UVM_CORE_PRE_INIT, and cs is a non-null core service instance different than the value passed to the first uvm_init call, then the library will generate a warning message to alert the user that this call to uvm_init is being ignored.

@uvm-contrib This API represents a potential contribution to IEEE 1800.2

uvm_wait_for_nba_region

task uvm_wait_for_nba_region

This task will block until SystemVerilog’s NBA region (or Re-NBA region if called from a program context).  The purpose is to continue the calling process only after allowing other processes any number of delta cycles (#0) to settle out.

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

task uvm_wait_for_nba_region
This task will block until SystemVerilog’s NBA region (or Re-NBA region if called from a program context).
Implementation of uvm_init, as defined in section F.3.1.3 in 1800.2-2020.