Physics and Astronomy 

Physics Home  Study here  Our Teaching  Our Research  Our Centres  News  Work here  EMPS 
Back to top
SPICE 3 User's Manual  Section 1
1. INTRODUCTIONSPICE is a generalpurpose circuit simulation program for nonlinear dc, nonlinear transient, and linear ac analyses. Circuits may contain resistors, capacitors, inductors, mutual inductors, independent voltage and current sources, four types of dependent sources, lossless and lossy transmission lines (two separate implementations), switches, uniform distributed RC lines, and the five most common semiconductor devices: diodes, BJTs, JFETs, MESFETs, and MOSFETs.The SPICE3 version is based directly on SPICE 2G6. While SPICE3 is being developed to include new features, it continues to support those capabilities and models which remain in extensive use in the SPICE2 program. SPICE has builtin models for the semiconductor devices, and the user need specify only the pertinent model parameter values. The model for the BJT is based on the integralcharge model of Gummel and Poon; however, if the GummelPoon parameters are not specified, the model reduces to the simpler EbersMoll model. In either case, chargestorage effects, ohmic resistances, and a currentdependent output conductance may be included. The diode model can be used for either junction diodes or Schottky barrier diodes. The JFET model is based on the FET model of Shichman and Hodges. Six MOSFET models are implemented: MOS1 is described by a squarelaw IV characteristic, MOS2 [1] is an analytical model, while MOS3 [1] is a semiempirical model; MOS6 [2] is a simple analytic model accurate in the shortchannel region; MOS4 [3, 4] and MOS5 [5] are the BSIM (Berkeley Shortchannel IGFET Model) and BSIM2. MOS2, MOS3, and MOS4 include secondorder effects such as channellength modulation, subthreshold conduction, scatteringlimited velocity saturation, smallsize effects, and chargecontrolled capacitances. 1.1 TYPES OF ANALYSIS1.1.1 DC AnalysisThe dc analysis portion of SPICE (.DC) determines the dc operating point of the circuit with inductors shorted and capacitors opened. The dc analysis options are specified on the .DC, .TF, and .OP control lines. A dc analysis is automatically performed prior to a transient analysis to determine the transient initial conditions, and prior to an ac smallsignal analysis to determine the linearized, smallsignal models for nonlinear devices. If requested, the dc smallsignal value of a transfer function (ratio of output variable to input source), input resistance, and output resistance is also computed as a part of the dc solution. The dc analysis can also be used to generate dc transfer curves: a specified independent voltage or current source is stepped over a userspecified range and the dc output variables are stored for each sequential source value.1.1.2 AC SmallSignal AnalysisThe ac smallsignal portion of SPICE (.AC) computes the ac output variables as a function of frequency. The program first computes the dc operating point of the circuit and determines linearized, smallsignal models for all of the nonlinear devices in the circuit. The resultant linear circuit is then analyzed over a userspecified range of frequencies. The desired output of an ac small signal analysis is usually a transfer function (voltage gain, transimpedance, etc). If the circuit has only one ac input, it is convenient to set that input to unity and zero phase, so that output variables have the same value as the transfer function of the output variable with respect to the input.1.1.3 Transient AnalysisThe transient analysis portion of SPICE (.TRAN) computes the transient output variables as a function of time over a userspecified time interval. The initial conditions are automatically determined by a dc analysis. All sources which are not time dependent (for example, power supplies) are set to their dc value. The transient time interval is specified on a .TRAN control line. (See also §4.4.4 .FOUR)1.1.4 PoleZero AnalysisThe polezero analysis portion of SPICE (.PZ) computes the poles and/or zeros in the smallsignal ac transfer function. The program first computes the dc operating point and then determines the linearized, smallsignal models for all the nonlinear devices in the circuit. This circuit is then used to find the poles and zeros of the transfer function.Two types of transfer functions are allowed : one of the form (output voltage)/(input voltage) and the other of the form (output voltage)/(input current). These two types of transfer functions cover all the cases and one can find the poles/zeros of functions like input/output impedance and voltage gain. The input and output ports are specified as two pairs of nodes. The polezero analysis works with resistors, capacitors, inductors, linearcontrolled sources, independent sources, BJTs, MOSFETs, JFETs and diodes. Transmission lines are not supported. The method used in the analysis is a suboptimal numerical search. For large circuits it may take a considerable time or fail to find all poles and zeros. For some circuits, the method becomes "lost" and finds an excessive number of poles or zeros. 1.1.5 SmallSignal Distortion AnalysisThe distortion analysis portion of SPICE (.DISTO) computes steadystate harmonic and intermodulation products for small input signal magnitudes. If signals of a single frequency are specified as the input to the circuit, the complex values of the second and third harmonics are determined at every point in the circuit. If there are signals of two frequencies input to the circuit, the analysis finds out the complex values of the circuit variables at the sum and difference of the input frequencies, and at the difference of the smaller frequency from the second harmonic of the larger frequency.Distortion analysis is supported for the following nonlinear devices: diodes (DIO), BJT, JFET, MOSFETs (levels 1, 2, 3, 4/BSIM1, 5/BSIM2, and 6) and MESFETS. All linear devices are automatically supported by distortion analysis. If there are switches present in the circuit, the analysis continues to be accurate provided the switches do not change state under the small excitations used for distortion calculations. 1.1.6 Sensitivity AnalysisSpice3 will calculate (.SENS) either the DC operatingpoint sensitivity or the AC smallsignal sensitivity of an output variable with respect to all circuit variables, including model parameters. Spice calculates the difference in an output variable (either a node voltage or a branch current) by perturbing each parameter of each device independently. Since the method is a numerical approximation, the results may demonstrate second order affects in highly sensitive parameters, or may fail to show very low but nonzero sensitivity. Further, since each variable is perturb by a small fraction of its value, zerovalued parameters are not analyized (this has the benefit of reducing what is usually a very large amount of data).1.1.7 Noise AnalysisThe noise analysis portion of SPICE (.NOISE) does analysis devicegenerated noise for the given circuit. When provided with an input source and an output port, the analysis calculates the noise contributions of each device (and each noise generator within the device) to the output port voltage. It also calculates the input noise to the circuit, equivalent to the output noise referred to the specified input source. This is done for every frequency point in a specified range  the calculated value of the noise corresponds to the spectral density of the circuit variable viewed as a stationary gaussian stochastic process.After calculating the spectral densities, noise analysis integrates these values over the specified frequency range to arrive at the total noise voltage/current (over this frequency range). This calculated value corresponds to the variance of the circuit variable viewed as a stationary gaussian process. 1.2 ANALYSIS AT DIFFERENT TEMPERATURESAll input data for SPICE is assumed to have been measured at a nominal temperature of 27°C, which can be changed by use of the TNOM parameter on the .OPTIONS control line. This value can further be overridden for any device which models temperature effects by specifying the TNOM parameter on the model itself. The circuit simulation is performed at a temperature of 27°C, unless overridden by a TEMP parameter on the .OPTIONS control line. Individual instances may further override the circuit temperature through the specification of a TEMP parameter on the instance.Temperature dependent support is provided for resistors, diodes, JFETs, BJTs, and level 1, 2, and 3 MOSFETs. BSIM (levels 4 and 5) MOSFETs have an alternate temperature dependency scheme which adjusts all of the model parameters before input to SPICE. For details of the BSIM temperature adjustment, see [6] and [7]. Temperature appears explicitly in the exponential terms of the BJT and diode model equations. In addition, saturation currents have a builtin temperature dependence. The temperature dependence of the saturation current in the BJT models is determined by: XTI T   E q(T T ) 1 g 1 0 I (T ) = I (T )  exp S 1 S 0 T  k (T  T ) 0 1 0where k is Boltzmann's constant, q is the electronic charge, E_{g} is the energy gap which is a model parameter, and XTI is the saturation current temperature exponent (also a model parameter, and usually equal to 3). The temperature dependence of forward and reverse beta is according to the formula: XTB T  1 B(T ) = B(T )  1 0 T  0where T_{1} and TT_{0} are in kelvin, and XTB is a usersupplied model parameter. Temperature effects on beta are carried out by appropriate adjustment to the values of B_{F}, I_{SE}, B_{R} , and I_{SC} (spice model parameters BF, ISE, BR, and ISC, respectively). Temperature dependence of the saturation current in the junction diode model is determined by: XTI  N T   E q(T T )  1 g 1 0 I (T ) = I (T )  exp S 1 S 0 T  N k (T  T ) 0 1 0where N is the emission coefficient, which is a model parameter, and the other symbols have the same meaning as above. Note that for Schottky barrier diodes, the value of the saturation current temperature exponent, XTI, is usually 2. Temperature appears explicitly in the value of junction potential, U (in spice PHI), for all the device models. The temperature dependence is determined by:  N N  a d kT   U(T) =  log 2 q e N (T)  iwhere k is Boltzmann's constant, q is the electronic charge, N_{a} is the acceptor impurity density, N_{d} is the donor impurity density, N_{i} is the intrinsic carrier concentration, and E_{g} is the energy gap. Temperature appears explicitly in the value of surface mobility, M_{0} (or UO), for the MOSFET model. The temperature dependence is determined by: M (T ) 0 0 M (T) =  0 1.5  T  T  0The effects of temperature on resistors is modeled by the formula: R(T) = R(T_{0} ) [1 + TC_{1} (T  T_{0} ) + TC_{2} (T  T_{0})^{2} ] where T is the circuit temperature, T_{0} is the nominal temperature, and TC_{1} and TC_{2} are the first and secondorder temperature coefficients. 1.3 CONVERGENCEBoth dc and transient solutions are obtained by an iterative process which is terminated when both of the following conditions hold:
Failure to converge in dc analysis is usually due to an error in specifying circuit connections, element values, or model parameter values. Regenerative switching circuits or circuits with positive feedback probably will not converge in the dc analysis unless the OFF option is used for some of the devices in the feedback path, or the .NODESET control line is used to force the circuit to converge to the desired state. 