axi_window_remap

Remap AXI addresses inside one alias window onto a target base.

Addresses in [local_alias_base_i, local_alias_base_i + region_size_i) rewrite to target_base_i plus the offset; all others pass through unchanged. Only AW and AR addresses change, the module is combinational, and all window parameters are runtime inputs. The remap supports both local-alias and global-to-local remapping.

For example, local_alias_base 0xC000_0000, target_base 0x1000_0000 and region_size 0x50000 map 0xC000_1234 to 0x1000_1234 and leave 0x2000_0000 unchanged.

Parameters

Table 1. Parameters
NameTypeDefaultDescription
AXI_ADDR_WIDTHint unsigned32AXI address width.

Ports

Table 2. Ports
NameDirectionTypeDescription
slv_req_iinputaxi_req_tSlave-side AXI request, before the remap.
slv_resp_ooutputaxi_resp_tSlave-side AXI response.
mst_req_ooutputaxi_req_tMaster-side AXI request, after the remap.
mst_resp_iinputaxi_resp_tMaster-side AXI response.
local_alias_base_iinputlogic [AXI_ADDR_WIDTH-1:0]Start of the alias region (e.g. 0xC000_0000).
region_size_iinputlogic [AXI_ADDR_WIDTH-1:0]Size of the alias region in bytes.
target_base_iinputlogic [AXI_ADDR_WIDTH-1:0]Remap destination base (e.g. 0x1000_0000).