smc_local_fabric
Route SMC-window AXI traffic from the input fabric to the local SMC targets.
Rebases system, SEP and local-port requests onto local_base_addr_i, then steers them through smc_local_xbar to the CPU front port, the data accelerator control port, the DFD APB port and the peripheral AXI-Lite port, and through smc_internal_axi_lite_xbar to the internal CSR blocks. CPU MMIO, JTAG, log and data accelerator traffic arrives on the local port.
Ports
| Name | Direction | Type | Description |
|---|---|---|---|
clk_i | input | logic | SMC core clock. |
rst_ni | input | logic | Primary reset, active-low, synchronized to the SMC core clock. |
test_en_i | input | logic | Scan test mode enable, forwarded to the test inputs of both crossbars. |
local_base_addr_i | input | smc_pkg::smc_axi_addr_t | Local base address of the SMC address window; its bits above region_size_i replace the upper address bits of every incoming request. |
region_size_i | input | logic [31:0] | Size in bytes of the SMC address window, a power of two by software contract; selects the low address bits that pass through unchanged. |
input_axi_req_i | input | smc_pkg::smc_local_32_64_6_12_axi_req_t | System AXI request from the input fabric, after the system inbound filter and the SMC-window check; this module rebases its address onto local_base_addr_i. |
input_axi_rsp_o | output | smc_pkg::smc_local_32_64_6_12_axi_resp_t | System AXI response to the input fabric. |
sep_in_axi_req_i | input | smc_pkg::smc_local_32_64_6_12_axi_req_t | SEP AXI request from the input fabric, after the SMC-window check and truncation to the 32-bit local address; this module rebases its address onto local_base_addr_i. |
sep_in_axi_rsp_o | output | smc_pkg::smc_local_32_64_6_12_axi_resp_t | SEP AXI response to the input fabric. |
local_axi_req_i | input | smc_pkg::smc_local_32_64_6_12_axi_req_t | Local AXI request from the input fabric's local output port, carrying CPU MMIO, JTAG, log and data accelerator accesses that hit the SMC window; this module rebases its address onto local_base_addr_i. |
local_axi_rsp_o | output | smc_pkg::smc_local_32_64_6_12_axi_resp_t | Local AXI response to the input fabric's local port. |
axi_front_port_req_o | output | smc_pkg::smc_local_32_64_8_12_axi_req_t | AXI request from the local crossbar into the CPU cluster's front port, smc_cpu_wrapper's front port in smc. |
axi_front_port_rsp_i | input | smc_pkg::smc_local_32_64_8_12_axi_resp_t | AXI response from the CPU cluster's front port. |
axi_data_accel_ctrl_req_o | output | smc_pkg::smc_local_32_64_8_12_axi_req_t | AXI request to the data accelerator's control port for its DMA and zeroer control windows. |
axi_data_accel_ctrl_rsp_i | input | smc_pkg::smc_local_32_64_8_12_axi_resp_t | AXI response from the data accelerator's control port. |
periph_reg_req_o | output | smc_local_xbar_pkg::axi_lite32_req_t | 32-bit AXI-Lite request from the local crossbar to the peripheral CSR crossbar. |
periph_reg_resp_i | input | smc_local_xbar_pkg::axi_lite32_resp_t | 32-bit AXI-Lite response from the peripheral CSR crossbar. |
axil_aR_ctrl_req_o | output | smc_pkg::smc_axil_32_64_req_t | 64-bit AXI-Lite request for the alias remap control registers. |
axil_aR_ctrl_resp_i | input | smc_pkg::smc_axil_32_64_resp_t | 64-bit AXI-Lite response from the alias remap control registers. |
axil_mR_ctrl_req_o | output | smc_pkg::smc_axil_32_64_req_t | 64-bit AXI-Lite request for the M-mode output remap control registers. |
axil_mR_ctrl_resp_i | input | smc_pkg::smc_axil_32_64_resp_t | 64-bit AXI-Lite response from the M-mode output remap control registers. |
axil_xR_ctrl_req_o | output | smc_pkg::smc_axil_32_64_req_t | 64-bit AXI-Lite request for the Xvisor output remap control registers. |
axil_xR_ctrl_resp_i | input | smc_pkg::smc_axil_32_64_resp_t | 64-bit AXI-Lite response from the Xvisor output remap control registers. |
axil_inbound_filter_ctrl_req_o | output | smc_pkg::smc_axil_32_64_req_t | 64-bit AXI-Lite request for the inbound filter control registers. |
axil_inbound_filter_ctrl_resp_i | input | smc_pkg::smc_axil_32_64_resp_t | 64-bit AXI-Lite response from the inbound filter control registers. |
axil_outbound_filter_ctrl_req_o | output | smc_pkg::smc_axil_32_64_req_t | 64-bit AXI-Lite request for the outbound filter control registers. |
axil_outbound_filter_ctrl_resp_i | input | smc_pkg::smc_axil_32_64_resp_t | 64-bit AXI-Lite response from the outbound filter control registers. |
axil_mailbox_req_o | output | smc_pkg::smc_axil_32_64_req_t | 64-bit AXI-Lite request for the SMC mailbox window. |
axil_mailbox_resp_i | input | smc_pkg::smc_axil_32_64_resp_t | 64-bit AXI-Lite response from the SMC mailbox. |
axil_smc_base_config_req_o | output | smc_pkg::smc_axil_32_64_req_t | 64-bit AXI-Lite request for the SMC base configuration registers. |
axil_smc_base_config_resp_i | input | smc_pkg::smc_axil_32_64_resp_t | 64-bit AXI-Lite response from the SMC base configuration registers. |
axil_dfx_csr_req_o | output | smc_pkg::smc_axil_32_64_req_t | 64-bit AXI-Lite request for the DFX control register window. |
axil_dfx_csr_resp_i | input | smc_pkg::smc_axil_32_64_resp_t | 64-bit AXI-Lite response from the DFX control registers. |
apb_smc_dfd_reg_req_o | output | smc_pkg::smc_dfd_apb_req_t | APB request from the local crossbar for the SMC CLA (DFD) register window. |
apb_smc_dfd_reg_resp_i | input | smc_pkg::smc_dfd_apb_resp_t | APB response from the SMC CLA (DFD) registers. |