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