[Fpga-synth] Interesting
Magnus Danielson
magnus at rubidium.dyndns.org
Mon Nov 19 02:21:34 CET 2007
From: Scott Gravenhorst <music.maker at gte.net>
Subject: Re: [Fpga-synth] Interesting
Date: Sun, 18 Nov 2007 15:45:03 -0700
Message-ID: <200711182345.lAINj3wj012322 at linux7.lan>
> Magnus Danielson <magnus at rubidium.dyndns.org> wrote:
> >From: Scott Gravenhorst <music.maker at gte.net>
> >Subject: [Fpga-synth] Interesting
> >Date: Sun, 18 Nov 2007 14:00:09 -0700
> >Message-ID: <200711182200.lAIM09pk020038 at linux7.lan>
> >
> >> Well, I was messing around with trying to reduce the delays in my design to
> >> increase the maximum operating frequency, I just kicked it over 100 MHz! I
> >> have a bad habit of daisy chaining mux logic. Pipelining fixes this. Now
> >> I shall have to think very seriously about using SDRAM since at 100 MHz,
> >> the design would be alot faster (to get to 100 MHz, I only added 8 state
> >> times to the state machine logic, so while there are a few more states to
> >> do, they can be done twice as fast.
> >>
> >> However, I'll bet using a DCM is probably the usual major PITA.
> >
> >DCMs are nice, but you need to have a low jitter clock to start with or else
> >you will have problem, especially if you use the clock multiplication feature.
> >The DCM will not clean up jitter on the input, it isn't a PLL, but there are
> >similarities in that there is a feedback loop.
> >If you have too high jitter, the DCM may over-react and that results in bigger
> >jitter.
> >If you do frequency multiplication, the period becomes shorter for the same
> >amount of jitter (think about time here).
> >
> >Too high jitter will cut down the allowed delay. So even if the synthesis tools
> >give you thumb up, higher jitter than expected will cause bit errors and those
> >can creep in and cause very strange results. This is especially important for
> >high speed DDR memory interfaces. Some DDR and QDR chips does not handle clock
> >jitter well and blows it up alot. Reducing jitter at the clock source is what
> >makes things manageable.
>
> Thanks, that's important. I think Rick Huang's recorder design uses a DCM in 2x mode,
> running at 100 MHz. I'm thinking the jitter defines how fast the design must be. The
> faster the design, the more jitter it can tolerate, so it's best to optimize that well.
> I've gotten it to 109MHz (well, bogus MHz anyway, since it's a calculated estimate, not
> measured), but maybe I can make it faster. In the meantime, I need to know how much real
> jitter I'm stuck with.
>
> In the Spartan-3E data sheet PDF, there are a lot of hits when searching for "jitter". I'll
> have to stare at the numbers for a while.
A few words of advice:
1) Do not stare yourself totally to death on Peak-to-Peak jitter values. Those
numbers have a high degree of bogusity about them. The reason is that the
noise part of jitter is following Gaussian law, so if you wait long enought
the peak-to-peak values will increase. Gaussian jitter can not be measured
by peak-to-peak, but you want to measure it in terms of RMS. The
peak-to-peak is a probability function and the rule-of-thumb value of 14
times the RMS value gives you 1.0E-12 in BER.
2) Don't fool yourself to beleive all jitter is thermal, i.e. having gaussian
distribution. The total time-error (or peak-to-peak) jitter sum (you can
calculate it this way for BER/window-size values) will be the random jitter
plus the deterministic jitter. Deterministic jitter includes stuff like
Inter-Symbol-Interference (i.e. amplitude skew due to memory function of the
channel, which adds level to the signal such that propper timing can not be
acheived) and fixed frequency modulations. The later kind will eat you for
breakfast if you don't pay attention. Not all crystal oscillators have low
jitter. You will find that plenty of them for higher frequencies actually
uses a lower frequency crystal and then uses a DCM or PLL to get the higher
frequency. Not very supprising will there be a modulation at the comparator
frequency, and yes, I have tossed such oscillators out of our designs many
times. There are those that will properly filter in the step-up. Infact,
some of these cheap oscillators perform better for some frequencies. You can
however never know until you have measured it at the intended frequency.
3) Messen is wissen.
Higher speeds do require fancier tools. I have pretty fancy tools. Infact,
for clock measurement I have fancier tools at home than at work. Maybe that
is why they sometimes have me measuring things at home from work.
4) Don't forget the step-up relation. The time-jitter you have at the reference
may remain the same for some setups, so the reference jitter needs to meet
the end jitter requirement in time, even if the cycle period is much bigger.
The relative jitter thus changes as the carrier frequency is stepped up.
5) Read up on jitter. The Fibre Channel Jitter Mesurement Methology document is
a good read. Tektronix has a nice document too. While these are more
transmission oriented, they are more advanced in analysis than many of the
digital and FPGA papers are.
6) Don't forget normal signal integrity. The Handbook of black magic, and the
followup on Advanced black magic should be a good read too. The world is a
harsh analog world for the poor digital engineers to figure out why their
0s and 1s isn't commming through properly.
Cheers,
Magnus
More information about the Fpga-synth
mailing list