|
|
 | |  | |
 | |  | |
The SUMOS real-time interactive simulator
SUMOS is the full nonlinear simulator.
SUMOS device support
The following components are supported by SUMOS (in order of complexity)
| Device type | Description
|
| RES | Resistor
|
| CAP | Capacitor
|
| IND | Inductor
|
| VSRC | Voltage sources
|
| ISRC | Current sources
|
| VCCS | Voltage-controlled current source (linear and polynomial)
|
| CCCS | Current-controlled current source (linear and polynomial)
|
| VCVS | Voltage-controlled voltage source (linear and polynomial)
|
| VCCS | Voltage-controlled current source (linear and polynomial)
|
| MUTUAL | Mutual or coupled inductors
|
| TLINE | Transmission line
|
| DIODE | Diode (bipolar and Shottky)
|
| JFET | Junction Field Effect Transistor
|
| GASFET | Gallium Arsenide Field Effect Transistor
|
| BJT | Bipolar Junction Transistor
|
| MOSFET | Metal Oxide Semiconductor Field Effect Transistor
|
SPICE netlist format
The input netlist format is automatically generated by the SUMO schematic system, so details are not given here. It does however conform to SPICE where possible. The SUMOS simulator itself is not derived from SPICE, but was written from scratch to take advantage of new programming techniques and simulation techniques. It does however behave in a somewhat similar manner to SPICE.
Characteristics of simulators
This section covers all simulators. The SUMOS-FUSION interactive simulator has been carefully designed to work well even in adverse conditions, but knowing a little background information about how it works can make a big difference to your productivity.
The options(switches) and variables in the table below are simply added to the netlist to tell SUMOS what to do.
They are set from the SUMO schematic system. From the SIMULATION menu select the OPTIONS control.
The first thing the simulator will do is to read in the circuit description (known as a net-list), to determine the topology and content of the circuit. Most simulators stop here, but SUMOS will now attempt to FUSE as many nodes as possible together. Generally speaking the larger the circuit the more nodes it has. The more nodes it has, the slower and less accurate the simulation becomes, therefore SUMOS speeds up and enhances accuracy by eliminating as many nodes as it can. The following switch:
Keyword (switch)
|
NOFUSION
|
can be used to disable fusing, the default value is fusing enabled. There is an important connection between all voltage sources (VSRC, VCVS, CCVS) and fusing. To model any voltage source with zero Ohms internal resistance, an additional (internal) node is required. Therefore if a voltage source has a resistor in series with it, SUMOS can eliminate one node from the circuit, and another by eliminating the internal node. There is another switch that can be used for force all sources to use a minimal resistance in the absence of available ones gained from fusion which is:
Keyword (switch)
|
NONORTON
|
The minimal resistance used is GMAX, the maximum conductance where G = 1/R. The default value of GMAX is 250, or 4 milli-Ohms. There is also a GMIN, which is the minimum conductance, and defaults to 1.0e-14 seimens or 100,000,000,000,000 Ohms. These values are used to prevent the dynamic or numeric range of the matrix used becoming too large. When the range becomes too large, the matrix becomes ill-conditioned and therefore difficult/slow to solve accurately. A symptom of this may be failure to converge and DC bias and/or transient analysis may fail.
| Keyword (variable) | Description
|
| GMIN | The minimum allowable conductance
|
| GMAX | The maximum allowable conductance
|
After reading in and processing, the sparse matrix is computed. Circuits are solved by using Kirchoffs and Ohms laws. There are N-1 equations, where N is the number of nodes in the circuit. As N is generally greater than 2, many of these equations must be solved simultaneously, and the best way to do this is to use matrices. Sparse matrices are matrices with holes in;- many elements are not used. SUMOS determines the optimum order to fill to matrix, to result in the greatest sparsity. This can dramatically speed up simulation and improve accuracy.
DC bias is the first simulation to be done. The results are put into the output file, which can be viewed using the BROWSE control from the schematic (in the FILE menu). DC bias or operating point is usually quite fast, and is requested automatically by SUMO .
Non-linear simulation
At this point the difference between linear devices such as resistors and inductors and non-linear devices like transistors and diodes surface. To find the correct operating point of a circuit containing only linear devices for example, one matrix solution is required. For circuits with non-linear devices several iterations are required, because there is no way to directly solve non-linear simultaneous equations! Therefore at each iteration the circuit elements are broken down into their linearized equivalent circuits, and that is solved. By using the first differential to determine the I/V characteristic to approximate the non-linear behaviour at each point, they are solved and re-solving until the solution converges to a steady state. This is known as the Newton-Raphson algorithm. The number of iterations allowed for the initial DC bias computation is contained in the option
| Keyword (variable) | Description
|
| ITL1 | iteration limit 1
|
During a sweep of DC bias points - a DC sweep, the limit ITL2 is used instead. For AC analysis, the linearised models created while computing the operating point determined by the DC bias, are used as a basis for computing the small signal (dynamic) conductances and gains.
The accuracy of DC convergence is judged upon the following criteria:
| Keyword (variable) | Description
|
| RELTOL | Relative tolerance of currents and voltages
|
| ABSTOL | Absolute tolerance of currents
|
| VNTOL | Absolute tolerance of voltages
|
Large and complex books have been written about transient analysis, and the hallmark of a good simulator is its ability to cope with different situations in the time-domain. Transient analysis of non-linear circuits build upon the simulators ability to converge DC solutions of non-linear circuits. Each time the simulator requires to know the nodal values at time T, the static solution at that point is computed. This uses the variables:
| Keyword (variable) | Description
|
| ITL3 | lower transient iteration limit
|
| ITL4 | upper transient iteration limit
|
If the solution at T is found at less than ITL3 iterations, the simulator is allowed to increase the time-step, up to the length entered by the user. If it needs between ITL3 and ITL4 iterations, the timestep can be left alone. If above ITL4, the timestep is reduced, to lessen the change from the last value. In an ideal world, this is all the control that is required for simulation. There are however numerical solutions to be determined for the capacitors and inductors, whose accuracy is dependent upon the integration/differentiation method, and the time-step. The following variables put forward the users requests for accuracy:
| Keyword (variable) | Description
|
| CHGTOL | tolerance of capacitor charges
|
| FLXTOL | tolerances of inductor fluxes
|
| RELTOL | relative tolerance of charges and fluxes
|
| TRTOL | relative importance of tolerances
|
| REJECT | coeff. of error to reject a previous step
|
The methods available for the prediction of the next t+1 value are set with the method variable. The SUMOS simulator can set different methods for non-linear and linear capacitors:
| Keyword (variable) | Description
|
| METHOD | method type. 1 or EULER, 2 or TRAP
|
| NLMETHOD | method type. 1 or EULER, 2 or TRAP
|
- TRAP stands for trapezoidal integration, and has been found consistently accurate and stable for most simulation problems in practice.
-
EULER stands for backward-Euler, and is not quite so accurate as TRAP. It is however unconditionally stable, and gives reasonable if sometimes conservative answers whatever the conditions.
-
GEAR is another method that is sometimes used, but is more complex than TRAP and has no pressing benefit over it, so has not been included in SUMOS.
Numerical analysis of time-varying circuits is itself not analytic - i.e. there is no exact solution available for circuits, as there is perhaps for a single capacitor and resistor. The proposed or approximate solution is therefore put forward by the simulator, which is then checked against the user tolerances. The user tolerances together with the t+1 result suggest a suitable time-step for the previously computed solution from t to t+1. If this time-step has been exceeded by more than the REJECT factor, the step is re-computed with the suggested step. Otherwise the solution is within tolerance and the suggested time-step is used as a guide for the next one.
Normally the default values for transient accuracy and control are more than adequate. If a circuit behaves chaotically when it shouldn't, we suggest changing RELTOL to a smaller value. For large op-amp models, ITL1,2 and 4 may need to be increased. SUMOS takes all of the above information into account when setting the internal time-step for its simulation, and will smoothly pass through turbid waters and is designed to efficiently solve your circuit problems so the end result you see is the appearance of the output waveforms on the screen in front of you with the least time and the most accuracy.
If the simulator keeps on reducing the time-step it will rapidly become too small, and new errors arise from numerical noise, which will interfere with the computations anyway. Therefore a lower limit is reached when the simulator can give up and declare the circuit un-solvable at that point in time. The ratio between the minimum timestep allowed and the user timestep is specified with the variable:
| Keyword (variable) | Description
|
| RMIN | Ratio of time-step to minimum timestep
|
For circuits where a fast turn-around is required, absolute accuracy can be diverted into a significant speed improvement. The option
Keyword (switch)
|
GOFASTER
|
will cause the transient time-step control system to be suspended, and use the Backward-Euler method to ensure reasonable accuracy and absolute stability. It does not touch RELTOL, because that can be fundamental to accuracy depending upon your circuit. For many circuits this will be perfectly adequate, and can be disabled for the final simulations anyway.
Options(switches) and variables are set from the SUMO schematic system. From the SIMULATION menu select the OPTIONS control.
| |  | |  |
| |  | |  |
|
|