Analog circuit simulators, including Spectre, provide accuracy modes to help you switch the simulator parameters as a package to get the most optimum accuracy and performance balance based on the measurements you are looking for. Spectre APS gives you three different errpreset modes: conservative, moderate, and liberal. Spectre X provides five different preset modes: CX, AX, MX, LX, and VX. It is important to understand the main simulator parameters that affect the accuracy of results.

To understand the accuracy limitation of the analog simulator, you need to know how the simulator finds a solution for the non-linear equations that represent the typical analog circuit with active devices like MOSFET and BJT. The non-linear equations are based on Kirchhoff’s Current Law (KCL) and Kirchhoff’s Voltage Law (KVL). These two laws manage the relation between the node voltages and the currents across the analog devices. The equations are non-linear because the active devices in the analog circuit have a non-linear relation between the current and the voltage of each device. To solve these non-linear equations, Spectre uses the Newton-Raphson method to find a solution. This method uses several iterations to converge to a solution, as shown in figure 1.

Figure 1: Newton-Raphson Method

When this method is converging, every iteration leads to a more accurate solution and it can go forever, but the analog simulator chooses to stop when certain criteria are reached. The criteria, in this case, are that the difference for each voltage and current variable between two successive iterations is less than the absolute values of **vabstol** and **iabstol**, respectively.

The accuracy of the solution for a node is highly dependent on vabstol when the impedance at that node is large, and it is more dependent on iabstol when the impedance at the node is small. For the moderate errpreset of Spectre APS and MX mode of Spectre X, the default value of vabstol is 1uV, and that of iabstol is 1pA.

Practically, relying only on vabstol and iabstol will slow down the simulation when the solution values are much larger than these absolute tolerances. In this case, Spectre relies more on relative tolerance called **reltol**. So, when the difference in a node voltage between two successive iterations is less than the relative tolerance multiplied by the larger voltage of these two iterations, the solution will be accepted. And the same relations apply for the current. The default value of reltol is 0.001 for the moderate errpreset of Spectre APS and MX preset mode of Spectre X.

As a result of the above relations, the equation that defines the accepted voltage solution is:

*abs(V _{n}-V_{n-1}) < vabstol + reltol * max(V_{n},V_{n-1})*

When trying to find a DC solution for a circuit with hundreds or thousands of nodes, most of the nodes will have an accuracy way better than the absolute tolerances (vabstol, iabstol) and the relative tolerance (reltol), but at the end, at least one node will just cross the accuracy threshold at the last iteration before the simulator will accept the solution. So, if your measurement is based on this node, you need to make sure that these simulator tolerances are acceptable for the measurements you are looking for.

For example, you want to measure the bias voltage for an amplifier, and the result of your measurements is 700mV. If you have a moderate errpreset mode with reltol 0.001 and this node has the maximum error for the circuit, then you can expect a +/-0.7mV error in this measurement. Practically, the error is much less than this, but this value is the upper boundary for your error in the measurement.

In future posts, we will talk about more parameters that affect the accuracy of the simulator.

*Moustafa Mohamed*

**Related Resources**

You may also contact your Cadence support AE for guidance.

For more information on Cadence products and services, visit www.cadence.com.

**About Spectre Tech Tips**

*Spectre Tech Tips* is a blog series aimed at exploring the capabilities and potential of Spectre simulation platform. In addition to providing insight into the useful features and enhancements in Spectre, this series broadcasts the voice of different bloggers and experts, who share their knowledge and experience on all things related to this platform. Select **SUBSCRIBE **to receive notifications about our latest *Spectre Tech Tips* posts.