When using the Gigabit Ethernet MAC v4.0 with the TBI interface, occasional frame loss can occur. IDLE /I2/ code groups are composed of the following:
If the /K28.5/ portion of the IDLE code group is presented on the rising edge of PMA_RX_CLK0, error free operation results. However, if the received /K28.5/ is presented on the rising edge of PMA_RX_CLK1, the result is occasional frame loss.
A patch exists to fix this issue in the GMAC core. To resolve this issue, please install the patch for the v4.0 Gigabit Ethernet MAC core, which is available in the LogiCORE Gigabit Ethernet MAC v4.0 Release Notes (Xilinx Answer 18571).
If the particular SERDES being used can guarantee the alignment between the /K28.5/ characters (which occur every alternate clock cycle during IDLE's) and the PMA_RX_CLK0 / PMA_RX_CLK1 clocks, then a simple work-around is possible. That is to simply ensure that the /K28.5/ character is presented on the rising edge of PMA_RX_CLK0 by swapping over the PMA_RX_CLK0 and PMA_RXCLK1 clocks. However, this is completely dependent on the certain SERDES being used and if it can guarantee alignment of the /K28.5/ character with respect a given clock.