Priority Flow Control Interface (802.1Qbb) - 9.0 English

Tri-Mode Ethernet MAC LogiCORE IP Product Guide (PG051)

Document ID
PG051
Release Date
2023-11-07
Version
9.0 English

The Priority Flow Control (PFC) interface is used to initiate the transmission of PFC frames from the core. The ports associated with this interface are shown in the following table. This interface is only present when priority-based flow control is enabled at the core customization stage.

When the optional PFC is enabled, there are eight AXI4-Stream interfaces defined for each Class of Service. The following table describes the AXI4-Stream PFC TX and RX signals.

Important: The legacy pause and the priority flow control are mutually exclusive.
Table 1. Priority Flow Control Ports
Signal Direction Clock Domain Description
tx_pfc_p0_tvalid In tx_mac_aclk Pause request from priority 0 FIFO. This results in a PFC frame at the next available point.
tx_pfc_p1_tvalid In tx_mac_aclk Pause request from priority 1 FIFO. This results in a PFC frame at the next available point.
tx_pfc_p2_tvalid In tx_mac_aclk Pause request from priority 2 FIFO. This results in a PFC frame at the next available point.
tx_pfc_p3_tvalid In tx_mac_aclk Pause request from priority 3 FIFO. This results in a PFC frame at the next available point.
tx_pfc_p4_tvalid In tx_mac_aclk Pause request from priority 4 FIFO. This results in a PFC frame at the next available point.
tx_pfc_p5_tvalid In tx_mac_aclk Pause request from priority 5 FIFO. This results in a PFC frame at the next available point.
tx_pfc_p6_tvalid In tx_mac_aclk Pause request from priority 6 FIFO. This results in a PFC frame at the next available point.
tx_pfc_p7_tvalid In tx_mac_aclk Pause request from priority 7 FIFO. This results in a PFC frame at the next available point.
rx_pfc_p0_tvalid Out rx_mac_aclk Pause request to priority 0 RX FIFO.
rx_pfc_p0_tready In rx_mac_aclk Pause acknowledge from priority 0 RX FIFO. The captured quanta only start to expire when this is asserted. If unused this should be tied High.
rx_pfc_p1_tvalid Out rx_mac_aclk Pause request to priority 1 RX FIFO.
rx_pfc_p1_tready In rx_mac_aclk Pause acknowledge from priority 1 RX FIFO. The captured quanta only start to expire when this is asserted. If unused this should be tied High.
rx_pfc_p2_tvalid Out rx_mac_aclk Pause request to priority 2 RX FIFO.
rx_pfc_p2_tready In rx_mac_aclk Pause acknowledge from priority 2 RX FIFO. The captured quanta only start to expire when this is asserted. If unused this should be tied High.
rx_pfc_p3_tvalid Out rx_mac_aclk Pause request to priority 3 FIFO.
rx_pfc_p3_tready In rx_mac_aclk Pause acknowledge from priority 3 RX FIFO. The captured quanta only start to expire when this is asserted. If unused this should be tied High.
rx_pfc_p4_tvalid Out rx_mac_aclk Pause request to priority 4 FIFO.
rx_pfc_p4_tready In rx_mac_aclk Pause acknowledge from priority 4 RX FIFO. The captured quanta only start to expire when this is asserted. If unused this should be tied High.
rx_pfc_p5_tvalid Out rx_mac_aclk Pause request to priority 5 FIFO.
rx_pfc_p5_tready In rx_mac_aclk Pause acknowledge from priority 5 RX FIFO. The captured quanta only start to expire when this is asserted. If unused this should be tied High.
rx_pfc_p6_tvalid Out rx_mac_aclk Pause request to priority 6 FIFO.
rx_pfc_p6_tready In rx_mac_aclk Pause acknowledge from priority 6 RX FIFO. The captured quanta only start to expire when this is asserted. If unused this should be tied High.
rx_pfc_p7_tvalid Out rx_mac_aclk Pause request to priority 7 FIFO.
rx_pfc_p7_tready In rx_mac_aclk Pause acknowledge from priority 7 RX FIFO. The captured quanta only start to expire when this is asserted. If unused this should be tied High.