05-29-2019 10:37 AM
We are attempting to use an ILSI ISM64 to provide an LVDS clock on the MRCC pins T14 and T15 of a XC7A35T-L2CSG325E FPGA. The VCCO for the bank in question is 3.3V. Below is a snippet of our schematic showing the relevant connections:
The 165MHz clock does appear to be received correctly by the FPGA and can be output onto a test pin to confirm, but the general signal quality looks very poor and we are seeing some odd behavior. The scope capture below shows the differential voltage seen at a point very close to the FPGA pins. The trace in blue is with the AC coupling caps C270/C271 in place, and looks more or less correct, although the rise and fall times are not ideal and the waveforms look a bit rounded. The trace in white is with NO Ac coupling in place (caps replaced with 0 ohm resistors) and is swinging well outside of the specified voltage range for an LVDS signal.
I have disconnected this ISM64 oscillator from the FPGA and just measured the differential LVDS output through a 100 ohm differential termination resistor, which looks correct:
Any ideas as to why removing the AC coupling caps is causing this issue given that the common mode output voltage and differential swing of the ISM64 seems to match up perfectly with the LVDS_25 DC specifications of the Artix FPGA?
Here is the code for the input buffer in the verilog file:
IBUFGDS ibufgds_clk_165mhz ( .I ( refclk_165mhz_p ), .IB ( refclk_165mhz_n ), .O ( refclk_165mhz_se ) );
And the declarations in the XDC file:
set_property PACKAGE_PIN T14 [get_ports refclk_165mhz_p] set_property PACKAGE_PIN T15 [get_ports refclk_165mhz_n] set_property IOSTANDARD LVDS_25 [get_ports refclk_165mhz_p] set_property IOSTANDARD LVDS_25 [get_ports refclk_165mhz_n]
05-29-2019 01:13 PM
05-29-2019 01:13 PM
05-30-2019 07:08 AM
The rise and fall times are around 700-800 ps, which I suspect is acceptable (the FPGA is able to resolve the 165 MHz clock and output it on a test pin) but seems like it could be improved.
I believe you are correct that these single-ended inputs need a DC bias after the AC coupling caps per Figure 1-72 in the SelectIO User Guide because the Artix LVDS_25 inputs require an input common-mode voltage of 1.2V (typical). After I added the DC bias the differential capture looked a little bit better: