This issue has been fixed in v10.5 rev1 of the 1000BASE-X PCS/PMA or SGMII core. Rev1 of the core can be installed by downloading the patch available in
(Xilinx Answer 36674). To fix the issue, you need to edit the UCF file.Identify the DELAY_VALUE constraints which are applied to the GMII Rx signals:
#-----------------------------------------------------------
# To Adjust GMII Tx Input Setup/Hold Timing -
#-----------------------------------------------------------
INST "delay_gmii_tx_en" IDELAY_VALUE = "20";
INST "delay_gmii_tx_er" IDELAY_VALUE = "20";
INST "gmii_data_bus[7].delay_gmii_txd" IDELAY_VALUE = "20";
INST "gmii_data_bus[6].delay_gmii_txd" IDELAY_VALUE = "20";
INST "gmii_data_bus[5].delay_gmii_txd" IDELAY_VALUE = "20";
INST "gmii_data_bus[4].delay_gmii_txd" IDELAY_VALUE = "20";
INST "gmii_data_bus[3].delay_gmii_txd" IDELAY_VALUE = "20";
INST "gmii_data_bus[2].delay_gmii_txd" IDELAY_VALUE = "20";
INST "gmii_data_bus[1].delay_gmii_txd" IDELAY_VALUE = "20";
INST "gmii_data_bus[0].delay_gmii_txd" IDELAY_VALUE = "20";
Change all of the "20" values to "22" to obtain the following:
#-----------------------------------------------------------
# To Adjust GMII Tx Input Setup/Hold Timing -
#-----------------------------------------------------------
INST "delay_gmii_tx_en" IDELAY_VALUE = "22";
INST "delay_gmii_tx_er" IDELAY_VALUE = "22";
INST "gmii_data_bus[7].delay_gmii_txd" IDELAY_VALUE = "22";
INST "gmii_data_bus[6].delay_gmii_txd" IDELAY_VALUE = "22";
INST "gmii_data_bus[5].delay_gmii_txd" IDELAY_VALUE = "22";
INST "gmii_data_bus[4].delay_gmii_txd" IDELAY_VALUE = "22";
INST "gmii_data_bus[3].delay_gmii_txd" IDELAY_VALUE = "22";
INST "gmii_data_bus[2].delay_gmii_txd" IDELAY_VALUE = "22";
INST "gmii_data_bus[1].delay_gmii_txd" IDELAY_VALUE = "22";
INST "gmii_data_bus[0].delay_gmii_txd" IDELAY_VALUE = "22";