• 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. Harmonic Index of PSS data is not found?

Stats

  • Locked Locked
  • Replies 18
  • Subscribers 63
  • Views 22658
  • 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

Harmonic Index of PSS data is not found?

SharjeelRiaz
SharjeelRiaz over 5 years ago

Hi,

I am simulating a 32.768 kHz Pierce oscillator for phase noise. I have attached the details of my PSS+PNOISE setups in screenshots. Post completion of the analysis, I am unable to get the Direct PLot Main Form to plit the phase noise and get the message in the subject.

One more query query that I would like to be addressed is which of the two analysis, PSS or HB is suited to my design. Now I know that HB gives good results for linear and weakly non-linear oscillators (LC, Colpitts, pierce, etc) and PSS (shooting) for strongly non-linear like ring. The thing is although my osc is a Pierce Oscillator which generates sinusoidal or nearly sinusoidal outputs , I am driving a comparator with these sinusoidal outputs to get a square wave output. Does this imply that I need to use PSS (shooting) if want to see the phase noise/jitter at comparator output and HB if looking for phase noise at osc outputs (with sinusoidal waveforms). 

By the way, what is the penalty to be paid if PSS shooting is used for linear and weakly non-linear oscillators?

Thanks,

Sharjeel

  • Cancel
Parents
  • Tawna
    Tawna over 5 years ago

    Hi Sharjeel,

    One more thing to add (if it hasn't been stated already), if you are simulating a high Q circuit, it's typically better to use hb instead of pss. Ideally both will give the same answer, but hb is more suited for highQ oscillators.  Shooting Newton is better for strongly nonlinear circuits (rapidly changing waveforms in time), but it can struggle with high Q oscillators.   If you have a high Q oscillator followed by strongly nonlinear circuitry, try using hb, but you'll need to use many harmonics.  

    • Set the number of harmonics to the period divided by the fastest rise/fall time in the circuit. The risetime here is calculated by taking the highest slew rate in the transition, and calculating the 0 to 100% risetime​ based on that maximum slew rate.  
    • Set oversample to 2.    

    Do you have access to Cadence Online Support?  If so, check out these articles: 

    • 20486872    Getting The Most Out Of Spectre® APS RF 18.1 - Maximizing Performance  
    • 20444400  How to simulate a high Q (LC or crystal) oscillator followed by strongly nonlinear circuitry (e.g. hard switching buffers )

    best regards,

    Tawna

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • SharjeelRiaz
    SharjeelRiaz over 5 years ago in reply to Tawna

    Hi Tawna,

    Sorry for circling back to this after three months. Although, I did manage to make PSS+PNOISE work by adjusting various parameters using shooting method, my simulations have always been plagued with inconsistency of results. Coming back to this page, I thought maybe I should try using HB noise once again as per your suggestions and articles,  and see if there is more consistency. 

    However I am not sure if choosing ~150000 (comparator output edge rise time in my circuit ~ 200 ps; Tclk = 1/32768 ) harmonics for an HB analysis is reasonable. Could you please advise?

    Thanks,

    Sharjeel

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

    support.cadence.com/.../ArticleAttachmentPortal

    First and foremost, I do not intend not imply that I can provide the insight that either Tawna or Andrew can provide!

    Nevertheless, in the hope of providing some information to you in light of it being a US Holiday, the number of harmonics specified on the pss options GUI, sets the maximum time step of the integration within the pss transient simulation. Hence, if you do not separately specify a value for parameter “maxstep”, spectre will use the number of harmonics to compute a value for parameter “maxstep”. This is detailed in the article at URL:

    support.cadence.com/.../ArticleAttachmentPortal

    I’ve included some text from that article below for your convenience. In your case, if the number of harmonics is specified as 150,000 relative to a frequency of 32.868 kHz, the value of maxstep computed by spectre will be 8.138 ps or 1/25th of a period of 150e3*32868 Hz = 4.9152 GHz. This is not an unreasonable value for maxstep given your high Q resonator, but you may find it to be more efficient simulation timewise to reduce the value of reltol from its value with errpreset=“conservative” if you wish.

    Again, Tawna or Andrew may provide more insight than I!

    Shawn

    From URL:

    support.cadence.com/.../ArticleAttachmentPortal

    Maxacfreq forces 5 timesteps in the period of the frequency set by maxacfreq (in pss options form).

    Maximum harmonics sets maxstep to force 20 timepoints in the period of the highest harmonic of the pss (on the choosing analyses form).

     

    Let’s take an example. Say the PSS frequency is 1GHz and you want pnoise to go up to 100GHz. (Think easy math.)

    One way is to set maxacfreq to 100GHz. This forces 5 timepoints in the period of 100GHz.

    The other way is to set 25 harmonics in pss. This forces 20 timepoints in the period of 25GHz.

     

    Note that 20 timepoints in the period of 25GHz is exactly the same as 5 timepoints in the period of 100GHz.

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

    Well, he was talking about an HB analysis, where ~150000 harmonics are clearly not reasonable...

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

    Hi Shawn,

    Many thanks for this. This is valuable information. However, 150000 harmonics does look like a lot to me, although I will play around with this and see if scaling it down by an order or 2 makes a difference. Fyi, with 150000 harmonics spectre gives up after a certain time complaining about insufficient memory which I believe is telling upon resource capacity of the farm  I am using rather than Spectre itself. 

    Frank, are you specifically pointing out 150k harmonics as unreasonable for HB analysis or in general both (PSS/HB)? If it's just HB, then why not the other?

    Thanks,

    Sharjeel

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to SharjeelRiaz

    Hi Sharjeel,

    There's no absolute upper limit, although practically I'd say that this is unlikely to work unless you have a trivially small circuit. Even then, it's questionable as to whether it would be useful. Given that the solution has to be represented for every node in the circuit with a fourier series with 150,000 complex numbers, you're going to run out of memory pretty quickly. I was able to simulate a square wave source with a resistor and capacitor (so just two nodes) with this number of harmonics, and even that took 0.5Gbytes of memory. It's rare to see any more than 100-200 harmonics being used with harmonic balance, as its sweet spot is weakly nonlinear circuits, and this is far away from being weakly nonlinear.

    Shooting is far more likely to be relevant here; hb may be fine, but if you really need to capture the very high bandwidth at the output of the comparator with respect to how fast it switches, I definitely think shooting makes more sense.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Frank Wiedmann
    Frank Wiedmann over 5 years ago in reply to Andrew Beckett

    I have also made the experience that the HB analysis often has more convergence problems as the circuit becomes more nonlinear (like an amplifier going into compression).

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • SharjeelRiaz
    SharjeelRiaz over 5 years ago in reply to Frank Wiedmann

     THere could be more at play here as getting PSS/HB to behave for large autonomous circuits seems very iterative in terms of getting the correct settings, but indeed i couldn't get HB to converge even with just 150 harmonics for the same circuit for which shooting seems to.

    And while we are at it, I have some doubts about the validity of using Jc from Direct Plot form post pnoise to my application which has a specification of peak to peak period jitter = 10 ns (in a 10000 cycle window).

    As per the formula 1.18 in  "Jitter Measurements using Spectre RF AN" also stated here https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1O0V000007MnBUUA0&pageName=ArticleContent  ,  Jc (from the definitions in Cadence docs, Jc matches exactly the definition of period jitter in other literature) for my design comes out to be sqrt(2) or 3 dB lesser than what Jc from Direct plot spits out. I established this by exporting the phase noise data from my results in cadence spectre and using the said formula in MATLAB/ Excel on exported data.

    It seems that Jc in direct plot does not convolve the phase noise with the high pass function [sin(pi*f*k.Tc)]^^2 to calculate Jc making it effectively a measure of absolute jitter rather than period jitter ( Eqn. 3 and 8  here: D. C. Lee, "Analysis of jitter in phase-locked loops," in IEEE Transactions on Circuits and Systems II: Analog and Digital Signal Processing, vol. 49, no. 11, pp. 704-711, Nov. 2002, doi: 10.1109/TCSII.2002.807265.)

    Would appreciate if some more light could be shed on this?

    Thanks,

    Sharjeel

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to SharjeelRiaz

    Hi Sharjeel,

    I would suggest contact customer support about this. Other may have the bandwidth to investigation this in depth, but I don't myself (a bit busy at the moment with the day job and so I can only answer questions that are quick to answer and don't involve too much experimentation and investigation).

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to SharjeelRiaz

    Hi Sharjeel,

    I would suggest contact customer support about this. Other may have the bandwidth to investigation this in depth, but I don't myself (a bit busy at the moment with the day job and so I can only answer questions that are quick to answer and don't involve too much experimentation and investigation).

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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