efuse_interface_shim

Turn fuse-command requests into foundry APB accesses for an example fuse-bank model.

Hosts SHIM CSRs on fuse_bank_ctrl_*. Sequences fuse_command_req_i onto efuse_model_otp_* APB, waiting the programmed bank init time before each command; debug_bus_o exposes shim state. The APB macro interface is foundry-specific in real integrations.

Parameters

Table 1. Parameters
NameTypeDefaultDescription
SHADOW_REG_BITSint unsigned24576Fuse array size in bits; declared but not used in this module.
CounterWidthint unsigned32Width of the read and write bank init-time counters.

Ports

Table 2. Ports
NameDirectionTypeDescription
clk_iinputlogicSystem clock.
rst_niinputlogicActive-low asynchronous reset.
fuse_bank_ctrl_req_iinputefuse_axil_req_tAXI4-Lite request to the fuse bank control registers; only address bits [2:0] are decoded.
fuse_bank_ctrl_resp_ooutputefuse_axil_resp_tAXI4-Lite response from the fuse bank control registers, which hold the bank init time.
fuse_command_req_iinputfuse_command_req_tFiltered fuse command from the interface controller: read, program, or program with read-back.
fuse_command_resp_ooutputfuse_command_resp_tFuse command response, one valid pulse per word read or per program.
efuse_model_otp_req_ooutputefuse_apb_req_tRegistered APB request to the fuse bank model, byte addressed; a program writes one bit with one byte strobe.
efuse_model_otp_resp_iinputefuse_apb_resp_tAPB response from the fuse bank model.
debug_bus_ooutputlogic [15:0]Shim status: {3'b0, write counter error, write FSM state, 3'b0, read counter error, read FSM state}.