The v1.4 Block Plus Endpoint Wrapper GUI allows the user to select one of three Advanced Flow Control Credit Options. The GUI settings chosen by the user are not getting propagated to the XCO file or core.
Also, regardless of what options are selected in the GUI, the INFINITECOMPLETION attribute on the built-in block for PCI Express is always set to FALSE. This causes the Block Plus Endpoint to not advertise infinite completion credits as required by the PCI Express specification.
This issue is fixed by applying the patch located at the below link. This patch must be unzipped onto your existing Xilinx install as pointed to by the Xilinx environment variable. Once installed, please regenerate the core and the generated core will be updated to match the selections in the GUI. Please see the readme file(pcie_BP_v_1_4_2_92i_ip_update_1.txt) in the zip for more information on installation and support.
Important NoteThis patch replaces the v1.4.1 patch that was previously available. Users who have installed the v1.4.1 patch should update to v1.4.2 as v1.4.1 did not correctly fix the problem.
To confirm the patch installation was successful, the release notes for the v1.4.2 generated core will show the following:
Date By Version Change Description
02/2007 Xilinx, Inc. 1.2 9.1i SP2 - IP Update 1
03/2007 Xilinx, Inc. 1.2 rev 1 Update for rev 1 patch
05/2007 Xilinx, Inc. 1.3 9.1i SP3 - IP Update 3
08/2007 Xilinx, Inc. 1.4 9.2i SP2 - IP Update 1
09/2007 Xilinx, Inc. 1.4 Rev1 Update for rev 1 patch
09/2007 Xilinx, Inc. 1.4 rev 2 Update for rev 2 patch
and will include the following description of the issue in the Bugs Fixed section:
- "Advanced Flow Control Options" in GUI not being passed to netlist
The Advanced Flow Control Option GUI choices were not propagated to the core netlist. In addition, the INFINITECOMPLETIONS attribute on the block was always set to FALSE, regardless of the options selected in the GUI. This caused the core to not be compliant. A PCI Express endpoint is required to advertise infinite completion credits. This problem is fixed so that the options selected in the GUI are passed to the netlist, correctly setting the posted and non-posted header credit and INFINITECOMPLETIONS attributes on the built-in block for PCI Express.
- Completion Credit Advertised in Non-INFINITECOMPLETIONS Mode Incorrect
The Completion Header and Data Credit advertised in Non-INFINITECOMPLETION Mode was incorrect. The core continued to advertise INFINITE Credits, even though INFINITECOMPLETIONS was set to FALSE. This problem is fixed by setting the VC0TOTALCREDITSCH and VC0TOTALCREDITSCD to the correct values when Non-INFINITECOMPLETIONS setting is chosen.