Appendix B.1: CMOS Unity-Gain Buffer HSPICE File
G.K. Fedder,
Simulation of Microelectromechanical Systems,
Ph.D. Thesis , U.C.Berkeley, 1994.
Buffer with pmos current mirror load 7/27/94
* There are four different input arrangements:
* 1) DC/AC input - to determine gain, bandwidth and offset
* (dc vtest -0.3 0.3 0.02)
* (ac dec 10 10k 1G)
* 2) Square wave input - to determine risetime, offset and gain
* (tran 1n 100n)
* 3) AC input with series cap. - to determine input capacitance
* (ac dec 10 10k 1Meg)
* 4) Capacitor divider input - actual sensor operation conditions
* (tran 1u 100u)
*
* differential-pair (buffer) output load capacitance (for #1,2,3 tests)
* (use cshield for #4 test instead)
.param cout=3p
.param rout=100k
* source-follower output load capacitance
.param coutb=10p
* shield capacitance
.param cshield=3p
* reference capacitance
.param cref=45f
* variable sense capacitance
.param csense=200f
* fixed sense capacitance
.param csfixed=100f
* fixed parasitic capacitance to ground
.param cparasitic=10f
**************
* 1,2) uncomment for DC, AC, or Square wave input
vtest 3 0 dc 0 ac 0.1 pulse(-0.02 0.02 0 .1u .1u 5u 10u)
**************
* 3) uncomment for AC input with series capacitor
*vtest 64 0 dc 0 ac 0.1
*ctest 64 3 10f
**************
* 4) uncomment for Capacitor Divider input
*rinput 63 3 1
*rshield 65 7 1
**************
*
* Power supplies
*
vdd 20 0 dc 4.0
vss 10 0 dc -2.5
**************
*
* Capacitor divider section (only connected for test #4 )
*
* balanced modulation voltages
vtest1a 60 0 dc 0 pulse(0 0.3 0 0.1u 0.1u 5u 10u)
vtest1b 61 0 dc 0 pulse(0 -0.3 5u 0.1u 0.1u 5u 10u)
etest1 30 0 vol='v(60)+v(61)'
etest2 31 0 vol='-v(30)'
*
* capacitive divider
cupper 30 63 cref
clower 63 32 csense
clowerfix 63 32 csfixed
cpar 63 0 cparasitic
cshld 65 63 cshield
*
* interconnect resistance to upper plate (can neglect)
rlower 31 32 100k
*
**************
* big resistors to provide dc path to ground for simulator
rdummy1 63 0 10000x
rdummy2 65 0 10000x
rdummy3 0 3 10000x
**************
*
* input diode
* (comment out to find buffer input capacitance w/o diode junction cap)
d1 0 3 diode1
**************
*
* Output load capacitance
cout1 7 0 cout
rout1 7 0 rout
coutb 9 0 coutb
**************
*
* Current reference
*
iref 0 2 dc 80u
m8a 2 2 10 10 mn_4um w=100u l=4u
+ AD=1000.0P PD=120.0U AS=1000.0P PS=120.0U
m8b 2 2 10 10 mn_4um w=100u l=4u
+ AD=1000.0P PD=120.0U AS=1000.0P PS=120.0U
**************
*
* Buffer
*
* Input diff pair
m1a 4 3 8 8 mn_4um w=100u l=4u
+ AD=700.0P PD=47.3U AS=1000.0P PS=120.0U
m1b 4 3 8 8 mn_4um w=100u l=4u
+ AD=700.0P PD=47.3U AS=1000.0P PS=120.0U
m2a 7 7 8 8 mn_4um w=100u l=4u
+ AD=700.0P PD=47.3U AS=1000.0P PS=120.0U
m2b 7 7 8 8 mn_4um w=100u l=4u
+ AD=700.0P PD=47.3U AS=1000.0P PS=120.0U
* Drain isolation
m3 6 5 4 4 mn_4um w=100u l=4u
+ AD=1000.0P PD=120.0U AS=700.0P PS=47.3U
m4 5 5 7 7 mn_4um w=100u l=4u
+ AD=1000.0P PD=120.0U AS=700.0P PS=47.3U
* Load transistors
m5 6 6 20 20 mp_8um w=100u l=8u
+ AD=1000.0P PD=120.0U AS=1000.0P PS=120.0U
m6 5 6 20 20 mp_8um w=100u l=8u
+ AD=1000.0P PD=120.0U AS=1000.0P PS=120.0U
* Diff pair current source
m7a 8 2 10 10 mn_4um w=100u l=4u
+ AD=1000.0P PD=120.0U AS=1000.0P PS=120.0U
m7b 8 2 10 10 mn_4um w=100u l=4u
+ AD=1000.0P PD=120.0U AS=1000.0P PS=120.0U
* Source follower buffer
m10a 20 7 9 9 mn_4um w=50u l=4u
+ AD=500.0P PD=22.0U AS=500.0P PS=70.0U
m10b 20 7 9 9 mn_4um w=50u l=4u
+ AD=500.0P PD=22.0U AS=500.0P PS=70.0U
m9a 9 2 10 10 mn_4um w=50u l=4u
+ AD=500.0P PD=22.0U AS=500.0P PS=70.0U
m9b 9 2 10 10 mn_4um w=50u l=4u
+ AD=500.0P PD=22.0U AS=500.0P PS=70.0U
**************************************************
* MOS Models are modified from the Orbit 2um models
* kp, vto, gamma, and lambda are from MICS cmos25-run data
**************************************************
.model diode1 d level=3 l=9e-6 w=15e-6 cj=5.3e-3 is=1 xw=1e-6
.model mn_4um nmos level=2 capop=0 acm=0
+ vto=0.56 kp=33u gamma=0.55 phi=0.6
+ lambda=0.043 rdc=10.0 rsc=10.0
+ ld=0.22u xj=0.25u tox=500.0e-10 nsub=2.3e+16
+ uo=619.0 ucrit=2.6e+04 uexp=0.106
+ neff=1.000 delta=1.4 nfs=1.38e+12
+ rsh=4.0 pb=0.8
+ cj=4.06e-04 mj=0.443 cjsw=4.44e-10 mjsw=0.291
+ cgdo=2.5e-10 cgso=2.5e-10 cgbo=2.5e-10
+ vmax=6.84e+4
+ nss=1.0e+12 tpg=1.0
*
.model mp_4um pmos level=2
+ vto=-0.56 kp=17u gamma=0.55 phi=0.6
+ lambda=0.046 rdc=100.0 rsc=100.0
+ ld=0.16u xj=0.25u tox=500.0e-10 nsub=0.79e+16
+ uo=257.0 ucrit=2.4e+04 uexp=0.270
+ neff=1.001 delta=0.0 nfs=1.1e+12
+ rsh=4.0 pb=0.71
+ cj=2.30e-04 mj=0.410 cjsw=2.20e-10 mjsw=0.1
+ cgdo=2.5e-10 cgso=2.5e-10 cgbo=2.5e-10
+ vmax=4.50e+4
+ nss=1.0e+12 tpg=-1.0
*
.model mp_8um pmos level=2
+ vto=-0.56 kp=17u gamma=0.55 phi=0.6
+ lambda=0.023 rdc=100.0 rsc=100.0
+ ld=0.16u xj=0.25u tox=500.0e-10 nsub=0.79e+16
+ uo=257.0 ucrit=2.4e+04 uexp=0.270
+ neff=1.001 delta=0.0 nfs=1.1e+12
+ rsh=4.0 pb=0.71
+ cj=2.30e-04 mj=0.410 cjsw=2.20e-10 mjsw=0.1
+ cgdo=2.5e-10 cgso=2.5e-10 cgbo=2.5e-10
+ vmax=4.50e+4
+ nss=1.0e+12 tpg=-1.0
*
.options acct chgtol=1e-16 post
.op
* 1a) uncomment for DC analysis
*.dc vtest -2.5 2.5 .05
* 1b,3,4) uncomment for AC analysis
.ac dec 10 10k 20meg sweep coutb lin 2 10f 10pf
* 2,4) uncomment for AC analysis
*.tran 0.2u 30u
.end