AR# 33195


Virtex-6 FPGA Embedded Tri-mode Ethernet MAC Wrapper - Adjusting IDELAYs to meet GMII and RGMII setup and hold requirements


The UCF provided with the Virtex-6 FPGA Embedded Tri-mode Ethernet MAC Wrapper includes an example OFFSET constraint which enforces clock-data alignment on the receive side physical interface to within a specific data valid window.

While helpful in determining alignment, that data valid window might not meet the setup and hold requirements of the GMII or RGMII specifications. A more relaxed window is provided for some devices, primarily because of clock uncertainty resulting from the receive clock's IODELAY instance.


Proper tuning of the IDELAY taps is recommended for all designs.For details on finding the ideal settings for your design, see the LogiCORE IP Virtex-6 FPGA Embedded TEMAC User Guide (UG800).

If timing failures persist after tuning, then to reduce clock uncertainty and tighten the OFFSET constraint's data valid window, the receive clock's dedicated IODELAY should be removed.Three steps must be taken:

  1. The IODELAY block for the physical interface's receive clock must be removed. In <core_name>_example_design.v[hd], comment out the IODELAY instance gmii_rxc_delay (for GMII configurations), or rgmii_rxc_delay (for RGMII configurations). Then, change the input of the BUFIO instance bufio_rx and BUFR instance bufr_rx from gmii_rx_clk_delay to GMII_RX_CLK (for GMII modes), or from rgmii_rx_clk_delay to RGMII_RXC (for RGMII modes).
  2. References to the receive clock's IODELAY block must be removed from the UCF. In <core_name>_example_design.ucf, comment out any lines which include gmii_rxc_delay (for GMII modes), or rgmii_rxc_delay (for RGMII modes).
  3. Adjust the OFFSET constraint to conform to the appropriate specification.
    • For GMII modes, ensure that the constraint uses: "IN 2 ns VALID 2 ns".
    • For RGMII modes, ensure that the constraint uses: "IN 1 ns VALID 2 ns".

As a result of decreased clock delay and uncertainty, further adjustments to the IDELAY_VALUE values might be necessary to accommodate the clock-data relationship for your specific design.

For Virtex-6 lower power devices (-1L speed grade) and some Virtex-6 HXT devices, implementation of the GMII physical interface will not meet the receiver timing specification, and implementation of the RGMII physical interface receiver timing is marginal. However, proper IODELAY tuning and sufficient system margin might allow for a working system. Be sure to analyze your PHYs timing characteristics and system margin during IODELAY tuning.

Linked Answer Records

Master Answer Records

AR# 33195
Date 12/15/2012
Status Active
Type General Article
People Also Viewed