uvm_process_guard_base

Non-parameterized base class for uvm_process_guard#(T).

@uvm-contrib This API is being considered for potential contribution to 1800.2

Summary
uvm_process_guard_base
Non-parameterized base class for uvm_process_guard#(T).
Class Hierarchy
uvm_object
uvm_process_guard_base
Class Declaration
virtual class uvm_process_guard_base extends uvm_object
newConstructor.
clearClears the currently guarded process if it has not yet terminated.
Process Guard Status
get_processReturns the currently guarded process, or null if the guard has been cleared.
is_terminatedReturns true if the guarded process terminated prior to being cleared; otherwise, returns false.
Hook
do_triggerHook called when the guarded process transitions to either the `FINISHED` or `KILLED` state.

new

function new(
    string  name
)

Constructor.

The constructor initializes a new process guard with name and sets the guarded process to `process::self()`.

@uvm-contrib This API is being considered for potential contribution to 1800.2

clear

function process clear()

Clears the currently guarded process if it has not yet terminated.

If the guarded process has not been terminated, then clear shall return it; otherwise returns `null`.

@uvm-contrib This API is being considered for potential contribution to 1800.2

get_process

function process get_process()

Returns the currently guarded process, or null if the guard has been cleared.

@uvm-contrib This API is being considered for potential contribution to 1800.2

is_terminated

function bit is_terminated()

Returns true if the guarded process terminated prior to being cleared; otherwise, returns false.

@uvm-contrib This API is being considered for potential contribution to 1800.2

do_trigger

pure virtual function void do_trigger()

Hook called when the guarded process transitions to either the `FINISHED` or `KILLED` state.

@uvm-contrib This API is being considered for potential contribution to 1800.2

virtual class uvm_process_guard_base extends uvm_object
Non-parameterized base class for uvm_process_guard#(T).
class uvm_process_guard#(
    type  T  =  int
) extends uvm_process_guard_base
Ensures that processes are not killed in unexpected ways.
function new(
    string  name
)
Constructor.
function process clear()
Clears the currently guarded process if it has not yet terminated.
function process get_process()
Returns the currently guarded process, or null if the guard has been cleared.
function bit is_terminated()
Returns true if the guarded process terminated prior to being cleared; otherwise, returns false.
pure virtual function void do_trigger()
Hook called when the guarded process transitions to either the `FINISHED` or `KILLED` state.