axi_alias_remap

Remap AXI addresses that hit configured alias regions onto their target bases.

Each remap_regions_i entry supplies a valid bit, a region_start and exclusive region_end bound, an offset, and a cacheable field. The module is combinational. When AW or AR hits valid regions, the lowest-numbered one applies: a carry-select adder adds its offset to the address bits from ALIAS_REMAP_IDX_START upward, modulo their width, the bits below pass through, and AxCACHE is replaced by the region's cacheable value, bit for bit. Misses pass through unchanged, and all other channels are wired straight through.

Parameters

Table 1. Parameters
NameTypeDefaultDescription
NUM_REGIONSint unsigned4Number of alias regions.
DEBUG_OUTPUTint unsigned0remap_debug_o is driven when 1 and tied to zero otherwise.
ALIAS_REMAP_IDX_STARTint unsigned12Lowest remapped address bit; lower bits pass through unchanged.
AXI_ADDR_WIDTHint unsigned64AXI address width.
NUM_CHUNKS_CARRY_SELECT_ADDERint unsigned2Carry-select adder chunk count.
AliasRemapOffsetWidthint unsignedAXI_ADDR_WIDTH - ALIAS_REMAP_IDX_STARTWidth of the remapped upper address field.

Ports

Table 2. Ports
NameDirectionTypeDescription
remap_regions_iinputremap_region_tPer-region remap configuration.
remap_debug_ooutputremap_debug_tPer-channel miss flag and index of the lowest-numbered region hit by the current AW and AR addresses; on a miss the index reads as the highest region.
axi_in_req_iinputaxi_req_tPre-remap AXI request.
axi_in_resp_ooutputaxi_resp_tPre-remap AXI response.
axi_out_req_ooutputaxi_req_tPost-remap AXI request.
axi_out_resp_iinputaxi_resp_tPost-remap AXI response.