Recommendations for best SPICE package (especially convergence)

  • Thread starter Thread starter berkeman
  • Start date Start date
  • Tags Tags
    Convergence
AI Thread Summary
The discussion centers around challenges with convergence issues in SPICE simulations, particularly in DC analysis. Users are seeking recommendations for SPICE packages that minimize these problems, with one participant noting their experience with Analog Workbench and a Windows-based package that has provided good support but struggles with certain circuits. Techniques like using nodesets and initial conditions are discussed, but limitations in the current package's handling of these methods are highlighted. Spectre is mentioned as a potential alternative, with users noting its effectiveness in previous experiences, despite its cost. Overall, the conversation emphasizes the importance of providing stable solutions to aid convergence and the need for realistic stimuli in simulations.
berkeman
Admin
Messages
69,099
Reaction score
23,983
We used Analog Workbench on Sun UNIX workstations for many years here at work, but transitioned to a Windows-based SPICE package about 8 years ago. The package has worked reasonably well, and we have gotten great technical support from the vendor.

However, we are facing some especially vexing convergence issues with some circuits that we are re-simulating (they worked fine on Analog Workbench many years ago), and I was looking for input from other power-SPICE users out there about SPICE packages that you use and have found relatively free of convergence issues (especially DC convergence). Or, if you have run into convergence issues, and your SPICE package has enough hooks and handles to help you to get the simulation to converge and start.

Thanks for any input. I'm not mentioning which package we're using because of the good technical support we have gotten over the years -- they just haven't been able to help with this particular circuit's convergence problem.
 
Engineering news on Phys.org
Try using a nodeset or initial condition before trying to move to another simulator.

- Warren
 
chroot said:
Try using a nodeset or initial condition before trying to move to another simulator.

- Warren

Yeah, done that. It helps for the Transient analysis, but not for DC. We're getting a feedback oscillation around the actual value, but this package doesn't let us decrease the step size in the convergence process to a small enough value to help the convergence along...

What package do you use, Warren?

We have HSPICE too for more IC design work, and haven't tried this circuit yet because of the clunky HSPICE interface (we probably will at some point), and because we aren't set up for Monte Carlos with HSPICE.
 
It doesn't matter. If you can give the simulator a nodeset with a stable solution, then you've gauranteed convergence. End of story. If you gave it a nodeset and it didn't work, then you gave it a nodeset that wasn't actually a solution. Try again.

I mostly use Spectre.

- Warren
 
chroot said:
It doesn't matter. If you can give the simulator a nodeset with a stable solution, then you've gauranteed convergence. End of story. If you gave it a nodeset and it didn't work, then you gave it a nodeset that wasn't actually a solution. Try again.

I spoke more with the engineer who is encountering this problem, and he says that for the SPICE package we are using, when you use nodeset for a DC analysis (we're doing Monte Carlos to check variations of DC operating points at the moment), that constrains the value of that node for the whole process, not just for the intial stabilization and convergence. But we want to be able to let go of that node at some point, to see what its real final stable value is, not just the other nodes with that node constrained artificially. For Transient analysis, the nodesets are released once the initial stable operating point is acheived.

Do you know if Spectre allows the nodeset to be released at some point in the DC analysis? Pretty pricey SPICE package! BTW, the engineer having this issue has used Spectre a fair amount in the past at another company, and he said that in general, he did not have many convergence problems with the latest versions of that package.
 
There may be some differences between a "nodeset" and an "initial condition," then, in your simulator. I'm not suggesting that you fix nodes to any specific values for the duration of a simulation, only that you provide the simulator with a specific, desired solution so that convergence can be effectively skipped. Look into .ic and other such commands.

Also, make sure that all your stimuli are physically realistic. I've seen many people apply power supplies with zero rise-time and wonder why it doesn't converge...

And yeah, Spectre's pricey, but we're an analog design house. Carpenters need hammers.

- Warren
 
Another, more invasive technique is to remove parts of the circuit that are causing convergence issues, run a .dc and store the result as a nodeset. Then you can put the circuit back together, and use that nodeset as an initial condition for most of the circuit, and that's often enough to allow the simulator to converge to only one specific solution.

- Warren
 

Similar threads

Replies
1
Views
3K
Replies
5
Views
2K
Replies
12
Views
2K
Replies
1
Views
3K
Replies
5
Views
1K
Replies
5
Views
2K
Replies
8
Views
2K
Back
Top