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