• 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. noise/jitter transfer function along clock-driven inverter...

Stats

  • Locked Locked
  • Replies 13
  • Subscribers 126
  • Views 17806
  • 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

noise/jitter transfer function along clock-driven inverter chain

nicodega
nicodega over 5 years ago

Hi everyone, hope the section is correct.

I'm simulating with spectre the inverter chain shown in the figure below where the input signal is a 30GHz sinusoid that is AC coupled to first inverter. My goal is to investigate its noise.
x6, x12... is the multiplicity of the inverters. What I want to do is to check how the noise coming from the fiirst inverter only is propagated along the chain and transformed into jitter on node N1 to node N4. 
To furthermore simplify I went to Simulation -> Options -> Analog and I checked "Noise Contribution" to On, specifying the first inverter only as noise contributor (thermal).


I set up the PSS simulation with Beat Frequency 30GHz and 10 harmonics.

**netlist**
pss pss fund=30G harms=10 errpreset=conservative autosteady=yes
+ annotate=status

Then the pnoise: since it is a periodic simulation, it's sufficient to check the noise up to half the PSS Beat Frequency. Output Freq Range is absolute and set to 10k to 15G, as seen in the picture. At every node, there will be the folding of every noise bandwidth around the harmonics of the PSS toward the 10k-15G bandwidth. But I want to simplify even more, choosing Sidebands 15G-30G and 30G-45G only in the pnoise Sidebands form. This is to check how the noise placed around the 30GHz harmonic only contributes to noise. Finally, since it's a jitter simulation, I set "Noise Type" to "sampled(jitter)", "Timing Event" to "Edge Crossing" and set a measure for each transition of N1-N4 nodes using as trigger the same measured signal (e.g. measure N1 has the same N1 signal as trigger).

**netlist**
pnoise pnoise start=10k stop=15G dec=5 sidebands=[-1 1] noisetype=sampled \
sampleratio=1 measurement=[pm0 pm1 pm2 pm3] annotate=status
pm0 jitterevent trigger=[N4 0] triggerthresh=0.45 \
triggerdir=rise target=[N4 0]
pm1 jitterevent trigger=[N3 0] triggerthresh=0.45 \
triggerdir=rise target=[N3 0]
pm2 jitterevent trigger=[N2 0] triggerthresh=0.45 \
triggerdir=rise target=[N2 0]
pm3 jitterevent trigger=[N1 0] triggerthresh=0.45 \
triggerdir=rise target=[N1 0]

What I get from the results are the following time waveforms (N1 red... N4 green).

Then if I calculate the Jee integrated from 10k to 15G I see that is always increasing along the chain from 42f to 47f.
However, if instead of Jee I plot the Output Noise spectrum I get the following behavior, with the same Node-Color relation as before: N4 output noise is lower than the N3 output noise!
How is that possible?

So here's my questions:
1) how is that possible that noise is decreasing along the chain?
2) I'd like to plot the noise transfer functions along the chain: for example, how the noise in N1 in the bandwidth 15G-30G is going to N4 noise bandwidth 0-15G. What is the best way to have such a transfer function? I tried to use the PAC sampled and also the PXF sampled, but I am not sure how to combine the results to get the sort of "flat gain" that I see in the noise spectrums above, e.g the 53.5/35.3 ~ 1.52 "voltage gain" between N1 and N4.

Thank you in advance.

Nicola

  • Cancel
  • ShawnLogan
    ShawnLogan over 5 years ago in reply to Frank Wiedmann

     Dear Frank and nicodena,

    I have been studying the noise in a series of coupled inverters for some time using the sampled phase noise option. As I mentioned, I filed a case  with Cadence as the analysis in many cases does not provide intuitive results. For example, as nicodena noted, some nodes in the chain show unexpected increases in noise by very large amounts followed by a node where the noise drops much more than can be expected due to filtering (and evident in the spectral plots). I also found that the noise often shows a marked increase at one or two temperatures when I sweep the temperature values. Like you, I varied multiple settings trying to explain the results and ultimately resorted to opening a case with Cafence to help resolve the issue - or as I also mentioned - correct my use of the tool!

    Shawn 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • nicodega
    nicodega over 5 years ago in reply to ShawnLogan

    Hi Frank, hi Shawn, actually the resistor is not noisy, the only noisy element is the first inverter. 
    To check your suggestion about noise-filtering I tried to remove the x12 inverter attached to N2: in this way N2 slope increases since the second inverter is auto loaded. However, the overall noise results are practically unchanged (changes are below 0.5fs over a jitter of ~50fs) and the decrease between N1 and N2 still remains equal.

    I'll try to summarize the problems that are still open (for me) after our discussion, maybe also Shawn has the same doubts:

    1) testbench: 30GHz clock-driven inverter chain, with an AC coupler as input stage and its inverter is only noisy element; pss+pnoise simulation, where pss harmonics=100 and pnoise sidebands is "fullspectrum"; jitter over 10k-15GHz is decreasing from N1 to N2 and then slightly increasing toward N4. The expected behavior was that the jitter remains constant from N1 to N2, since the only contributor is the first inverter in the AC coupler.

    2) if I'd like to check the noise transfer function, what simulation should I perform? For example, if I perform a PXF keeping the N2 as output node and using the sampled option with the same signal as trigger, how should I interpret the results? Unfortunately I can't upload screenshot anymore. I'd expect that the "gain" at 30GHz would be the gain that i see in the PSS spectrum @30GHzfrom N1 to N2, but it is not like this. What kind of "gain" is the one in 30GHz? And the one in 0Hz? This is not clear to me in this kind of simulation.

    3) PAC and PXF simulation don't agree, even if they should. 
    PAC and PXF setup is:
                 pac ( N2 0 ) pac crossingdirection=all
                + thresholdvalue=0.45 ptvtype=sampled sweeptype=absolute start=15G
                + stop=30G lin=30 sidebands=[-3 -2 -1 0 1 2 3] annotate=status

               pxf ( N2 0 N2 0 ) pxf
               + crossingdirection=all thresholdvalue=0.45 ptvtype=sampled
               + sweeptype=absolute start=15G stop=30G lin=30 sidebands=[-3 -2 -1
               + 0 1 2 3] annotate=status stimuli=nodes_and_terminals

    PAC adn PXF results are plot as "voltage gain" between the two nodes.
    Please let me know if you have more suggestions. Thanks a lot everyone.

    Nicola

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • Frank Wiedmann
    Frank Wiedmann over 5 years ago in reply to nicodega

    I suggest that you contact Cadence Support (as Andrew and Shawn already suggested) and let them sort it out. The results that you presented yesterday looked consistent between each other, but there is probably either something wrong in your simulation setup or the simulator is having problems. Without direct access to the testcase, this is very difficult to debug.

    • Cancel
    • Vote Up +1 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