uvm_reg_sequence

Summary
uvm_reg_sequence
Methods
atomic_lockEstablishes an exclusive atomic lock for the current process.
atomic_unlockReleases the lock acquired via atomic_lock.
startStarts the frontdoor sequence.

atomic_lock

virtual task atomic_lock()

Establishes an exclusive atomic lock for the current process.

Calls to start by processes other than the process that has established the atomic lock will be blocked until the atomic lock has been released.

The lock can be released via atomic_unlock.

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

atomic_unlock

virtual function void atomic_unlock()

Releases the lock acquired via atomic_lock.

A warning shall be generated if atomic_unlock is called without a corresponding atomic_lock.

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

start

virtual task start(
    uvm_sequencer_base  sequencer,   
    uvm_sequence_base  parent_sequence  =  null,
    int  this_priority  =  -1,
    bit  call_pre_post  =  1
)

Starts the frontdoor sequence.

If the calling process has not already acquired an atomic lock via atomic_lock, then start will call atomic_lock automatically to establish a lock.

When the calling process has established a lock, either in advance of the call to start or by start itself, then super.start() is called, and passed the corresponding arguments from frontdoor.start().

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

virtual task atomic_lock()
Establishes an exclusive atomic lock for the current process.
virtual function void atomic_unlock()
Releases the lock acquired via atomic_lock.
virtual task start(
    uvm_sequencer_base  sequencer,   
    uvm_sequence_base  parent_sequence  =  null,
    int  this_priority  =  -1,
    bit  call_pre_post  =  1
)
Starts the frontdoor sequence.