efuse_read_interface

Read fuse words through the fuse-command interface with timeouts and sticky errors.

read_go_i starts a read from read_addr_i; read_back_data_o captures the response. read_addr_oob_i is computed upstream against the full-width CSR field because casting to efuse_addr_t truncates upper bits. Honors secure_tm_blocked_i, efuse_req_err_i, and optional read_req_timeout_*; sticky address errors clear with read_addr_error_clear_i. is_reading_o and read_target_addr_o feed the guard while a read is active.

Ports

Table 1. Ports
NameDirectionTypeDescription
clk_iinputlogicSystem clock.
rst_niinputlogicActive-low asynchronous reset.
test_en_iinputlogicDFT test enable; not used in this module.
read_enable_iinputlogicRead operations allowed; a start while low completes immediately with an error.
is_reading_ooutputlogicHigh while a read command is outstanding, for the guard.
read_target_addr_ooutputefuse_addr_tFuse bit address of the outstanding read command; zero when idle.
read_addr_iinputefuse_addr_tFuse bit address to read, sampled on a start.
read_go_iinputlogicStarts a read operation when high in the idle state.
read_busy_ooutputlogicHigh while a read operation waits for its response.
read_done_ooutputlogicSet when the last read operation completed; cleared by the next start.
read_error_ooutputlogicSet when the last read operation failed: rejected, blocked, errored by the bank, or timed out.
read_back_data_ooutputefuse_data_tData word from the last read; zero after an out-of-bounds, blocked, errored or timed-out read, and unchanged when a start is rejected because read_enable_i is low.
read_addr_oob_iinputlogicHigh when the full-width CSR read address is beyond the fuse array; a start is then rejected.
read_addr_error_ooutputlogicSticky out-of-bounds read address error.
read_addr_error_clear_iinputlogicClears the sticky address error; a same-cycle new error takes priority.
efuse_req_err_iinputlogicGuard lock error; ends an outstanding read with an error.
secure_tm_blocked_iinputlogicGuard secure-test-mode block; ends an outstanding read with an error.
read_req_timeout_en_iinputlogicEnables the response timeout for read operations.
read_req_timeout_cycles_iinputlogic [27:0]Response timeout in clock cycles.
fuse_command_req_ooutputfuse_command_req_tRead command to the guard; valid only while waiting for the response.
fuse_command_resp_iinputfuse_command_resp_tFiltered response to the read command.
is_read_timeout_debug_ooutputlogicOne-cycle pulse when a read operation times out.