=========GUMMEL_POON_TEST_METHODS===========
This website attempts to show how to test and display GummelPoon model
curves such as
are shown below. There are ways in ngspice to process data and display it in the same
format as is found in GummelPoon documentation. Ngspice has ways to process
data curves, and the resulting data can be reformatted to display any type of curve.
A pdf file containing all the Ngspice GummelPoon
simulation of parameters can be
found here.
The GummelPoon parameters are grouped under the following headings
Gummel Most of the DC behavior over current is defined here
LowCurrent The lifetime of minorities carriers define low current behavior
Resistance High current behavior is mostly defined by internal resistances
Capacitance Stray capacitance has an important impact at high frequencies.
Speed Speed is mainly defined by transit time across the base
Noise??? Recommend using ngspice’s transient noise features instead
Temperature Critical to designing low TC internal bandgap references.
.MODEL NPNV NPN(
* ==============Gummel==========================================
+ IS=15.51E-18 NF=1.005 BF=110 VAF=130.2 IKF=0.0001
+ NR=1.006 BR=0.4822 VAR=4.286 IKR=0.0002472
* ==============LowCurrent=============================================
+ ISE=9.15E-16 NE=2
+ ISC=1E-21 NC=2
* ==============Resistance=============================================
+ RB=732 RBM=441.2 IRB=7.5E-04
+ RE=15.33 RC=109.1
* ==============Capacitance=============================================
+ CJE=1.727E-14 VJE=0.6408 MJE=0.2563
+ CJC=1.826E-14 VJC=0.6399 MJC=0.3531
+ CJS=2.939E-14 VJS=0.3488 MJS=0.1813 XCJC=0.4201
* ==============Speed=============================================
+ TF=4.65E-12 XTF=1.25 VTF=1 ITF=0.009532
+ TR=6E-09 FC=0.88 PTF=205
* ==============Noise??=============================================
+ KF=1.000E-16 AF=1
* ==============Temperature=============================================
+ XTB=1.4 EG=1.11 XTI=8 TNOM=25 )
* ===================================================================
The Noise??? parameters are not recommended for use. It is so easy to do noise
wrong both in the lab and as a simulation. Investigating noise using more than
one method is highly recommended. Ngspice can do noise in a transient simulation.
The main advantage a Vbic model has over the GummelPoon model is quasi-saturation modeling.
For bipolar processes which are high voltage, charge limited speed starts to come into play
at the transistor’s collector region. A high voltage requirement means that the doping
levels in the collector will be low. And this encouraging things like electrons towards
a speed limitation. Because of this, the collector resistance on a normal curve tracer plot
will look like it increases at higher currents. Vbic added in addition some more useful modeling
parameters for power transistors, as is shown in the curve below.
The impact quasi-saturation has on speed is important. Because charge is reaching
a speed limit in the collector, the ability of vbic to model the speed impact becomes
a critical need. A bipolar process intended to drive CRT monitors typically run into this
effect when it drives voltages as high as 70Volts at high speeds. For most processes
however, the GummelPoon model works well enough for just about everything else.
=============HOW_SIMULATION_IS_DONE=================================================
All spice code is included as text in this pdf document.
TextWrangler seems to work well as a text editor.
The text can be copied and pasted and into a spice file.
It is best to save the spice file in
unix format.
Ngspice is started with typing the following line...
> ngspice
Supplying your path to the test circuit will run the program..
ngspice 1 -> source /Users/don_sauer/Downloads/stabie/SI_Lib/Tests.cir
The following is a typical result...
===============SPICE_MODEL_SCHEMATIC===========================================
** ___
** |(C)| NPN
** SPICE MODEL |___|
** <actual_behavior> |
** <varies from spice model !> / RC 110ohms VAF=215
** \
** / 4fF
** ________________________|_____________________
** | | | | | | _|_ _|_Cjs
** | |12fF | | |Ir/BR |Irn / _ \ ___
** | | | / _|_ _|_ \/ \/ |gnd!
** _|_Cjcx _|_Cjc _|_Cdc \ ^ ^ /\_/\ _|_
** ___ ___ ___ / /_\ /_\ \___/ \sub/
** ___ | Rbb'| | gmin \ | | Ic | \ /
** |(B)|_|_/\ __|______|______|____|______| | | V
** |___| \/ | | | _|_ _|_ | V (hidden)
** 600ohms _|_Cje _|_Cde \ \ / \ / |
** BF=116 ___ ___ / _v_ _v_ |
** |20fF | gmin \ |If/Bf |Ifn |
** |______|______|____|______|______|
** |
** TF=8ps / RE 45ohms
** \
** /
** _|_
** |(E)|
** |___|
**
**
=============PARAMETER_DATA_FORMAT===========================================
The parameter name and its meaning is used as a header.
The parameter’s location within its group follows.
The plots generated from the simulation are next.
The full source code for the simulation is last.
This text source code can be copied and pasted into a spice file to run.
The following is an example section from this full pdf file which demonstrates
how voltages over temperature can be done in ngspice.
===========TemperatureTests=====================
* ==============Temperature=============================================
+ XTB=1.4 EG=1.11 XTI=8 TNOM=25 )
* ==================================================================
Test Match NPN TC to Silicon
* _____
* | 0| Use this to simulate Vbe and Beta over temp.
* | _|_ Tweek the model terms IS, XTB, and XTI.
* | / _ \ Repeat until simulations match actual silicon.
* _|_ \/ \/ Different simulators often give different results!
* /// /\_/\ I1
* \___/ V2 R2
* | __/\ /\ /\__
* _______|_________ C _|_ \/ \/ _|_
* | |C ____ / \ ///
* | R1 _| | BR1 |
* |___/\ /\ /\_|' npn ____| |
* \/ \/ |`-> B \___/
* B | _|_
* _|_ ///
* ///
I1 0 C DC 1e-6
R1 C B 1
R2 VR1 0 1k
Q1 C B 0 NPNV 1
BR1 VR1 0 v = V(C) -V(B)
.control
dc TEMP -55 125 20
let Vbe = v(c)
plot Vbe
let beta = 1e-6/v(VR1)
plot beta
print Vbe beta
.endc
.MODEL NPNV NPN(
* ==============Gummel==========================================
+ IS=15.51E-18 NF=1.005 BF=110 VAF=130.2 IKF=0.0001
+ NR=1.006 BR=0.4822 VAR=4.286 IKR=0.0002472
* ==============LowCurrent=============================================
+ ISE=9.15E-16 NE=2
+ ISC=1E-21 NC=2
* ==============Resistance=============================================
+ RB=732 RBM=441.2 IRB=7.5E-04
+ RE=15.33 RC=109.1
* ==============Capacitance=============================================
+ CJE=1.727E-14 VJE=0.6408 MJE=0.2563
+ CJC=1.826E-14 VJC=0.6399 MJC=0.3531
+ CJS=2.939E-14 VJS=0.3488 MJS=0.1813 XCJC=0.4201
* ==============Speed=============================================
+ TF=4.65E-12 XTF=1.25 VTF=1 ITF=0.009532
+ TR=6E-09 FC=0.88 PTF=205
* ==============Noise??=============================================
+ KF=1.000E-16 AF=1
* ==============Temperature=============================================
+ XTB=1.4 EG=1.11 XTI=8 TNOM=25 )
* ===================================================================
.end
*********Actual Silicon DATA***********************
** Temp NPN_1uA Beta
** -55 8.23E-01 67%
** -35 7.87E-01
** -15 7.43E-01 75%
** 5 6.96E-01
** 25 6.53E-01 100%
** 45 6.09E-01
** 65 5.64E-01 125%
** 85 5.19E-01
** 105 4.74E-01
** 125 4.17E-01 160%
** tweek XTI & IS XTB
* source /Users/don_sauer/Downloads/stabie/SI_Lib/Tests.cir
11-16-13-11-56-01
dsauersanjose@aol.com
Don Sauer