UVM Register Auto Test

This class is provided for quick layering.  It will be replaced in a future release.

Summary
UVM Register Auto Test
This class is provided for quick layering.

uvm_register_auto_test

Utility class to plug into the register_env.

Summary
uvm_register_auto_test
Utility class to plug into the register_env.
Class Hierarchy
uvm_component
uvm_register_auto_test
Class Declaration
virtual class uvm_register_auto_test #(
   type REQ =  uvm_sequence_item,
   type RSP =  uvm_sequence_item
) extends uvm_component
Variables
channelThe communication channel contained in this class.
Ports
transport_exportConnects the channel to the outside world.
apThe analysis port for the response.
Methods
do_operation()A task which MUST be defined in an extension of this class.
run()Simple process.

channel

uvm_tlm_transport_channel #(REQ,
RSP) channel

The communication channel contained in this class.

transport_export

Connects the channel to the outside world.

ap

The analysis port for the response.  Usually connected to the sequencer.

do_operation()

pure virtual task do_operation(REQ req,
output RSP rsp)

A task which MUST be defined in an extension of this class.  This task gets called when a new REQ (request) is received.  Usually a user of this class implements do_operation() to map a REQ (request) into pin wiggles, and cause a transaction on a bus.  Then the implementation waits for a transaction on the bus which is the response.  It then creates an RSP (response) and returns it as an argument to the function.

run()

task run()

Simple process.  Call get() on the channel to get the request.  Call the user implemented ‘do_operation()’ with the request.  When do_operation() returns, a response is ready for putting into the channel using put().

virtual class uvm_register_auto_test #(
   type REQ =  uvm_sequence_item,
   type RSP =  uvm_sequence_item
) extends uvm_component
Utility class to plug into the register_env.
uvm_tlm_transport_channel #(REQ,
RSP) channel
The communication channel contained in this class.
pure virtual task do_operation(REQ req,
output RSP rsp)
A task which MUST be defined in an extension of this class.
task run()
Simple process.