The following figure shows the FPGA logic receive elastic buffer depth. This buffer can optionally be used to replace the receive elastic buffers of the transceiver when performing SGMII or Dynamic Switching (see Receive Elastic Buffer).
The shaded area of the orevious figure represents the usable buffer availability for the duration of frame reception.
- If the buffer is filling during frame reception, there are 122-66 = 56 FIFO locations available before the buffer reaches the overflow mark.
- If the buffer is emptying during reception, then there are 62-6 = 56 FIFO locations available before the buffer reaches the underflow mark.
This analysis assumes the buffer is approximately at the half-full level at the start of the frame reception. As shown, there are two locations of uncertainty, above and below the exact half-full mark of 64. This is as a result of the clock correction decision, and is based across an asynchronous boundary.
Because there is a worst-case scenario of one clock edge difference every 5000 clock periods, the maximum number of clock cycles (bytes) that can exist in a single frame passing through the buffer before an error occurs is:
5000 x 56 = 280000 bytes
The following figure translates this into maximum frame size at different Ethernet speeds. At SGMII speeds lower than 1 Gbps, performance is diminished because bytes are repeated multiple times. See Using the Client-Side GMII for the SGMII Standard.
Standard/Speed | Maximum Frame Size (Bytes) |
---|---|
1000BASE-X (1 Gbps only) | 280000 |
SGMII (1 Gbps) | 280000 |
SGMII (100 Mbps) | 28000 |
SGMII (10 Mbps) | 2800 |