03-30-2012 01:27 PM
I tried to convert my single ended signal (SClk_P) to Diff Signals using Spartan 3 generic differential output buffer below:
OBUFDS_SCLK_P : OBUFDS
generic map (
IOSTANDARD => "DEFAULT")
port map (
O => SClk_P_P, -- Diff_p output (connect directly to top-level port)
OB => SClk_P_N, -- Diff_n output (connect directly to top-level port)
I => SClk_P
After implementation, the input SE signal (SClk_P) is correct, but the diff output signal (SClk_P_P or SClk_P_N) is distorted.
Attach are scope captures of the SE input and Diff output.
The top trace is chip_select active high
The middle trace is clock
The bottom trace is data.
On the diff output capture, it seems the clock signal is coupled to the chip_select trace.
What could possibly be the cause of this problem? The issue is independent of frequency either in KHz or MHz.
03-30-2012 02:34 PM
The scope traces look like logic analyser captures, not analogue waveforms. Suggest you generate proper scope waveforms which show signal amplitude, edge shape, and trigger voltage relative to the signal being probed. Then let's see what you've got.
Also, please describe the IOSTANDARD being used for the outputs, and the VCCO supply voltage. And any termination applied to the signals.
-- Bob Elkind
04-02-2012 03:26 PM
Here are the signals captured with analog scope and they show the right response.
These signals are mapped to LVDS_25. Does the IOVCC has to be 2.5V, can I supply them with 3.3V IOVCC?
I do not have any termination externally.
04-30-2012 01:19 AM