# Globals

Summary

Globals
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.
uvm_wait_for_nba_region | This 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.