Xilinx Virtex-4 User Manual page 64

Fpga embedded tri-mode ethernet mac
Hide thumbs Also See for Virtex-4:
Table of Contents

Advertisement

Chapter 3: Client, Host, and MDIO Interfaces
If the frame passes all of the previous checks, is of minimum legal size, and the Ethernet
MAC flow control logic for the receiver is enabled, then the pause value parameter in the
frame is used to inhibit transmitter operation for a time defined in the IEEE Std 802.3-2002
specification. This inhibit is implemented using the same back pressure scheme shown in
Figure
EMAC#CLIENTRXBADFRAME asserted, indicating to the client that the frame should be
dropped.
If the second match is true and the frame is not 64 bytes in length, the reception of any
frame is considered to be an invalid control frame. This frame is ignored by the flow
control logic and passed to the client with EMAC#CLIENTRXBADFRAME asserted.
EMAC#CLIENTRXBADFRAME will be asserted even if flow control is not enabled.
Flow Control Implementation Example
In the system illustrated in
cannot match the full line rate of the right Ethernet MAC due to clock tolerances. Over
time, the FIFO fills and overflows.
This example implements a flow control method to reduce, over a long time period, the full
line rate of the right Ethernet MAC to less than the full line rate capability of the left
Ethernet MAC.
Method
1.
2.
www.BDTIC.com/XILINX
64
3-6. Because the received pause frame is completed, it is passed to the client with
Figure
Choose a FIFO with a nearly full occupancy threshold. A 7/8 occupancy is used in this
description, but the choice of threshold is implementation specific. When the
occupancy of the FIFO exceeds this occupancy, initiate a single pause control frame
with 0xFFFF used as the pause_quantum duration (0xFFFF is placed on
pause_val[15:0]). This is the maximum pause duration and causes the right Ethernet
MAC to cease transmission and the FIFO of the left Ethernet MAC to start emptying.
Choose a second FIFO with an occupancy threshold of 3/4 (the choice of threshold is
implementation specific). When the occupancy of the FIFO falls below this occupancy,
initiate a second pause control frame with 0x0000 used as the pause_quantum duration
(0x0000 is placed on pause_val[15:0]). This indicates a zero pause duration, and upon
receiving this pause control frame, the right Ethernet MAC immediately resumes
transmission (i.e., there is no wait for the original requested pause duration to expire).
This PAUSE control frame can, therefore, be considered a "pause cancel" command.
www.xilinx.com
3-28, the Ethernet MAC on the left side of the figure
Embedded Tri-Mode Ethernet MAC User Guide
UG074 (v2.2) February 22, 2010
R

Advertisement

Table of Contents
loading

Table of Contents