Receiver Elastic Buffer Implementations

R

Considering the 10 Mbps case, we would need 152200/5000 = 31 FIFO entries in the Elastic Buffer above and below the half way point to guarantee that the buffer will not under or overflow during frame reception. This assumes that frame reception begins when the buffer is exactly half full.

The size of the Rx Elastic Buffer in the RocketIOs is 64 entries. However, we cannot assume that the buffer is exactly half full at the start of frame reception. Additionally, the underflow and overflow thresholds are not exact (see Appendix E, “Rx Elastic Buffer Specifications” for more information).

To guarantee reliable SGMII operation at 10 Mbps (non-jumbo frames), the RocketIO Elastic Buffer must be bypassed and a larger buffer implemented in the FPGA fabric. The fabric buffer, provided by the example design, is twice the size of the RocketIO alternative. This has been proven to cope with standard (none jumbo) Ethernet frames at all three SGMII speeds.

Appendix E, “Rx Elastic Buffer Specifications” provides further information about all Rx Elastic Buffers used by the core. Information about the reception of jumbo frames is also provided.

The RocketIO Rx Elastic Buffer

The Elastic Buffer in the RocketIO can be used reliably when the following conditions are met:

10 Mbps operation is not required (for example, when connecting the core to the Xilinx 1-Gigabit Ethernet MAC to provide only 1 Gbps operation). Both 1 Gbps and 100 Mbps operation can be guaranteed.

When the clocks are closely related (see the following section).

If there is any doubt, select the FPGA fabric Rx Elastic Buffer Implementation.

Ethernet 1000BASE-X PCS/PMA or SGMII v9.1

www.xilinx.com

97

UG155 March 24, 2008

Page 97
Image 97
Xilinx 1000BASE-X manual RocketIO Rx Elastic Buffer, Receiver Elastic Buffer Implementations