Forum Discussion
Can an Application Ignore PCIe flow Control Credits?
- 9 days ago
Hi corestar,
My apologies on the delayed response.
Yes, the flow control signal (tx_cred_*) can be ignored and honoring tx_st_ready is sufficient. The Hard IP performs the mandatory PCIe credit check on every TLP internally; if credits are short it blocks the TLP (and all following ones) and expresses that back-pressure solely by deasserting tx_st_ready. The flow control signals are needed to track credits to optimize the throughput, which is optional.
Regarding the credit limits, the Avalon-ST TX datapath does expose them. The six credit limit signals tx_cred_hdrfcp/datafcp, tx_cred_hdrfcnp/datafcnp, tx_cred_hdrfccp/datafccp carry the current per-type credit limits; the tx_cred_fchipcons strobes each credit the Hard IP consumes; and tx_cred_fc_infinite flags infinite types.
Thanks.
Best Regards,
Ven
Hello VenT_Altera
That gives me all the info I needed. It seems to work very reliably by just handling the tx_st_ready.
I would suggest they change the wording of:
Note: You must keep track of the credits consumed by the Application Layer.
to
Note: If you want to optimize packet ordering, you must keep track of the credits consumed by the Application Layer.
Thanks,
Dave
Hi corestar,
Thank you for your feedback and suggestion to improve the user guide for better clarity and readability.
I appreciate you taking the time to share your suggestion. I will relay your suggestion to the internal team for their consideration and review in future documentation updates.
Thanks.
Best Regards,
Ven