[source]

Class uvm_get_to_lock_dap

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.

Parameters

Name

Default value

Description

T

int

Typedefs

Name

Actual Type

Description

this_type

uvm_get_to_lock_dap#(T)

Used for self-references

Constructors

function new ( string name ) [source]

Constructor

Functions

virtual function void set ( int value ) [source]

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 ( int value ) [source]

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 ( ) [source]

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 ( int value ) [source]

Retrieves the current value stored within the DAP, and 'locks' the DAP.

try_get will always return 1.

virtual function void do_copy ( uvm_object rhs ) [source]

Group

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.

A call to any of these methods will result in an error.

virtual function void do_pack ( uvm_packer packer ) [source]
virtual function void do_unpack ( uvm_packer packer ) [source]
virtual function string convert2string ( ) [source]

Function- convert2string

virtual function void do_print ( uvm_printer printer ) [source]

Function- do_print