AXI Protocol Checks and Descriptions - 2.0 English

AXI Protocol Checker LogiCORE IP Product Guide (PG101)

Document ID
PG101
Release Date
2023-06-21
Version
2.0 English

The AXI Protocol Checks and descriptions, listed in the following table, correspond to the assertions that are found in the Arm AXI assertions.

Table 1. AXI4/AXI3 and AXI4-Lite Protocol Checks and Descriptions
Name of Protocol Check Bit Notes Protocol Support Description
AXI_ERRM_AWADDR_BOUNDARY 0 - AXI4/AXI3 A write burst cannot cross a 4 KB boundary.
AXI_ERRM_AWADDR_WRAP_ALIGN 1 - AXI4/AXI3 A write transaction with burst type WRAP has an aligned address.
AXI_ERRM_AWBURST 2 - AXI4/AXI3 A value of 2’b11 on AWBURST is not permitted when AWVALID is High.
AXI_ERRM_AWLEN_LOCK 3 - AXI4/AXI3 Exclusive access transactions cannot have a length greater than 16 beats. This check is not implemented.
AXI_ERRM_AWCACHE 4 - AXI4/AXI3 If not cacheable (AWCACHE[1] == 1'b0), AWCACHE = 2'b00.
AXI_ERRM_AWLEN_FIXED 5 - AXI4/AXI3 Transactions of burst type FIXED cannot have a length greater than 16 beats.
AXI_ERRM_AWLEN_WRAP 6 - AXI4/AXI3 A write transaction with burst type WRAP has a length of 2, 4, 8, or 16.
AXI_ERRM_AWSIZE 7 L 1 AXI4/AXI3 The size of a write transfer does not exceed the width of the data interface.
AXI_ERRM_AWVALID_RESET 8 - AXI4/AXI3/Lite AWVALID is Low for the first cycle after ARESETn goes High.
AXI_ERRM_AWADDR_STABLE 9 - AXI4/AXI3/Lite Handshake Checks: AWADDR must remain stable when AWVALID is asserted and AWREADY Low.
AXI_ERRM_AWBURST_STABLE 10 - AXI4/AXI3 Handshake Checks: AWBURST must remain stable when AWVALID is asserted and AWREADY Low.
AXI_ERRM_AWCACHE_STABLE 11 - AXI4/AXI3 Handshake Checks: AWCACHE must remain stable when AWVALID is asserted and AWREADY Low.
AXI_ERRM_AWID_STABLE 12 - AXI4/AXI3 Handshake Checks: AWID must remain stable when AWVALID is asserted and AWREADY Low.
AXI_ERRM_AWLEN_STABLE 13 - AXI4/AXI3 Handshake Checks: AWLEN must remain stable when AWVALID is asserted and AWREADY Low.
AXI_ERRM_AWLOCK_STABLE 14 - AXI4/AXI3 Handshake Checks: AWLOCK must remain stable when AWVALID is asserted and AWREADY Low. This check is not implemented.
AXI_ERRM_AWPROT_STABLE 15 - AXI4/AXI3/Lite Handshake Checks: AWPROT must remain stable when AWVALID is asserted and AWREADY Low.
AXI_ERRM_AWSIZE_STABLE 16 - AXI4/AXI3 Handshake Checks: AWSIZE must remain stable when AWVALID is asserted and AWREADY Low.
AXI_ERRM_AWQOS_STABLE 17 - AXI4/AXI3 Handshake Checks: AWQOS must remain stable when AWVALID is asserted and AWREADY Low.
AXI_ERRM_AWREGION_STABLE 18 - AXI4 Handshake Checks: AWREGION must remain stable when ARVALID is asserted and AWREADY Low.
AXI_ERRM_AWVALID_STABLE 19 - AXI4/AXI3/Lite Handshake Checks: Once AWVALID is asserted, it must remain asserted until AWREADY is High.
AXI_RECS_AWREADY_MAX_WAIT 20 L 1 AXI4/AXI3/Lite Recommended that AWREADY is asserted within MAXWAITS cycles of AWVALID being asserted.
AXI_ERRM_WDATA_NUM 21 L 1 AXI4/AXI3
The number of write data items matches AWLEN for the corresponding address. This is triggered when any of the following occurs:
  • Write data arrives, WLAST is set, and the WDATA count is not equal to AWLEN
  • Write data arrives, WLAST is not set, and the WDATA count is equal to AWLEN
  • ADDR arrives, WLAST is already received, and the WDATA count is not equal to AWLEN
AXI_ERRM_WSTRB 22 - AXI4/AXI3/Lite Write strobes must only be asserted for the correct byte lanes as determined from the: Start Address, Transfer Size and Beat Number.
AXI_ERRM_WVALID_RESET 23 - AXI4/AXI3/Lite WVALID is LOW for the first cycle after ARESETn goes High.
AXI_ERRM_WDATA_STABLE 24 - AXI4/AXI3/Lite Handshake Checks: WDATA must remain stable when WVALID is asserted and WREADY Low.
AXI_ERRM_WLAST_STABLE 25 - AXI4/AXI3 Handshake Checks: WLAST must remain stable when WVALID is asserted and WREADY Low.
AXI_ERRM_WSTRB_STABLE 26 - AXI4/AXI3/Lite Handshake Checks: WSTRB must remain stable when WVALID is asserted and WREADY Low.
AXI_ERRM_WVALID_STABLE 27 - AXI4/AXI3/Lite Handshake Checks: Once WVALID is asserted, it must remain asserted until WREADY is High.
AXI_RECS_WREADY_MAX_WAIT 28 L 1 AXI4/AXI3/Lite Recommended that WREADY is asserted within MAXWAITS cycles of WVALID being asserted.
AXI_ERRS_BRESP_EXOKAY 30 - AXI4/AXI3 An EXOKAY write response can only be given to an exclusive write access. This check is not implemented.
AXI_ERRS_BVALID_RESET 31 - AXI4/AXI3/Lite BVALID is Low for the first cycle after ARESETn goes High.

AXI_ERRS_BRESP_AW

Or

AXI_ERRS_BRESP_WLAST

32 L 1 AXI4/AXI3/Lite

A slave must not take BVALID HIGH until after the write address handshake is complete.

Or

A slave must not take BVALID HIGH until after the last write data handshake is complete.

Note: The IP does not distinguish between these two causes.
AXI_ERRS_BID_STABLE 33 - AXI4/AXI3 Handshake Checks: BID must remain stable when BVALID is asserted and BREADY Low.
AXI_ERRS_BRESP_STABLE 34 - AXI4/AXI3/Lite Checks BRESP must remain stable when BVALID is asserted and BREADY Low.
AXI_ERRS_BVALID_STABLE 35 - AXI4/AXI3/Lite Once BVALID is asserted, it must remain asserted until BREADY is High.
AXI_RECM_BREADY_MAX_WAIT 36 L 1 AXI4/AXI3/Lite Recommended that BREADY is asserted within MAXWAITS cycles of BVALID being asserted.
AXI_ERRM_ARADDR_BOUNDARY 37 - AXI4/AXI3 A read burst cannot cross a 4 KB boundary.
AXI_ERRM_ARADDR_WRAP_ALIGN 38 - AXI4/AXI3 A read transaction with a burst type of WRAP must have an aligned address.
AXI_ERRM_ARBURST 39 - AXI4/AXI3 A value of 2'b11 on ARBURST is not permitted when ARVALID is High.
AXI_ERRM_ARLEN_LOCK 40 - AXI4/AXI3 Exclusive access transactions cannot have a length greater than 16 beats. This check is not implemented.
AXI_ERRM_ARCACHE 41 - AXI4/AXI3 When ARVALID is HIGH, if ARCACHE[1] is LOW, then ARCACHE[3:2] must also be Low.
AXI_ERRM_ARLEN_FIXED 42 - AXI4/AXI3 Transactions of burst type FIXED cannot have a length greater than 16 beats.
AXI_ERRM_ARLEN_WRAP 43 - AXI4/AXI3 A read transaction with burst type of WRAP must have a length of 2, 4, 8, or 16.
AXI_ERRM_ARSIZE 44 L 1 AXI4/AXI3 The size of a read transfer must not exceed the width of the data interface.
AXI_ERRM_ARVALID_RESET 45 - AXI4/AXI3/Lite ARVALID is Low for the first cycle after ARESETn goes High.
AXI_ERRM_ARADDR_STABLE 46 - AXI4/AXI3/Lite ARADDR must remain stable when ARVALID is asserted and ARREADY Low.
AXI_ERRM_ARBURST_STABLE 47 - AXI4/AXI3 ARBURST must remain stable when ARVALID is asserted and ARREADY Low.
AXI_ERRM_ARCACHE_STABLE 48 - AXI4/AXI3 ARCACHE must remain stable when ARVALID is asserted and ARREADY Low.
AXI_ERRM_ARID_STABLE 49 - AXI4/AXI3 ARID must remain stable when ARVALID is asserted and ARREADY Low.
AXI_ERRM_ARLEN_STABLE 50 - AXI4/AXI3 ARLEN must remain stable when ARVALID is asserted and ARREADY Low.
AXI_ERRM_ARLOCK_STABLE 51 - AXI4/AXI3 ARLOCK must remain stable when ARVALID is asserted and ARREADY Low. This check is not implemented.
AXI_ERRM_ARPROT_STABLE 52 - AXI4/AXI3/Lite ARPROT must remain stable when ARVALID is asserted and ARREADY Low.
AXI_ERRM_ARSIZE_STABLE 53 - AXI4/AXI3 ARSIZE must remain stable when ARVALID is asserted and ARREADY Low.
AXI_ERRM_ARQOS_STABLE 54 - AXI4/AXI3 ARQOS must remain stable when ARVALID is asserted and ARREADY Low.
AXI_ERRM_ARREGION_STABLE 55 - AXI4 ARREGION must remain stable when ARVALID is asserted and ARREADY Low.
AXI_ERRM_ARVALID_STABLE 56 - AXI4/AXI3/Lite Once ARVALID is asserted, it must remain asserted until ARREADY is High.
AXI_RECS_ARREADY_MAX_WAIT 57 L 1 AXI4/AXI3/Lite Recommended that ARREADY is asserted within MAXWAITS cycles of ARVALID being asserted.
AXI_ERRS_RDATA_NUM 58 L 1 AXI4/AXI3 The number of read data items must match the corresponding ARLEN.
AXI_ERRS_RID 59 L 1 AXI4/AXI3/Lite The read data must always follow the address that it relates to. If IDs are used, RID must also match ARID of an outstanding address read transaction. This violation can also occur when RVALID is asserted with no preceding AR transfer.
AXI_ERRS_RRESP_EXOKAY 60 - AXI4/AXI3 An EXOKAY write response can only be given to an exclusive read access. This check is not implemented.
AXI_ERRS_RVALID_RESET 61 - AXI4/AXI3/Lite RVALID is Low for the first cycle after ARESETn goes High.
AXI_ERRS_RDATA_STABLE 62 - AXI4/AXI3/Lite RDATA must remain stable when RVALID is asserted and RREADY Low.
AXI_ERRS_RID_STABLE 63 - AXI4/AXI3 RID must remain stable when RVALID is asserted and RREADY Low.
AXI_ERRS_RLAST_STABLE 64 - AXI4/AXI3 RLAST must remain stable when RVALID is asserted and RREADY Low.
AXI_ERRS_RRESP_STABLE 65 - AXI4/AXI3/Lite RRESP must remain stable when RVALID is asserted and RREADY Low.
AXI_ERRS_RVALID_STABLE 66 - AXI4/AXI3/Lite Once RVALID is asserted, it must remain asserted until RREADY is High.
AXI_RECM_RREADY_MAX_WAIT 67 L 1 AXI4/AXI3/Lite Recommended that RREADY is asserted within MAXWAITS cycles of RVALID being asserted.
AXI_ERRM_EXCL_ALIGN 68 - AXI4/AXI3 The address of an exclusive access is aligned to the total number of bytes in the transaction. This check is not implemented.
AXI_ERRM_EXCL_LEN 69 - AXI4/AXI3 The number of bytes to be transferred in an exclusive access burst is a power of 2, that is, 1, 2, 4, 8, 16, 32, 64, or 128 bytes. This check is not implemented.
AXI_RECM_EXCL_MATCH 70 - AXI4/AXI3 Recommended that the address, size, and length of an exclusive write with a given ID is the same as the address, size, and length of the preceding exclusive read with the same ID. This check is not implemented.
AXI_ERRM_EXCL_MAX 71 - AXI4/AXI3 128 is the maximum number of bytes that can be transferred in an exclusive burst. This check is not implemented.
AXI_RECM_EXCL_PAIR 72 - AXI4/AXI3 Recommended that every exclusive write has an earlier outstanding exclusive read with the same ID. This check is not implemented.
AXI_ERRM_AWUSER_STABLE 73 - AXI4/AXI3 AWUSER must remain stable when AWVALID is asserted and AWREADY Low.
AXI_ERRM_WUSER_STABLE 74 - AXI4/AXI3 WUSER must remain stable when WVALID is asserted and WREADY Low.
AXI_ERRS_BUSER_STABLE 75 - AXI4/AXI3 BUSER must remain stable when BVALID is asserted and BREADY Low.
AXI_ERRM_ARUSER_STABLE 76 - AXI4/AXI3 ARUSER must remain stable when ARVALID is asserted and ARREADY Low.
AXI_ERRS_RUSER_STABLE 77 - AXI4/AXI3 RUSER must remain stable when RVALID is asserted and RREADY Low.
AXI_AUXM_RCAM_OVERFLOW 78 L 1 AXI4/AXI3/Lite

Read CAM overflow.

The number of outstanding read transactions exceeds the capacity of the storage implemented in the Protocol Checker core. This does not indicate any failure of the system being monitored, but it might render any subsequent monitoring results invalid. To resolve this, increase MAX_RD_BURSTS parameter.

AXI_AUXM_RCAM_UNDERFLOW 79 - AXI4/AXI3/Lite Read CAM underflow.
AXI_AUXM_WCAM_OVERFLOW 80 L 1 AXI4/AXI3/Lite Write CAM overflow. The number of outstanding write transactions exceeds the capacity of the storage implemented in the Protocol Checker core. This does not indicate any failure of the system being monitored, but it might render any subsequent monitoring results invalid. To resolve this, increase MAX_WR_BURSTS parameter.
AXI_AUXM_WCAM_UNDERFLOW 81 - AXI4/AXI3/Lite Write CAM underflow.
AXI_AUXM_EXCL_OVERFLOW 82 - AXI4/AXI3 Exclusive access monitor overflow.
AXI4LITE_ERRS_BRESP_EXOKAY 83 - Lite A slave must not give an EXOKAY response on an AXI4-Lite interface.
AXI4LITE_ERRS_RRESP_EXOKAY 84 - Lite A slave must not give an EXOKAY response on an AXI4-Lite interface.
AXI4LITE_AUXM_DATA_WIDTH 85 - Lite DATA_WIDTH parameter is 32 or 64.
  1. L: This check remains enabled in Lightweight mode.