output_remap
Remap AXI transactions onto target addresses selected by a per-region offset table.
remap_ctrl_i carries per-region PeakRDL outs. REGION_BASE is subtracted from every AW and AR address, and bits [IDX_START +: RemapIndexW] of the result select a region. If that region is valid, the address becomes its offset bits [55:IDX_START] above the base-relative bits below IDX_START; otherwise the original address passes through unchanged. The module is combinational. When USER_OVERRIDE_EN is set, USER_OVERRIDE_VAL replaces the AW, AR and W user fields of every transaction.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
NUM_REGIONS | int unsigned | 8 | Number of remap regions. |
REGION_BASE | int unsigned | 0 | Byte address subtracted from AW and AR addresses before indexing. |
IDX_START | int unsigned | 20 | Address bit where the region index begins; each region spans 2**IDX_START bytes. |
USER_OVERRIDE_EN | bit | 1'b1 | Replace the AW, AR and W user fields on every transaction. |
USER_OVERRIDE_VAL | user_ovrd_t | '0 | AxUSER value when overriding. |
RemapIndexW | int unsigned | $clog2(NUM_REGIONS) | Region-index width. |
Ports
| Name | Direction | Type | Description |
|---|---|---|---|
clk_i | input | logic | System clock; unused. |
rst_ni | input | logic | Async reset, active-low; unused. |
test_en_i | input | logic | DFT test enable; unused. |
remap_ctrl_i | input | output_remap_reg_pkg::output_remap__out_t | Per-region PeakRDL configuration; only REGION.region_attrs.offset and .valid are used. |
axi_req_i | input | axi_req_t | Pre-remap AXI request. |
axi_resp_o | output | axi_resp_t | Pre-remap AXI response. |
axi_remapped_req_o | output | axi_req_t | Post-remap AXI request. |
axi_remapped_resp_i | input | axi_resp_t | Post-remap AXI response. |