• 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. Spectre: is it possible to define a deterministic start...

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 125
  • Views 10779
  • 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

Spectre: is it possible to define a deterministic start time for the PSS beat period?

dontpanic
dontpanic over 3 years ago

Hi! Is it possible to define a fixed (deterministic) start time for the beat period in a PSS (shooting) analysis?

The documentation states (see below) that the beat period starts after tstart+tonset+tinit and that "is best if tinit falls at the beginning of a clock transition, preferably a transition that follows a relatively long period of settling". However, neither tonset/tinit seem to be tunable, but chosen by the simulator. Or is there a way to fix/force them?

Some context: we would like to have a deterministic start time for the beat period to (1) aid convergence and (2) perform measurements on the PSS timedomain results using the calculator functions (which currently break sometimes across sweeps, due to the positions/order of relevant signal transitions changing as a consequence of the varying start time of the beat period). The circuit in question is a SC sample & hold.

Thanks in advance for any help!

KR, Jorge.

  • Cancel
Parents
  • ShawnLogan
    ShawnLogan over 3 years ago

    Dear dontpanic,

    dontpanic said:
    Some context: we would like to have a deterministic start time for the beat period to (1) aid convergence and (2) perform measurements on the PSS timedomain results

    I do not believe there is a technique to "force" the pss algorithm to start at a specific time with precision. One can override the value of tstab for the pss analysis, but choosing the very first time point that will provide pss convergence is not possible. I think this is expected as the entire purpose of a pss analysis (using either a shooting or harmonic balance algorithm) is to find a periodic solution.

    You can view the periodic solution in the frequency and time domain following the analysis and it will show a period of the solution it finds. I'm not sure how this poses an issue with your use of the Calculator. 

    Others who monitor this forum may have more information than I, but I've used these analyses for years and have never seen that as an option (and based on my understanding of how the algorithms work).

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to ShawnLogan

    For a driven circuit, it should be deterministic:

    • tstart is the start time you specify in the analysis (usually 0)
    • tonset is the onset of periodicity. This will be when all sources start being periodic, and so is 0 unless you have specified delays on sources, or have a pulse or pwl source without a period (in which case it's whatever time they stop changing). It's easy enough to figure out if you look at the sources
    • tinit is normally a single period of the PSS fundamental.
    • tstab adds to the other times - so this is your control. Note that if you've got the option set to automatically detect steady state during the transient assist, it may stop before that and start the periodic analysis.

    Oscillators are more complex because it is also trying to solve the frequency and it's much harder to pick a precise start time in that case.

    Note that you don't have to ensure the circuit is fully settled in the initial transient; PSS is trying to solve that efficiently in the shooting (or hb) analysis part, However, being along the way to being settled can certainly help with convergence, particularly when you have nonlinear startup behaviour. Most of the time I don't need to fine tune the edge position because in practical circuits you'll have a variety of phases and so there's no single "good" place. In trivially simple circuits it can make a difference where the start is, but most of the time you don't need to worry too much about this.

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to ShawnLogan

    For a driven circuit, it should be deterministic:

    • tstart is the start time you specify in the analysis (usually 0)
    • tonset is the onset of periodicity. This will be when all sources start being periodic, and so is 0 unless you have specified delays on sources, or have a pulse or pwl source without a period (in which case it's whatever time they stop changing). It's easy enough to figure out if you look at the sources
    • tinit is normally a single period of the PSS fundamental.
    • tstab adds to the other times - so this is your control. Note that if you've got the option set to automatically detect steady state during the transient assist, it may stop before that and start the periodic analysis.

    Oscillators are more complex because it is also trying to solve the frequency and it's much harder to pick a precise start time in that case.

    Note that you don't have to ensure the circuit is fully settled in the initial transient; PSS is trying to solve that efficiently in the shooting (or hb) analysis part, However, being along the way to being settled can certainly help with convergence, particularly when you have nonlinear startup behaviour. Most of the time I don't need to fine tune the edge position because in practical circuits you'll have a variety of phases and so there's no single "good" place. In trivially simple circuits it can make a difference where the start is, but most of the time you don't need to worry too much about this.

    Regards,

    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