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

Why does the Hard IP for PCI Express 128-bit Avalon-MM TX interface not transmit packets in simulation?

Environment

    Quartus® II Subscription Edition
    Simulation
BUILT IN - ARTICLE INTRO SECOND COMPONENT
Description

When simulating the Hard IP for PCI Express® 128-bit Avalon-MM interface in the Quartus® II software version 14.0 and earlier, the device under test (DUT) is not able to transmit any packets from the Avalon-MM bus to the PCIe link.

This problem is caused by the incorrect width declaration of control signals in the transmit data path. The control signals are declared as 5-bits, but only 4-bits are driven in the testbench.  The most significant bit is not driven and becomes "x" in simulation.

 

Resolution

To work around this problem, follow the steps below:

  1. Open the file altpciexpav128_cr_rp.v
  2. Find the lines
    • wire [4:0] tx_low64_fifo_wrusedw
    • wire [4:0] tx_hi64_fifo_wrusedw
  3. Change the lines to
    • wire [3:0] tx_low64_fifo_wrusedw
    • wire [3:0] tx_hi64_fifo_wrusedw

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

Related Products

This article applies to 15 products

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

1