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

Table 1. Ports
NameDirectionTypeDescription
clk_iinputlogicSystem clock.
rst_niinputlogicActive-low reset.
test_en_iinputlogicDFT test-enable (scan-enable).
sep_crypto_axi_req_iinputsep_pkg::sep_32_64_6_12_axi_req_tFull AXI4 slave from local crossbar.
sep_crypto_axi_resp_ooutputsep_pkg::sep_32_64_6_12_axi_resp_tResponse to the local crossbar.
isolate_req_iinputsep_pkg::sep_crypto_isolate_tPer-path isolation requests from sep_reset_ctrl, active-high.
isolated_ooutputsep_pkg::sep_crypto_isolate_tPer-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_ooutputsep_pkg::sep_32_32_axil_req_tHost 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_iinputsep_pkg::sep_32_32_axil_resp_tResponse from the OTBN wrapper CSR port.
hmac_axil_isolated_req_ooutputsep_pkg::sep_32_32_axil_req_tHost CSR request to the HMAC wrapper after 64-to-32-bit conversion to AXI-Lite and isolation.
hmac_axil_isolated_resp_iinputsep_pkg::sep_32_32_axil_resp_tResponse from the HMAC wrapper CSR port.
aes_axil_isolated_req_ooutputsep_pkg::sep_32_32_axil_req_tHost CSR request to the AES wrapper after 64-to-32-bit conversion to AXI-Lite and isolation.
aes_axil_isolated_resp_iinputsep_pkg::sep_32_32_axil_resp_tResponse from the AES wrapper CSR port.
kmac_axil_isolated_req_ooutputsep_pkg::sep_32_32_axil_req_tHost CSR request to the KMAC wrapper after 64-to-32-bit conversion to AXI-Lite and isolation.
kmac_axil_isolated_resp_iinputsep_pkg::sep_32_32_axil_resp_tResponse from the KMAC wrapper CSR port.
abr_axi_isolated_req_ooutputsep_pkg::sep_32_64_6_12_axi_req_tHost AXI4 request to Adams Bridge, isolated but not width-converted.
abr_axi_isolated_resp_iinputsep_pkg::sep_32_64_6_12_axi_resp_tResponse from the Adams Bridge AXI4 port.
otbn_key_axil_req_iinputsep_pkg::sep_32_32_axil_req_tKey Manager key-bus request for the OTBN key CSRs, before isolation.
otbn_key_axil_resp_ooutputsep_pkg::sep_32_32_axil_resp_tResponse to the Key Manager for the OTBN key CSRs.
aes_key_axil_req_iinputsep_pkg::sep_32_32_axil_req_tKey Manager key-bus request for the AES key CSRs, before isolation.
aes_key_axil_resp_ooutputsep_pkg::sep_32_32_axil_resp_tResponse to the Key Manager for the AES key CSRs.
hmac_key_axil_req_iinputsep_pkg::sep_32_32_axil_req_tKey Manager key-bus request for the HMAC key CSRs, before isolation.
hmac_key_axil_resp_ooutputsep_pkg::sep_32_32_axil_resp_tResponse to the Key Manager for the HMAC key CSRs.
kmac_key_axil_req_iinputsep_pkg::sep_32_32_axil_req_tKey Manager key-bus request for the KMAC key CSRs, before isolation.
kmac_key_axil_resp_ooutputsep_pkg::sep_32_32_axil_resp_tResponse to the Key Manager for the KMAC key CSRs.
abr_key_axil_req_iinputkm_intf_pkg::km_axil_req_tKey Manager key-bus request for the Adams Bridge key CSRs, before isolation.
abr_key_axil_resp_ooutputkm_intf_pkg::km_axil_resp_tResponse to the Key Manager for the Adams Bridge key CSRs.
km_efuse_axil_req_iinputkm_intf_pkg::km_axil_req_tKey Manager request to the eFuse wrapper, before isolation.
km_efuse_axil_resp_ooutputkm_intf_pkg::km_axil_resp_tResponse to the Key Manager from the eFuse wrapper.
otbn_key_axil_isolated_req_ooutputsep_pkg::sep_32_32_axil_req_tKey Manager key-bus request to the OTBN wrapper key CSRs, after isolation.
otbn_key_axil_isolated_resp_iinputsep_pkg::sep_32_32_axil_resp_tResponse from the OTBN wrapper key CSRs.
aes_key_axil_isolated_req_ooutputsep_pkg::sep_32_32_axil_req_tKey Manager key-bus request to the AES wrapper key CSRs, after isolation.
aes_key_axil_isolated_resp_iinputsep_pkg::sep_32_32_axil_resp_tResponse from the AES wrapper key CSRs.
hmac_key_axil_isolated_req_ooutputsep_pkg::sep_32_32_axil_req_tKey Manager key-bus request to the HMAC wrapper key CSRs, after isolation.
hmac_key_axil_isolated_resp_iinputsep_pkg::sep_32_32_axil_resp_tResponse from the HMAC wrapper key CSRs.
kmac_key_axil_isolated_req_ooutputsep_pkg::sep_32_32_axil_req_tKey Manager key-bus request to the KMAC wrapper key CSRs, after isolation.
kmac_key_axil_isolated_resp_iinputsep_pkg::sep_32_32_axil_resp_tResponse from the KMAC wrapper key CSRs.
abr_key_axil_isolated_req_ooutputkm_intf_pkg::km_axil_req_tKey Manager key-bus request to the Adams Bridge key CSRs, after isolation.
abr_key_axil_isolated_resp_iinputkm_intf_pkg::km_axil_resp_tResponse from the Adams Bridge key CSRs.
km_efuse_axil_isolated_req_ooutputkm_intf_pkg::km_axil_req_tKey Manager request to the eFuse wrapper, after isolation.
km_efuse_axil_isolated_resp_iinputkm_intf_pkg::km_axil_resp_tResponse from the eFuse wrapper to the isolated Key Manager path.
km_mbox_axil_req_ooutputkm_intf_pkg::km_axil_req_tHost request to the Key Manager mailbox, converted from 64-bit AXI4 to 32-bit AXI-Lite and not isolated.
km_mbox_axil_resp_iinputkm_intf_pkg::km_axil_resp_tResponse from the Key Manager mailbox.
esrc_axil_isolated_req_ooutputsep_pkg::sep_32_32_axil_req_tHost request to entropy_source, converted to 32-bit AXI-Lite and isolated.
esrc_axil_isolated_resp_iinputsep_pkg::sep_32_32_axil_resp_tResponse from entropy_source.
csrng_axil_isolated_req_ooutputdrbg_pkg::drbg_axil64_req_tHost request to CSRNG, converted to 64-bit AXI-Lite and isolated.
csrng_axil_isolated_resp_iinputdrbg_pkg::drbg_axil64_resp_tResponse from CSRNG.
edn_axil_isolated_req_ooutputdrbg_pkg::drbg_axil64_req_tHost request to EDN, converted to 64-bit AXI-Lite and isolated.
edn_axil_isolated_resp_iinputdrbg_pkg::drbg_axil64_resp_tResponse from EDN.
ext_trng_axil_req_ooutputsep_pkg::sep_32_32_axil_req_tHost request to the external TRNG registers, converted to 32-bit AXI-Lite and registered through an axi_cut; not isolated.
ext_trng_axil_resp_iinputsep_pkg::sep_32_32_axil_resp_tResponse from the external TRNG registers.
fuse_axi_req_ooutputsep_pkg::sep_32_64_6_12_axi_req_tHost AXI4 request to the eFuse wrapper, passed through without conversion or isolation.
fuse_axi_resp_iinputsep_pkg::sep_32_64_6_12_axi_resp_tResponse from the eFuse wrapper.
lifecycle_axi_req_ooutputsep_pkg::sep_32_64_6_12_axi_req_tHost AXI4 request to the lifecycle registers, passed through without conversion or isolation.
lifecycle_axi_resp_iinputsep_pkg::sep_32_64_6_12_axi_resp_tResponse from the lifecycle registers.