When SGMII is used at 10 Mb/s to connect two devices with 100 ppm clocks, there is potential for overflow or underflow in the RocketIO Elastic Buffer due to the limited size of the buffer. This can happen in both Virtex-II Pro and Virtex-4 RocketIO.
A fix for this has been implemented in v7.1 of the 1000 BASE-X PCS/PMA and SGMII and v4.2 of the Virtex-4 Embedded Tri-mode EMAC Wrappers. The fix implements the elastic buffer in fabric. These versions of the core are available in 8.1i IP Update 1.
- The fabric elastic buffer will use an additional 100 slices and 1 block RAM in both Virtex-II Pro and Virtex-4.
- For Virtex-4, the fabric elastic buffer will also use an additional BUFR.
- For Virtex-II Pro, the fabric elastic buffer requires area constraints that will need to be modified based on the RocketIO location. For more information, see the 1000 BASE-X PCS/PMA and SGMII User Guide.
In the 1000 BASE-X PCS/PMA and SGMII v7.0 core and Embedded Tri-mode EMAC Wrappers (v4.1 or earlier), to work around this issue, use 50 ppm clocks on both the Xilinx chip and the PHY chip.
In the next release of these cores, there will be an available CORE Generator option to not use the fabric elastic buffer for SGMII if it is not needed. These cores are scheduled to be available in 8.2i IP Update 3, due out in Fall 2006.