Article ID: 000083055 Content Type: Troubleshooting Last Reviewed: 08/07/2023

Why does the Avalon-MM Hard IP for PCI Express show low performance when CvP is enabled?

Environment

    Avalon-MM Arria® V Hard IP for PCI Express Intel® FPGA IP
BUILT IN - ARTICLE INTRO SECOND COMPONENT
Description

The Altera® Avalon®-MM Hard IP for PCI Express® generated using Quartus® II version 14.0 and earlier shows lower throughput when Configuration via Protocol (CvP) is enabled. The problem occurs because the credit counters in the PCIe Hard IP and the Avalon-MM bridge are not synchronized.

For CvP, the PCIe periphery is loaded before the fabric is programmed. After the periphery is programmed, the FPGA transmits and receives PCIe packets. This interaction increments the credit counter in the PCIe Hard IP. Shortly thereafter, the fabric is loaded with the default credit counter values, causing a mismatch between the two counters.

Resolution

This problem is scheduled to be fixed in a future release of the Quartus® II software.

To work around this problem in Quartus® II version 14.0 and earlier, make the following change in RTL.

In file altpciexpav_stif_tx_cntrl.v, change the following line from:

np_header_avail_reg <= np_header_avail;

To:

np_header_avail_reg <= 1’b1;

Related Products

This article applies to 14 products

Cyclone® V GT FPGA
Arria® V GT FPGA
Arria® V GX FPGA
Arria® V GZ FPGA
Cyclone® V E FPGA
Cyclone® V GX FPGA
Arria® V ST SoC FPGA
Cyclone® V SE SoC FPGA
Cyclone® V ST SoC FPGA
Cyclone® V SX SoC FPGA
Stratix® V E FPGA
Stratix® V GS FPGA
Stratix® V GT FPGA
Stratix® V GX FPGA

1