svt_mem_address_mapper_stack Class Reference

Inheritance diagram for class svt_mem_address_mapper_stack:

List of all members.


Detailed Description

This class holds a stack of svt_mem_address_mapper instances and uses them to do address conversions across multiple address domains. This comes into play when dealing with a hierarchical System Memory Map structure.



Public Member Functions

function bit  contains_dest_addr ( svt_mem_addr_t dest_addr )
function bit  contains_src_addr ( svt_mem_addr_t src_addr )
function string  get_contained_mapper_name ( int ix )
function svt_mem_addr_t  get_dest_addr ( svt_mem_addr_t src_addr )
function svt_mem_addr_t  get_dest_addr_hi ( )
function svt_mem_addr_t  get_dest_addr_lo ( )
function bit  get_dest_overlap ( svt_mem_addr_t dest_addr_lo, svt_mem_addr_t dest_addr_hi, output svt_mem_addr_t dest_addr_overlap_lo, output svt_mem_addr_t dest_addr_overlap_hi )
function svt_mem_addr_t  get_src_addr ( svt_mem_addr_t dest_addr )
function svt_mem_addr_t  get_src_addr_hi ( )
function svt_mem_addr_t  get_src_addr_lo ( )
function bit  get_src_overlap ( svt_mem_addr_t src_addr_lo, svt_mem_addr_t src_addr_hi, output svt_mem_addr_t src_addr_overlap_lo, output svt_mem_addr_t src_addr_overlap_hi )
function void  new ( ovm_report_object reporter, string name = "" )
function string  psdisplay ( string prefix = "" )
function void  push_mapper ( svt_mem_address_mapper mapper )
function void  set_mapper ( svt_mem_address_mapper mapper, int ix )

Public Attributes


Member Function Documentation

  function bit
 svt_mem_address_mapper_stack::contains_dest_addr

 (  svt_mem_addr_t dest_addr  ) 


Used to check whether 'dest_addr' is included in the destination address range covered by this address map.

dest_addr - The destination address for inclusion in the destination address range.

Return values - Indicates if the dest_addr is within the destination address range (1) or not (0).


 Superseded functions 
 svt_mem_address_mapper :: contains_dest_addr 

  function bit
 svt_mem_address_mapper_stack::contains_src_addr

 (  svt_mem_addr_t src_addr  ) 


Used to check whether 'src_addr' is included in the source address range covered by this address map.

src_addr - The source address for inclusion in the source address range.

Return values - Indicates if the src_addr is within the source address range (1) or not (0).


 Superseded functions 
 svt_mem_address_mapper :: contains_src_addr 

  function string
 svt_mem_address_mapper_stack::get_contained_mapper_name

 (  int ix  ) 


Used to get the name for a contained mapper.

ix - Index into the mappers queue.

Return values - Name assigned to the mapper.

  function svt_mem_addr_t
 svt_mem_address_mapper_stack::get_dest_addr

 (  svt_mem_addr_t src_addr  ) 


Used to convert a source address into a destination address.

src_addr - The original source address to be converted.

Return values - The destination address based on conversion of the source address.


 Superseded functions 
 svt_mem_address_mapper :: get_dest_addr 

  function svt_mem_addr_t
 svt_mem_address_mapper_stack::get_dest_addr_hi

 (   ) 


Utility function for getting the high address in the destination address range.

Return values - High address value.


 Superseded functions 
 svt_mem_address_mapper :: get_dest_addr_hi 

  function svt_mem_addr_t
 svt_mem_address_mapper_stack::get_dest_addr_lo

 (   ) 


Utility function for getting the low address in the destination address range.

Return values - Low address value.


 Superseded functions 
 svt_mem_address_mapper :: get_dest_addr_lo 

  function bit
 svt_mem_address_mapper_stack::get_dest_overlap

 (  svt_mem_addr_t dest_addr_lo , svt_mem_addr_t dest_addr_hi , output svt_mem_addr_t dest_addr_overlap_lo , output svt_mem_addr_t dest_addr_overlap_hi  ) 


Used to check to see if there is an overlap between the provided destination address range and the destination address range defined for the svt_mem_address_mapper_stack instance. Returns an indication of the overlap while also providing the range of the overlap.

dest_addr_lo - The low end of the address range to be checked for a destination range overlap.

dest_addr_hi - The high end of the address range to be checked for a destination range overlap.

dest_addr_overlap_lo - The low end of the address overlap if one exists.

dest_addr_overlap_hi - The high end of the address overlap if one exists.

Return values - Indicates if there is an overlap (1) or not (0).


 Superseded functions 
 svt_mem_address_mapper :: get_dest_overlap 

  function svt_mem_addr_t
 svt_mem_address_mapper_stack::get_src_addr

 (  svt_mem_addr_t dest_addr  ) 


Used to convert a destination address into a source address.

dest_addr - The original destination address to be converted.

Return values - The source address based on conversion of the destination address.


 Superseded functions 
 svt_mem_address_mapper :: get_src_addr 

  function svt_mem_addr_t
 svt_mem_address_mapper_stack::get_src_addr_hi

 (   ) 


Utility function for getting the high address in the source address range.

Return values - High address value.


 Superseded functions 
 svt_mem_address_mapper :: get_src_addr_hi 

  function svt_mem_addr_t
 svt_mem_address_mapper_stack::get_src_addr_lo

 (   ) 


Utility function for getting the low address in the source address range.

Return values - Low address value.


 Superseded functions 
 svt_mem_address_mapper :: get_src_addr_lo 

  function bit
 svt_mem_address_mapper_stack::get_src_overlap

 (  svt_mem_addr_t src_addr_lo , svt_mem_addr_t src_addr_hi , output svt_mem_addr_t src_addr_overlap_lo , output svt_mem_addr_t src_addr_overlap_hi  ) 


Used to check to see if there is an overlap between the provided source address range and the source address range defined for the svt_mem_address_mapper_stack instance. Returns an indication of the overlap while also providing the range of the overlap.

src_addr_lo - The low end of the address range to be checked for a source range overlap.

src_addr_hi - The high end of the address range to be checked for a source range overlap.

src_addr_overlap_lo - The low end of the address overlap if one exists.

src_addr_overlap_hi - The high end of the address overlap if one exists.

Return values - Indicates if there is an overlap (1) or not (0).


 Superseded functions 
 svt_mem_address_mapper :: get_src_overlap 

  function void
 svt_mem_address_mapper_stack::new

 (  ovm_report_object reporter , string name = ""  ) 


CONSTRUCTOR: Creates a new instance of the svt_mem_address_mapper_stack class.

reporter - Used to report messages.

name - (optional) Used to identify the mapper in any reported messages.

  function string
 svt_mem_address_mapper_stack::psdisplay

 (  string prefix = ""  ) 


Generates short description of the address mapping represented by this object.

Return values - The generated description.


 Superseded functions 
 svt_mem_address_mapper :: psdisplay 

  function void
 svt_mem_address_mapper_stack::push_mapper

 (  svt_mem_address_mapper mapper  ) 


Push a mapper to the back of the mappers queue.

mapper - Mapper being added to the mappers queue.

  function void
 svt_mem_address_mapper_stack::set_mapper

 (  svt_mem_address_mapper mapper , int ix  ) 


Set the mapper at a particular position in the mappers queue, replacing whats there.

mapper - Replacement mapper.

ix - Replacement position.


Member Attribute Documentation