• 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 25031
  • 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

    First of all, knowing the version of the IC tools isn't what's important here - it's knowing which simulator (I assume spectre, given the options you specify) and the version of the simulator too. That said, I doubt this is very dependent upon the version of the simulator.

    Assuming you have the default settings for transient, the spectre.ic is a dump of the initial conditions after the initial transient solution (the DC operating point for the transient, where the transient starts from) is computed - as set by the write parameter. The spectre.fc is the final operating point at the end of the transient (as set by the writefinal parameter).

    You are trying to read an initial condition file, but still asking it to compute the dc operating point - that's maybe OK, but it may make it hard to converge. Reading initial conditions should be reserved for special cases when you really need the initial conditions to be different from the DC solution (e.g. you need a capacitor charged, or you're trying to avoid a metastable state in an oscillator, say).

    Most likely you should just use readns="spectre.ic" (leave skipdc=no, readic blank). Provided that the spectre.ic is for the same circuit condition as the one you're currently simulating, this should speed up the DC because it can start from the previous good solution. This of course depends upon the spectre.dc existing - if it doesn't exist yet, then this won't help.

    In terms of understanding why the DC convergence takes a while, you might be able to use +diagnose in the userCmdLineOptions field in Setup->Environment - although that depends now which spectre version you're using as to whether it is available or helps in any way).

    Regards,

    Andrew.

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

    First of all, knowing the version of the IC tools isn't what's important here - it's knowing which simulator (I assume spectre, given the options you specify) and the version of the simulator too. That said, I doubt this is very dependent upon the version of the simulator.

    Assuming you have the default settings for transient, the spectre.ic is a dump of the initial conditions after the initial transient solution (the DC operating point for the transient, where the transient starts from) is computed - as set by the write parameter. The spectre.fc is the final operating point at the end of the transient (as set by the writefinal parameter).

    You are trying to read an initial condition file, but still asking it to compute the dc operating point - that's maybe OK, but it may make it hard to converge. Reading initial conditions should be reserved for special cases when you really need the initial conditions to be different from the DC solution (e.g. you need a capacitor charged, or you're trying to avoid a metastable state in an oscillator, say).

    Most likely you should just use readns="spectre.ic" (leave skipdc=no, readic blank). Provided that the spectre.ic is for the same circuit condition as the one you're currently simulating, this should speed up the DC because it can start from the previous good solution. This of course depends upon the spectre.dc existing - if it doesn't exist yet, then this won't help.

    In terms of understanding why the DC convergence takes a while, you might be able to use +diagnose in the userCmdLineOptions field in Setup->Environment - although that depends now which spectre version you're using as to whether it is available or helps in any way).

    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