sep_crypto_otbn_wrapper

Wrap the OpenTitan OTBN core with an AXI-Lite CSR bridge and a Key Manager key CSR block.

axi_lite_to_tlul bridges the 32-bit AXI-Lite CSR interface onto the OTBN TL-UL port. The AXI4-Lite key interface terminates in the generated otbn_wrapper_key_reg block, whose two 384-bit key shares and valid bit drive the OTBN keymgr_key_i sideload port. AXCACHE forcing and the AXI 64 to AXI 32 to AXI-Lite 32 conversion chain live in sep_crypto_axi_interconnect. OTBN is built with the flip-flop register file and the MAI stubbed. Its OTP scrambling-key request is answered locally with a fixed key and nonce, acknowledged one cycle after the request; lifecycle escalation and RMA requests are tied off. Exposes RND and URND EDN clients, the done interrupt, two alerts (index 0 fatal, index 1 recoverable), and external IMEM/DMEM SRAM structs from prim_ram_1p_scr_ext. bus_err_o sticks on a TL-UL error response until bus_err_clr_i.

Ports

Table 1. Ports
NameDirectionTypeDescription
clk_iinputlogicSystem clock.
rst_niinputlogicActive-low reset.
otbn_axil_req_iinputsep_pkg::sep_32_32_axil_req_tOTBN CSR request, bridged to the OTBN TL-UL port; the isolated interconnect leg in sep_crypto.
otbn_axil_resp_ooutputsep_pkg::sep_32_32_axil_resp_tOTBN CSR response from the TL-UL bridge.
otbn_key_axil_req_iinputsep_pkg::sep_32_32_axil_req_tKey Manager private-bus request to the OTBN key CSR block, which drives the OTBN key sideload interface.
otbn_key_axil_resp_ooutputsep_pkg::sep_32_32_axil_resp_tResponse from the OTBN key CSR block to the Key Manager.
edn_rnd_req_ooutputedn_pkg::edn_req_tOTBN RND entropy request; in sep_crypto, a native EDN client of the crypto EDN adapter.
edn_rnd_rsp_iinputedn_pkg::edn_rsp_tEntropy response for the OTBN RND request.
edn_urnd_req_ooutputedn_pkg::edn_req_tOTBN URND reseed request; in sep_crypto, a native EDN client of the crypto EDN adapter.
edn_urnd_rsp_iinputedn_pkg::edn_rsp_tEntropy response for the OTBN URND reseed request.
intr_done_ooutputlogicOTBN done interrupt.
alert_rx_iinputprim_alert_pkg::alert_rx_t [1:0]Alert receiver handshakes; index 0 fatal (fatal), index 1 recoverable (recov).
alert_tx_ooutputprim_alert_pkg::alert_tx_t [1:0]Differential alert senders; index 0 fatal (fatal), index 1 recoverable (recov).
imem_sram_req_ooutputsep_crypto_pkg::sep_crypto_pka_imem_sram_req_tOTBN instruction-memory request to the external IMEM SRAM, from the scrambled RAM (prim_ram_1p_scr_ext) inside OTBN.
imem_sram_rsp_iinputsep_crypto_pkg::sep_crypto_pka_imem_sram_rsp_tRead data from the external IMEM SRAM.
dmem_sram_req_ooutputsep_crypto_pkg::sep_crypto_pka_dmem_sram_req_tOTBN data-memory request to the external DMEM SRAM, from the scrambled RAM inside OTBN.
dmem_sram_rsp_iinputsep_crypto_pkg::sep_crypto_pka_dmem_sram_rsp_tRead data from the external DMEM SRAM.
bus_err_ooutputlogicSet by a TL-UL error response on the CSR bridge; sticky until bus_err_clr_i.
bus_err_clr_iinputlogicClears bus_err_o; a fault in the same cycle still sets it. Pulsed by PERIPH_BUS_ERR_CLEAR.otbn in sep.