^

AR# 44074 AXI Bridge for PCI Express - Enumerating multiple 64-bit BARs to 32-bit BARs might cause issues for Virtex-6 devices


Version Found: 1.00.a
Version Resolved and other Known Issues: See (Xilinx Answer 44969)

The AXI Bridge for PCI Express might not accept incoming TLPs when the endpoint's BARs are configured as 64-bit (C_PCIEBAR_AS = '1'). This issue is exclusive to Virtex-6 devices and does not apply to Spartan-6 devices. Furthermore, this issue only occurs when there are multiple BARs configured within the bridge and the host configures one of the upper BARs as 32-bit.

The AXI Bridge for PCI Express currently supports 3 BARs regardless if they are configured as 32 or 64-bit. According to the PCI Express specification, an endpoint supports 6 BARs when they are 32-bit. When a BAR is configured as 64-bit, it uses two 32-bit BARs. When the AXI Bridge for PCI Express configures its BARs as 64-bit, it uses BAR0 and BAR1 of the type 0 configuration space for the first BAR of the bridge. The second BAR uses BAR2 and BAR3 of the configuration space. Lastly, the third BAR of the bridge uses BAR4 and BAR5 of the configuration space.

The issue occurs when there are two or three 64-bit BARs and the second or third BAR are configured as 32-bit BARs. Even though a BAR is set up as 64-bit BAR, the host can set up a BAR as 32-bit if the enumerated address range results below 4GB. This is per section 2.2.4.1 of the PCI Express specification.

NOTE: The "Version Found" column lists the version that the problem was first discovered. The problem might also exist in earlier versions, but no specific testing has been performed to verify earlier versions.

There is no current work-around for this issue. If possible, try using 32-bit BARs instead of 64-bit BARs.

Revision History
11/06/2011 - Update for 13.3
09/13/2011 - Initial Release
AR# 44074
Date Created 11/22/2011
Last Updated 11/22/2011
Status Active
Type
IP
  • AXI PCI Express (PCIe)
Feed Back