7316 - All Nexus / PCIe: PCIe assignment of 2GB BAR size for 64-bit BAR addressing.
Description:
There is a known bug in the PCIe IP GUI wherein the 64-bit BAR addressing requires that the BAR size be >/= 4 GB only.
Solution:
As a workaround, the user can write the Resizable BAR Capability Configuration (0,1,2,3,4,5) using LMMI or APB to set the BAR size to </= 2GB.
See the table below for the register’s offset address information for Resizable BAR Capability for BAR Configuration 0 to 5 (this is under Hard IP core base address mgmt_ftl (0x04000) register).
This issue has been fixed in CertusPro-NX PCIe IP v2.4.0 and beyond.
Related Articles
1301 - PCIe: What Transaction Layer Packets (TLPs) header format is used for 64-bit addressing?
PCIe supports both 32-bit and 64 bit addressing. For 32-bit addressing a 3-DW header is used, containing just 32-bits of address info. For 64-bit addressing, a 4-DW header is used, with the extra DW holding the additional 32-bits of addressing.
323 - What are the definitions of the BAR bits in PCI/PCIe application?
The bit definitions of BAR for memory base address register are: Bit 0: reserved to 0 as memory space indicator. Bit 2~1: 00 indicates 32-bit access space; while 11 indicates 64-bit access space. Bit 3: 1 indicates that the memory is prefetchable, ...
6104 - PCIe: Does Lattice FPGA's PCIe SGDMA memory addressing allows beyond 4GB?
Description: Technically there is no restriction on Lattice's FPGAs which makes us not allow memory addressing beyond 4GB. That is more on the driver side. There are some FPGA solutions which already has beyond 4GB, CrossLink-NX, Certus-NX, and ...
PCIe DMA in Ring Buffer Operation mode unable to be stopped
Title: PCIe DMA in Ring Buffer Operation Mode Cannot Be Stopped Unexpectedly Issue Description: When the PCIe DMA is configured to operate in Ring Buffer DMA mode for continuous transfers, the DMA operation cannot be stopped unexpectedly. If a device ...
7206 - PCIe for Nexus FPGAs: What is the size of the Transmit Buffer and Receive Buffer in PCIe X1 IP Core and PCIe X4 IP Core?
The Transmit Buffer and Receive Buffer size is 2 kByte each. These RAM buffer sizes are fixed because it is a Core internal RAM, so the negotiated Maximum Payload Size (MPS) size will determine how many TLPs can be stored. For instance, in the ...