Timeout Faults - Timeout Faults - 1.2 English - PG293

AXI Protocol Firewall IP LogiCORE IP Product Guide (PG293)

Document ID
PG293
Release Date
2025-08-29
Version
1.2 English

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.