^

AR# 36957 LogiCORE IP Ethernet 1000BASE-X PCS/PMA or SGMII v10.5 - GMII setup/hold errors seen when targetting Virtex-6 HXT


There is a timing failure (setup/hold) issue on the GMII interface of the example design when the following options are used:
  • 1000BASE-X mode (not SGMII)
  • TBI
  • Virtex-6 HXT subfamily

The cause of this failure is due to an update to the speed files for the HXT family in 12.2.
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";

Master Answer Records

Answer Number Answer Title Version Found Version Resolved
36674 LogiCORE IP Ethernet 1000BASE-X PCS/PMA or SGMII v10.5 - Release Notes and Known Issues for ISE Design Suite 12.2 N/A N/A
AR# 36957
Date Created 07/23/2010
Last Updated 12/15/2012
Status Active
Type General Article
Devices
  • Virtex-6 HXT
Tools
  • ISE Design Suite - 12.2
IP
  • Ethernet 1000BASE-X PCS/PMA or SGMII
Feed Back