• 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. Dynamic Variable

Stats

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

Dynamic Variable

Hmjafari
Hmjafari over 4 years ago

Hi, 

I have a simulation in ADE assembler where I run a transient sim first and use the final condition of the transient sim (Writefinal -->spectre.fc) as an initial condition to pss sim (readic). 

In my tran sim I have a low pass filter that I need to disable for ~300ns (using a pwl source to control) and enable after, to make sure that the filter output voltage is settled to correct value. When I run PSS sim, the tstab sims will see the PWL source in the schematic and start the tstab sim after final transition of the pwl source. So if I set the tstab time to 200ns, the total pss sim will be 300ns+200ns = 500ns. 

Is there a way to change the variable that control the filter on/off between tran/pss sim? I tried using the dynamic parameter and set the filter pwl source to transition at 1ns in pss sim, but that doesn't seem to have an effect. The pss sim logs show that its reading my parameter new value but the tstab sim still runs for 500ns. 

Here is how I am setting the filter control signal in pss sim:

Is there another way to do this? 

I can also make a run plan in Assembler and have a separate sim for tran and pss, but then I have to write the full path of the spectre.fc for pss "readic" which get cumbersome over multiple corners. 

Thanks a lot,

Hamed

  • Cancel
Parents
  • ShawnLogan
    ShawnLogan over 4 years ago

    Dear Hamed,

    I am very familiar with the issue you face in trying to control a piecewise linear source in a pss simulation given spectre's behavior. I have filed two cases in the past asking R&D to reconsider the current algorithm to override a user supplied  tstab in a pss simulation in the presence of a piecewise linear source whose breakpoints are outside of or coincident with a user supplied tstab. However, their R&D is insistent on maintaining the existing algorithm. The suggestion they provided me after much "back and forth" of the arguments for and against follows:

    "The current behavior is the behavior since the very beginning of SpectreRF.

    We cannot easily change this because it could cause backward compatibility issues.

    Here is a suggestion:

    Add sources in the schematic to set up the desired behavior. Add one source for each different thing you want to test. Then add switches from analogLib to the individual sources. Connect the output of all the switches to the desired point in the circuit.

    Set the sources that control the switches to variable names like DC, PWL_PSS, etc. Then set the variables in ADE to select the desired input." 

    This may work in your specific case. Further, R&D did add an Application/Troubleshoot note concerning this issue at URL:

    support.cadence.com/.../ArticleAttachmentPortal

    I hope this provides a little help or insight into your specific problem!

    Shawn 

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

    Thanks a lot Shawn. I end up using "Run Plan" + specific .FC file for each corner. 

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

    Thanks a lot Shawn. I end up using "Run Plan" + specific .FC file for each corner. 

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

    Dear Hmjafari,

    Hmjafari said:
    I end up using "Run Plan" + specific .FC file for each corner. 

    Great Hmjafari!

    Thank you for letting us know what you decided to do - that will help others too!

    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