hmac_wrapper

Wrap the OpenTitan HMAC 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 HMAC TL-UL port. CSR addresses are rebased by the low 13 bits of the SEP HMAC base address and masked to the 13-bit HMAC window before the bridge. The AXI4-Lite key interface from the Key Manager private bus terminates in the generated hmac_wrapper_key_reg block, whose two key shares and valid bit drive the HMAC keymgr_key_i sideload port. One fatal alert (fatal_fault) leaves the block. bus_err_o sticks on a TL-UL error response until bus_err_clr_i. idle_o reports HMAC idle.

Ports

Table 1. Ports
NameDirectionTypeDescription
clk_iinputlogicSystem clock.
rst_niinputlogicActive-low reset.
hmac_axil_req_iinputsep_pkg::sep_32_32_axil_req_tHMAC CSR request at system addresses; rebased and masked to 13 bits before the TL-UL bridge.
hmac_axil_resp_ooutputsep_pkg::sep_32_32_axil_resp_tHMAC CSR response from the TL-UL bridge.
hmac_key_axil_req_iinputsep_pkg::sep_32_32_axil_req_tKey Manager private-bus request to the HMAC key CSR block.
hmac_key_axil_resp_ooutputsep_pkg::sep_32_32_axil_resp_tResponse from the HMAC key CSR block to the Key Manager.
intr_hmac_done_ooutputlogicHMAC done interrupt.
intr_fifo_empty_ooutputlogicHMAC message FIFO empty interrupt.
intr_hmac_err_ooutputlogicHMAC error interrupt.
alert_rx_iinputprim_alert_pkg::alert_rx_t [0:0]Alert receiver handshake for the single fatal alert (fatal_fault).
alert_tx_ooutputprim_alert_pkg::alert_tx_t [0:0]Differential alert sender for the single fatal alert (fatal_fault).
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.
idle_ooutputlogicHigh when the HMAC core reports idle (mubi4 strictly true).