• 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. Renetlisting after change of design variable

Stats

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

Renetlisting after change of design variable

ChrisEAS
ChrisEAS over 6 years ago

Hi all,

I have a design which uses a few design variables (e.g. the amplitude of a port). When I change the value of the variables in ADE L between simulations, this change is not detected and the design does not get renetlisted. I get the same results before and after the change. This is pretty annoying, especially for parametric analyses which doesn't work either.

What can be the reason that the renetlisting does not occur when changing a variable?

Thanks, Christoph

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

    Hi Christoph,

    Actually if you spectre is operating in "interactive" mode (the default), then if you only change a variable value it will communicate this to the running spectre process and spectre will change the value in memory and re-run. This allows better performance because it avoids the overhead of restarting the simulator and re-reading the netlist - it should however affect the results. Parametric analysis does the same thing.

    The fact that the results don't change is the concern here rather than the lack of renetlisting.

    You could try converting to batch mode by using:

    envSetVal("spectre.envOpts" "controlMode" 'string "batch")

    in the CIW and restarting ADE - in this case a new netlist should be produced and the simulator restarted each time. If you do that, do the results change? If they don't, maybe the circuit genuinely isn't affected by the change. If they do change in batch mode but not in interactive, please contact customer support because we need to investigate the bug.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ChrisEAS
    ChrisEAS over 6 years ago in reply to Andrew Beckett

    Thanks, Andrew.

    I have checked that Spectre works in "interactive" mode by default. If I switch to "batch" mode, the result changes indeed.Which indicates that the circuit is affected by the variable. However, if I switch back to "interactive" there is again no change. So you think this is a bug?

    Regards, Christoph

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 6 years ago in reply to ChrisEAS

    Hi Christoph,

    There is a possibility that the circuit has more than one stable operating point and which one it finds can depend upon the starting point. One thing to try in interactive mode is to set rebuild_matrix to "yes" (this is on the bottom of the Algorithm tab in Simulation->Options->Analog). If it still doesn't affect the results when you change the parameter, please contact customer support (it might be worth doing that anyway, because rebuild_matrix=yes shouldn't really be necessary). The case where it might be reasonable is if you have two operating points that are completely reasonable solutions to the circuit, and there's an element of luck to which you get based on the starting condition (this can normally be shown using nodesets to show that you can get either solution depending on the node set you start with). That's best to do via customer support rather than here where it's hard to talk about without knowing the specifics of your design.

    Kind Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 6 years ago in reply to ChrisEAS

    Hi Christoph,

    There is a possibility that the circuit has more than one stable operating point and which one it finds can depend upon the starting point. One thing to try in interactive mode is to set rebuild_matrix to "yes" (this is on the bottom of the Algorithm tab in Simulation->Options->Analog). If it still doesn't affect the results when you change the parameter, please contact customer support (it might be worth doing that anyway, because rebuild_matrix=yes shouldn't really be necessary). The case where it might be reasonable is if you have two operating points that are completely reasonable solutions to the circuit, and there's an element of luck to which you get based on the starting condition (this can normally be shown using nodesets to show that you can get either solution depending on the node set you start with). That's best to do via customer support rather than here where it's hard to talk about without knowing the specifics of your design.

    Kind 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