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

Table 1. Ports
NameDirectionTypeDescription
clk_iinputlogicSMC core clock.
rst_n_iinputlogicPrimary reset, active-low, synchronized to the SMC core clock; returns the base-config registers to their reset values.
axil_base_config_req_iinputsmc_pkg::smc_axil_32_64_req_tRequest from the internal CSR crossbar for the base-config window.
axil_base_config_resp_ooutputsmc_pkg::smc_axil_32_64_resp_tResponse to the internal CSR crossbar.
smc_global_base_ooutputsmc_pkg::smc_axi_addr_tSMC global base address from GLOBAL_BASE.
smc_local_base_ooutputsmc_pkg::smc_axi_addr_tSMC local base address from LOCAL_BASE; in the local fabric it supplies the upper bits of rebased addresses.
smc_region_size_ooutputlogic [31:0]SMC region size in bytes from REGION_SIZE, a power of two by software contract.
cg_ctrl_dma_cg_en_ooutputlogicEnables idle clock gating of the DMA when high.
cg_ctrl_mailbox_cg_en_ooutputlogicEnables idle clock gating of the mailbox when high.
cg_ctrl_ob_filter_axi_cg_en_ooutputlogicEnables idle clock gating of the outbound filter datapath when high.
cg_ctrl_ob_filter_reg_cg_en_ooutputlogicEnables idle clock gating of the outbound filter registers when high.
cg_ctrl_ib_filter_axi_cg_en_ooutputlogicEnables idle clock gating of the inbound filter datapath when high.
cg_ctrl_ib_filter_reg_cg_en_ooutputlogicEnables idle clock gating of the inbound filter registers when high.
cg_ctrl_addr_remap_cg_en_ooutputlogicEnables idle clock gating of the alias, M-mode and Xvisor remap registers when high.
cg_ctrl_output_fabric_cg_en_ooutputlogicEnables idle clock gating of the output fabric when high.
cg_ctrl_zeroer_cg_en_ooutputlogicEnables idle clock gating of the zeroer when high.
cg_ctrl_i3c_cg_en_ooutputlogicIn smc, stops the I3C peripheral clock when high.
cg_ctrl_avs_cg_en_ooutputlogicIn smc, stops the AVSBus controller peripheral and reference clocks when high.
cg_ctrl_i2c_cg_en_ooutputlogicIn smc, stops the I2C peripheral clock when high.
cg_ctrl_uart_cg_en_ooutputlogicIn smc, stops the UART peripheral clock when high.
cg_ctrl_tel_cg_en_ooutputlogicIn smc, stops the telemetry unit's gated SMC and telemetry clocks when high.
cg_ctrl_hysteresis_ooutputsmc_pkg::cg_hyster_tIdle SMC core clock cycles the idle clock gates wait before stopping their clocks.
hang_det_sys_axi_enable_ooutputlogicEnables the system AXI hang detector.
hang_det_sys_axi_irq_en_ooutputlogicEnables the system AXI hang interrupt.
hang_det_sys_axi_irq_test_ooutputlogicForces the system AXI hang interrupt high.
hang_det_sys_axi_threshold_ooutputlogic [19:0]Stall cycles after which the system AXI hang detector fires.
hang_det_sep_axi_enable_ooutputlogicEnables the SEP AXI hang detector.
hang_det_sep_axi_irq_en_ooutputlogicEnables the SEP AXI hang interrupt.
hang_det_sep_axi_irq_test_ooutputlogicForces the SEP AXI hang interrupt high.
hang_det_sep_axi_threshold_ooutputlogic [19:0]Stall cycles after which the SEP AXI hang detector fires.
hang_det_data_accel_enable_ooutputlogicEnables the data-accelerator AXI hang detector.
hang_det_data_accel_irq_en_ooutputlogicEnables the data-accelerator AXI hang interrupt.
hang_det_data_accel_irq_test_ooutputlogicForces the data-accelerator AXI hang interrupt high.
hang_det_data_accel_threshold_ooutputlogic [19:0]Stall cycles after which the data-accelerator AXI hang detector fires.
hang_det_sys_axi_irq_iinputlogicSystem AXI hang detector interrupt, read back through HANG_DET_SYS_AXI_CTRL.irq.
hang_det_sep_axi_irq_iinputlogicSEP AXI hang detector interrupt, read back through HANG_DET_SEP_AXI_CTRL.irq.
hang_det_data_accel_irq_iinputlogicData-accelerator AXI hang detector interrupt, read back through the irq bit of HANG_DET_DATA_ACCEL_CTRL.