uvm_globals.svh | |
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-2017. |
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 library implements the following public API at the package level beyond what is documented in IEEE 1800.2.
Implementation of uvm_init, as defined in section F.3.1.3 in 1800.2-2017.
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
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
This task will block until SystemVerilog’s NBA region (or Re-NBA region if called from a program context).
task uvm_wait_for_nba_region