The behavior of AXI Firewall IP, regarding the observation of SLVERR or DECERR response code events, is affected by the following conditions:
- In the MI-Side Interrupt Enable Register/SI-Side Interrupt Enable Register, the "Enable firewall blocking" (Bits[31:30, 15:14])
- In the MI-Side Interrupt Enable Register, the "Enable interrupt" bits for SLVERR/DECERR (Bits[23:22, 7:6])
- In the SI-Side Interrupt Enable Register, the "Enable interrupt" bits for SLVERR/DECERR (Bits[26:25, 6:5])
- Device Global Interrupt Enable Register
- MASK_ERR_RESP parameter
The AXI Firewall IP behaviors that are affected by SLVERR or DECERR response code events are:
- Blocking the firewall (and asserting the
{si,mi}_{w,r}_erroutput).- Blocking due to SLVERR/DECERR is enabled by the "Enable firewall blocking" (Bits[31:30, 15:14]) in the MI-Side Interrupt Enable Register/SI-Side Interrupt Enable Register.
- Asserting an interrupt request
(
ip2intc_irptoutput).- Interrupt requests due to SLVERR/DECERR are enabled by the "Enable interrupt" bits in the MI-Side Interrupt Enable Register/SI-Side Interrupt Enable Register, along with the Device Global Interrupt Enable Register.
- Asserting a SLVERR/DECERR syndrome bit in the Fault
Status Register.
- Asserting a SLVERR/DECERR syndrome bit is enabled by setting either the "Enable firewall blocking" bit or the "Enable interrupt" bit for the corresponding response code in the MI-Side Interrupt Enable Register/SI-Side Interrupt Enable Register (regardless of the Device Global Interrupt Enable Register).
- Propagating SLVERR/DECERR values on the
RRESP/BRESPsignal outputs on the SI, including driving those outputs to SLVERR while flushing outstanding transactions by a MI-side Firewall.- Propagating SLVERR/DECERR on the SI is disabled by the MASK_ERR_RESP parameter.
The following table describes the detailed behavior when a
SLVERR (01 ) or DECERR (11 ) value is sampled on
the RRESP or BRESP signal on the MI interface (regardless
of whether the Firewall is in MI-side Firewall Mode or SI-side Firewall Mode).
| Input Condition | Resulting Behavior | ||||||
|---|---|---|---|---|---|---|---|
| MASK_ERR_RESP | Enable Firewall Blocking Bit | Device Global Interrupt Enable | Enable Interrupt Bit for SLVERR/DECERR | s_axi_{r,b}resp Output | {si,mi}_ {w,r}_err Output | Fault Status Register | ip2intc_irpt Output |
| 0 (default) | x | x | x | Propagate m_axi_{r,b}resp input | |||
| 1 | x | x | x |
Drive OKAY ("00") if m_axi_{r,b}resp=={OKAY,SLVERR,DECERR} (Propagate EXOKAY) |
|||
| x | 0 (default) | x | 0 (default) | 0 (do not block) | SLVERR/DECERR bits = 0 (indicate no fault) | ||
| x | 0 (default) | x | 1 | 0 (do not block) | SLVERR/DECERR bit = 1 (indicate corresponding fault) | ||
| x | 1 | x | x | 1 (block firewall) | SLVERR/DECERR bit = 1 (indicate corresponding fault) | ||
| x | x | 0 (default) | x | 0 (no interrupt) | |||
| x | x | 1 | 0 (default) | 0 (no interrupt) | |||
| x | x | 1 | 1 | 1 (interrupt request) | |||