AXI Streaming Intel® FPGA IP for PCI Express* User Guide

ID 790711
Date 7/08/2024
Public
Document Table of Contents

3.11.2.1. Advanced Error Reporting (AER)

Each PCI Express* compliant device must implement a basic level of error management and can optionally implement advanced error management. The PCI Express* Advanced Error Reporting Capability is an optional Extended Capability that may be implemented by PCI Express* device functions supporting advanced error control and reporting.

The AXI Streaming Intel® FPGA IP for PCI Express* implements both basic and advanced error reporting. Error handling for a Root Port is more complex than that of an Endpoint. In this IP, the Physical Functions (PFs) are always capable of AER (enabled by default). There is no AER implementation for Virtual Functions (VFs).

Use the AER capability of the IP to identify the type of error and the protocol stack layer in which the error may have occurred. Refer to the PCI Express* Capability Structures section of the Configuration Space Registers appendix for the AER Extended Capability Structure and the associated registers.

Table 25.  Correctable Error Status Register (AER)
Observation Issue Resolution
Receiver error bit set Physical layer error which may be due to a PCS error when a lane is in L0, or a Control symbol being received in the wrong lane, or signal Integrity issues where the link may transition from L0 to the Recovery state. Use the Control and Status Register Responder Interface (lite_csr) to access the PCIe* configuration space registers, IP Debug Registers to obtain more information about the error. Also refer to the flow chart in Debugging Link Training Issues to obtain more information about the error.
Bad DLLP bit set Data link layer error which may occur when a CRC verification fails. Use the Control and Status Register Responder Interface (lite_csr) to access the PCIe* configuration space registers, IP Debug Registers to obtain more information about the error.
Bad TLP bit set Data link layer error which may occur when an LCRC verification fails or when a sequence number error occurs. Use the Control and Status Register Responder Interface (lite_csr) to access the PCIe* configuration space registers, IP Debug Registers to obtain more information about the error.
Replay_num_rollover bit set Data link layer error which may be due to TLPs sent without success (no ACK) four times in a row. Use the Control and Status Register Responder Interface (lite_csr) to access the PCIe* configuration space registers, IP Debug Registers to obtain more information about the error.
replay timer timeout status bit set Data link layer error which may occur when no ACK or NAK was received within the timeout period for the TLPs transmitted. Use the Control and Status Register Responder Interface (lite_csr) to access the PCIe* configuration space registers, IP Debug Registers to obtain more information about the error.
Advisory non-fatal Transaction layer error which may be due to higher priority uncorrectable error detected. Use the Control and Status Register Responder Interface (lite_csr) to access the PCIe* configuration space registers, IP Debug Registers to obtain more information about the error.
Corrected internal error bits set Transaction layer error which may be due to an ECC error in the internal Hard IP RAM. Use the Control and Status Register Responder Interface (lite_csr) to access the PCIe* configuration space registers, IP Debug Registers to obtain more information about the error.
Table 26.  Uncorrectable Error Status Register (AER)
Observation Issue Resolution
Data link protocol error Data link layer error which may be due to transmitter receiving an ACK/NAK whose Seq ID does not correspond to an unacknowledged TLP or ACK sequence number. Use the Control and Status Register Responder Interface (lite_csr) to access the PCIe* configuration space registers, IP Debug Registers to obtain more information about the error.
Surprise down error Data link layer error which may be due to link going down during L0, indicating the physical layer link is going down unexpectedly. Use the Control and Status Register Responder Interface (lite_csr) to access the PCIe* configuration space registers, IP Debug Registers to obtain more information about the error.
Flow control protocol error Transaction layer error which can be due to the receiver reporting more than the allowed credit limit. This error occurs when a component does not receive updated flow control credits with the 200 μs limit. Use the Control and Status Register Responder Interface (lite_csr) to access the PCIe* configuration space registers, IP Debug Registers, TX/RX flow control credit interfaces to obtain more information about the error.
Poisoned TLP received Transaction layer error which can be due to a received TLP with the EP bit set. Use the Control and Status Register Responder Interface (lite_csr) to access the PCIe* configuration space registers, IP Debug Registers to obtain more information about the error.
Completion timeout Transaction layer error which can be due to a completion not received within the required amount of time after a non-posted request was sent. Use the Control and Status Register Responder Interface (lite_csr), completion timeout interface to access the PCIe* configuration space registers, IP Debug Registers to obtain more information about the error.
Completer abort Transaction layer error which can be due to a completer being unable to fulfill a request due to a problem with the requester or a failure of the completer. Use the Control and Status Register Responder Interface (lite_csr) to access the PCIe* configuration space registers, IP Debug Registers to obtain more information about the error.
Unexpected completion Transaction layer error which can be due to a requester receiving a completion that does not match any request awaiting a completion. The TLP is deleted by the Hard IP and not presented to the Application Layer. Use the Control and Status Register Responder Interface (lite_csr) to access the PCIe* configuration space registers, IP Debug Registers to obtain more information about the error.
Receiver overflow Transaction layer error which can be due to a receiver receiving more TLPs than the available receive buffer space. The TLP is deleted by the Hard IP and not presented to the Application Layer. Use the Control and Status Register Responder Interface (lite_csr) to access the PCIe* configuration space registers, IP Debug Registers, TX/RX flow control credit interfaces to obtain more information about the error.
Malformed TLP Transaction layer error which can be due to errors in the received TLP header. The TLP is deleted by the Hard IP and not presented to the Application Layer Use the Control and Status Register Responder Interface (lite_csr) to access the PCIe* configuration space registers, IP Debug Registers to obtain more information about the error.
ECRC error Transaction layer error which can be due to an ECRC check failure at the receiver despite the fact that the TLP is not malformed and the LCRC check is valid. The Hard IP block handles this TLP automatically. If the TLP is a nonposted request, the Hard IP block generates a completion with a completer abort status. The TLP is deleted by the Hard IP and not presented to the Application Layer. Use the Control and Status Register Responder Interface (lite_csr) to access the PCIe* configuration space registers, IP Debug Registers to obtain more information about the error.
Unsupported request Transaction layer error which can be due to the completer being unable to fulfill the request. The TLP is deleted in the Hard IP block and not presented to the Application Layer. If the TLP is a non-posted request, the Hard IP block generates a completion with Unsupported Request status. Use the Control and Status Register Responder Interface (lite_csr) to access the PCIe* configuration space registers, IP Debug Registers to obtain more information about the error.
ACS violation Transaction layer error which can be due to access control error in the received posted or non-posted request. Use the Control and Status Register Responder Interface (lite_csr) to access the PCIe* configuration space registers, IP Debug Registers to obtain more information about the error
Uncorrectable internal error Transaction layer error which can be due to an internal error that cannot be corrected by the hardware. Use the Control and Status Register Responder Interface (lite_csr) to access the PCIe* configuration space registers, IP Debug Registers to obtain more information about the error.
Atomic egress blocked Use the Control and Status Register Responder Interface (lite_csr) to access the PCIe* configuration space registers, IP Debug Registers to obtain more information about the error.
TLP prefix blocked EP or RP only Use the Control and Status Register Responder Interface (lite_csr) to access the PCIe* configuration space registers, IP Debug Registers to obtain more information about the error.
Poisoned TLP egress blocked EP or RP only Use the Control and Status Register Responder Interface (lite_csr) to access the PCIe* configuration space registers, IP Debug Registers to obtain more information about the error.