GTS AXI Streaming IP for PCI Express* User Guide: Agilex™ 5 and Agilex™ 3 FPGAs and SoCs

ID 813754
Date 8/04/2025
Public
Document Table of Contents

6.7. Transmit Flow Control Credit Interface

The link partner's receive buffer space information is provided to application through the Transmit Flow Control Credit Interface. The credits are advertised as the limit value as specified in the PCIe* specification. Apart from the AXI-Stream ready-valid handshake, the application transmits packet only when link partner receive buffer has enough space to accept the TLP. The interface provides posted, non-posted, completion data, and header credit information. One data credit is equal to four dwords (DWs) and one header credit is equal to the max size header plus optional digest field.

Table 75.  Transmit Flow Control Credit Interfacen = 0 or 1, p0 = port 0, and p1 = port 1
Note: Port 1 is only available in D-Series FPGAs
Signal Name Direction Clock Domain Description
p<n>_ss_app_st_txcrdt_tvalid Output p<n>_axi_st_clk p<n>_ss_app_st_txcrdt_tvalid indicates that the credit information on p<n>_ss_app_st_txcrdt_tdata is valid.
p<n>_ss_app_st_txcrdt_tdata[18:0] Output p<n>_axi_st_clk

Carries credit limit information and type of credit.

  • Bit [15:0]: Credit Limit Value
  • Bit [18:16]: Credit Type
  • 3'b000: Posted Header Credit
  • 3'b001: Non Posted Header Credit
  • 3'b010: Completion Header Credit
  • 3'b011: Reserved
  • 3'b100: Posted Data Credit
  • 3'b101: Non Posted Data Credit
  • 3'b110: Completion Data Credit
  • 3'b111: Reserved

The following figure shows the credit limit update on the Transmit Flow Control Credit Interface. In the example below, credits are initialized for all the TLP categories based on the initial credits from the link partner in cycles 2-7. When the link partner returns the credit after receiving the packet, the credit limit is incremented by the number of credits returned. Credit limit values for TLP categories that have not changed since the last update are not transmitted. For example, at cycle 9, one Posted Header credit is returned, and at cycle 10, four Posted Data credits are returned. As a result, only the credit limit values for Posted Header and Posted Data are transmitted. The signal p<n>_ss_app_st_txcrdt_tvalid is asserted only when the corresponding credit limit value in p<n>_ss_app_st_txcrdt_tdata has increased for a given TLP category.

Figure 65. Credit Limit Update on Transmit Flow Control Credit Interface