Inheritance diagram for class svt_mem_address_mapper_stack:
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 ( vmm_log log, 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 | |
|
||||
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). | ||||
|
|
||||
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). | ||||
|
|
||
Used to get the name for a contained mapper.
ix - Index into the mappers queue.
Return values - Name assigned to the mapper. |
|
||||
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. | ||||
|
|
||||
Utility function for getting the high address in the destination address range.
Return values - High address value. | ||||
|
|
||||
Utility function for getting the low address in the destination address range.
Return values - Low address value. | ||||
|
|
||||
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). | ||||
|
|
||||
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. | ||||
|
|
||||
Utility function for getting the high address in the source address range.
Return values - High address value. | ||||
|
|
||||
Utility function for getting the low address in the source address range.
Return values - Low address value. | ||||
|
|
||||
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). | ||||
|
|
||
|
||||
Generates short description of the address mapping represented by this object.
Return values - The generated description. | ||||
|
|
||
Push a mapper to the back of the mappers queue.
mapper - Mapper being added to the mappers queue. |
|
||