# How does SPICE calculate Drain current of a MOSFET model?

I am trying to use a MOSFET model for constructing transistor level circuits in ADS. (For instance, an amplifier). I saw that we could import transistor libraries from various locations (https://www.ece.ucsb.edu/~long/ece594a/ece594a.htm) or from a library (https://ece.umd.edu/~newcomb/pub/spicedsk/bicmosis/bsim3.lib) to ADS/SPICE schematic.

I see that the descriptions of the MOSFET model are available as PDF (http://cmosedu.com/cmos1/BSIM4_manual.pdf) where they describe the equations for MOSFET and values of the parameters (LL,LLN,etc...) are available in the library file (*.lib). This could differ for each model (Equations/parameters).

Now, when we include this model in SPICE or ADS and plot the drain current or transconductance, how do we know that SPICE/ADS uses the particular equations for that particular model? Because the equations are not defined in the model file as well.

I am happy to declare a separate equation for the current equation in ADS for that model, but how its plotting without it? Is it plotting with basic LEVEL-1 equations (square law)?

how do we know that SPICE/ADS uses the particular equations for that >particular model?

You invoke a particular model on Spice (I am using Ngapice but the idea is similar in the Spice you use) by passing to it a .model parameter, if you did not do that a default model will be assumed by the Spice simulator (usually level 1).

The models are the equations you are refereeing to, for example if you passed level=1 to the simulator you will be using the Shichman-Hodges model if you passed level=8 you will be using the BSIM model. off-course The models will vary in complexity, the more sophisticated circuits you build the more complex models you may wish to use to account for parasitics and other circuit behaviors.

Ngspice manual have a list of models available (see the figure) you may want to read section 11.2 form the manual.

There are two parameters in the model file that tell SPICE which equations to use: LEVEL and VERSION. To force SPICE to use the BSIM4 model that you reference, you set LEVEL=14 and VERSION=4.3.0

Of course, the set of equations used by SPICE must be the same as those used by the person who developed the model parameters for a particular transistor. It's also necessary that the particular SPICE simulator you use (PSPICE, HSPICE, LTspice, etc.) understands the equations for the particular model (BSIM3, BSIM4, etc.) used. As new transistor models are developed it can take some months or years before they are well supported by the popular simulators.

• Thanks. So, do you mean that SPICE already has the equations programmed/we switch between the equations using LEVEL,VERSION? Commented Sep 9, 2018 at 18:11