User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 505
UG585 (v1.11) September 27, 2016
Chapter 16: Gigabit Ethernet Controller
Pause frames can also be transmitted by the MAC using normal frame transmission methods.
MAC PFC Priority Based Pause Frame Support
Note: Refer to the 802.1Qbb standard for a full description of priority based pause operation.
The controller supports PFC priority based pause transmission and reception. Before PFC pause
frames can be received, bit 16 of the Network Control register must be set. The start of a PFC pause
frame is shown in Table 16-5.
PFC Pause Frame Reception
The ability to receive and decode priority based pause frames is enabled by setting bit [16] of the
Network Control register. When this bit is set, the controller matches either classic 802.3 pause
frames or PFC priority based pause frames. Once a priority based pause frame has been received and
matched, then from that moment on the controller only matches on priority based pause frames (this
is an 802.1Qbb requirement, known as PFC negotiation). Once priority based pause has been
negotiated, any received 802.3x format pause frames are not acted upon. The state of PFC
negotiation is identified via the output pfc_negotiate.
If a valid priority based pause frame is received then the controller decodes the frame and
determines which, if any, of the eight priorities require to be paused. Up to eight Pause Time
registers are then updated with the eight pause times extracted from the frame, regardless of
whether a previous pause operation is active or not. An interrupt (either bit [12] or bit [13] of the
Interrupt Status register) is triggered when a pause frame is received, but only if the interrupt has
been enabled (via bit[12] and bit[13] of the Interrupt Mask register).
Pause frames received with non zero quantum are indicated through the interrupt bit[12] of the
Interrupt Status register. Pause frames received with zero quanta are indicated on bit[13] of the
Interrupt Status register. The state of the eight pause time counters are indicated through the
outputs rx_pfc_paused. These outputs remain High for the duration of the pause time quanta. The
loading of a new pause time only occurs when the controller is configured for full duplex operation.
If the controller is configured for half duplex, the pause time counters are not loaded, but the pause
frame received interrupt is still triggered.
A valid pause frame is defined as having a destination address that matches either the address
stored in Specific Address register 1 or if it matches the reserved address of 0x0180C2000001. It
must also have the MAC control frame type ID of 0x8808 and have the pause opcode of 0x0101.
Pause frames that have FCS or other errors are treated as invalid and are discarded. Valid pause
frames received increment the pause Frames Received Statistic register.
The Pause Time registers decrement every 512 bit times immediately following the PFC frame
reception. For test purposes, the retry test bit can be set (bit [12] in the Network Configuration
Table 16-5: PFC Priority Based Pause Frame Info
Destination Address Source Address
Type
(MAC Control Frame)
Pause
Opcode
Priority
Enable Vector
Pause
Times
0x0180C2000001
6 bytes
0x8808 0x0101
2 bytes 8 * 2 bytes