• 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 reduce time needed before transient simulation to...

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 126
  • Views 25035
  • 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 reduce time needed before transient simulation to be started in case of large circuit

P Chy
P Chy over 8 years ago

Hi,

I have to run transient simulation for a very large circuit. But every time, before starting transient simulation( simulation for different times), it is taking a significant amount of time to find DC solution. I have set up "Initial Condition Parameter" of transient simulation as follows:

ic: all, skipdc: no, readic: spectre.ic; also i tried, readic:spectre.fc. But both of them, don't help to reduce the simulation time for DC convergence. Can you please help me on this aspect? And another question: What's the difference between spectre.ic and spectre.fc files and which one should be appropriate for readic field?

Program: @(#)$CDS: virtuoso version 6.1.6-64b ,Sub version: sub-version IC6.1.6-64b.500.1

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

    You seem very confused by relatively simple things - I suspect you're assigning more meaning to files than maybe they deserve. Let me explain a little about what these "spectre.dc", "spectre.ic" and "spectre.fc" files are.

    1. First of all, the naming of the files doesn't imply any meaning - it's just a matter of what ADE calls various files by default. If I turn on a DC operating point analysis, and a short transient and leave everything else as default in ADE, it netlists as:

      dcOp dc write="spectre.dc" maxiters=150 maxsteps=10000 annotate=status
      dcOpInfo info what=oppoint where=rawfile
      tran tran stop=100n write="spectre.ic" writefinal="spectre.fc" \
      annotate=status maxiters=5

    2. The write parameter of an analysis (e.g. dc or tran) writes the DC solution from the beginning of the analysis. For a dc operating point, this is the value computed with all capacitors open, all inductors shorted, and all sources at their "dc" value (this means that if the dc value is set it uses that, otherwise it uses the time-zero value of the source). For a transient analysis, again all caps open and all inductors shorted, but it always uses the time-zero value of all the sources (so that the initial transient solution matches the value at the very first time point of the transient). So the spectre.dc and spectre.ic contents can be different.
    3. The writefinal parameter (available on dc and tran and a few others) is the solution at the end of the analysis. For a dc analysis this is useful if you did a dc sweep, and transient it's the solution at the end of the time simulation.
    4. All these files contain node voltages and some currents - they represent a "node set".
    5. The tran analysis has options on the Algorithm tab for readic and readns. (dc has equivalent options called readforce and readns). These allow you to read one of these types of files to give a starting condition. The readns will use the contents of the file as a starting point for the DC solution - it essentially drives each node by a 1 ohm resistor (by default) with the voltage at each node, and tries to reach convergence - then removes the sources and continues to reach convergence - so it's a hint to pull the solution in the right way and make it easier to converge by giving a decent (hopefully) starting point. With readic the difference is that it doesn't try to remove the forcing sources after converging - that is then the converged solution (they are then removed for the transient though). If you do skipdc=yes, it will just use the readic solution as-is and won't try to converge further - which may be a problem if the readic file doesn't match the circuit.
    6. It is not required to read these files - they are just a convergence aid. I suggest you read Ken Kundert's book - A Designer's Guide to SPICE and Spectre for more details on how to aid convergence.
    7. I doubt very much that using the initial transient solution from a much smaller circuit will help with the nodeset of the bigger circuit since three quarters of the circuit has no convergence aid, unless the convergence problem is in some common part of the circuit unrelated to the repeated part.
    8. I already explained how to add the +diagnose option to add more convergence diagnostics.

    If this isn't enough - you should contact customer support.

    Regards,

    Andrew.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 8 years ago

    You seem very confused by relatively simple things - I suspect you're assigning more meaning to files than maybe they deserve. Let me explain a little about what these "spectre.dc", "spectre.ic" and "spectre.fc" files are.

    1. First of all, the naming of the files doesn't imply any meaning - it's just a matter of what ADE calls various files by default. If I turn on a DC operating point analysis, and a short transient and leave everything else as default in ADE, it netlists as:

      dcOp dc write="spectre.dc" maxiters=150 maxsteps=10000 annotate=status
      dcOpInfo info what=oppoint where=rawfile
      tran tran stop=100n write="spectre.ic" writefinal="spectre.fc" \
      annotate=status maxiters=5

    2. The write parameter of an analysis (e.g. dc or tran) writes the DC solution from the beginning of the analysis. For a dc operating point, this is the value computed with all capacitors open, all inductors shorted, and all sources at their "dc" value (this means that if the dc value is set it uses that, otherwise it uses the time-zero value of the source). For a transient analysis, again all caps open and all inductors shorted, but it always uses the time-zero value of all the sources (so that the initial transient solution matches the value at the very first time point of the transient). So the spectre.dc and spectre.ic contents can be different.
    3. The writefinal parameter (available on dc and tran and a few others) is the solution at the end of the analysis. For a dc analysis this is useful if you did a dc sweep, and transient it's the solution at the end of the time simulation.
    4. All these files contain node voltages and some currents - they represent a "node set".
    5. The tran analysis has options on the Algorithm tab for readic and readns. (dc has equivalent options called readforce and readns). These allow you to read one of these types of files to give a starting condition. The readns will use the contents of the file as a starting point for the DC solution - it essentially drives each node by a 1 ohm resistor (by default) with the voltage at each node, and tries to reach convergence - then removes the sources and continues to reach convergence - so it's a hint to pull the solution in the right way and make it easier to converge by giving a decent (hopefully) starting point. With readic the difference is that it doesn't try to remove the forcing sources after converging - that is then the converged solution (they are then removed for the transient though). If you do skipdc=yes, it will just use the readic solution as-is and won't try to converge further - which may be a problem if the readic file doesn't match the circuit.
    6. It is not required to read these files - they are just a convergence aid. I suggest you read Ken Kundert's book - A Designer's Guide to SPICE and Spectre for more details on how to aid convergence.
    7. I doubt very much that using the initial transient solution from a much smaller circuit will help with the nodeset of the bigger circuit since three quarters of the circuit has no convergence aid, unless the convergence problem is in some common part of the circuit unrelated to the repeated part.
    8. I already explained how to add the +diagnose option to add more convergence diagnostics.

    If this isn't enough - you should contact customer support.

    Regards,

    Andrew.

    • Cancel
    • Vote Up +1 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