FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
6354 Discussions

PCIe Stratix 10 Avalon ST

agula
New Contributor I
1,090 Views

Hi All,

 

How does the credit tracking interface operate ? The tx_nph_cdts[7:0] signal in particular.

How does this signal work. Does it report how many credits are available to the application for non posted requests ? Also when the interface tells you a credit is consumed what exactly does this mean? How do we know when credit is restored ?  

 

Thanks!

0 Kudos
4 Replies
KhaiChein_Y_Intel
1,081 Views

Hi,


How does the credit tracking interface operate ? The tx_nph_cdts[7:0] signal in particular.

How does this signal work. Does it report how many credits are available to the application for non posted requests ? Also when the interface tells you a credit is consumed what exactly does this mean? How do we know when credit is restored ?  


Yes. tx_nph_cdts[7:0] is the header credit net value for the FC non-posted requests. Credit is consumed means the credit is not available for the following transaction.

RX_buffer_space = (credit_limit - credits_consumed)+ released_credits


The hard IP core does not report the internally consumed credits to the Application. Without knowing the hard IP core's internal usage, the Application cannot maintain a completely accurate count of Posted or Completion credits.


The hard IP core does not consume non-posted credits. Consequently, it is possible to maintain an accurate count of the available non-posted credits. Refer to the TX Credit Adjustment Sample Code for code that calculates the number of non-posted credits

available to the Application. This RTL recovers the updated Flow Control credits from the remote link. It drives the value of the link partner's RX_buffer_space for nonposted header and data credits on tx_nph_cdts and tx_npd_cdts, respectively.

https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug_s10_pcie_avst.pdf (Page 179)


Thanks

Best regards,

KhaiY



0 Kudos
agula
New Contributor I
1,075 Views

Hi,

 

Thanks for the response. I am still a little unsure on how the RTL code provided in the user guide works. 

For example the credit limit that is computed in the Appendix RLT is  tx_nph_cdts_limit[7:0].

What does this value signify ? Is it the credit limit from the RX_buffer_space equation ? If so how do we calculate credits restored ?  

I have tried using tx_nph_cdts_limit[7:0] directly and only send out non posted requests if it is greater than 0, but it will get stuck and no longer send requests outs.

0 Kudos
KhaiChein_Y_Intel
1,060 Views

Hi,


From the RTL, you will know the limit of Flow Control credits for non-posted TLPs but not the credit restored. There is no signal where you can read the number of credit restored. If you are interested in the net value, you may refer to tx_nph_cdts and tx_npd_cdts.


Thanks

Best regards,

KhaiY


0 Kudos
KhaiChein_Y_Intel
1,054 Views

Hi,


We do not receive any response from you to the previous question/reply/answer that I have provided. This thread will be transitioned to community support. If you have a new question, feel free to open a new thread to get the support from Intel experts. Otherwise, the community users will continue to help you on this thread. Thank you


Best regards,

KhaiY


0 Kudos
Reply