Skip to main content

How to Eliminate Circuit Convergence Issues and Errors from your PCB Simulations

Infinite loop

 

Infinity is one of the concepts that can be hard to grasp. After all, we define almost everything as having a distinct beginning and ending or start and finish. And, time itself is not immune from this finite classification. There are minutes, hours, days, weeks, months, years, centuries, millennia and so on. This system has no place for infinity. However, mathematics which is the basis for our understanding of the world easily incorporates infinity. In fact, most mathematical fundamentals only survive if infinity exists. For example, nothing can be proven to be true unless it is true for all time or until infinity. 

Although essential for mathematics, infinity can have negative connotations for digital programming which is used to perform the circuit analysis for PCBs. The ability to simulate your board’s behavior when signals are applied is invaluable, especially for multi-board PCB systems. However, signal analysis is done by mathematically evaluating a digital model of your board’s circuits and depends upon a solution being obtained or the program coming to an end. This is known as convergence. If no solution is reached, there is some error or your program may be getting stuck in an endless loop. In this condition, your simulation would run until infinity. 

Let’s see what types of circuit convergence issues and errors can occur during the simulation and how they can be avoided.  

Common Circuit Convergence Issues and Errors

Circuit analysis is typically performed by bounded dynamic programming, where there are a number of variable values that must be determined simultaneously and within constraints. Most often, the algorithms for these programs are iterative optimization techniques. Success or convergence is achieved when values for all variables can be found such that there are no violations of the constraints. For most well-defined problems, convergence is possible. However, if there are errors or ill-defined program parameters an incorrect or no solution at all may be the result. Below is a list of common convergence issues and errors that can prevent your simulation from finding a solution.

 

Typical Circuit Convergence Issues and Errors:

 

Circuit Model Issues

  • Discontinuities

    • A discontinuity occurs if a parameter does not have a value for a program time step. This error may produce erroneous results.

  • Sources

    • Rapid transitions

    • Undefined parameters are handled in different ways by various programs. Some may assume a default value, while others may halt execution.

  • Circuit Elements

    • Most elements must be connected between two different nodes; otherwise, if one is missing an open circuit (infinite resistance) or floating device is assumed and if both nodes are the same a short circuit exists, which effectively eliminates all other circuit paths. 

    • Unreasonable values can yield unpredictable results or even cause non-convergence.

Simulation Program Issues

  • Tolerances

    • Tolerances, just as values; such as voltage and current, can be absolute (fixed) or relative (dependent upon some other parameter value). These are also the determinants of if and when convergence is obtained. If these are too small, they may not reachable and the program could get stuck in a loop or not converge.

  • Step Sizes

    • Step sizes are usually times; although, they can be frequencies or magnitudes. If they are too large, the program may skip over the solution. This issue can be a problem for any solution method that utilizes differentiation, such as gradient descent. 

  • Iterations

    • Iterations can be too small or too large. If too small, the program may stop before convergence is achieved. If too large, and coupled with another issue; such as a large tolerance, the program may run for an exceedingly long time without the possibility of finding a solution. Absent constant monitoring this condition can go undetected costing valuable PCB development time. 

  • Analog Behavior Modeling (ABM)

    • Analog devices and processing are typically modeled as discrete for programming purposes. Singularities, which are steps at which the model is undefined, can cause non-convergence.

 

The list above is not exhaustive, but it does accurately define a number of common errors and issues that may cause your simulation to fail. Fortunately, in most cases, these can be addressed with some simple steps, which are discussed below.

How to Avoid Circuit Analysis Non-convergence 

Using AutoConvergence to force a solution

PSpice AutoConvergence Option

 

In the figure above, an AutoConverge option is indicated. If the simulation of your board’s circuit(s) is not converging, this is the best place to start to solve the problem as the provider of your circuit analysis program has likely chosen default values that have shown good results for PCB design analysis. This option may not work in all cases and you may be required to manually address your convergence issues and errors. If this is the case, then you should try the following based upon your specific situation.

 

Solutions for Circuit Convergence Issues and Errors:

 

Circuit Model Issues

  • Singularities

    • Singularities are typically related to models, which may be identified in the error message. If so, check to ensure that your all your parameters are defined and accurate (the device data sheet is the best source). 

  • Incomplete or Inaccurate Sources

    • For source issues, verify you are using accurate parameters for voltages, currents, frequencies, etc. If this problem persists, it may be a design issue.

  • Floating Elements

    • For this error, the device, node(s) or both will be identified. Review your schematic and make sure that all the nodes are connected to two defined and different nodes.

 

Simulation Program Issues

  • Non-convergence with short processing time

    • In this case, first try increasing the number of iterations. Next, try increasing tolerances.

  • Non-convergence with endless loop

    • For this case, the tolerances are probably too small and unachievable. Try increasing these and you may also want to lower the number of iterations. 

  • Program singularities

    • The first thing to try here is to change the solution method(s), if possible. For example, you may be able to select between integration or other techniques. 

 

Some combination of the above solutions should allow you to arrive at circuit convergence. 

 

Circuit traces converging at light bulb

Concept of Circuit Convergence

 

After verifying your circuit’s operation through simulation, you are ready to complete your schematic capture. Depending upon the design analysis program used it may be necessary to convert to a separate PCB design program to complete your PCB layout design.

Transporting your vetted schematic design to a PCB format can introduce errors into your design, which can be avoided with Cadence’s PCB Design and Analysis capabilities. For example, OrCAD’s popular PCB layout package includes PSpice Simulator that enables simulation and board design integration that eliminates the possibility of inconsistencies and errors when moving to board layout. 

If you’re looking to learn more about how Cadence has the solution for you, talk to us and our team of experts