Trenz Electronic GmbH Support Forum

Trenz Electronic Products => Trenz Electronic FPGA Modules => Topic started by: BozoQed on December 18, 2011, 02:48:54 PM

Title: How do I implement a LVDS external clock (bit clock from ADC) on a GIGABEe mod
Post by: BozoQed on December 18, 2011, 02:48:54 PM
Hi all,
I got a project where the customer wants to implement (and already bought the module) a GigaBee XC6SLXmodule.
My question is: how do I implement an external (differential) LVDS external clock (bit-clock coming from 100/125 MHz ADC).
The clock for the ADC is created on my motherboard.

My thoughts are using pins

IO_L34P_GCLK19_0 (B2B_B0_L34_N) J2 46
IO_L34N_GCLK18_0 (B2B_B0_L34_P) J2 48

as differential clock inputs.
Can you please confirm whether this is possible, as I read that only the use of the internal 125MHz clock was...?

Kind regards,
Robert.
Title: Re: How do I implement a LVDS external clock (bit clock from ADC) on a GIGABEe mod
Post by: Ales Gorkic on December 19, 2011, 09:23:23 AM
Dear Robert,

There is no problem receiving the LVDS clock from the ADC.
You need IBUFGDS primitive for clock buffering (from manual spartan6_hdl.pdf) if you use VHDL:
-- IBUFGDS: Differential Global Clock Input Buffer
--Spartan-6
-- Xilinx HDL Libraries Guide, version 13.2
IBUFGDS_inst : IBUFGDS
generic map (
DIFF_TERM => TRUE, -- Differential Termination
IBUF_LOW_PWR => TRUE, -- Low power (TRUE) vs. performance (FALSE) setting for referenced I/O standards
IOSTANDARD => "LVDS_33")
port map (
O => O, -- Clock buffer output
I => I, -- Diff_p clock buffer input (connect directly to top-level port)
IB => IB -- Diff_n clock buffer input (connect directly to top-level port)
);
-- End of IBUFGDS_inst instantiation

Please set the proper termination value (TRUE if you do not have external termination resistor) and IOSTANDARD (LVDS_25 or LVDS_33)

in ucf you need to specify pins:
NET IB LOC=A10; #B2B_B0_L34_N
NET I LOC=B10; #B2B_B0_L34_P

The buffer output "O" you either route directly to capture circuit or via DCM for precise phase alignment (adjustable during operation...).

Best regards,

Ales