uvm_reg_transaction_order_policy

Summary
uvm_reg_transaction_order_policy
Class Hierarchy
uvm_reg_transaction_order_policy
Class Declaration
virtual class uvm_reg_transaction_order_policy extends uvm_object
Methods
orderthe order() function may reorder the sequence of bus transactions produced by a single uvm_reg transaction (read/write).

order

pure virtual function void order( ref  uvm_reg_bus_op  q[$] )

the order() function may reorder the sequence of bus transactions produced by a single uvm_reg transaction (read/write).  This can be used in scenarios when the register width differs from the bus width and one register access results in a series of bus transactions. the first item (0) of the queue will be the first bus transaction (the last($) will be the final transaction

uvm_reg_map

Address map abstraction class

This class represents an address map.  An address map is a collection of registers and memories accessible via a specific physical interface.  Address maps can be composed into higher-level address maps.

Address maps are created using the uvm_reg_block::create_map() method.

Summary
uvm_reg_map
Class Hierarchy
uvm_reg_map
Class Declaration
class uvm_reg_map extends uvm_object
Initialization
set_sequencerSet the sequencer and adapter associated with this map.
set_submap_offsetSet the offset of the given submap to offset.
get_submap_offsetReturn the offset of the given submap.
set_base_addrSet the base address of this map.
Introspection
get_nameGet the simple name
get_full_nameGet the hierarchical name
get_n_bytesGet the width in bytes of the bus associated with this map.
get_addr_unit_bytesGet the number of bytes in the smallest addressable unit in the map.
Bus Access
get_check_on_readGets the check-on-read mode setting for this map.
do_bus_writePerform a bus write operation.
do_bus_readPerform a bus read operation.
do_writePerform a write operation.
do_readPerform a read operation.
if multiple memory addresses would fall into one bus word then the memory is addressed ‘unpacked’ie.

set_sequencer

virtual function void set_sequencer ( uvm_sequencer_base  sequencer,   
uvm_reg_adapter  adapter  =  null )

Set the sequencer and adapter associated with this map.  This method must be called before starting any sequences based on uvm_reg_sequence.

set_submap_offset

virtual function void set_submap_offset ( uvm_reg_map  submap,
uvm_reg_addr_t  offset )

Set the offset of the given submap to offset.

get_submap_offset

virtual function uvm_reg_addr_t get_submap_offset ( uvm_reg_map  submap )

Return the offset of the given submap.

set_base_addr

virtual function void set_base_addr ( uvm_reg_addr_t  offset )

Set the base address of this map.

get_name

Get the simple name

Return the simple object name of this address map.

get_full_name

virtual function string get_full_name()

Get the hierarchical name

Return the hierarchal name of this address map.  The base of the hierarchical name is the root block.

get_n_bytes

virtual function int unsigned get_n_bytes ( uvm_hier_e  hier  =  UVM_HIER )

Get the width in bytes of the bus associated with this map.  If hier is UVM_HIER, then gets the effective bus width relative to the system level.  The effective bus width is the narrowest bus width from this map to the top-level root map.  Each bus access will be limited to this bus width.

get_addr_unit_bytes

virtual function int unsigned get_addr_unit_bytes()

Get the number of bytes in the smallest addressable unit in the map.  Returns 1 if the address map was configured using byte-level addressing.  Returns get_n_bytes() otherwise.

get_check_on_read

function bit get_check_on_read()

Gets the check-on-read mode setting for this map.

do_bus_write

virtual task do_bus_write ( uvm_reg_item  rw,
uvm_sequencer_base  sequencer,
uvm_reg_adapter  adapter )

Perform a bus write operation.

do_bus_read

virtual task do_bus_read ( uvm_reg_item  rw,
uvm_sequencer_base  sequencer,
uvm_reg_adapter  adapter )

Perform a bus read operation.

do_write

virtual task do_write( uvm_reg_item  rw )

Perform a write operation.

do_read

virtual task do_read( uvm_reg_item  rw )

Perform a read operation.

if multiple memory addresses would fall into one bus word then the memory is addressed ‘unpacked’

ie. every memory location will get an own bus address (and bits on the bus larger than the memory width are discarded otherwise the memory access is ‘packed’

same as get_physical_addresses() but stops at the specified map

virtual class uvm_void
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.
virtual class uvm_reg_transaction_order_policy extends uvm_object
class uvm_reg_map extends uvm_object
pure virtual function void order( ref  uvm_reg_bus_op  q[$] )
the order() function may reorder the sequence of bus transactions produced by a single uvm_reg transaction (read/write).
virtual function void set_sequencer ( uvm_sequencer_base  sequencer,   
uvm_reg_adapter  adapter  =  null )
Set the sequencer and adapter associated with this map.
virtual function void set_submap_offset ( uvm_reg_map  submap,
uvm_reg_addr_t  offset )
Set the offset of the given submap to offset.
virtual function uvm_reg_addr_t get_submap_offset ( uvm_reg_map  submap )
Return the offset of the given submap.
virtual function void set_base_addr ( uvm_reg_addr_t  offset )
Set the base address of this map.
virtual function string get_full_name()
Get the hierarchical name
virtual function int unsigned get_n_bytes ( uvm_hier_e  hier  =  UVM_HIER )
Get the width in bytes of the bus associated with this map.
virtual function int unsigned get_addr_unit_bytes()
Get the number of bytes in the smallest addressable unit in the map.
function bit get_check_on_read()
Gets the check-on-read mode setting for this map.
virtual task do_bus_write ( uvm_reg_item  rw,
uvm_sequencer_base  sequencer,
uvm_reg_adapter  adapter )
Perform a bus write operation.
virtual task do_bus_read ( uvm_reg_item  rw,
uvm_sequencer_base  sequencer,
uvm_reg_adapter  adapter )
Perform a bus read operation.
virtual task do_write( uvm_reg_item  rw )
Perform a write operation.
virtual task do_read( uvm_reg_item  rw )
Perform a read operation.
virtual function uvm_reg_map create_map( string  name,   
uvm_reg_addr_t  base_addr,   
int  unsigned  n_bytes,   
uvm_endianness_e  endian,   
bit  byte_addressing  =  1 )
Create an address map in this block