Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Jitter
transfer
Xilinx FPGA Package
Jitter at output
intrinsic jitter
This diagram is called a "noise model". It
represents the flow of jitter from stage to stage in
my DDR clock application. The form of the noise
model is similar for many other types of
applications.
Starting on the left, the diagram shows the jitter
signal emanating from your clock source. To that
jitter, you must add jitter picked up at the input
stage of the FPGA receiver.
This jitter propagates into the DCM and BUFG
circuits within the FPGA. These circuits may modify
the jitter in some way. That modification is called
the "jitter transfer function". We will look at how
the jitter transfer function operates a little later in
this presentation. Internal to the FPGA there are
two other significant sources of noise: the AUX
supply, which powers the DCM circuits, and other
jitter intrinsic to the FPGA. Both contribute to the
total jitter coming out of the DCM stage.
After the DCM stage, more jitter is added by the
final IO stage, either due to the influence of noise
on the IO supply, or crosstalk from nearby
aggressive signals.
Composite jitter at the output is the sum of all
these contributions.
This presentation deals with only a few portions of
the overall noise model. In the remainder of this
talk I will focus on the operation of just the portions
of the diagram internal to the FPGA, showing the
DCM jitter transfer function, the influence of
intrinsic jitter, and the effect of AUX power supply
noise.
copyright 2005 13
Measuring Jitter
LeCroy SDA 6000
20 Gs/s sample rate
Acquires 10 million samples per
record
For DDR clock measurements it
makes a complete record of
both high and low intervals
T[LOW] T[HIGH]
Jitter for digital applications is rated in units of unit
intervals, or U.I., where one U.I. is the data
interval of your system. Beware the units in DDR
applications, as it is sometimes unclear whether a
U.I. refers to one data bit cell or one full clock
period (which is twice as long).
Jitter in radians is the same as jitter in U.I., except
bigger by a factor of 2*pi. One radian of jitter
equals 0.159154943092 U.I. of jitter, or
57.2957795131 degrees of jitter.
When comparing jitter quantities look to see if the
jitter is rated as peak-to-peak jitter (at a certain
BER, like 1E-6 or 1E-12), or as an RMS jitter.
Conversion from RMS to peak-to-peak jitter is
accomplished using tables of Gaussian probability
amplitudes.
Example: The conversion factor for 1E-6 BER is
about 9.8, meaning that for a Gaussian random
variable, the peak-to-peak width of the histogram
skirts at the 1E-6 BER level is 9.8 times the
standard deviation. Rj is often listed as a "standard
deviation" value, so when adding it to deterministic
jitter (Dj), which is already in peak-to-peak units
we use the conversion Total jitter (Tj) = Dj +
9.8*Rj. At different BER levels different conversion
factors apply. The conversion factor for 1E-12 BER
is approximately 14.3.
For this talk I used a LeCroy SDA 6000 to perform
the jitter measurements and report values of total
jitter. This scope has a sample rate of 20 Gs/s and
can acquire 10 million samples in a single,
contiguous record.
copyright 2005 14
Test Setup
Mark and Howie it he lab
LeCroy LeCroy
SDA 6000 SDA 6000 Agilent Agilent
E4438C E4438C
LVDS LVDS
buffer buffer
Test card Test card
We set up the measurements at my lab in Eastern
Washington state. Going clockwise from the upper
left corner, you can see an Agilent E4438C
sinewave generator. We selected this because it
can produce calibrated, very accurate amounts of
random jitter. The digitizing oscilloscope was
provided by LeCroy. At top right, I am holding the
LVDS buffer, which I will tell you about in a minute.
Bottom right, that's the Virtex-4 component under
test, and the view at bottom left shows two of our
test cards. The bottom half of each card (nearest
you) is a noise-generating circuit used for some
power-system tests. The upper portion of each card
contains the devices under test.
copyright 2005 15
LVDS Clock Buffer
Ten-turn potentiometer R1
tweaks the output duty cycle to
precisely 50.00 percent.
E4438
266 MHz
+6 dBm
CH2 100 mV/div
CH3 100 mV/div
LVDS Buffer
R1
2K
Local 2.5V reg.
from battery
+
100 100
100 100
650 mV p-p
differential
2 ns/div
The Agilent E4438 RF sine wave generator is in
many ways a very flexible piece of equipment, but
it only produces sine waves. Measuring jitter
directly on the sine wave output, the relatively slow
edges of the sine wave shape exacerbate the effect
of noise in the LeCroy front end. To circumvent this
difficulty, and also to provide a faster rise/fall time
for my FPGA circuit, I had Mark build up some LVDS
buffers. With the buffer in place, the LeCroy is able
to better measure the true jitter from the Agilent
E4438.
Sinewaves enter the left side of the circuit from the
E4438 on a single-ended 50-ohm coaxial cable.
They propagate through the buffer to the scope (or
FPGA input). Potentiometer R1 adjusts the input
threshold of the LVDS buffer. This feature tweaks
the duty cycle of the output to precisely 50.00
percent.
Mark was a little uncertain about the efficacy of
bolting a "home brew" solution onto the output of
his Agilent E4438C sinewave source, but when he
saw the result he was all smiles. The ten-turn
potentiometer dials out the last few picoseconds of
duty-cycle distortion (DCD), as you can see in the
next picture.
copyright 2005 16
LVDS Buffer Edge-to-Edge Jitter Histogram
28.7 ps
@1E-12 BER
5 ps/div
The LVDS buffer, driven by the Agilent E4438 RF
sinewave generator, makes a more than adequate
clock source for our experiments.
The system, as recorded by the LeCroy scope,
shows a total jitter (Tj) of 28.7 ps peak-to-peak at
a BER of 1E-12. This source is more than adequate
for our experiments today.
The data for this measurement were recorded at 20
Gs/s, taken in continuous records of 10,000,000
samples. That gives you 133,000 clock edges in
each record.
Each record was analyzed for edge-to-edge jitter,
showing a composite histogram of both positive
and negative pulse widths, proving that we have
brought the DCD down to a very low level.
The machine accumulated histogram points until
we stopped it after seeing 1.3 million edges.
Based on the number of edges captured, the
machine then extrapolates the sides of the
probability distribution down to a very low value of
BER=1E-12.
The specific LeCroy features necessary for this
setup are located under [Analysis], [Clocks], [Half-
Period Jitter], [Use Both Edges].
copyright 2005 17
395
400
405
410
415
420
425
430
435
Tj (ps)
peak-to-
peak
BER=1E-06
Series1 408 422 431 432 434 431 421 427 411 417
1 2 3 4 5 6 7 8 9 10
Repeatability of Jitter Measurements
90%
confidence
+/- 12 ps
Edge-to-edge jitter
To develop further my measurement methodology,
I set up the Agilent E4438C to create an
intentionally jittery source. It had as much or more
jitter than anything I plan to measure.
I then used the LeCroy SDA 6000 to observe the
peak-to-peak jitter of that source. Using a total of
200K samples for each measurement, I recorded
these observations of Tj.
To circumvent issues regarding the method of jitter
histogram extrapolation, I chose for this talk to not
extrapolate very far. I measured a minimum of
200,000 edges in each case, and projected the
histogram to a normalized peak-to-peak width of
only 1E-6 BER. This simplification allowed me to
make literally hundreds of measurements quickly,
showing many different possible configurations, in a
reasonable period of time. Your measurements, if
you are verifying a final design, should use more
points and project down to at least a BER of 1E-12.
The variance of this series of measurements
suggests that I have 90% confidence measurement
accuracy limits of +/- 12 ps Tj using this method,
meaning that 90% of the time the reported result is
likely to fall within +/- 12 ps of the true value.
Any differences in my measured data greater than
24 ps I will therefore consider to be statistically
significant differences.
Please take careful note that the LeCroy scope, as
much as I like using it, re-scales the jitter
histogram axis on each measurement. I have
painstakingly re-sized all the output pictures to
place their horizontal and vertical scales on a
comparable footing.
As a result, you will see in the photos some
variation in the pixel quality and background
division marks of some of the pictures. I want to
assure you that these re-scaling operations were
done to improve the picture comparability, not to
degrade it.
copyright 2005 18
Xilinx DCM Test Setup
The DCM configuration is very simple. It uses the BUFG
clock distribution net internal to the FPGA.
E4438
266 MHz
+6 dBm
LVDS
Clock in
DCM
90
CH2 100 mV/div
CH3 100 mV/div
Splitter
CH4 100 mV/div
Clock out
D.U.T.
Heres how I configured the DCM. Its very simple. I
just come in on the left side with a 266 MHz clock,
pass it through the DCM, and exit through the
BUFG clock distribution tree and LVDS I/O on the
right side.
The clock input is differential LVDS. The clock
output is also differential, using an LVDS driver
standard. Thats the type of cell normally used for
DDR applications.
The DCM is set for a fixed, arbitrary amount of
delay (90 degrees).
In some cases I may use an even simpler
arrangement, whereby the DCM is not even
present. In that case the signal passes through the
FPGA with no processing, just coming in one side
and exiting the other. I call that the BUFG case,
because that is the name of the internal clock tree
propagation feature used to implement this simple
pass-through.
Note that I pass a version of the clock over to the
scope. For edge-to-edge measurements the
external trigger is not necessary, but for edge-to-
reference measurements (and eye patterns) I can
sometimes use this external clock as the reference
(trigger).
copyright 2005 19
Duty Cycle Distortion
Both designs easily fell within the DCD limit.
Sample DCD (ps)
peak-to-
peak
Xilinx BUFG 26
Xilinx DCM 82
My limit on Tj
400 ps
I checked both my sample designs for duty-cycle
distortion (DCD).
Both have some amount of DCD, but both are
capable of rendering an acceptable 533 Mb/s DDR
clock (266 MHz).
For the purpose of studying forms of jitter other
than DCD, I have chosen to subtract from my
reported results the value of DCD relevant to each
setup. My reported results in the sensitivity studies
at the end of this talk will therefore show (TjDCD).
copyright 2005 20
Jitter Performance of Virtex 4 BUFG
Jitter at input
passes straight
through the
BUFG
Input jitter
RMS
(UI)
100 ps/div
Xilinx BUFG
DCD
0.000
0.001
0.003
0.01
0.03
Here is our first measurement. It is a simple pass-
through circuit. The input clock arrives in LVDS
format, passes through the BUFG clock distribution
tree internal to the FPGA, and comes out another
LVDS output. The operation of this circuit is quite
straightforward -- whatever jitter you feed it passes
straight through.
On the left we show the histogram (edge-to-edge,
both edges) of our source clock. We have the
ability to dial in pre-programmed amounts of jitter
with this source. The corresponding Xilinx outputs
appear on the right side.
Since we are measuring both positive and negative
pulse durations, duty cycle distortion produces a
bimodal histogram. That is typical for any LVDS
output. The scale marked at the bottom shows 100
ps/div, so you can see the duty cycle distortion is
not very large. At 266 MHz (533 Mb/s) one UI
equals about 2000 ps (1875 to be exact), so +/-
100 ps would be just +/-5% DCD. This circuit
produces +/- 13 ps (26 peak-to-peak), a very small
value indeed.
For now I'm going to show the complete
histograms, as they illustrate some interesting
features of the circuit. Later, when I make
sensitivity graphs showing the sensitivity to noise
on the AUX supply, the supply that runs the DCM
circuit, I will subtract the nominal value of DCD so
we can concentrate on other components of total
jitter.
copyright 2005 21
Xilinx DCM
DCD
0.000
0.001
0.003
0.01
0.03
400 ps
100 ps/div
Input jitter
RMS
(UI)
Xilinx DCM
Jitter
In this figure you see the performance of the Xilinx
DCM in response to input jitter. The input clock
arrives in LVDS format, passes through the DCM,
then on to the BUFG clock distribution tree internal
to the FPGA, and then finally comes out an LVDS
output.
At the top of the figure I show the case with very
little input jitter. The jitter output from the DCM
exceeds the input jitter. This reflects the inevitable
result of all circuitry added to your clock chain:
every stage adds jitter. Fortunately, the amount of
jitter added (the "noise floor" of the DCM) is not
very great.
One interesting feature of the way the DCM works,
is that it always maintains a consistent half-period
in one half-cycle. If there are variations in the input
clock, all those variations are lumped into the other
half-cycle of the DCM output. In other words, the
DCM looks only at the positive edges of the input
signal (or negative edges, depending on how you
have wired up your differential inputs).
You can see this behavior in the bimodal
distribution of the histogram. The right-hand mode
shows a consistent width regardless of the input
jitter. All output jitter is lumped into the left-hand
mode.
Note also that whatever jitter comes in must go
out. A DLL circuit does not filter jitter, it just passes
it through. This is the normal behavior of any DLL.
Point to Remember: With this, or indeed any DLL
or PLL circuit, if you expect to meet a tight jitter
specification at the output, you must supply a
good-quality, low-jitter input clock at the input.
copyright 2005 22
0.000 50 MHz 0.000 50 MHz
refclk Xilinx DCM
0.03 UI rms jitter
0-40 MHz
Jitter pass-through
(normal DLL)
Jitter Propagation
Noise floor
The following frequency-domain charts give you
another view of jitter. These plots illustrate the
jitter filtration capabilities of the Xilinx DCM. Both
plots display the spectral power density (20 dB/div)
of the jitter "trace" in "edge-to-average" mode,
with a VERY long averaging time (10 million
samples).
On the left you see the Agilent E4438C, when it is
commanded to produce random jitter with a
bandwidth of 40 MHz.
On the right, you see the same clock after DCM
processing. The Xilinx DCM passes the jitter
through almost perfectly. The DCM plot shows a
slightly higher noise floor in the region around 50
MHz, that's the only artifact. In the time domain,
this equates to the minimum "fatness" of the
histogram peaks in the previous chart the DCM
noise floor is at about 11.5 ps Rj (RMS).
copyright 2005 23
Xilinx DCM: Noise on AUX Pin
Noise at +/-5% on the AUX supply
increases DCM jitter by 50 ps.
0 50 100 200 300
0
200
400
Injected noise mV p-p
T
j
-
D
C
D
(
p
s
)
5% AUX supply
What Ill do next is inject some intentional noise
into the AUX pin of the Xilinx FPGA, while the DCM
is running. The AUX pin is the supply voltage that
feeds the DCM circuits. This new noise causes a
slight increase in jitter.
This horizontal scale in this picture is noise voltage,
peak-to-peak. The noise waveform is a repetitive
signal at 134 MHz, the result of switching noise in
another circuit. I have the ability to control the
level of noise, and took several data points.
With the noise set at 250 mV peak-to-peak, which
amounts to about +/-5% of the AUX supply voltage
of 2.5 volts, the DCM jitter is increased. The AUX
supply is specified with maximum tolerances of +/-
5%, so thats as much noise as I chose to inject.
The vertical scale in this picture, as we discussed
before, shows Total jitter (Tj) less duty-cycle
distortion (Dj), peak-to-peak at 1E-6 BER. At rest,
with no noise, the Tj amounts to 60 ps (not
counting DCD). The amount of increase in Tj due to
AUX noise of this particular type is about 50 ps.
During the experiments I tried wiggling around the
frequency of the AUX noise source, but was unable
to find any particularly more or less sensitive
frequencies. This seems to be a pretty simple,
edge-by-edge interference effect.
copyright 2005 24
Mitigating Jitter
!Check your input
clock
!Check for noise on
AUX Pin
!Crosstalk!
In this talk we have covered three main sources of
jitter:
-- The input clock
-- Intrinsic jitter
-- AUX supply noise
Of these three issues, you can't do anything about
intrinsic jitter. Fortunately, the intrinsic jitter is
pretty low (11 ps RMS), so it doesn't present much
of a problem.
Regarding the input clock, it is crucial that you
supply a good, low-jitter input clock to any DCM
circuit. If you ever have trouble with jitter, always
check the quality of your source clock as that is one
of the more common difficulties in high-speed
systems. Remember that its not only the quality of
the source clock, but also the routing of that clock
over to your chip that matters. Keep clock traces
away from other noisy signals (including noisy
power planes) to minimize the crosstalk they pick
up.
Next, we are reminded to check the noise on the
AUX pin to be sure it doesn't exceed the safe
operating limits. Provided that you stay within the
specified +/- 5% tolerance, jitter from that source
is almost negligible. This is easily done by: (1)
keeping the AUX power patch next to ground, not
next to another noisy power plane, and (2) placing
bypass capacitors from the AUX power patch to
ground.
Checking these two sources of noise takes only a
few minutes, and can save lots of hassles later.
One other source of jitter we havent talked about
today, but which is quite important, is crosstalk.
This is one place where the Xilinx Virtex-4 package
with the Sparse Chevron power and ground pin
array really shines. You get a lot less crosstalk
moving through this package than with other
packages, as we discussed in my previous tech
online presentations.
Not only does the Sparse Chevron array minimize
crosstalk directly on the signal output pins, it also
minimizes the crosstalk picked up on the clock input
pins, and the AUX power pins.
copyright 2005 25
For Further Study
Xilinx
! www.xilinx.com/signalintegrity Resources useful for high-speed
designers
! www.xilinx.com/virtex4/si My SI tutorials for Xilinx RocketIOserial
transceivers, also BGA Crosstalknow available on DVD
Website: www.sigcon.com
! Full schedule of seminars,
! Seminar course outlines,
! SiLab films,
! Newsletters,
! Article archives, and much more.
That's all the time we have today. I would like to
thank Mark Alexander for his help with this project,
and thanks also to LeCroy for providing the
equipment that made these measurements
possible.
I hope the raw data we have provided about the
jitter noise floor and the jitter transfer functions in
the Virtex-4 FPGA are helpful to you.
If our program has stimulated your interest in
further research, the Xilinx signal integrity site
www.xilinx.com/signalintegrity holds a number of
resources useful for high-speed designers, including
information about my new SI tutorial for
RocketIO serial transceivers, now available on
DVD at www.xilinx.com/virtex4/si .
At my web site www.sigcon.com you will find a
treasure trove of additional publications (285 at last
count), plus a full schedule of my High-Speed
Digital Design seminars, complete course outlines,
other films, newsletters, an article index, and much
more.
Thanks also to all of you for your constant stream
of fascinating letters and emails, and dont forget
tell a friend what you learned.
copyright 2005 26
Jitter Effects in Modern
System Designs
Ill be doing courses open to
the public in
San Jose, CA
January 30 Feb. 3, 2006
www.sigcon.com
Dr. Howard Johnson
Questions?
At this time I would be pleased to consider any
questions or comments you may have.