smc_base_config_wrap
Expose SMC base-config CSRs for address windows and clock gates.
Publishes address-window and clock-gate enables consumed by smc_base and the top. Sits on the internal AXI-Lite fabric as the smc_base_config target. Also publishes the configuration of the three AXI hang detectors in smc_base. Every output comes straight from a register field on the SMC core clock.
Ports
| Name | Direction | Type | Description |
|---|---|---|---|
clk_i | input | logic | SMC core clock. |
rst_n_i | input | logic | Primary reset, active-low, synchronized to the SMC core clock; returns the base-config registers to their reset values. |
axil_base_config_req_i | input | smc_pkg::smc_axil_32_64_req_t | Request from the internal CSR crossbar for the base-config window. |
axil_base_config_resp_o | output | smc_pkg::smc_axil_32_64_resp_t | Response to the internal CSR crossbar. |
smc_global_base_o | output | smc_pkg::smc_axi_addr_t | SMC global base address from GLOBAL_BASE. |
smc_local_base_o | output | smc_pkg::smc_axi_addr_t | SMC local base address from LOCAL_BASE; in the local fabric it supplies the upper bits of rebased addresses. |
smc_region_size_o | output | logic [31:0] | SMC region size in bytes from REGION_SIZE, a power of two by software contract. |
cg_ctrl_dma_cg_en_o | output | logic | Enables idle clock gating of the DMA when high. |
cg_ctrl_mailbox_cg_en_o | output | logic | Enables idle clock gating of the mailbox when high. |
cg_ctrl_ob_filter_axi_cg_en_o | output | logic | Enables idle clock gating of the outbound filter datapath when high. |
cg_ctrl_ob_filter_reg_cg_en_o | output | logic | Enables idle clock gating of the outbound filter registers when high. |
cg_ctrl_ib_filter_axi_cg_en_o | output | logic | Enables idle clock gating of the inbound filter datapath when high. |
cg_ctrl_ib_filter_reg_cg_en_o | output | logic | Enables idle clock gating of the inbound filter registers when high. |
cg_ctrl_addr_remap_cg_en_o | output | logic | Enables idle clock gating of the alias, M-mode and Xvisor remap registers when high. |
cg_ctrl_output_fabric_cg_en_o | output | logic | Enables idle clock gating of the output fabric when high. |
cg_ctrl_zeroer_cg_en_o | output | logic | Enables idle clock gating of the zeroer when high. |
cg_ctrl_i3c_cg_en_o | output | logic | In smc, stops the I3C peripheral clock when high. |
cg_ctrl_avs_cg_en_o | output | logic | In smc, stops the AVSBus controller peripheral and reference clocks when high. |
cg_ctrl_i2c_cg_en_o | output | logic | In smc, stops the I2C peripheral clock when high. |
cg_ctrl_uart_cg_en_o | output | logic | In smc, stops the UART peripheral clock when high. |
cg_ctrl_tel_cg_en_o | output | logic | In smc, stops the telemetry unit's gated SMC and telemetry clocks when high. |
cg_ctrl_hysteresis_o | output | smc_pkg::cg_hyster_t | Idle SMC core clock cycles the idle clock gates wait before stopping their clocks. |
hang_det_sys_axi_enable_o | output | logic | Enables the system AXI hang detector. |
hang_det_sys_axi_irq_en_o | output | logic | Enables the system AXI hang interrupt. |
hang_det_sys_axi_irq_test_o | output | logic | Forces the system AXI hang interrupt high. |
hang_det_sys_axi_threshold_o | output | logic [19:0] | Stall cycles after which the system AXI hang detector fires. |
hang_det_sep_axi_enable_o | output | logic | Enables the SEP AXI hang detector. |
hang_det_sep_axi_irq_en_o | output | logic | Enables the SEP AXI hang interrupt. |
hang_det_sep_axi_irq_test_o | output | logic | Forces the SEP AXI hang interrupt high. |
hang_det_sep_axi_threshold_o | output | logic [19:0] | Stall cycles after which the SEP AXI hang detector fires. |
hang_det_data_accel_enable_o | output | logic | Enables the data-accelerator AXI hang detector. |
hang_det_data_accel_irq_en_o | output | logic | Enables the data-accelerator AXI hang interrupt. |
hang_det_data_accel_irq_test_o | output | logic | Forces the data-accelerator AXI hang interrupt high. |
hang_det_data_accel_threshold_o | output | logic [19:0] | Stall cycles after which the data-accelerator AXI hang detector fires. |
hang_det_sys_axi_irq_i | input | logic | System AXI hang detector interrupt, read back through HANG_DET_SYS_AXI_CTRL.irq. |
hang_det_sep_axi_irq_i | input | logic | SEP AXI hang detector interrupt, read back through HANG_DET_SEP_AXI_CTRL.irq. |
hang_det_data_accel_irq_i | input | logic | Data-accelerator AXI hang detector interrupt, read back through the irq bit of HANG_DET_DATA_ACCEL_CTRL. |