2.6.5 MultiDimensional Models
The EbersMoll Transistor Model
The procedure for modeling onedimensional nonlinear element characteristics can be easily extended to the multidimensional case. Let's demonstrate multidimensional device modeling on a practical example by defining nonlinear DC models for a bipolar junction transistor (see Figure 6.4).
Figure 6.4: NPN transistor
Our considerations will be based on the BJT model introduced by Ebers and Moll which expresses the relations between the transistor currents and voltages , , , and as
In these equations, the parameter represents the transport saturation current, and denote the largesignal reverse and forward current gains of the common base configuration, and designates the thermal voltage. In integrated circuit design, the saturation current is usually expressed as the product of the transport saturation current density , which is a process parameter, and the emitter area , which is a design parameter:
The remaining two unknown voltages and currents at the transistor's terminals, and can be computed from KCL and KVL (see Figure 6.5) as
Figure 6.5: NPN transistor and corresponding ABM port branch definition
In most linear applications, bipolar transistors are typically operated in the forward active region which is roughly characterized by and . Under these assumptions we can simplify the EbersMoll model to
because as compared to the terms involving , all other terms are smaller by several orders of magnitude.
A BJT operating in the forward active region acts as a good current amplifier from the base current to the collector current with the gain relationship
The parameter denotes the largesignal forward current gain in commonemitter configuration. It is often more convenient to think in terms of forward and reverse current gains with respect to the base current, i.e. and , than in terms of the model parameters and in the original EbersMoll equations. The relationship between and , as well as between and is given by
or, equivalently,
By making use of parameter translation rules in the model definition (see Section 2.3.7), we can let Analog Insydes compute the values for and automatically from given values for and .
Implementation of Nonlinear DC Transistor Models
With the above background information on transistor models we are now ready to define a largesignal BJT model for DC circuit analysis. We start by implementing a global DC model for an NPN transistor using the unsimplified device equations after Ebers and Moll from the previous subsection.
Name > NPNBJT,
Selector > EbersMoll,
Scope > Global,
Ports > {C, B, E},
Let's decide that we do not want to characterize a transistor by the EbersMoll model parameters Is, alphaf, alphar, and Vt but want to use the parameters Js, Area, betaf, betar, and Temperature instead. We do not need to rewrite the model equations if we specify translation rules which translate our model parameters to those of the EbersMoll model. Remember that the function ThermalVoltage has already been defined in Section 2.6.2.
Parameters > {betaf, betar, Js, Area, Global[Temperature]},
Translation >
{alphaf > betaf/(1+betaf), alphar > betar/(1+betar),
Is > Js*Area, Vt :> ThermalVoltage[Temperature]},
The EbersMoll equations describe the functional relations between the voltages and currents at two electrical branches, the basecollector branch and the baseemitter branch, which we use as the port branches of our model. Associated with the port branches are the variables Voltage[B, E], Current[B, E], Voltage[B, C], and Current[B, C], which must be specified as
Variables >
{Current[B, C], Voltage[B, C],
Current[B, E], Voltage[B, E]},
in the model definition.
It remains to write the model equations in terms of the port branch variables, paying attention to the different positive reference directions assumed for the port currents as compared to and in the EbersMoll equations. While the latter are defined to be positive for currents flowing into the collector and emitter, positive values of Current[B, C] and Current[B, E] denote currents flowing out of these terminals. We account for this difference by changing the sign on the righthand side of the model equations.
Definition >
Equations[
Current[B, C] == Is*(Exp[Voltage[B, E]/Vt]  1)
+ Is/alphar*(Exp[Voltage[B, C]/Vt]  1),
Current[B, E] == Is/alphaf*(Exp[Voltage[B, E]/Vt]  1)
 Is*(Exp[Voltage[B, C]/Vt]  1)
],
To store the transistor model in the global database we wrap the complete Model definition into a Circuit structure and expand it with ExpandSubcircuits.
In[8]:= Circuit[ Model[ Name > NPNBJT, Selector > EbersMoll, Scope > Global, Ports > {C, B, E}, Parameters > {betaf, betar, Js, Area, Global[Temperature]}, Translation > {alphaf > betaf/(1+betaf), alphar > betar/(1+betar), Is > Js*Area, Vt :> ThermalVoltage[Temperature]}, Variables > {Current[B, C], Voltage[B, C], Current[B, E], Voltage[B, E]}, Definition > Equations[ Current[B, C] == Is*(Exp[Voltage[B, E]/Vt]  1) + Is/alphar*(Exp[Voltage[B, C]/Vt]  1), Current[B, E] == Is*(Exp[Voltage[B, C]/Vt]  1) + Is/alphaf*(Exp[Voltage[B, E]/Vt]  1) ] ] ] // ExpandSubcircuits;
Similarly, we define a simplified EbersMoll model for transistors operating in the forward active region.
In[9]:= Circuit[ Model[ Name > NPNBJT, Selector > EbersMollForwardActive, Scope > Global, Ports > {C, B, E}, Parameters > {betaf, Js, Area, Global[Temperature]}, Translation > {alphaf > betaf/(1+betaf), Is > Js*Area, Vt :> ThermalVoltage[Temperature]}, Variables > {Current[B, C], Voltage[B, C], Current[B, E], Voltage[B, E]}, Definition > Equations[ Current[B, C] == Is*(Exp[Voltage[B, E]/Vt]), Current[B, E] == Is/alphaf*(Exp[Voltage[B, E]/Vt]) ] ] ] // ExpandSubcircuits;
Both models are now stored in the global database:
In[10]:= GlobalSubcircuits[]
Out[12]=
