smc_periph_axi_lite_xbar
Route the SMC peripheral AXI-Lite CSR crossbar.
Steers one AXI-Lite initiator to peripheral CSR targets including the eFuse shim window. Address rules derive from smc_top_addrmap_pkg; EFUSE_SHIM_SIZE partitions the external window between the eFuse shim and the external target. EFUSE_SHIM_SIZE is the vendor eFuse shim CSR block carved off the base of the smc_external window and is threaded from smc_peripherals.sv. The shim bytes route to the efuse target, which also serves the SMC eFuse map and the eFuse interface control registers. Addresses outside every rule receive DECERR.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
EFUSE_SHIM_SIZE | int unsigned | 'h44 | Vendor eFuse shim CSR block carved off the base of the smc_external window, in bytes; those addresses route to the efuse target. |
Ports
| Name | Direction | Type | Description |
|---|---|---|---|
clk_i | input | logic | SMC core clock. |
rst_ni | input | logic | Crossbar reset, active-low, synchronized to clk_i. |
test_i | input | logic | DFT test-mode enable, passed to the crossbar. |
periph_in_req_i | input | axi_lite32_req_t | Request from the SMC local crossbar. |
periph_in_resp_o | output | axi_lite32_resp_t | Response to the SMC local crossbar. |
reset_unit_req_o | output | axi_lite32_req_t | Request for the reset-unit register window. |
reset_unit_resp_i | input | axi_lite32_resp_t | Response from the reset-unit registers. |
misc_req_o | output | axi_lite32_req_t | Request for the smc_misc_wrap register window. |
misc_resp_i | input | axi_lite32_resp_t | Response from smc_misc_wrap. |
gpio_req_o | output | axi_lite32_req_t | Request for the GPIO interface windows of all pads. |
gpio_resp_i | input | axi_lite32_resp_t | Response from the padring GPIO interfaces. |
apb2avsbus_req_o | output | axi_lite32_req_t | Request for the AVSBus controller window. |
apb2avsbus_resp_i | input | axi_lite32_resp_t | Response from the AVSBus controller. |
i2c_req_o | output | axi_lite32_req_t | Request for the I2C wrapper window. |
i2c_resp_i | input | axi_lite32_resp_t | Response from the I2C wrapper. |
uart_req_o | output | axi_lite32_req_t | Request for the UART wrapper window. |
uart_resp_i | input | axi_lite32_resp_t | Response from the UART wrapper. |
efuse_req_o | output | axi_lite32_req_t | Request for the SMC eFuse map, the eFuse interface control registers and the eFuse shim window. |
efuse_resp_i | input | axi_lite32_resp_t | Response from the eFuse target. |
telemetry_req_o | output | axi_lite32_req_t | Request for the telemetry receiver window. |
telemetry_resp_i | input | axi_lite32_resp_t | Response from the telemetry receivers. |
system_timer_octs_req_o | output | axi_lite32_req_t | Request for the system timer window. |
system_timer_octs_resp_i | input | axi_lite32_resp_t | Response from the system timer. |
dtp_csr_req_o | output | axi_lite32_req_t | Request for the DTP control register window, with the full system address. |
dtp_csr_resp_i | input | axi_lite32_resp_t | Response from the DTP control registers. |
i3c_req_o | output | axi_lite32_req_t | Request for the I3C wrapper window. |
i3c_resp_i | input | axi_lite32_resp_t | Response from the I3C wrapper. |
external_req_o | output | axi_lite32_req_t | Request for the smc_external window above the eFuse shim carve-out. |
external_resp_i | input | axi_lite32_resp_t | Response from the smc_external target. |