In LogiCORE PCI Express v2.0.5, if a posted transaction is throttled by the user application by de-asserting trn_rdst_rdy_n and a Configuration Type0 read or write is in the receive buffer behind this posted transaction, the endpoint might not return correct credits for posted data transactions.
This is scheduled to be fixed in the next major release of the core.
You are not likely to encounter this problem because normally the configuration transactions occur first (after reset) and are not intermixed with posted data transactions that occur after configuration is complete.
This issue has been fixed in the v2.1.1 PCI Express Core. Please download this core from the PCI Express lounge to obtain the fix: