sep_crypto_axi_interconnect
Decode, width-convert, and isolate the SEP crypto AXI fabric.
Provide a 13-port host demux (12 targets plus a DECERR slave) with bus-width conversion and transaction-draining isolation for internal TRNG, accelerator, and Key Manager paths. Host bursts (AxLEN != 0) and unmapped addresses receive DECERR. isolate_req_i / isolated_o handshake with sep_reset_ctrl before domain software reset. While a path isolates, new transactions on it complete with SLVERR and read data 0x1501A7ED. KM mailbox AXI-Lite and the external TRNG AXI-Lite are converted from the host path and are not isolated; the eFuse and lifecycle legs leave as full AXI4 without isolation.
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). |
sep_crypto_axi_req_i | input | sep_pkg::sep_32_64_6_12_axi_req_t | Full AXI4 slave from local crossbar. |
sep_crypto_axi_resp_o | output | sep_pkg::sep_32_64_6_12_axi_resp_t | Response to the local crossbar. |
isolate_req_i | input | sep_pkg::sep_crypto_isolate_t | Per-path isolation requests from sep_reset_ctrl, active-high. |
isolated_o | output | sep_pkg::sep_crypto_isolate_t | Per-path isolation acknowledge to sep_reset_ctrl, same layout as isolate_req_i; a bit is high once that path is isolated and its outstanding transactions have drained. |
otbn_axil_isolated_req_o | output | sep_pkg::sep_32_32_axil_req_t | Host CSR request to the OTBN wrapper after 64-to-32-bit conversion to AXI-Lite and isolation; AXCACHE modifiable is forced on this path. |
otbn_axil_isolated_resp_i | input | sep_pkg::sep_32_32_axil_resp_t | Response from the OTBN wrapper CSR port. |
hmac_axil_isolated_req_o | output | sep_pkg::sep_32_32_axil_req_t | Host CSR request to the HMAC wrapper after 64-to-32-bit conversion to AXI-Lite and isolation. |
hmac_axil_isolated_resp_i | input | sep_pkg::sep_32_32_axil_resp_t | Response from the HMAC wrapper CSR port. |
aes_axil_isolated_req_o | output | sep_pkg::sep_32_32_axil_req_t | Host CSR request to the AES wrapper after 64-to-32-bit conversion to AXI-Lite and isolation. |
aes_axil_isolated_resp_i | input | sep_pkg::sep_32_32_axil_resp_t | Response from the AES wrapper CSR port. |
kmac_axil_isolated_req_o | output | sep_pkg::sep_32_32_axil_req_t | Host CSR request to the KMAC wrapper after 64-to-32-bit conversion to AXI-Lite and isolation. |
kmac_axil_isolated_resp_i | input | sep_pkg::sep_32_32_axil_resp_t | Response from the KMAC wrapper CSR port. |
abr_axi_isolated_req_o | output | sep_pkg::sep_32_64_6_12_axi_req_t | Host AXI4 request to Adams Bridge, isolated but not width-converted. |
abr_axi_isolated_resp_i | input | sep_pkg::sep_32_64_6_12_axi_resp_t | Response from the Adams Bridge AXI4 port. |
otbn_key_axil_req_i | input | sep_pkg::sep_32_32_axil_req_t | Key Manager key-bus request for the OTBN key CSRs, before isolation. |
otbn_key_axil_resp_o | output | sep_pkg::sep_32_32_axil_resp_t | Response to the Key Manager for the OTBN key CSRs. |
aes_key_axil_req_i | input | sep_pkg::sep_32_32_axil_req_t | Key Manager key-bus request for the AES key CSRs, before isolation. |
aes_key_axil_resp_o | output | sep_pkg::sep_32_32_axil_resp_t | Response to the Key Manager for the AES key CSRs. |
hmac_key_axil_req_i | input | sep_pkg::sep_32_32_axil_req_t | Key Manager key-bus request for the HMAC key CSRs, before isolation. |
hmac_key_axil_resp_o | output | sep_pkg::sep_32_32_axil_resp_t | Response to the Key Manager for the HMAC key CSRs. |
kmac_key_axil_req_i | input | sep_pkg::sep_32_32_axil_req_t | Key Manager key-bus request for the KMAC key CSRs, before isolation. |
kmac_key_axil_resp_o | output | sep_pkg::sep_32_32_axil_resp_t | Response to the Key Manager for the KMAC key CSRs. |
abr_key_axil_req_i | input | km_intf_pkg::km_axil_req_t | Key Manager key-bus request for the Adams Bridge key CSRs, before isolation. |
abr_key_axil_resp_o | output | km_intf_pkg::km_axil_resp_t | Response to the Key Manager for the Adams Bridge key CSRs. |
km_efuse_axil_req_i | input | km_intf_pkg::km_axil_req_t | Key Manager request to the eFuse wrapper, before isolation. |
km_efuse_axil_resp_o | output | km_intf_pkg::km_axil_resp_t | Response to the Key Manager from the eFuse wrapper. |
otbn_key_axil_isolated_req_o | output | sep_pkg::sep_32_32_axil_req_t | Key Manager key-bus request to the OTBN wrapper key CSRs, after isolation. |
otbn_key_axil_isolated_resp_i | input | sep_pkg::sep_32_32_axil_resp_t | Response from the OTBN wrapper key CSRs. |
aes_key_axil_isolated_req_o | output | sep_pkg::sep_32_32_axil_req_t | Key Manager key-bus request to the AES wrapper key CSRs, after isolation. |
aes_key_axil_isolated_resp_i | input | sep_pkg::sep_32_32_axil_resp_t | Response from the AES wrapper key CSRs. |
hmac_key_axil_isolated_req_o | output | sep_pkg::sep_32_32_axil_req_t | Key Manager key-bus request to the HMAC wrapper key CSRs, after isolation. |
hmac_key_axil_isolated_resp_i | input | sep_pkg::sep_32_32_axil_resp_t | Response from the HMAC wrapper key CSRs. |
kmac_key_axil_isolated_req_o | output | sep_pkg::sep_32_32_axil_req_t | Key Manager key-bus request to the KMAC wrapper key CSRs, after isolation. |
kmac_key_axil_isolated_resp_i | input | sep_pkg::sep_32_32_axil_resp_t | Response from the KMAC wrapper key CSRs. |
abr_key_axil_isolated_req_o | output | km_intf_pkg::km_axil_req_t | Key Manager key-bus request to the Adams Bridge key CSRs, after isolation. |
abr_key_axil_isolated_resp_i | input | km_intf_pkg::km_axil_resp_t | Response from the Adams Bridge key CSRs. |
km_efuse_axil_isolated_req_o | output | km_intf_pkg::km_axil_req_t | Key Manager request to the eFuse wrapper, after isolation. |
km_efuse_axil_isolated_resp_i | input | km_intf_pkg::km_axil_resp_t | Response from the eFuse wrapper to the isolated Key Manager path. |
km_mbox_axil_req_o | output | km_intf_pkg::km_axil_req_t | Host request to the Key Manager mailbox, converted from 64-bit AXI4 to 32-bit AXI-Lite and not isolated. |
km_mbox_axil_resp_i | input | km_intf_pkg::km_axil_resp_t | Response from the Key Manager mailbox. |
esrc_axil_isolated_req_o | output | sep_pkg::sep_32_32_axil_req_t | Host request to entropy_source, converted to 32-bit AXI-Lite and isolated. |
esrc_axil_isolated_resp_i | input | sep_pkg::sep_32_32_axil_resp_t | Response from entropy_source. |
csrng_axil_isolated_req_o | output | drbg_pkg::drbg_axil64_req_t | Host request to CSRNG, converted to 64-bit AXI-Lite and isolated. |
csrng_axil_isolated_resp_i | input | drbg_pkg::drbg_axil64_resp_t | Response from CSRNG. |
edn_axil_isolated_req_o | output | drbg_pkg::drbg_axil64_req_t | Host request to EDN, converted to 64-bit AXI-Lite and isolated. |
edn_axil_isolated_resp_i | input | drbg_pkg::drbg_axil64_resp_t | Response from EDN. |
ext_trng_axil_req_o | output | sep_pkg::sep_32_32_axil_req_t | Host request to the external TRNG registers, converted to 32-bit AXI-Lite and registered through an axi_cut; not isolated. |
ext_trng_axil_resp_i | input | sep_pkg::sep_32_32_axil_resp_t | Response from the external TRNG registers. |
fuse_axi_req_o | output | sep_pkg::sep_32_64_6_12_axi_req_t | Host AXI4 request to the eFuse wrapper, passed through without conversion or isolation. |
fuse_axi_resp_i | input | sep_pkg::sep_32_64_6_12_axi_resp_t | Response from the eFuse wrapper. |
lifecycle_axi_req_o | output | sep_pkg::sep_32_64_6_12_axi_req_t | Host AXI4 request to the lifecycle registers, passed through without conversion or isolation. |
lifecycle_axi_resp_i | input | sep_pkg::sep_32_64_6_12_axi_resp_t | Response from the lifecycle registers. |