Provides a ‘Get-To-Lock’ Data Access Policy.
The ‘Get-To-Lock’ Data Access Policy allows for any number of ‘sets’, until the value is retrieved via a ‘get’. Once ‘get’ has been called, it is illegal to ‘set’ a new value.
The UVM uses this policy to protect the starting phase and automatic objection values in uvm_sequence_base.
uvm_get_to_lock_dap | |||||||||||||||||
Provides a ‘Get-To-Lock’ Data Access Policy. | |||||||||||||||||
Class Hierarchy | |||||||||||||||||
| |||||||||||||||||
Class Declaration | |||||||||||||||||
| |||||||||||||||||
new | Constructor | ||||||||||||||||
Set/ Get Interface | |||||||||||||||||
set | Updates the value stored within the DAP. | ||||||||||||||||
try_set | Attempts to update the value stored within the DAP. | ||||||||||||||||
get | Returns the current value stored within the DAP, and ‘locks’ the DAP. | ||||||||||||||||
try_get | Retrieves the current value stored within the DAP, and ‘locks’ the DAP. | ||||||||||||||||
Introspection | The uvm_get_to_lock_dap cannot support the standard UVM instrumentation methods (copy, clone, pack and unpack), due to the fact that they would potentially violate the access policy. |
virtual function void set( T value )
Updates the value stored within the DAP.
set will result in an error if the value has already been retrieved via a call to get.
virtual function bit try_set( T value )
Attempts to update the value stored within the DAP.
try_set will return a 1 if the value was successfully updated, or a 0 if the value can not be updated due to get having been called. No errors will be reported if try_set fails.
virtual function T get()
Returns the current value stored within the DAP, and ‘locks’ the DAP.
After a ‘get’, the value contained within the DAP cannot be changed.
virtual function bit try_get( output T value )
Retrieves the current value stored within the DAP, and ‘locks’ the DAP.
try_get will always return 1.
The uvm_get_to_lock_dap cannot support the standard UVM instrumentation methods (copy, clone, pack and unpack), due to the fact that they would potentially violate the access policy.
A call to any of these methods will result in an error.
Provides a ‘Get-To-Lock’ Data Access Policy.
class uvm_get_to_lock_dap#( type T = int ) extends uvm_set_get_dap_base#(T)
Constructor
function new( string name = "unnamed-uvm_get_to_lock_dap#(T)" )
Updates the value stored within the DAP.
virtual function void set( T value )
Attempts to update the value stored within the DAP.
virtual function bit try_set( T value )
Returns the current value stored within the DAP, and ‘locks’ the DAP.
virtual function T get()
Retrieves the current value stored within the DAP, and ‘locks’ the DAP.
virtual function bit try_get( output T value )
The uvm_sequence_base class provides the interfaces needed to create streams of sequence items and/or other sequences.
class uvm_sequence_base extends uvm_sequence_item