Core-Initiated Pause Request - 9.0 English

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

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

If the core is configured to support transmit flow control, you can initiate a flow control frame by asserting pause_req while the pause value is on the pause_val bus. The following figure illustrates this timing. Pause request signals are synchronous to the gtx_clk clock.

Figure 1. Pause Request Timing

This action causes the core to construct and transmit a Pause Control frame on the link with the following MAC Control frame parameters (see Figure 1):

  • The destination address used is an IEEE 802.3 globally assigned multicast address (which any Flow Control capable MAC responds to).
  • The source address used is the configurable Pause Frame MAC Address.
  • The value sampled from the pause_val[15:0] port at the time of the pause_req assertion is encoded into the MAC Control Parameter field to select the duration of the pause (in units of pause_quantum).

If the transmitter is currently inactive at the time of the pause request, this Pause Control frame is transmitted immediately. If the transmitter is currently busy, the current frame being transmitted is allowed to complete. The Pause Control frame then follows in preference to any pending user supplied frame. A Pause Control frame initiated by this method is transmitted even if the transmitter itself has ceased transmission in response to receiving an inbound pause request.

  • Only a single pause control frame request is stored by the transmitter. If the pause_req signal is asserted numerous times in a short time period (before the control pause frame transmission has had a chance to begin), only a single pause control frame is transmitted. The pause_val[15:0] value used is the most recent value sampled.

If the PFC feature is included, the flow control includes additional logic to enable it to be used as an XON/XOFF (transmission ON/ transmission OFF) interface. This is described in more detail in XON/XOFF Extended Functionality.