The following timeout conditions
block the firewall in MI-side mode, depending on corresponding MAXWAIT register:
- RECS_AWREADY_MAX_WAIT
- AWREADY should be asserted within MAXWAITS cycles of AWVALID being asserted.
- RECS_WREADY_MAX_WAIT
- WREADY should be asserted within MAXWAITS cycles of WVALID being asserted.
- RECS_ARREADY_MAX_WAIT
- ARREADY should be asserted within MAXWAITS cycles of ARVALID being asserted.
- RECS_CONTINUOUS_RTRANSFERS_MAX_WAIT
- RVALID should be asserted within MAXWAITS cycles of either AR command transfer or previous R transfer while there are outstanding AR commands.
- RECS_WRITE_TO_BVALID_MAX_WAIT
- BVALID should be asserted within MAXWAITS cycles of AW command transfer or WLAST transfer (whichever is later), or previous B transfer if there are yet more AW and WLAST transfers outstanding.
The following timeout conditions
block the firewall in SI-side mode, depending on corresponding MAXWAIT register:
- RECM_BREADY_MAX_WAIT
- BREADY should be asserted within MAXWAITS cycles of BVALID being asserted.
- RECM_RREADY_MAX_WAIT
- RREADY should be asserted within MAXWAITS cycles of RVALID being asserted.
- RECM_CONTINUOUS_WTRANSFERS_MAX_WAIT
- WVALID should be asserted within MAXWAITS cycles of either AWVALID or previous W transfer while there are outstanding AW commands.
- RECM_WVALID_TO_AWVALID_MAX_WAIT
- AWVALID should be asserted within MAXWAITS cycles of a premature WVALID.
The above timeout faults are not
implemented if ENABLE_TIMEOUT_CHECKS==0. For all timeout checks,
any change in value written to any MAX_WAIT control register takes
effect only while the watchdog timer is not actively counting. That
is, while the earlier qualifying condition (such as arvalid assertion) is false or while the
later triggering condition (such as arready assertion) is true, watchdog timer
counting for the corresponding check is disabled and the counter is
continually re-loaded with the value currently stored in the
corresponding MAX_WAIT register. Once timeout count begins, the
last MAX_WAIT value loaded is used to determine the triggering of
the fault.