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
- VenT_Altera4 days ago
Frequent Contributor
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