• 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. Transient results as starting point in PSS

Stats

  • Locked Locked
  • Replies 11
  • Subscribers 63
  • Views 23748
  • 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

Transient results as starting point in PSS

pthoppay
pthoppay over 11 years ago

Hello,

Could we use the transient analysis results as a stabilization point (tstab) for PSS analysis? If so, how could we acheive it? Is there any documentation on this? Any inputs will be helpful.

Prakash.

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

    Prakash,

    Both PSS and tran have a capability to "save" and "recover" the state at the end of (or arbitrary points throughout) a transient. There are parameters "saveperiod", "savetime", "saveclock", "savefile" and "recover" for this. These save the entire state and can be restarted reliably from where it left off. Unfortunately you can't use a save file from transient in PSS or vice versa - you can only use them in the same analysis.

    The alternative is a less perfect solution which you might be able to get away with but has to be used with care. On the transient use "writefinal" to save a final nodeset/ic file. Then on the PSS use "readic" to point to that filename, and set skipdc=yes - but allow enough time for any imperfections to settle out. Since this doesn't capture quite everything, sometimes it needs some time to get over initial discontinuities caused by the missing information in the ic file.

    Regards,

    Andrew.

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

    Hi Andrew, 

    In ADE Assembler I am using transient results from "Writefinal" as a starting point for my PSS sims "readic". I specify a file location/name for witefinal and use the same location/name in redic and that seems to be working when I run nominal corner. When I try to run multiple corners I only get one writefinal file which correspond to the last transient corner that finished. Is there a way to save "Writefinal" per corner in transiant sim and use that data as a starting point for the corresponding PSS sim?

     

    Best,

    Hamed

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

    Dear Hmjafari,

    Hmjafari said:
    When I try to run multiple corners I only get one writefinal file which correspond to the last transient corner that finished. Is there a way to save "Writefinal" per corner in transiant sim and use that data as a starting point for the corresponding PSS sim?

    I am not Andrew, and will never hope or pretend to have the insight and knowledge he has! Nevertheless, have you tried using the methodology provided in the Cadence Sourcelink at URL:

    https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od0000000uDrGEAU&pageName=ArticleContent

    for using a custom recover and restore file for snapshots? I assume this will work in Assembler, but can't say I have verified it. I have used it with a pss file in the former ADE-XL to save a re-run a pss analysis and has saved a lot of simulation time.

    Shawn

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

    Hi Hamed,

    Regarding:  Is there a way to save "Writefinal" per corner in transiant sim and use that data as a starting point for the corresponding PSS sim?

    I wanted to make sure that you realized this:  You cannot use transient results as in input to pss.  See my article:   Can I use a transient output as an input to pss or hb analysis instead of using tstab? 

    You may want to look at this article:   Running multiple PAC (or PXF, Pstb, etc.) analyses from a single PSS analysis. 

    Also see:  Spectre Circuit Simulator and Accelerated Parallel Simulator RF Analysis in ADE Explorer User Guide -- Single Input Large and Small-signal Analyses - Reuse Tab 

    Best regards,

    Tawna 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Hmjafari
    Hmjafari over 4 years ago in reply to Tawna

    Thanks a lot Tawna, 

    The reason I used transient sim "Writefinal" as initial condition for PSS is that transient  sim runs much faster compared to PSS for the same amount of tstab time setting. The pss results are used for pnoise and pxf sim.

    I have a regulator + some low pass filter in my test-bench that force me to run pss tstab for ~2us. This take roughly 4-5 days on 4 core APS. Same 2us runs in few hours for transient sim (both use dynamic errpreset, liberal at start and conservative at the last 10% of sim time). 

    In my test case, I first ran transient sim for 2us, then use the "writefinal" as the inital condition for pss. I set pss tstab for 100ns and it seems that pss is using that initial condition from transient sim and settling within 100ns. If this is a wrong flow as you described in your article, is there a way to speed up the pss tstab sim? That way I don't need to run transient sims at all. 

    Thanks a lot for your helps. Much appreciated.

    Best,

    Hamed

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

    Thanks a lot Sawn. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Tawna
    Tawna over 4 years ago in reply to Hmjafari

    Hi Hamad,

    FIrst thing... always start a new thread rather than append a 7+ year old thread.    

    Did you read the article that I mentioned?

    Can I use a transient output as an input to pss or hb analysis instead of using tstab? 

    I'm surprised (actually shocked) if you were able to use "regular" transient as an input for pss, as the formats are incompatible. Also, transient doesn't contain trending and history information (whereas tstab does).  Are you positively certain it wasn't the tstab (transient assist)? 

    You can use dynamic parameters in the tstab interval, which you are already doing.    Use the tstab save/recover.   

    For most efficient simulation of SpectreRF, I recommend this Article below.  It has the latest "best practices" that include things that'll help you speed up your simulation.

    Getting the Most Out of Spectre® APS RF 19.1: Maximizing Performance 

    In Spectre 20.1, we have SpectreX RF - that is another option to speed up performance.

    If you have more detailed questions, I recommend filing a Case on Cadence Online Support https://support.cadence.com .

    Best regards,

    Tawna

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

    Hi Tawna,

    Tawna said:
    I'm surprised (actually shocked) if you were able to use "regular" transient as an input for pss, as the formats are incompatible. Also, transient doesn't contain trending and history information (whereas tstab does).  Are you positively certain it wasn't the tstab (transient assist)? 

    Maybe I am misinterpreting Hamad's recent post regarding his methodology, but I believe his pss tstab simulation only utilizes the node voltages of the final state of his conventional transient analysis as the .ic values (i.e., initial conditions) for the 100 ns TSTAB portion of the pss analysis. Hence, I think this should be expected to work. In essence, he is not attempting to recover the state file from a conventional transient analysis and use it as the starting state of the pss TSTAB analysis. The former only forces the initial voltages of the nodes in the TSTAB portion of the pss simulation to some value at the start of the simulation.

    Is my understanding incorrect?

    Hamad,

    Hmjafari said:
    This take roughly 4-5 days on 4 core APS. Same 2us runs in few hours for transient sim (both use dynamic errpreset, liberal at start and conservative at the last 10% of sim time). 

    One other subtle point to consider when using a dynamic analysis to vary the errpreset if I may and it is not obvious to you. There is a trade-off between varying the errpreset dynamically and simulation time. When the errpreset is varied, it will appear as a transient step and will require some settling time governed by your circuit time constants. Therefore, each time you change the errpreset in time adds a time step that must settle. If the magnitude of the step and its time constant are significant, the use of the varying the errpreset may not be justified and the use of a single errpreset for the 100 ns tstab period may allow you to further reduce the tstab period to less than 100 ns.

    Shawn

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

    Good points, Shawn.  I certainly could have been misinterpreting what Hamed said.  Yet one more good reason to file a Case with Support...the AE can look at your spectre.out logfile, your settings, etc. and give a more informed answer once they understand the problem in more detail.    :-)    Also note... those of us answering questions on the community page often do so in our "spare time".  If you file a Case, you get a dedicated AE to research and answer your question.

    Be careful when modifying errpreset during dynamic tstab.  If you set it too loose, you can have convergence issues.

    best regards,

    Tawna

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

    Dear Tawna,

    Wow! Thank you for even taking your valuable time to read my response - not to even mention your invaluable insights! Hopefully, Hmjafari will follow through with your recommendations and, possibly in addition, pursue a support case.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • ShawnLogan
    ShawnLogan over 4 years ago in reply to Tawna

    Dear Tawna,

    Wow! Thank you for even taking your valuable time to read my response - not to even mention your invaluable insights! Hopefully, Hmjafari will follow through with your recommendations and, possibly in addition, pursue a support case.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • Hmjafari
    Hmjafari over 4 years ago in reply to ShawnLogan

    Thanks a lot Tawna and Shawn, I really appreciate your helps with this. Yes your assumption is correct Shawn. I will file a case with the support as Tawna suggested. 

    Best,

    Hamed

    • 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