sep_system_csr
Publish SEP system CSRs for remap, filters, straps, and bridge-fault status.
Exposes alias and output remap register hwifs, inbound and outbound filter ctrl/status, aperture address/size outputs, NMI vector, external TRNG source select, Key Manager wipe, and DMA/peripheral bus-error status/clear.
An AXI-Lite demux decodes the local-master alias remap, AP and STEE output remap, outbound and inbound filter, sep_cpu_ctrl, and cold and warm scratch windows; any other address reaches a DECERR slave. The cold scratch registers reset on rst_ni and the warm ones on rst_warm_ni; everything else resets on rst_ni. REFERENCE_COUNTER counts clk_ref_i and is read through a CDC into clk_i; a software write loads it.
Ports
| Name | Direction | Type | Description |
|---|---|---|---|
clk_i | input | logic | System clock. |
clk_ref_i | input | logic | Free-running reference clock for REFERENCE_COUNTER. |
rst_ni | input | logic | Active-low reset. |
rst_warm_ni | input | logic | Active-low warm reset of the warm scratch registers only. |
test_en_i | input | logic | DFT test-enable (scan-enable) to the AXI-Lite demuxes. |
scan_rst_ni | input | logic | DFT scan reset, active-low; unused. |
sep_system_csr_axil_req_i | input | sep_pkg::sep_system_peripherals_system_csr_axi_lite_req_t | AXI-Lite request from sep_system_peripherals_xbar, with absolute addresses. |
sep_system_csr_axil_resp_o | output | sep_pkg::sep_system_peripherals_system_csr_axi_lite_resp_t | AXI-Lite response to sep_system_peripherals_xbar. |
local_masters_alias_remap_reg_ctrl_o | output | alias_remap_reg_pkg::alias_remap__out_t | Per-region alias-remap register outputs for local-master requests. |
ap_output_remap_reg_ctrl_o | output | output_remap_reg_pkg::output_remap__out_t | Per-region output-remap register outputs for the AP region window. |
stee_output_remap_reg_ctrl_o | output | output_remap_reg_pkg::output_remap__out_t | Per-region output-remap register outputs for the STEE region window. |
outbound_filter_ctrl_o | output | filter_ctrl_reg_pkg::filter_ctrl__out_t | Per-filter control register outputs for the outbound (SEP to SMN) AXI filter. |
outbound_filter_status_i | input | filter_ctrl_reg_pkg::filter_ctrl__in_t | Per-filter status written back by the outbound AXI filter. |
inbound_filter_ctrl_o | output | filter_ctrl_reg_pkg::filter_ctrl__out_t | Per-filter control register outputs for the inbound (SMN to SEP) AXI filter. |
inbound_filter_status_i | input | filter_ctrl_reg_pkg::filter_ctrl__in_t | Per-filter status written back by the inbound AXI filter. |
sep_global_base_addr_o | output | logic [55:0] | SEP_GLOBAL_BASE_ADDR register value: base of the SEP aperture in the global address map. |
sep_local_base_addr_o | output | logic [55:0] | SEP_LOCAL_BASE_ADDR register value: base of the SEP local alias window. |
sep_region_size_o | output | logic [55:0] | SEP_REGION_SIZE register value, zero-extended: size of the SEP aperture in bytes. |
smu_global_base_addr_o | output | logic [55:0] | SMU_GLOBAL_BASE_ADDR register value: base of the SMU aperture in the global address map. |
smu_region_size_o | output | logic [55:0] | SMU_REGION_SIZE register value, zero-extended: size of the SMU aperture in bytes. |
smc_fuse_sense_done_i | input | logic | SMC fuse sense completion, reflected in SMC_FUSE_SENSE_STATUS; requests to the SMC hang while it is low. |
sep_fuse_sense_done_i | input | logic | SEP fuse sense completion, reflected in SEP_FUSE_SENSE_STATUS. |
nmi_vec_o | output | logic [31:1] | SEP_NMI_VEC register value: the address the CPU jumps to on a non-maskable interrupt. Writable only while SEP_NMI_VEC_LOCK.lock is 0. |
ext_trng_src_sel_o | output | logic [2:0] | EXT_TRNG_SRC_SEL register value: bit i selects external TRNG (1) or internal DRBG (0) for stream i. Writable only while EXT_TRNG_SRC_SEL_LOCK.lock is 0. |
km_wipe_state_o | output | logic | KM_WIPE_CTRL.wipe_state register value; a rising edge wipes the Key Manager. |
dma_reg_bus_err_i | input | logic | Secure DMA register-path fault, reflected in DMA_BUS_ERR_STATUS.reg_path_err. |
dma_host_intg_err_i | input | logic | DMA-master-path fault, latched into DMA_BUS_ERR_STATUS.host_path_err. |
dma_err_clr_o | output | logic | Single-cycle clear pulse from DMA_BUS_ERR_CLEAR to both DMA bridge-fault latches. |
periph_bus_err_i | input | logic [sep_pkg::NUM_PERIPH_BUS_ERRS-1:0] | Per-block peripheral register-bridge faults, reflected in PERIPH_BUS_ERR_STATUS, in sep_pkg::periph_bus_err_e bit order. |
periph_bus_err_clr_o | output | logic [sep_pkg::NUM_PERIPH_BUS_ERRS-1:0] | Per-block single-cycle clear pulses from PERIPH_BUS_ERR_CLEAR, in sep_pkg::periph_bus_err_e bit order. |