An IBUFDS_GTE2 primitive drives the GTX reference clocks and there are two IBUFDS_GTE2 elements per Quad as shown in Figure 2-4 of the7 Series FPGAs GTX Transceivers User Guide (UG476), driving GTREFCLK0 and GTREFCLK1. The common use mode is to instantiate one IBUFDS_GTE2 and drive one of the two reference clocks.
There is a software issuethat causes the swing of the reference clock going into the Quad to be set incorrectly when only one IBUFDS_GTE2 primitive is instantiated in a Quad.As a result, you need to update your instantiations to account for these port changes.
For more information, please see (Xilinx Answer 43339)as well.
This article describes an issue in version 13.2 of the software tools where the voltage swing of the reference clock is set incorrectly when only one IBUFDS_GTE2 in a quad is instantiated.
To work around this problem:
refclk1_ibufds : IBUFDS_GTE2
port map (
I => refclk1_p,
IB => refclk1_n,
CEB => '0',
ODIV2 => open );
The refclk1_p and refclk1_n pins are input ports in the top-level design. Place these as the inputs to the unused IBUFDS_GTE2 in the quad.
For example, in the XC7K325T, the transceivers GTXE2_CHANNEL_X0Y8 through GTXE2_CHANNEL_X0Y11 occupy the quad with reference clock inputs at G8, G7 (GTREFCLK0) and J8, and J7 (GTREFCLK1). If the reference clock (refclk_p and refclk_n in the example design) is input on pins G8 and G7, then place refclk1_p and refclk1_n in locations J8 and J7.
Route the output of the new IBUFDS_GTE2 (refclk1 in the above code) through the block level and transceiver wrappers to the GTREFCLK1 port of the GTXE2_CHANNEL component.
If the reference clock is input on pins J8 and J7, then place refclk1_p and refclk1_n at G8 and G7, respectively. Route the refclk1 output through the transceiver wrappers to port GTREFCLK0 of the GTXE2_CHANNEL. Set the CPLLREFCLKSEL port to "010" to select GTREFCLK1 as the clock input of the transceiver.
For more information, see the LogiCORE CPRI Release Notes and Known Issues (Xilinx Answer 36969).