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

ID 813754
Date 11/04/2024
Public
Document Table of Contents

A.1.2. Debugging Data Transfer and Performance Issues

There are many possible reasons causing the PCIe* link to stop transmitting data. The PCI Express* base specification defines three types of errors, outlined in the table below:

Table 116.  Error Types Defined by the PCI Express* Base Specification
Type Responsible Agent Description

Correctable

Hardware While correctable errors may affect system performance, data integrity is maintained.

Uncorrectable, nonfatal

Device software

Uncorrectable, non-fatal errors are defined as errors in which data is lost, but system integrity is maintained. For example, the fabric may lose a particular TLP, but it still works without problems.

Uncorrectable, fatal

System software Errors generated by a loss of data and system failure are considered uncorrectable and fatal. Software must determine how to handle such errors: whether to reset the link or implement other means to minimize the problem.

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 GTS AXI Streaming IP 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 117.  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 AXI4-Lite Control and Status Register Responder interface 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 AXI4-Lite Control and Status Register Responder interface 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 AXI4-Lite Control and Status Register Responder interface 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 AXI4-Lite Control and Status Register Responder interface 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 AXI4-Lite Control and Status Register Responder interface 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 AXI4-Lite Control and Status Register Responder interface to obtain more information about the error.
Table 118.  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 AXI4-Lite Control and Status Register Responder interface to obtain more information about the error.

Surprise down error

Data link layer error which may be due to link_up_o getting deasserted during L0, indicating the physical layer link is going down unexpectedly.

Use the AXI4-Lite Control and Status Register Responder interface 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 AXI4-Lite Control and Status Register Responder interface 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 AXI4-Lite Control and Status Register Responder interface 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 AXI4-Lite Control and Status Register Responder interface 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 AXI4-Lite Control and Status Register Responder interface 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 AXI4-Lite Control and Status Register Responder interface 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 AXI4-Lite Control and Status Register Responder interface 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 AXI4-Lite Control and Status Register Responder interface 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 non-posted 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 AXI4-Lite Control and Status Register Responder interface 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 AXI4-Lite Control and Status Register Responder interface 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 AXI4-Lite Control and Status Register Responder interface 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 AXI4-Lite Control and Status Register Responder interface to obtain more information about the error.

TLP prefix blocked

EP or RP only

Use the AXI4-Lite Control and Status Register Responder interface to obtain more information about the error.

Poisoned TLP egress blocked

EP or RP only

Use the AXI4-Lite Control and Status Register Responder interface to obtain more information about the error.