The SystemVerilog language
is defined in terms of a discrete event execution model. The discrete event
simulation is described in more detail in this section to provide a context to
describe the meaning and valid interpretation of SystemVerilog constructs.
These resulting definitions provide the standard SystemVerilog reference algorithm
for simulation, which all compliant simulators shall implement. Note , though, that there is a great deal of choice in the
definitions that follow, and differences in some details of execution are to be
expected between different simulators. In addition, SystemVerilog simulators
are free to use different algorithms than those described in this section,
provided the user-visible effect is consistent with the reference algorithm.
The pre-active region
is specifically for a PLI callback control point that allows for user code to
read and write values and create events before events in the active region are
evaluated (see section 14.4 PLI callback control
points, below).
There are two kinds of PLI callbacks,
those that are executed immediately whenever some specific
activity
occurs when some object changes value in an update event, and those that are explicitly registered as a
one-shot evaluation event.
Editor’s Note: The preceding paragraph
does not account for all types of callbacks. For example: cbStmt,
cbEnterInteractive, cbStartOfReset,
etc. These and some other callbacks are not logic value related, and they may
occur more than one time after being registered.