The following table shows the AXI Firewall core user parameters.
| Parameter Name | Format/Range | Default Value | Description |
|---|---|---|---|
| FIREWALL_MODE | string = {MI, SI} | MI | MI-side mode monitors responses received on the MI for fatal conditions and prevents them from impacting upstream operation. SI-side mode monitors forward transfers received on the SI for fatal conditions and prevents them from impacting downstream operation. |
| ADDR_WIDTH | 1 ≤ integer ≤ 64 | 32 | Width of {s,m}_axi_{ar,aw}addr |
| ID_WIDTH | 0 ≤ integer ≤ 32 | 0 | Width of {s,m}_axi_{ar,aw,w,r,b}id. |
| DATA_WIDTH | integer = {32, 64, 128, 256, 512, 1024} | 32 | Width of {s,m}_axi_{r,w}data |
| ARUSER_WIDTH | 0 ≤ integer ≤ 1024 | 0 | Width of {s,m}_axi_aruser. |
| AWUSER_WIDTH | 0 ≤ integer ≤ 1024 | 0 | Width of {s,m}_axi_awuser. |
| WUSER_WIDTH | 0 ≤ integer ≤ 1024 | 0 | Width of {s,m}_axi_wuser. |
| RUSER_WIDTH | 0 ≤ integer ≤ 1024 | 0 | Width of {s,m}_axi_ruser. |
| BUSER_WIDTH | 0 ≤ integer ≤ 1024 | 0 | Width of {s,m}_axi_buser. |
| PROTOCOL | string = {AXI4, AXI3, AXI4LITE} | AXI4 | Used for protocol-specific port widths/enablement. |
| NUM_READ_THREADS, NUM_WRITE_THREADS | 1 ≤ integer ≤ 16 | 1 | Number of ID threads to implement in protocol check CAMs (used only in MI-side mode). |
| NUM_READ_OUTSTANDING, NUM_WRITE_OUTSTANDING | 0 ≤ integer ≤ 32 | 1 |
Number of outstanding transactions allowed before stalling the SI. 0 = IP is disabled for read/write. |
| ENABLE_PIPELINING | integer = {0,1} | 1 | Enable conditional boundary register slices. |
| MASK_ERR_RESP | integer = {0,1} | 0 |
0 = Propagate m_axi_{b,r}resp to SI. Drive s_axi_{b,r}resp = SLVERR ("10") while flushing {B,R}-channel responses during MI-Firewall block. 1 = Force s_axi_{b,r}resp =OKAY ("00") when m_axi_{b,r}resp=={SLVERR,DECERR}. Drive s_axi_{b,r}resp = OKAY while flushing {B,R}-channel responses during MI-Firewall block. Continue to propagate EXOK ("01") from MI. |
| ENABLE_CTL_CLOCK | integer = {0,1} | 0 | Enables the aclk_ctl input port to be used as an independent clock for the S_AXI_CTL interface. |
| ENABLE_PROTOCOL_CHECKS | integer = {0,1} | 1 | When 0, disables all protocol violation checking to reduce area. |
| ENABLE_TIMEOUT_CHECKS | integer = {0,1} | 1 |
When 0, disables all timeout violation checking to reduce area. When both ENABLE_PROTOCOL_CHECKS and ENABLE_TIMEOUT_CHECKS are disabled, the Firewall can only become blocked by writing to the MI/SI Soft Fault Control Register, or by observing SLVERR/DECERR (if enabled). |
| ENABLE_PRESCALER | integer = {0,1} | 1 | When 0, disables timeout prescaler logic to reduce area. |
| ENABLE_INITIAL_DELAY | integer = {0,1} | 1 | When 0, disables timeout initial delay logic to reduce area. |