Screen 7 of the CORE Generator GUI for the PCI Express and PCI Express PIPE customization allows users to set "Advanced Link Layer Settings"; under this selection, a box is labeled "Automatically calculate timer values Recommended)." This box defaults to being checked, which sets the value to "8000."
The purpose of setting this is to allow users to override the calculated values with their own values if necessary. Having the box checked should mean that the core automatically calculates the timer values, and if the box is unchecked, users should be able to enter custom values.
However, if the box is checked, the timer values are overwritten with "0" during generation of the core. This causes packets to be retried as soon as they are sent, as the timer expires immediately.
This issue has been fixed in the current release. For the v3.1 PCI Express core, please see (Xilinx Answer 22320) for more details. For the v1.3 PCI Express PIPE core, please see (Xilinx Answer 22322) for more details.
To work around this issue, uncheck the box, and the core will automatically calculate the timer values.