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