Configuration Flow Control Interface - 1.0 English

Versal Adaptive SoC Integrated Block for PCI Express LogiCORE IP Product Guide (PG343)

Document ID
PG343
Release Date
2023-11-10
Version
1.0 English
The following table defines the ports in the Configuration Flow Control interface of the core.
Table 1. Configuration Flow Control Interface
Port I/O Width Description
cfg_fc_ph O 8

This output provides Flow Control Credits. This multiplexed output can be used to bring out various flow control parameters and variables maintained by the core. The flow control information to bring out on this core is selected by the cfg_fc_sel[2:0] input. Definition for each cfg_fc_sel values:

  • 000,001,010,100,101,110: Posted Header Flow Control Credits [7:0]
  • 011:
    • Bit[7:4] = Transmit Completion Header Credit Consumed[11:8]
    • Bit[3:0] = Transmit Non-Posted Header Credit Consumed[11:8]
cfg_fc_ph_scale O 2 Posted Header Flow Control Credits Scale

This output provides the scale of Posted Header Flow Control Credit number (cfg_fc_ph). The flow control information to bring out on this core is selected by the cfg_fc_sel[2:0] input.

cfg_fc_pd O 12

This output provides Flow Control Credits. This multiplexed output can be used to bring out various flow control parameters and variables maintained by the core. The flow control information to bring out on this core is selected by the cfg_fc_sel[2:0] input. Definition for each cfg_fc_sel values:

  • 000,001,010,100,101,110: Posted Data Flow Control Credits [11:0]
  • 011:
    • Bit[11:8] = Transmit Completion Data Credit Consumed[15:12]
    • Bit[3:0] = Transmit Non-Posted Data Credit Consumed[15:12]
    • The remaining bits are reserved.
cfg_fc_pd_scale O 2 Posted Data Flow Control Credits Scale

This output provides the scale of Posted Data Flow Control Credit number (cfg_fc_pd). The flow control information to bring out on this core is selected by the cfg_fc_sel[2:0] input.

cfg_fc_nph O 8

This output provides Flow Control Credits. This multiplexed output can be used to bring out various flow control parameters and variables maintained by the core. The flow control information to bring out on this core is selected by the cfg_fc_sel[2:0] input. Definition for each cfg_fc_sel values:

  • 000,010,011,100,101,110: Non-Posted Header Flow Control Credits [7:0]
  • 001:
    • Bit[7:4] = Transmit Completion Header Credit Consumed[11:8]
    • Bit[3:0] = Transmit Posted Header Credit Consumed [11:8]
cfg_fc_nph_scale O 2 Non-Posted Header Flow Control Credits Scale.

This output provides the scale of Non-Posted Header Flow Control Credit number (cfg_fc_nph). The flow control information to bring out on this core is selected by the cfg_fc_sel[2:0] input.

cfg_fc_npd O 12

This output provides Flow Control Credits. This multiplexed output can be used to bring out various flow control parameters and variables maintained by the core. The flow control information to bring out on this core is selected by the cfg_fc_sel[2:0] input. Definition for each cfg_fc_sel values:

  • 000,010,011,100,101,110: Non-Posted Data Flow Control Credits [11:0]
  • 001:
    • Bit[11:8] = Transmit Completion Data Credit Consumed[15:12]
    • Bit[3:0] = Transmit Posted Data Credit Consumed [15:12]
    • Remaining bits are reserved
cfg_fc_npd_scale O 2 Non-Posted Data Flow Control Credits Scale.

This output provides the scale of Non-Posted Data Flow Control Credit number (cfg_fc_npd). The flow control information to bring out on this core is selected by the cfg_fc_sel[2:0] input.

cfg_fc_cplh O 8

This output provides Flow Control Credits. This multiplexed output can be used to bring out various flow control parameters and variables maintained by the core. The flow control information to bring out on this core is selected by the cfg_fc_sel[2:0] input. Definition for each cfg_fc_sel values:

  • 000,001,011,100,101,110: Completion Header Flow Control Credits [7:0]
  • 010:
    • Receive Completion Header Credit Consumed [7:0] when cfg_fc_cplh_scale is 1x
    • Receive Completion Header Credit Consumed [9:2] when cfg_fc_cplh_scale is 4x
cfg_fc_cplh_scale O 2 Completion Header Flow Control Credit Scale.

This output provides the scale of Completion Header Flow Control Credit number (cfg_fc_cplh). The flow control information to bring out on this core is selected by the cfg_fc_sel[2:0] input.

cfg_fc_cpld O 12

This output provides Flow Control Credits. This multiplexed output can be used to bring out various flow control parameters and variables maintained by the core. The flow control information to bring out on this core is selected by the cfg_fc_sel[2:0] input. Definition for each cfg_fc_sel values:

  • 000,001,011,100,101,110: Completion Data Flow Control Credits [11:0]
  • 010:
    • Receive Completion Data Credit Consumed [11:0] when cfg_fc_cpld_scale is 1x
    • Receive Completion Data Credit Consumed [13:2] when cfg_fc_cpld_scale is 4x
cfg_fc_cpld_scale O 2 Completion Data Flow Control Credit Scale.

This output provides the scale of Completion Data Flow Control Credit number (cfg_fc_cpld). The flow control information to bring out on this core is selected by the cfg_fc_sel[2:0] input.

cfg_fc_sel I 3

Flow Control Informational Select.

These inputs select the type of flow control to bring out on the cfg_fc_* outputs of the core. The various flow control parameters and variables that can be accessed for the different settings of these inputs are:

  • 000: Receive credit limit (rlimit)
  • 001: Transmit credit consumed (rconsumed)1
  • 010: Receive credit consumed (rconsumed)1
  • 011: Transmit credit consumed (rconsumed)1
  • 100: Transmit credit available (tlimit - tconsumed)
  • 101: Transmit credit limit (tlimit)
  • 110: Transmit credit consumed (tconsumed)
  • 111: Reserved

This value represents the actual unused credits in the receiver FIFO, and the recommendation is to use it only as an approximate indication of receiver FIFO fullness, relative to the initial credit limit value advertized, such as, ¼ full, ½ full, ¾ full, full.

Infinite credit for transmit credits available (cfg_fc_sel == 3'b100) is signaled as 8'h80, 12'h800 for header and data credits, respectively. For all other cfg_fc_sel selections, infinite credit is signaled as 8'h00, 12'h000, respectively, for header and data categories.

1 See cfg_fc_* signal description for more details when in this mode.