Provides a ‘Simple Lock’ Data Access Policy.
The ‘Simple Lock’ Data Access Policy allows for any number of ‘sets’, so long as the value is not ‘locked’. The value can be retrieved using ‘get’ at any time.
The UVM uses this policy to protect the file name value in the uvm_text_tr_database.
uvm_simple_lock_dap | |||||||||||||||||
Provides a ‘Simple 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 | ||||||||||||||||
try_get | Retrieves the current value stored within the DAP | ||||||||||||||||
Locking | |||||||||||||||||
lock | Locks the data value | ||||||||||||||||
unlock | Unlocks the data value | ||||||||||||||||
is_locked | Returns the state of the lock. | ||||||||||||||||
Introspection | The uvm_simple_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 DAP has been locked.
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 the DAP being locked. No errors will be reported if try_set fails.
virtual function bit try_get( output T value )
Retrieves the current value stored within the DAP
try_get will always return 1.
function bit is_locked()
Returns the state of the lock.
1 | The value is locked |
0 | The value is unlocked |
The uvm_simple_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 ‘Simple Lock’ Data Access Policy.
class uvm_simple_lock_dap#( type T = int ) extends uvm_set_get_dap_base#(T)
Constructor
function new( string name = "unnamed-uvm_simple_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
virtual function T get()
Retrieves the current value stored within the DAP
virtual function bit try_get( output T value )
Locks the data value
function void lock()
Unlocks the data value
function void unlock()
Returns the state of the lock.
function bit is_locked()
The uvm_text_tr_database is the default implementation for the uvm_tr_database.
class uvm_text_tr_database extends uvm_tr_database