Operating states are described in the following two tables.
| State | mi_{r,w} _error | {READ,WRITE} _RESPONSE_ BUSY | s_axi_{aw, ar,w}ready | m_axi_{aw, ar,w}valid | m_axi_{r,b}ready | Description |
|---|---|---|---|---|---|---|
| Normal | 0 | varies | from m_axi{aw,ar,w}ready | from s_axi{aw,ar,w}valid | from s_axi{r,b}ready |
Commands received on SI propagate to MI. Responses received on MI propagate to SI if they do not violate protocol. |
| Flushing | 1 | 1 | 1 | 0 | 1 |
Firewall is blocked; outstanding transactions to be flushed on SI. Commands received on SI do not propagate to MI and are added to the flush queue. Responses received on MI do not propagate to SI and are ignored. |
| Blocked | 1 | 0 | 1 | 0 | 1 |
Firewall is still blocked; no further transactions remain to be flushed on SI. Commands received on SI do not propagate to MI and are added to the flush queue, causing the IP to revert to the Flushing state. Responses received on MI do not propagate to SI and are ignored. When an unblock request is received, the IP transitions to the Normal state immediately. |
| Unblock Pending | 1 | 1 | 1 | 0 | 1 |
Unblock requested while still busy (not recommended). Commands received on SI do not propagate to MI and are added to the flush queue, causing the IP to remain in the Unblock Pending state longer. Responses received on MI do not propagate to SI and are ignored. When all outstanding read and write transactions have been flushed, the IP transitions to the Normal state. |
| State | si_{r,w}_error | {READ,WRITE}_RESPONSE_BUSY | s_axi_{r,b}valid | s_axi_{aw,ar,w}ready | m_axi_{r,b}ready | Description |
|---|---|---|---|---|---|---|
| Normal | 0 | varies | from m_axi_{r,b}valid | from m_axi_{aw,ar,w}ready | from s_axi{r,b}ready |
Commands received on SI propagate to MI if they do not violate protocol. Responses received on MI propagate to SI. |
| Flushing | 1 | 1 | 0 | 1 | 1 |
Firewall is blocked; outstanding transactions to be flushed on MI. Commands received on SI do not propagate to MI and are ignored. Responses received on MI do not propagate to SI. |
| Blocked | 1 | 0 | 0 | 1 | 1 |
Firewall is still blocked; no further transactions remain to be flushed on MI. Commands received on SI do not propagate to MI and are ignored. After flushing is done, no additional responses are expected to be received on the MI for the affected channel. When an unblock request is received, the IP transitions to the Normal state immediately. |
| Unblock Pending | 1 | 1 | 0 | 1 | 1 |
Unblock requested while still busy (not recommended). Commands received on SI do not propagate to MI and are ignored. After flushing is done, no additional responses are expected to be received on the MI for the affected channel. When all outstanding read and write transactions have been flushed, the IP transitions to the Normal state. |