Module axi_throttle
Throttles an AXI4+ATOP bus. The maximum number of outstanding transfers have to
be set as a compile-time parameter, whereas the number of outstanding transfers can be set
during runtime. This module assumes either in-order processing of the requests or
indistinguishability of the request/responses (all ARs and AWs have the same ID respectively).
Parameters
MaxNumAwPending: int unsigned
The maximum amount of allowable outstanding write requests
MaxNumArPending: int unsigned
The maximum amount of allowable outstanding read requests
axi_req_t: type
AXI4+ATOP request type
axi_rsp_t: type
AXI4+ATOP response type
WCntWidth: int unsigned
The width of the write credit counter (DO NOT OVERWRITE)
RCntWidth: int unsigned
The width of the read credit counter (DO NOT OVERWRITE)
w_credit_t: type
The type of the write credit counter (DO NOT OVERWRITE)
r_credit_t: type
The type of the read credit counter (DO NOT OVERWRITE)
Ports
clk_i: input logic
Clock
rst_ni: input logic
Asynchronous reset, active low
req_i: input axi_req_t
AXI4+ATOP request in
rsp_o: output axi_rsp_t
AXI4+ATOP response out
req_o: output axi_req_t
AXI4+ATOP request out
rsp_i: input axi_rsp_t
AXI4+ATOP response in
w_credit_i: input w_credit_t
Amount of write credit (number of outstanding write transfers)
r_credit_i: input r_credit_t
Amount of read credit (number of outstanding read transfers)