Send Pause Frame at TX

To generate a PAUSE frame for flow control, the Triple Speed Ethernet MAC core provides two configuration bits of xoff_gen and xon_gen.
  • Initiate Pause (XOFF)—Program the desired pause duration into the pause_quant register, then assert the xoff_gen bit.
  • Resume Transmission (XON)—Assert the xon_gen bit. This triggers a PAUSE frame with a quanta value of zero.

Both the xon_gen and xoff_gen are latched signals. After the PAUSE frame has been sent, the user must manually clear the bit by writing a 0 to prepare for subsequent operations.

Priority and Override Behavior

A PAUSE frame requests take priority over data frame transmission. However, if a pause request is triggered during an ongoing data frame, the PAUSE frame is queued and transmitted immediately after the current frame completes.

The Triple Speed Ethernet MAC core supports dynamic updates to the pause request. If xon_gen or xoff_gen is asserted before the previous request’s pause quanta has been transmitted, the Triple Speed Ethernet MAC core cancels the ongoing request and transmits only the most recent request. For example, if an xon_gen request is made when there is a pending xoff_gen request (and before the XOFF frame’s pause quanta value is sent), the Triple Speed Ethernet MAC core discards the XOFF request, and only the XON frame will be transmitted. The mechanism ensures efficient use of bandwidth link by preventing the transmission of redundant PAUSE frames.

Figure 1. Triggering pause frame generation using xoff_gen and the corresponding Statistic Reporting increments
Figure 2. Triggering pause frame generation using xon_gen and the corresponding Statistic Reporting increments