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