Home > Community > Forums > RF Design > Phase noise simulation in ring oscillator

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 Phase noise simulation in ring oscillator 

Last post Wed, Feb 27 2013 11:20 PM by Ayrin. 15 replies.
Started by Ayrin 04 Jul 2012 04:40 AM. Topic has 15 replies and 6304 views
Page 1 of 2 (16 items) 1 2 Next >
Sort Posts:
  • Wed, Jul 4 2012 4:40 AM

    • Ayrin
    • Not Ranked
    • Joined on Tue, Jul 3 2012
    • Marin, Neuchatel
    • Posts 10
    • Points 185
    Phase noise simulation in ring oscillator Reply

    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

     

    • Post Points: 20
  • Wed, Jul 4 2012 9:44 AM

    Re: Phase noise simulation in ring oscillator Reply

    What version of the simulator are you using? Have you tried turning on "lorentzian" on the pnoise options form?

    Andrew.

    • Post Points: 20
  • Thu, Jul 5 2012 12:44 AM

    • Ayrin
    • Not Ranked
    • Joined on Tue, Jul 3 2012
    • Marin, Neuchatel
    • Posts 10
    • Points 185
    Re: Phase noise simulation in ring oscillator Reply
    Hi Andrew,
    • The version of the Cadence tool is IC6.1.5 and for MMSIM it is 7.2
    • I didn't try "Lorentzian", even I couldn't find it in the options of pnoise analysis

     

    Thanks,

     Armin

    • Post Points: 20
  • Wed, Jul 11 2012 3:38 AM

    • realf
    • Not Ranked
    • Joined on Wed, Jul 11 2012
    • Posts 1
    • Points 20
    Re: Phase noise simulation in ring oscillator Reply
    Hi Andrew,

    You can add the option  lorentzian=yes in the additional param record, you can find this record in the pnoise options form.

    Anyway if you used a modulated analysis ( e.g. jitter analysis ) it should be better to upgrade the version of MMSIM, because the oldest versions had a problem with this kind of analysis

    BR

    Raffaele
    • Post Points: 20
  • Tue, Jan 15 2013 1:08 PM

    • Ayrin
    • Not Ranked
    • Joined on Tue, Jul 3 2012
    • Marin, Neuchatel
    • Posts 10
    • Points 185
    Re: Phase noise simulation in ring oscillator Reply

    Hi,

     

    Coming back to the issue of phase noise simulation for a ring oscillator, I have seen again the two following issues:

    (1) for a differential ring oscillator, the simulated phase noise at 1 MHz offset is just very high (about 0 dBC/sq.Hz). I don't think this is correct. Here I introduce /voutp and /voutn as the outputs of the oscillator in the pnoise simulation table.

    (2) when I redo the simulation and  introduce the outputs in the pnoise simulation table as: /voutp and /gnd!, then the simulated phase noise goes done by about 100 dB ! Now this one sounds to me like a very good number, much better than the expected !

     

    Do you have any suggestion for a reliable simulations ?

     

    Thanks,

     

    A.

    • Post Points: 35
  • Tue, Jan 15 2013 1:25 PM

    • Tawna
    • Top 25 Contributor
    • Joined on Fri, Jul 11 2008
    • Snohomish, WA
    • Posts 216
    • Points 5,720
    RE: Phase noise simulation in ring oscillator Reply
    Hi Ayrin,

    There’s not much to go on here…   It would be helpful to have more information.

    For starters,

    • The subversion of MMSIM you are using
    • Your analyses and options statements from the netlist.
    • I assume you are using the shooting engine.
    • Is this an injection locked ring oscillator?
    • Have you looked at solution 11784002 on Cadence Online support and followed the suggestions there?

    Best regards,
    Tawna
    Best regards, Tawna Wilsey Staff Support AE, Global Customer Support Cadence Design Systems, Inc.
    • Post Points: 5
  • Tue, Jan 15 2013 1:25 PM

    Re: Phase noise simulation in ring oscillator Reply

    Still not enough info to go on. Can you contact customer support instead so you can provide all the necessary information to understand what you're doing? Did you use a more recent version of the simulator? (I'm a bit surprised lorenzian wasn't there with MMSIM72, so something sounds a bit strange in your setup; maybe it was a very early MMSIM72 version - I can't quite remember when it was introduced).

    Either way, I'm not sure if that's what your problem is.

    Regards,

    Andrew.

    • Post Points: 20
  • Wed, Jan 16 2013 3:46 AM

    • Ayrin
    • Not Ranked
    • Joined on Tue, Jul 3 2012
    • Marin, Neuchatel
    • Posts 10
    • Points 185
    Re: Phase noise simulation in ring oscillator Reply

     Hi,

    Thanks for your reply!

    The version of the tool I am using is: IC6.1.5 and for MMSIM it is 7.2.

    I set no special option: PSS (shoting method) pluse PNOISE. The oscillator is a ring oscillator with CMOS inverter type of delay elements. To make it differential, there is a weak cross-coupled between each two differential nodes.

     

    As I mentioned, the phase noise improves by about 100 dB when I set the output in PNOISE simulation /voutp and /gnd!. If I select the output as /voutp and /voutn, the reported phase noise  is very bad.

     

    Thanks,

    Armin

    • Post Points: 20
  • Wed, Jan 16 2013 9:20 AM

    • Tawna
    • Top 25 Contributor
    • Joined on Fri, Jul 11 2008
    • Snohomish, WA
    • Posts 216
    • Points 5,720
    RE: Phase noise simulation in ring oscillator Reply
    Hi Ayrin,

    You still haven’t provided the section of your netlist containing options and analysis statements.

    I’m sure it’s a setup issue.

    Also, you are using an extremely old version of spectre that is no longer supported.

    Please upgrade to MMSIM12.1.

    Best regards,

    Tawna
    Best regards, Tawna Wilsey Staff Support AE, Global Customer Support Cadence Design Systems, Inc.
    • Post Points: 20
  • Thu, Jan 17 2013 2:27 AM

    • Ayrin
    • Not Ranked
    • Joined on Tue, Jul 3 2012
    • Marin, Neuchatel
    • Posts 10
    • Points 185
    Re: RE: Phase noise simulation in ring oscillator Reply

    Hello Tawna,

     

    Thanks for your support. Here is the option section of my setup:

     

    analysis('pss ?fund "1.5e9"  ?harms "20"  ?errpreset "conservative"   ?oscana t  ?p "/xp<1>"  ?n "/gnd!"  ?ppv ""  )
    analysis('pnoise ?sweeptype "relative"  ?relharmnum "1"  ?start "1e3"  ?stop "1e7"  ?dec "11"  ?maxsideband "40"  ?p "/xp<1>"  
            ?n "/gnd!"  ?oprobe ""  ?iprobe ""  ?refsideband ""     )

    option( ?categ 'turboOpts  'uniMode  "APS" )

     

     

    Thanks,

     

    Armin

     

    • Post Points: 20
  • Sat, Feb 23 2013 6:46 PM

    • smlogan
    • Top 75 Contributor
    • Joined on Tue, Jun 10 2014
    • Posts 105
    • Points 1,800
    Re: RE: Phase noise simulation in ring oscillator Reply
    Hi Ayrin,

    You have probably resolved your issues by now - but if not - there are a few relatively straightforward items I noticed that will significantly impact the accuracy of your pnoise results  (especially since you noted you are examine the phase noise close to the carrier).

    1. I am not sure what the time length (TSTOP) of your simulation is. However, it does not appear you allowed for a finite TSTAB in your PSS analysis. The lack of a finite value for TSTAB suggests the PSS analysis will consider the transient start-up behavior in its estimate of the steady-state waveform. This will impact the PSS solution - and be especially important for frequencies close to the carrier as the time constants of the transient are likely long relative to the period of oscillation. I would recommend adding a value of TSTAB that encompasses the total time required for the start-up transients to become negligible. You might estimate this by running a transient simulation and plotting the frequency in percent or ppm from the final value at the end of the simulation and choosing a time when the frequency is within 0.1%, for example, of its steady-state value.

    2.  I noticed you did not include a value of integration parameter &quot;maxstep&quot; in your PSS analysis. With &quot;errpreset&quot; set to &quot;conservative&quot;, the default value for the minimum integration time will be used - which is computed from the TSTOP of the simulation. If this value does not represent, say 25 to 100 points per oscillation period, the accuracy of the resulting zero-crossing estimates may be significant. As you might imagine, this will also impact your phase noise estimate.

    3. To verify if any of these are potential issues, you might plot the resulting PSS waveforms in the differential and single-ended mode analyses you performed. Compare these waveforms to the respective steady-state transient analysis waveforms from a conventional transient simulation (with a low value of maxstep - 25-100 timepoints/period). If there appears to be a signficant discrepancy, items [1] and [2] might be worth considering.

    Good luck! Phase noise analyses require some care and feeding...

    Shawn
    • Post Points: 20
  • Sun, Feb 24 2013 2:39 AM

    Re: RE: Phase noise simulation in ring oscillator Reply

    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.

    • Post Points: 20
  • Sun, Feb 24 2013 6:24 PM

    • smlogan
    • Top 75 Contributor
    • Joined on Tue, Jun 10 2014
    • Posts 105
    • Points 1,800
    Re: RE: Phase noise simulation in ring oscillator Reply
    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
    • Post Points: 20
  • Mon, Feb 25 2013 9:10 AM

    Re: RE: Phase noise simulation in ring oscillator Reply

    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.

    • Post Points: 20
  • Mon, Feb 25 2013 11:39 AM

    • smlogan
    • Top 75 Contributor
    • Joined on Tue, Jun 10 2014
    • Posts 105
    • Points 1,800
    Re: RE: Phase noise simulation in ring oscillator Reply
    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
    • Post Points: 20
Page 1 of 2 (16 items) 1 2 Next >
Sort Posts:
Started by Ayrin at 04 Jul 2012 04:40 AM. Topic has 15 replies.