• 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. Question about DC convergence error in sweep simulation...

Stats

  • Locked Locked
  • Replies 12
  • Subscribers 63
  • Views 18407
  • 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

Question about DC convergence error in sweep simulation.

dskang
dskang over 4 years ago

Hello, thank you in advance for your assistance.

I was making simple op-amp, but I used verilog-a based mosfet model (MIT-VS model).

To see DC operating point, I did DC simulation, and it seemed like the values settled on wrong point. (Results were not reasonable.)

However, when I did sweep simulation (sweep variable was temperature, which should be almost non-relative to the results), I found DC convergence result goes to correctly as simulations goes on. - This is also weird and I couldn't understand.

However, as dcOp still gives not reasonable values, so I cannot do other simulations like measuring AC gain.

I've already used nodeset, but it didn't worked.

Could anyone give me the solution how to apply dcOp to points that were gathered through sweep simulation, or to get appropriate DC results from the beginning?

Thank you so much

Best,

Dongsuk

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

    Hi Dongsuk,

    It's extraordinarily rare for Spectre to produce an "incorrect" DC operating point (so rare, I can't remembering it ever happening). It's possible however that the operating point is perfectly valid, but not the one you want - this might be because of:

    1. The circuit having multiple operating points
    2. The device models (including Verilog-A models) having non-physical behaviour which means that an alternative non-physically correct operating point is a valid solution

    For the first, this is a function of your circuit - and normally you'd want to know about that; it might be expected, or it might be undesirable. For the second, you may need to ensure that your model actually makes sense (for example, I've seen major foundries model non-linear resistors in Verilog-A and forgetting about the fact that their quadratic equation for the resistance has two roots, one of which is a completely unreasonable answer electrically).

    Usually if you can capture the nodeset and use it (e.g. by doing your sweep and then using writefinal to capture the last point in the sweep, and using that as a nodeset with ever other condition the same as that point) the results should be identical in that case. That's because if that solution was valid at that point, then there should be no need to iterate away from it. Of course, you would want to be very sure that the results are reasonable and that there isn't another perfectly reasonable operating point that could occur in the real circuit.

    It's hard to give a more specific response without seeing the actual case - so you might want to contact customer support and log a support case.

    Andrew

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

    Hi Dongsuk,

    It's extraordinarily rare for Spectre to produce an "incorrect" DC operating point (so rare, I can't remembering it ever happening). It's possible however that the operating point is perfectly valid, but not the one you want - this might be because of:

    1. The circuit having multiple operating points
    2. The device models (including Verilog-A models) having non-physical behaviour which means that an alternative non-physically correct operating point is a valid solution

    For the first, this is a function of your circuit - and normally you'd want to know about that; it might be expected, or it might be undesirable. For the second, you may need to ensure that your model actually makes sense (for example, I've seen major foundries model non-linear resistors in Verilog-A and forgetting about the fact that their quadratic equation for the resistance has two roots, one of which is a completely unreasonable answer electrically).

    Usually if you can capture the nodeset and use it (e.g. by doing your sweep and then using writefinal to capture the last point in the sweep, and using that as a nodeset with ever other condition the same as that point) the results should be identical in that case. That's because if that solution was valid at that point, then there should be no need to iterate away from it. Of course, you would want to be very sure that the results are reasonable and that there isn't another perfectly reasonable operating point that could occur in the real circuit.

    It's hard to give a more specific response without seeing the actual case - so you might want to contact customer support and log a support case.

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
Children
  • dskang
    dskang over 4 years ago in reply to Andrew Beckett

    Dear Andrew,

    First of all, thank you so much for the kind answer. I tried to do what you said so my answer has been little bit late. My apologize.

    It seems like licence key is needed to use customer support ... I need to ask school department about it.

    However, about what you suggested, I saved sweep value via 'writefinal' and used this in AC simulation 'readfile' option, and until now it seems it works.

    Maybe for sturdy design I should look inside the verilog-A code ... maybe there are some problem when I'm modulating it.

    Again, thank you so much for helping me.

    Regards,

    Dongsuk

    • 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