• 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. Configure outputstart in tstab

Stats

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

Configure outputstart in tstab

ErickelRojo
ErickelRojo over 4 years ago

Hi!

I have a simulation with long time constant blocks that I typically need to let settle for about 1-2 us before doing any useful measurements, including periodic noise. Some of these measurements are performed with "tran" analysis, while the rest is evaluated using "pss/pnoise"

Since I would like to avoid running similar transient analysis twice (1x tran, 1x pss/tstab) for both measurements, I think I could do the transient measurement at the end of the tstab period, and ideally, be able to save only the last portion of the transient in tstab, saving additional simulation time and disk space.

Currently my solution uses tran analysis with outputstart set to a predefined value to only save the required waveform portion. But I haven't found this option in PSS/tstab.

Could you provide an example how to set this parameter in tstab?

Thanks,

Erick

  • Cancel
  • ShawnLogan
    ShawnLogan over 4 years ago

    Dear ErickelRojo,

    ErickelRojo said:
    Currently my solution uses tran analysis with outputstart set to a predefined value to only save the required waveform portion. But I haven't found this option in PSS/tstab.

    I I understand your question correctly, I believe you want to use the restart feature. I use this often in pss/pnoise simulations where the tstab period must be relatively long to allow settling of longer time constants than the relatively fast time constants of a high frequency VCO (i.e., stiff differential equations). One periodically saves the solution state at times during the tstab portion of the pss and then can re-invoke the saved state if, for example, the pss portion of the simulation does not converge or if a crash occurs.

    Documentation on the restart feature is provided at the Cadence On-line support URL in a Rapid Adoption Kit (RAK) entitled "Using Spectre Save-Recover":

    support.cadence.com/.../articleattachmentportal

    It is also documented in the Spectre User Manual.

    As noted in the following Application note, you cannot use the output checkpoint file from a conventional Transient analysis as a restart file for the tstab portion of a pss simulation.

    support.cadence.com/.../ArticleAttachmentPortal

    I hope this addresses your question!

    Shawn

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 4 years ago in reply to ShawnLogan

    In addition to what Shawn said, outputstart is not available in PSS. It's not going to significantly affect the simulation speed anyway, because even if you use outputstart with tran, it still has to actually simulate before that point. With PSS you don't have to save the initial transient anyway, so if you're interested in minimising the disk usage, you could just set saveinit=no (which is the default anyway).

    BTW, if the startup of the circuit is pretty linear (i.e. normal RC-type settling) then you really don't have to run a long enough tstab to fully simulate that settling; the shooting method should deal with long settling pretty well and find the settled steady state efficiently. There are some cases where if the settling time is really long such that the change from one period to the next is small enough that the steady ratio criteria doesn't detect it that you may need to either tighten steadyratio or have a longer tstab, but much of the time it's unnecessary and I see people wasting a lot of simulation time running long tstab when it's not necessary.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ErickelRojo
    ErickelRojo over 4 years ago in reply to Andrew Beckett

    Hi Shawn, Andrew

    Thank you for your kind replies. The settling time is indeed the main topic related to this question. I do use shooting for PSS analysis, but since I do observe a "large" spread across PVT for the main RC constants, I set a common settling time (~1 us) for all points so that steady-state can be reached within this window. In the past I observed large discrepancies in pnoise results if this condition was not fulfilled even if the PSS analysis did converge, but the noise was largely (2-3 dB) off from expected results. I agree that this might waste simulation time for some particular use points that settle sooner, but saves time finding out the "right" amount of time required by each corner separately.

    My understanding is that the measurements I do in transient could be as well done at the end of the tstab period, probably tighting the accuracy for the last periods. This will spare the effort on running a separate transient but do not save any disk space if I need to save the full tstab, which is probably not necessary. If I instead select saveinit=no, then no waveform is saved and I cannot do any measurement in tstab but only again using transient.

    Sorry for the long post, but hope I could explain it well. I would appreciate if you have any suggestion how could be best to address this case in simulation.

    Thanks in advance,

    Erick

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 4 years ago in reply to ErickelRojo

    Hi Erick,

    One thing that I thought might have been an option to cut down the amount of data in the tstab would have been to use skipstart=0, skipstop=TheTimeYouWantAllTheDetails and skipcount=SomeHighNumber. Whilst that does indeed prevent lots of output during the tstab until skipstop is reached, it also applies to the output in the shooting interval. So if you want to look at the time domain waveforms during the shooting interval, this is not going to help.

    I think your only options are either to keep all the tstab data, or to run a separate tran analysis. You could potentially use writefinal from the the end of the transient to write to a file, and then use readic to reference the same file, and tstart to set the start time to be the same as when the transient finished (you'd probably also need to use skipdc=yes). This however is a little risky because writefinal does not completely capture the state (it doesn't store internal variables in Verilog-A, internal state in transmission lines/linear nport etc) and so is generally not the recommended way to do this - you may find it takes a while to settle from the imperfect state capture and with long time constants that may actually be worse than re-running from time zero. The save/recover mechanism is safer, but unfortunately you cannot save the state from transient and reuse it in pss.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ErickelRojo
    ErickelRojo over 4 years ago in reply to Andrew Beckett

    Hi Andrew,

    Thanks for the additional tips. I will give it a try with skipstart and skipstop. Hopefully some similar option to outputstart can be implemented in the near future Slight smile

    Thanks,

    Erick

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 4 years ago in reply to ErickelRojo

    Hi Erick,

    I just said that skipstart/skipstop are likely to be a problem if you need the time-domain shooting output. If you don't, then maybe you'll be fine.

    I've not found any enhancement requests to support outputstart with pss - so it's fairly unlikely it's going to be added any time soon unless somebody contacts support with a compelling reason for it.

    Regards,

    Andrew

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

    Hi Erik,

    A further comment that may or not be helpful - but you will be the judge of that!

    I don't know the specific measurements you need to perform using the data from the tstab portion of the analysis. However, I am wondering if your measurements might be made on the pss-tr waveforms ( i.e., the resulting steady-state time domain waveforms from the pss analysis result) ? If so, you do not have to save any of the tstab data.

    Is this a possibility and does my comment make sense to you?

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

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