sep_lifecycle_ctrl
Derive feature, debug, and DFT disables from eFuse shadow lifecycle state.
Consumes shadow_regs_i and security_disable_i. Publishes feat_ctrl, dbg_disable, SEP/SMC fuse DFT disables, demote state, and LC integrity error. security_disable_i takes precedence: while it is high every feature enable is 1, even on an LC-state integrity error. The FEAT_CTRL, DEMOTE_1 and DEMOTE_2 registers sit behind a 64-bit AXI4 slave; each DEMOTE bit is writable only while its lock bit is 0.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
LC_STATE_WIDTH | int unsigned | 4 | Lifecycle state encoding width; the state decode is written for 4. |
DemoteWidth | int unsigned | 1 | Demote field width. |
DemoteOutWidth | int unsigned | 2 * DemoteWidth | Duplicated demote output width. |
Ports
| Name | Direction | Type | Description |
|---|---|---|---|
clk_i | input | logic | System clock. |
rst_ni | input | logic | Active-low reset. |
test_en_i | input | logic | DFT test-enable (scan-enable). |
security_disable_i | input | logic | Security-disable status from the eFuse wrapper; forces every feature enable on. |
shadow_regs_i | input | sep_efuse_pkg::efuse_map_t | eFuse shadow registers; supply the LC state and the SiP and system disable fields. |
feat_ctrl_o | output | sep_efuse_pkg::sep_efuse_map_lc_disable_reg_t | Per-feature enable vector (1 = enabled) derived from the LC state, the SiP and system disable fuses, and the DEMOTE registers; all ones while security is disabled, otherwise all zeros on an LC-state integrity error. |
dbg_disable_o | output | sep_lifecycle_ctrl_pkg::dbg_disable_t | Per-interface debug disables for the DTP, active-high (1 = disabled); the SEP and SMC OTP JTAG-to-AXI disables are tied to 0. |
sep_fuse_dft_disable_o | output | logic | Disables the SEP fuse DFT access path, active-high; no functional consumer, provided for DFT insertion. |
smc_fuse_dft_disable_o | output | logic | Disables the SMC fuse DFT access path, active-high; no functional consumer, provided for DFT insertion. |
lcc_demote_state_1_o | output | logic [DemoteOutWidth-1:0] | Differentially encoded DEMOTE_1.demote register bit, which re-opens debug feature bits [23:0] in TEST_DEV and PROD. |
lcc_demote_state_2_o | output | logic [DemoteOutWidth-1:0] | Differentially encoded DEMOTE_2.demote register bit, which re-opens debug feature bits [47:24] in TEST_DEV and PROD. |
lc_sigint_err_o | output | logic | Integrity error on the differentially encoded LC state; forces every feature enable off unless security is disabled. |
lifecycle_axi_req_i | input | sep_pkg::sep_32_64_6_12_axi_req_t | AXI4 request to the lifecycle registers, converted to 64-bit AXI-Lite; offset bits [4:0] are decoded. |
lifecycle_axi_resp_o | output | sep_pkg::sep_32_64_6_12_axi_resp_t | AXI4 response from the lifecycle registers. |