• 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. How to get smooth and accurate output waveform without increasing...

Stats

  • Locked Locked
  • Replies 9
  • Subscribers 125
  • Views 18755
  • 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

How to get smooth and accurate output waveform without increasing simulation time

RFStuff
RFStuff over 5 years ago

Dear All,

I was simulating a divider (by-2) extracted circuit @ 17 GHz input frequency using transient analysis.

My simulation option was as below:-

simulatorOptions options psfversion="1.1.0" reltol=1e-3 vabstol=1e-6 \
iabstol=1e-12 temp=80 tnom=27 gmin=1e-12 rforce=1 vthmod=vthcc \
ivthn=300e-9 ivthp=70e-9 ivthw=0 ivthl=0 maxnotes=5 maxwarns=5 \
digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" \
dochecklimit=yes checklimitdest=psf
tranCheckLimit checklimit checkallasserts=yes severity=none
tran tran stop=60n errpreset=moderate write="spectre.ic" \
writefinal="spectre.fc" annotate=status maxiters=5

But with the above option, I am getting the output waveform @8.5 GHz as below:-

The waveform is not smooth and many points are missing at the crucial regions. Is there any way we can smoothen the waveform without increasing simulation time significantly.

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 5 years ago

    A waveform does not need to be smooth to be accurate. It's the points that matter, not the lines between them (since the simulator solves at the points). You could try tightening the reltol to 1e-4 (or set errpreset=conservative, although that will probably slow the simulation down more than just tightening reltol). More points are likely to take more time though.

    Andrew.

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

    In addition to Andrew’s suggestion if you prefer not to change “errpreset” nor reltol, if you include a limit for maxstep you will get a voltage at least every maxstep interval. There is a default value for maxstep defined by the length of your simulation and the value of errpreset you select. However, you can define maxstep to be a lower value. As Andrew also noted, although lowering the value of maxstep may not increase the simulation time as much as a decrease in reltol or errpreset, it will increase simulation time.

    Shawn

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

    Thanks Shawn, although I should also point out that tightening maxstep is a poor way of improving accuracy - it tends to slow down the simulation more than tightening reltol for a similar level of accuracy, because you are forcing tight time steps all the time even when they're not needed.

    Andrew. 

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

    Dear Andrew, Shawn,

    Thanks a lot for your suggestions.

    I am curious to know the difference between tightening reltol and the errpreset. Does errpreset tighten other parameters apart from relotol.

    Kind Regards,

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

    If you type "spectre -h tran" you'll see in the text further down that it gives a table of what errpreset changes. One key difference is that it will change relref to alllocal (it also loosens lteratio a little which will prevent quite so many time steps from being taken too).

    Andrew.

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

    Dear Andrew,

    "One key difference is that it will change relref to alllocal (it also loosens lteratio a little which will prevent quite so many time steps from being taken too)."

    Does the above mean tightening errpreset takes less simulation time than tightening reltol ?

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

    Probably not, because changing relref from sigglobal to alllocal is likely to increase simulation time as this will improve accuracy. It's very hard to be definitive about these things as the complexity does tend to be circuit dependent.

    In general I'd normally suggest going from moderate to conservative before tightening reltol, but sometimes you don't necessarily need a local reference. Predicting speed of simulation is a complex art... (certainly too much to explain quickly in a forum; you might want to read Ken Kundert's book The Designer's Guide to SPICE and Spectre (the book's a bit old now, but it still remains highly relevant and useful).

    Andrew.

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

    Thanks a lot Andrew.

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

    Thanks a lot Andrew.

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

    Thanks a lot 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