Flow control operation of the gemac, Transmitting a pause control frame, Figure 6-3 – Xilinx LOGICORE UG144 User Manual

Page 56: Core-initiated pause request, Client initiated pause request

Advertising
background image

56

www.xilinx.com

1-Gigabit Ethernet MAC v8.5 User Guide

UG144 April 24, 2009

Chapter 6: Using Flow Control

R

-- DISCONTINUED PRODUCT --

Flow Control Operation of the GEMAC

Transmitting a PAUSE Control Frame

Core-initiated Pause Request

If the GEMAC core is configured to support transmit flow control, the client can initiate a
pause control frame by asserting pause_req (see

“Flow Control Configuration,” on page

81

).

Figure 6-3

illustrates 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 (

Figure 6-2

):

The destination address used is an IEEE802.3 globally assigned multicast address (to
which any flow control-capable MAC will respond).

The source address used is the configurable pause frame MAC address (see

“Receiver

Configuration,” on page 79

).

The value sampled from the pause_val[15:0] port at the time of the pause_req
assertion will be encoded into the MAC control parameter field to select the duration
of the pause (in units of pause_quantum).

If the transmitter is 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, followed by the pause control frame (in preference to
any pending client-supplied frame).

A pause control frame initiated by this method is transmitted even if the transmitter has
ceased in response to receiving an inbound pause request.

Note:

Only a single pause control frame request is stored by the transmitter. if pause_req is

asserted numerous times in a short time period (before the control pause frame transmission has
begun), only a single pause control frame is transmitted. The most recent value sampled will be the
pause_val[15:0]

value used.

Client Initiated Pause Request

For maximum flexibility, flow control logic can be disabled in the core and alternatively
implemented in the client logic connected to the core (see

“Flow Control Configuration,”

on page 81

). Any type of control frame can be transmitted through the core through the

client interface using the same transmission procedure as a standard Ethernet frame (see

“Transmitting Outbound Frames,” on page 47

).

Figure 6-3:

Pause Request Timing

gtx_clk

pause_val[15:0]

pause_req

Advertising