• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. Setting up a jitter simulation

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 124
  • Views 28146
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Setting up a jitter simulation

itos
itos over 8 years ago

Hi,

I do not quite understand how the pss/pnoise jitter simulation works and if it is the right tool in the first place.

I generate a clock with a bunch of logic gates and flip flops and would like to assess what kind of jitter (in ps rms) I can expect at the output.

For a first testbench I use a simple vpulse creating a rectangular 100 MHz clock and a simple CMOS inverter.

I set up a pss simulation with:

  • harmonic balance
  • Beat Frequency 100M
  • number of harmonics: 21

followed by pnose with:

  • Absolute sweep
  • From 1k to 10G
  • Default sidebands
  • Noise type: jitter
  • Threshold value: 0
  • Crossing direction: all

Is this the correct setup?

When I start this sim I sometimes get "No zerocrossing found". If it works, I can plot "Threshold Xing" for different "Event Time". What it this for?

Then I can plot Jee, Jc and Jcc, giving me all different results and I do not understand why I need to select the Event time or number of cycles.

For example, for the listed event times (look like random numbers to me), the total integrated jitter is 77ps, 191ps, 233fs, 228fs. Why is there such a huge spread and which number is expected to be the "correct" one?

Based on a quick back-on-the envelope calculation jitter should be around 150fs rms: I use 20ps rise and fall time and the total integrated noise of this inverter is around 7mVrms: 7mV/(1V/20ps) = 140fs.

So even if I get this right I wonder how I could simulate a clock generation circuit using a ring counter: Say, I use a 100 MHz clock, put it into 10 flip flops in feedback to get 10 MHz clock. Is this possible at all?

Thanks!

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 8 years ago

    This is probably best dealt with via customer support (or even training) because there's a lot here (and I can only give a very quick answer) - but here's a few points:

    • Jitter mode (at least the "pmjitter" mode) uses the "time domain" noise feature of pnoise analysis. This works by adding an ideal sampler at the output of the circuit, and then observing the noise at that instant in time. The noise is still the time-averaged noise over the period as it appears at the output of the sampler. That's different from just measuring the small-signal noise at the operating point at that instant; it means that noise generated earlier in the cycle can still end up making it through to the output at the instant you sample at.
    • The time at which the sampler fires is controlled by a threshold crossing. What this means is that when the PSS solution for the signal you're observing crosses the threshold, it samples. You get a separate result for each crossing point (each "event time") - particularly you could get different results at rising and falling edges, or if there's more than one cycle in a complex circuit.
    • In addition to measuring the noise at each of these event times, it also captures the slew rate of the large signal at the threshold crossings too. The slew rate together with the noise allows it to translate the noise into a time-metric; you have the PM portion of the noise captured at these threshold crossings (you're ignoring the noise in the flat bits of the signal at the output).
    • You are sweeping far too wide a frequency range in your pnoise analysis. Because of the ideal sampler which is sampling at the PSS fundamental rate, you should not sweep beyond the Nyquist frequency (i.e. half the PSS fundamental). If you step beyond this, it will include the noise multiple times because there is a lot of noise folding caused by that ideal sampler (so actually you don't need to sweep beyond 50MHz).
    • Whether you choose rising or falling or all for the crossing direction depends on the importance of jitter on the signal coming out of this block - i.e. is the subsequent system only dependent upon the rising, falling or both edges?
    • As far as number of sidebands are concerned, you generally should pick the "full spectrum" option - this will be more accurate (at least it will be more performant that specifying huge numbers of sidebands - the "default" is probably too low if you only did that).
    • I don't really know why the results vary so much but then again I can't see all of your setup (and there are already several things wrong).
    • If you're not getting any threshold crossings, you should look at the PSS time domain waveforms to see what's going on.
    • The number of cycles in some of the measurements is for if you're measuring K-cycle jitter, in the situation where the jitter accumulates. That depends on the type of circuit and the spec you're trying to achieve. 
    • There is an old app note that could be useful in the MMSIM/SPECTRE installation, at tools/spectre/examples/SpectreRF_workshop/JitterAN.pdf

    Regards,

    Andrew.

    • Cancel
    • Vote Up +2 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information