# Spice algorithms: conductance or capacitance?

Discussion in 'CAD' started by ldg, Sep 17, 2003.

1. ### ldgGuest

Does anyone know why most simulators are still based on conductance
rather than capacitance and charge? I know Berkeley went conductance
initially, but it seems that capacitance would have some advantages.

For instance, I've been told that singularity issues don't happen with
a capacitance based algorithm in that the time step is in the
numerator rather than the denominator of the equation. Is this so?

Also, from what I've been told, Saber is capacitance based.

version)?

Regards,
Larry

2. ### Mike EngelhardtGuest

Larry,
The usual trade-offs are between using a Norton equivalent
vs Thevenin equivalent for capacitances and then whether to
integrate an expression for the non-linear capacitances or
have an expression of the charge and compute the capacitance
as something symbolically differentiated from this charge
expression. Two different issues.

Most simulators solve for [V] in [G][V]=. There, on Norton
vs Thevenin, Norton is good for capacitances for large time
steps but causes singularities at short timesteps since the
conductance goes infinate at short time steps. Since you have
to be able to solve DC, you end up needing a Norton equivalent
for capacitances so that matrix isn't singular. By the same
token, inductors are done as Thevenin so that the DC solution
can be found. I you didn't use [G][V]= but [R]=[V],
then you'd use Thevenin for capacitances and Nortons for inductors.
Since each Thevenin equivalent has an internal node, the matrix
becomes larger[I think you'd also have to hack out some
MBA(Modified Branch Analysis)]So [G][V]= makes a smaller
matrix if you have more capacitances than inductors and need
to solve DC. I'm guessing this is what you mean by a
conductance-based simulator.

Note that if you include the devices' series resistances, then
you prevent the singularity for capacitances at short timesteps
and can also use a Norton equivalent for inductors. Both of
these also reduce the circuit matrix by one row and column
and is a method used in LTspice, but it requires one to write
integrators than can integrate the series resistance as
an intrinsic part of the pure reactance. This is a technique
I developed and haven't seen others duplicate. I know the
academic SPICE codes don't have anything like it but I don't
know if simulators like Spectre or Saber do.

As far as charge vs capacitance, charge is the way to go, since
the solution won't wander off conservation -- if you can get an
expression for the charge. But, this issue is usually not
too important unless you are doing something like designing
DRAM cells because of the floating gates.

--Mike