uvm_reg_backdoor

Base class for user-defined back-door register and memory access.

This class can be extended by users to provide user-specific back-door access to registers and memories that are not implemented in pure SystemVerilog or that are not accessible using the default DPI backdoor mechanism.

Summary
uvm_reg_backdoor
Base class for user-defined back-door register and memory access.
Class Hierarchy
uvm_reg_backdoor
Class Declaration
class uvm_reg_backdoor extends uvm_object
Methods
newCreate an instance of this class
do_pre_readExecute the pre-read callbacks
do_post_readExecute the post-read callbacks
do_pre_writeExecute the pre-write callbacks
do_post_writeExecute the post-write callbacks
writeUser-defined backdoor write operation.
readUser-defined backdoor read operation.
read_funcUser-defined backdoor read operation.
is_auto_updatedIndicates if wait_for_change() method is implemented
wait_for_changeWait for a change in the value of the register or memory element in the DUT.
pre_readCalled before user-defined backdoor register read.
post_readCalled after user-defined backdoor register read.
pre_writeCalled before user-defined backdoor register write.
post_writeCalled after user-defined backdoor register write.

new

function new( string  name  =  "" )

Create an instance of this class

Create an instance of the user-defined backdoor class for the specified register or memory

do_pre_read

protected task do_pre_read( uvm_reg_item  rw )

Execute the pre-read callbacks

This method must be called as the first statement in a user extension of the read() method.

do_post_read

protected task do_post_read( uvm_reg_item  rw )

Execute the post-read callbacks

This method must be called as the last statement in a user extension of the read() method.

do_pre_write

protected task do_pre_write( uvm_reg_item  rw )

Execute the pre-write callbacks

This method must be called as the first statement in a user extension of the write() method.

do_post_write

protected task do_post_write( uvm_reg_item  rw )

Execute the post-write callbacks

This method must be called as the last statement in a user extension of the write() method.

write

virtual task write( uvm_reg_item  rw )

User-defined backdoor write operation.

Call do_pre_write().  Deposit the specified value in the specified register HDL implementation.  Call do_post_write().  Returns an indication of the success of the operation.

read

virtual task read( uvm_reg_item  rw )

User-defined backdoor read operation.

Overload this method only if the backdoor requires the use of task.

Call do_pre_read().  Peek the current value of the specified HDL implementation.  Call do_post_read().  Returns the current value and an indication of the success of the operation.

By default, calls read_func().

read_func

virtual function void read_func( uvm_reg_item  rw )

User-defined backdoor read operation.

Peek the current value in the HDL implementation.  Returns the current value and an indication of the success of the operation.

is_auto_updated

virtual function bit is_auto_updated( uvm_reg_field  field )

Indicates if wait_for_change() method is implemented

Implement to return TRUE if and only if wait_for_change() is implemented to watch for changes in the HDL implementation of the specified field

wait_for_change

virtual local task wait_for_change( uvm_object  element )

Wait for a change in the value of the register or memory element in the DUT.

When this method returns, the mirror value for the register corresponding to this instance of the backdoor class will be updated via a backdoor read operation.

pre_read

virtual task pre_read( uvm_reg_item  rw )

Called before user-defined backdoor register read.

The registered callback methods are invoked after the invocation of this method.

post_read

virtual task post_read( uvm_reg_item  rw )

Called after user-defined backdoor register read.

The registered callback methods are invoked before the invocation of this method.

pre_write

virtual task pre_write( uvm_reg_item  rw )

Called before user-defined backdoor register write.

The registered callback methods are invoked after the invocation of this method.

The written value, if modified, modifies the actual value that will be written.

post_write

virtual task post_write( uvm_reg_item  rw )

Called after user-defined backdoor register write.

The registered callback methods are invoked before the invocation of this method.

The uvm_void class is the base class for all UVM classes.
virtual class uvm_object extends uvm_void
The uvm_object class is the base class for all UVM data and hierarchical classes.
class uvm_reg_backdoor extends uvm_object
Base class for user-defined back-door register and memory access.
function new( string  name  =  "" )
Create an instance of this class
protected task do_pre_read( uvm_reg_item  rw )
Execute the pre-read callbacks
protected task do_post_read( uvm_reg_item  rw )
Execute the post-read callbacks
protected task do_pre_write( uvm_reg_item  rw )
Execute the pre-write callbacks
protected task do_post_write( uvm_reg_item  rw )
Execute the post-write callbacks
virtual task write( uvm_reg_item  rw )
User-defined backdoor write operation.
virtual task read( uvm_reg_item  rw )
User-defined backdoor read operation.
virtual function void read_func( uvm_reg_item  rw )
User-defined backdoor read operation.
virtual function bit is_auto_updated( uvm_reg_field  field )
Indicates if wait_for_change() method is implemented
virtual local task wait_for_change( uvm_object  element )
Wait for a change in the value of the register or memory element in the DUT.
virtual task pre_read( uvm_reg_item  rw )
Called before user-defined backdoor register read.
virtual task post_read( uvm_reg_item  rw )
Called after user-defined backdoor register read.
virtual task pre_write( uvm_reg_item  rw )
Called before user-defined backdoor register write.
virtual task post_write( uvm_reg_item  rw )
Called after user-defined backdoor register write.