• 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. QPSS simulation

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 63
  • Views 8733
  • 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

QPSS simulation

ThaoCao
ThaoCao over 2 years ago

Hi everyone,

I am trying to use QPSS to simulate IIP3 of a mixer. It is ok when all source in my circuit are sin wave sources. But when i use a pulse source, the log file show that QPSS did not convergence. 

Can you give me a guide to fix it ?

Thank you.

  • Cancel
Parents
  • Tawna
    Tawna over 2 years ago

    Hi ThaoCao,

    I recommend filing a support ticket at https://support.cadence.com .   We have a team of AEs dedicated to helping customers and this is how you contact them. 

    There could be many causes of non-convergence.   And there really isn't enough information to assist.  Again, a Support AE is your best bet.  Andrew and I answer questions when we get a chance, but we have our "day job" to do, too.  :-) 

    Here are two articles that discuss convergence:

    • Spectre RF Convergence Tips for Shooting PSS Analysis 
    • FAQ: Convergence tips for driven and autonomous circuits in Harmonic Balance 

    If you have a single tone input:

    • For mostly sinusoidal signals, I recommend using the "hb" interface.   
    • For sharp transitions, I recommend "pss Shooting".   (setting harmonics > 10 can increase memory and runtime in pss shooting

    If there are 2 or more input frequencies, usually hb is preferred.  (You can use shooting if the pss beat frequency is larger than the highest input frequency/10)

    • When setting up harmonics in hb multi-tone:
      • The tone that causes the most distortion is always tone 1.
      • Set "auto" for number of harmonics in tone 1. This is the "automatic" way to set harmonics.  (See *** for the manual way to set harmonics)
      • If the rest of the tones are small in amplitude, use ~3 harmonics for the rest of the tones.
      • If the 2nd tone produces a large amount of distortion,
        • start w/11 harmonics for tone 2.  Run simulation, plot desired output
        • raise harmonics to 17, run and plot again
        • if the results change, keep raising harmonics until the result stabilizes.  Use smallest amount of harmonics that produce a stable result.
      • *** As an alternative, the manual way set the number of harmonics in hb (square wave, pulse):
        • Take the ratio of the period divided by the rise time.   Example:  1n period, 20p rise/fall times.  Ratio=50.
          • If the timing of the edge is important, set number of harmonics to the ratio, i.e. 50
          • If the square/pulse wave drives other circuitry, set oversample=4 and start w/Number of harmonics=25
        • Run simulation, plot desired signal
        • reduce harmonics by 30%, run again, and replot
        • If the measurement changed, you need more harmonics.
        • If it didn't, reduce the harmonics until the result changes.
        • Use the smallest number of harmonics that produce a stable result.

    I also recommend these Articles:

    1. Getting the Most Out of Spectre® X-RF 21.1: Maximizing Performance (the above is discussed in this AppNote)

    2. SpectreRF Application Notes and Tutorials - One of our best kept secrets!  (We have a workshop showing how to simulate mixers)

    • If you don't have access to https://support.cadence.com, look at the mixer example in the SpectreRF Analysis in ADE Explorer workshop. The workshop documentation is in the Virtuoso hierarchy here:

      <IC618 or ICADVM20.1>/lnx86/64/doc/spectreRFexplorerWorkshop/spectreRFexplorerWorkshop.pdf

    • ​Workshop database is located here: <SPECTRE21.1>/tools.lnx86/spectre/examples/Legacy/RF_Doc_Database.tar.gz

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Tawna
    Tawna over 2 years ago

    Hi ThaoCao,

    I recommend filing a support ticket at https://support.cadence.com .   We have a team of AEs dedicated to helping customers and this is how you contact them. 

    There could be many causes of non-convergence.   And there really isn't enough information to assist.  Again, a Support AE is your best bet.  Andrew and I answer questions when we get a chance, but we have our "day job" to do, too.  :-) 

    Here are two articles that discuss convergence:

    • Spectre RF Convergence Tips for Shooting PSS Analysis 
    • FAQ: Convergence tips for driven and autonomous circuits in Harmonic Balance 

    If you have a single tone input:

    • For mostly sinusoidal signals, I recommend using the "hb" interface.   
    • For sharp transitions, I recommend "pss Shooting".   (setting harmonics > 10 can increase memory and runtime in pss shooting

    If there are 2 or more input frequencies, usually hb is preferred.  (You can use shooting if the pss beat frequency is larger than the highest input frequency/10)

    • When setting up harmonics in hb multi-tone:
      • The tone that causes the most distortion is always tone 1.
      • Set "auto" for number of harmonics in tone 1. This is the "automatic" way to set harmonics.  (See *** for the manual way to set harmonics)
      • If the rest of the tones are small in amplitude, use ~3 harmonics for the rest of the tones.
      • If the 2nd tone produces a large amount of distortion,
        • start w/11 harmonics for tone 2.  Run simulation, plot desired output
        • raise harmonics to 17, run and plot again
        • if the results change, keep raising harmonics until the result stabilizes.  Use smallest amount of harmonics that produce a stable result.
      • *** As an alternative, the manual way set the number of harmonics in hb (square wave, pulse):
        • Take the ratio of the period divided by the rise time.   Example:  1n period, 20p rise/fall times.  Ratio=50.
          • If the timing of the edge is important, set number of harmonics to the ratio, i.e. 50
          • If the square/pulse wave drives other circuitry, set oversample=4 and start w/Number of harmonics=25
        • Run simulation, plot desired signal
        • reduce harmonics by 30%, run again, and replot
        • If the measurement changed, you need more harmonics.
        • If it didn't, reduce the harmonics until the result changes.
        • Use the smallest number of harmonics that produce a stable result.

    I also recommend these Articles:

    1. Getting the Most Out of Spectre® X-RF 21.1: Maximizing Performance (the above is discussed in this AppNote)

    2. SpectreRF Application Notes and Tutorials - One of our best kept secrets!  (We have a workshop showing how to simulate mixers)

    • If you don't have access to https://support.cadence.com, look at the mixer example in the SpectreRF Analysis in ADE Explorer workshop. The workshop documentation is in the Virtuoso hierarchy here:

      <IC618 or ICADVM20.1>/lnx86/64/doc/spectreRFexplorerWorkshop/spectreRFexplorerWorkshop.pdf

    • ​Workshop database is located here: <SPECTRE21.1>/tools.lnx86/spectre/examples/Legacy/RF_Doc_Database.tar.gz

    • 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