Configuration Flow Control Interface - 3.4 English

Versal Adaptive SoC CPM Mode for PCI Express Product Guide (PG346)

Document ID
PG346
Release Date
2024-05-30
Version
3.4 English

The following table defines the ports in the Configuration Flow Control interface of the core.

Note: The pcie0* signals map to PCIe Controller 0 and pcie1* signals map to PCIe Controller 1 in the port descriptions below.
Table 1. Configuration Flow Control Interface
Port I/O Width Description

pcie0_cfg_fc_ph

pcie1_cfg_fc_ph
O 8

Posted Header Flow Control Credits.

This output provides the number of Posted Header Flow Control Credits. This multiplexed output can be used to bring out various flow control parameters and variables related to Posted Header Credit maintained by the core. The flow control information to bring out on this core is selected by the cfg_fc_sel[2:0] input.

pcie0_cfg_fc_ph_scale

pcie1_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.

pcie0_cfg_fc_pd

pcie1_cfg_fc_pd
O 12

Posted Data Flow Control Credits.

This output provides the number of Posted Data Flow Control Credits. This multiplexed output can be used to bring out various flow control parameters and variables related to Posted Data Credit maintained by the core. The flow control information to bring out on this core is selected by the cfg_fc_sel[2:0] input.

pcie0_cfg_fc_pd_scale

pcie1_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.

pcie0_cfg_fc_nph

pcie1_cfg_fc_nph
O 8

Non-Posted Header Flow Control Credits.

This output provides the number of Non-Posted Header Flow Control Credits. This multiplexed output can be used to bring out various flow control parameters and variables related to Non-Posted Header Credit maintained by the core. The flow control information to bring out on this core is selected by the cfg_fc_sel[2:0] input.

pcie0_cfg_fc_nph_scale

pcie1_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.

pcie0_cfg_fc_npd

pcie1_cfg_fc_npd
O 12

Non-Posted Data Flow Control Credits.

This output provides the number of Non-Posted Data Flow Control Credits. This multiplexed output can be used to bring out various flow control parameters and variables related to Non-Posted Data Credit maintained by the core. The flow control information to bring out on this core is selected by the cfg_fc_sel[2:0] input.

pcie0_cfg_fc_npd_scale

pcie1_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.

pcie0_cfg_fc_cplh O 8

Completion Header Flow Control Credits.

This output provides the number of Completion Header Flow Control Credits. This multiplexed output can be used to bring out various flow control parameters and variables related to Completion Header Credit maintained by the core. The flow control information to bring out on this core is selected by the cfg_fc_sel[2:0] input.

pcie0_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.

pcie0_cfg_fc_cpld O 12

Completion Data Flow Control Credits.

This output provides the number of Completion Data Flow Control Credits. This multiplexed output can be used to bring out various flow control parameters and variables related to Completion Data Credit maintained by the core. The flow control information to bring out on this core is selected by the cfg_fc_sel[2:0].

pcie0_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.

pcie0_cfg_fc_vc_sel

pcie1_cfg_fc_vc_sel
I 1

Flow Control Informational Virtual Channel Select: Selects the Virtual Channel for the type of flow control information presented on the trn_fc_* signals. Possible values:

0b = VC0

1b = VC1

pcie0_cfg_fc_sel

pcie1_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 to link partner (rlimit)
  • 001: Transmit credits consumed (tconsumed) & wide posted and completion
  • 010: Receive credits consumed by link partner (rconsumed)
  • 011: Transmit credits consumed (tconsumed) wide nonposted and completion
  • 100: Transmit user credits available (tlimit - tconsumed)
  • 101: Transmit credit limit (tlimit)
  • 110: Transmit credits consumed (tconsumed)
  • 111: Receive free 32B word count

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.