Receiving a pause control frame, Core initiated response to a pause request, Client initiated response to a pause request – Xilinx LOGICORE UG144 User Manual

Page 57

Advertising
background image

1-Gigabit Ethernet MAC v8.5 User Guide

www.xilinx.com

57

UG144 April 24, 2009

Flow Control Operation of the GEMAC

R

-- DISCONTINUED PRODUCT --

Receiving a Pause Control Frame

Core Initiated Response to a Pause Request

An error free control frame is a received frame matching the format of

Figure 6-2

. It must

pass all standard receiver frame checks (for example, FCS field checking). In addition, the
control frame received must be exactly 64-bytes in length (from destination address
through to the FCS field inclusive: this is minimum legal Ethernet MAC frame size and the
defined size for control frames).

Any control frame received that does not conform to these checks contains an error and is
passed to the receiver client with the rx_bad_frame signal asserted.

Pause Frame Reception Disabled

When pause control reception is disabled, an error free control frame is received through
the client interface with rx_good_frame asserted (see

“Flow Control Configuration,” on

page 81

). In this way, the frame is passed to the client logic for interpretation (see

“Client

Initiated Response to a Pause Request,” on page 57

).

Pause Frame Reception Enabled

When pause control reception is enabled, and an error-free frame is received by the
GEMAC core (see

“Flow Control Configuration,” on page 81

), the following frame

decoding functions are performed:

The destination address field is matched against the IEEE 802.3 globally assigned
multicast address or the configurable pause frame MAC address (see

“Configuration

Registers,” on page 78

).

The length/type field is matched against the MAC control type code.

The opcode field contents are matched against the Pause opcode.

If any of the previously described checks are false, the frame is ignored by the Flow Control
logic and passed up to the client logic for interpretation by marking it with
rx_good_frame

asserted. It is then the responsibility of the MAC client logic to decode,

act on (if required), and drop this control frame.

If all the previously described checks are true, the 16-bit binary value in the MAC Control
Parameters field of the control frame is then used to inhibit transmitter operation for the
required number of pause_quantum. This inhibit is implemented by delaying the assertion
of tx_ack at the transmitter client interface until the requested pause duration has
expired. The received pause frame is then passed on to the client with rx_bad_frame
asserted to indicate to the client that the pause frame can be dropped.

Note:

Any frame in which the length/type field contains the MAC control type should be dropped by

the receiver client logic. All control frames are indicated by rx_statistic_vector bit 19 (see

“Receiver Statistics Vector,” on page 44

).

Client Initiated Response to a 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 error-free control frame is then passed through the core with

rx_good_frame

asserted. The frame is passed to the client for interpretation. It is then the

responsibility of the client to drop this control frame and to act on it by ceasing
transmission through the core, if applicable.

Advertising