Ken Kundert
|
Circuit simulators use Newton's method to solve the nonlinear circuit equations. Newton's method requires that the solution be isolated. Thus, Newton's method cannot solve circuits with floating nodes or loops of rigid branches. Loops of rigid branches are not so common, but floating nodes are. For this reason, all SPICE simulators insert very small conductors (very large resistors) into the circuit so as to avoid floating nodes. Once the node floats, the size of the conductance (gmin=1pS) is of little consequence as there are no other conductances between that node and ground, it just has to be non-zero. Thus, in general, for the job it was intended to do, there is little reason to make it larger.
Gmin was chosen to be very small so as to avoid it changing the behavior of the circuit, but even at 1pS it can have an effect on the circuit. This is why Spectre prints an estimate of how much the voltage of your circuit changes as a result of adding Gmin. If you raise Gmin you do risk the possibility that you are "simulating the wrong circuit". In other words, if your circuit had a problem with floating nodes, then using the default value of gmim should resolve that problem. If you feel the need to add a larger gmin, then your circuit may be suffering from convergence issues unrelated to floating nodes. By adding a larger gmin you are changing the circuit to get convergence. The standard argument for doing this is that the conductors are still so small that they cannot be significant to the behavior of the true circuit. For example, setting gmin=10pS was suggested. This is the equivalent of adding 100GΩ resistors. Such resistors seem so large as to be insignificant. But, they must be affecting your circuit in some significant way, otherwise they would not affect the convergence of your circuits.
So, in general, I avoid changing gmin. But if you feel the need to do so, be careful. Take some time to try to understand how it would affect your circuit.
-Ken
|