• 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. RF Design
  3. Phase noise simulation in ring oscillator

Stats

  • Locked Locked
  • Replies 15
  • Subscribers 64
  • Views 22925
  • 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

Phase noise simulation in ring oscillator

Ayrin
Ayrin over 13 years ago

I have two questions regarding the phase noise simulation results (PSS + Pnoise) for ring oscillators:

(1) How much the precision of the initial oscillation frequency is important in estimating phase noise ?

(2) The results that I get for the phase noise seems a bit high. I feel there is a shift up in all the frequencies. In very low frequencies (close to carrier) the phase noise is largely positive. Comparing with the analysis presented in [Abidi, JSSC 2006] the phase noise sounds very high. Does someone has any idea that what could be wrong?

 

The ring oscillator designed to oscillate at 2.4 GHz using CML gates with a tail bias current of about 200 uA. 

 

Thanks in advance for your help.

 

Armin

 

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 12 years ago

    There are a number of things which are incorrect in your reply, Shawn.

    First of all, it always uses the initial transient as a starting point for the shooting interval (the analysis was set up to use shooting because that's the default), regardless of whether you specify tstab. With an oscillator it uses a small number of cycles of the estimated frequency (4, from memory) for this initial transient which is usually not enough for the oscillation to have built up significantly.

    Note that for the Shooting Newton method the initial transient does not need to be fully settled - the algorithm can find the settled steady state itself. However, generally you need to be close to the settled response - ideally past any non-linear startup behaviour.

    Setting maxstep is not necessary for accuracy - because maxstep is controlled during the shooting interval to be (depending on errpreset and other settings) 5 points per period of maxacfreq, which is set to 4 times the highest harmonic requested, or 40 if fewer than 10 harmonics are requested (so at least 200 points per period, more if higher harmonics are requested). However, this does not apply to the tstab part of the simulation - there is often benefit in setting maxstep to ensure that the oscillator can build up oscillation more quickly - if there are too few points, the oscillation simulation may take a longer time to start. The lack of a driving signal in the circuit tends to result in increased numerical error and limiting the maxstep helps to mitigate that (without going into too much detail as to why).

    If the circuit is a more linear oscillator (or high Q) such as a LC tank or crystal oscillator, you may want to try setting the oscic=lin option for the simulation. This can help speed up the starting of the oscillator.

    So overall the advice to use maxstep was a good idea, but for the wrong reasons...

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 12 years ago
    Hi Andrew,

    > There are a number of things which are incorrect in your reply, Shawn

    Thank you for your corrections Andrew. I was providing my thoughts based on my many experiences over the years with PSS/pnoise to generate repeatable and accurate results. I must apologize for any of comments that are not accurate - I do not want to mislead anyone!

    With respect to the impact of TSTAB, I documented a series of PSS/pnoise simulations were I varied TSTAB and observed differences in the resulting PSS and pnoise solutions. In this example, the design was an LC oscillator and the shooting method was used. Of course, I fully realize the the PSS algorithm has changed over the years, and perhaps the most recent algorithm is less dependent on TSTAB. Perhaps this is responsible for the dependence I observed.

    Thank you for your discussion of the defaults for maxstep. I was aware of its being set indirectly by parameters such as errpreset and the highest harmonic. The reason I made mention of it was I found that many users do not set errpreset or the number of harmonics to generate accurate results. I often recommend that, in lieu of setting these indirect parameters, the consider setting maxstep to a minimum of about 20 to 100 points per period depending on oscillator Q. In this fashion, even if the user does not set the number of harmonics, for example, to an appropriate value, at least the integration algorithm uses a minimum number of points per waveform. I hope you do not consider this misleading...

    Thank you for your insights (again),

    Shawn
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 12 years ago

    A couple of things - ADE (and OCEAN) forces you to set errpreset (to make you consciously think about it with PSS), but if running a spectre netlist it defaults to liberal, and even with liberal you'll get maxstep set to 1/50th of the period (during the shooting interval). See "spectre -h pss" in the sections on errpreset in the descriptive part after the parameter listing for more details. This will happen even if I don't specify the number of harmonics or even set it to 0...

    Even with tstab set, it does seem to set maxstep automatically to 25 points per period in during the tstab (I didn't do an exhaustive test - only with a driven circuit), so I think the need to set maxstep is much less necessary now - but still may be beneficial to aid startup of the oscillator.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 12 years ago
    HI Andrew,

    Thank you again, Andrew!

    If you are interested in the TSTAB experiment I conducted, let me know. It was some time ago and I ran about 10 simulations where I varied the TSTAB to start the PSS analysis about every 0.10 UI (1 UI = period of oscillation). The results provided significantly different phase noise data - which I interpreted at the time to be related to the ISF of the LC based VCO.

    Since then, both PSS and pnoise have undergone a number of updates.

    Shawn
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Ayrin
    Ayrin over 12 years ago

    Hello Smlogan and Andrew,

     

    Thank you very much for your replies and hints. I will try again with the new settings and will report the results. However in general it seems to me very strange that the results are so much better when I select only one of the two outputs of the differential ring oscillator as the ouptut node in the pnoise simulation. Compared to the case that I select the differential outputs in the pnoise analysis, the difference is very large.

     

    Thanks again,

     

    Armin

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