prim_axil_access_gate

Answer AXI-Lite accesses with an error response while the subordinate is unavailable.

While block_i is low every request passes to the subordinate port unchanged. While it is high each access completes locally with RESP, reads returning RESP_DATA zero-extended or truncated to DATA_WIDTH, and nothing reaches the subordinate. block_i is sampled when the AW or AR request is accepted, so a request already handed to the subordinate completes there even if block_i rises afterwards. Responses return in request order. clk_i must keep running while block_i is high: the gate sits in front of a subordinate whose own clock may be stopped.

Parameters

Table 1. Parameters
NameTypeDefaultDescription
ADDR_WIDTHint unsigned32AXI-Lite address width.
DATA_WIDTHint unsigned32AXI-Lite data width; a power of two of at least 8.
MAX_TRANSint unsigned1Outstanding transactions per channel through the gate.
RESPaxi_pkg::resp_taxi_pkg::RESP_SLVERRResponse code while blocked.
RESP_WIDTHint unsigned32'd64Width of RESP_DATA only.
RESP_DATAlogic [RESP_WIDTH-1:0]64'hBADCAB1EBADCAB1ERead data while blocked.

Ports

Table 2. Ports
NameDirectionTypeDescription
clk_iinputlogicAXI-Lite clock; runs while block_i is high.
rst_niinputlogicAsync reset, active-low.
test_en_iinputlogicDFT/test enable for the internal AXI-Lite demux.
block_iinputlogicAnswer every newly accepted access with RESP while high.
axil_req_iinputaxil_req_tRequest from the manager.
axil_resp_ooutputaxil_resp_tResponse toward the manager.
axil_req_ooutputaxil_req_tRequest toward the subordinate.
axil_resp_iinputaxil_resp_tResponse from the subordinate.