diff --git a/examples/TransImpedanceAmp/README b/examples/TransImpedanceAmp/README new file mode 100644 index 000000000..ea5c249da --- /dev/null +++ b/examples/TransImpedanceAmp/README @@ -0,0 +1,41 @@ +This directory holds a SPICE netlist with SPICE2 POLY constructs in +controlled sources as typically found in vendor models. The circuit +is just a two-stage transimpedance amp using an AD8009, +along with some slow components (AD780 and OP177A) to set bias +points. Vendor models are used for all active components. +Successfully running this test shows that you have successfully built +the XSpice stuff with the POLY codemodel, and that you should be able +to simulate SPICE netlists with embedded vendor models. + +To run this netlist, just do the following: + +[localhost]# ngspice +ngspice 1 -> source output.net +ngspice 2 -> run +ngspice 3 -> plot Vout2 + +(Note that when you read in the netlist, you will get a bunch of +warnings saying stuff like: + +Warning -- Level not specified on line "()" +Using level 1. + +Also, ngspice will complain about: + +Error on line 50 : r:u101:1 u101:40 0 1e3 tc=7e-6 + unknown parameter (tc) +Error on line 283 : .temp 0 25 50 75 100 + Warning: .TEMP card obsolete - use .options TEMP and TNOM + +You can ignore all this stuff . . . .) + +You should get a pop-up window showing two square pulses (the second +smaller than the first) with a little bit of overshoot on the rising +and falling edges. + +This stuff was done as an adjunct to work on the gEDA project. +Information about gEDA is available at http://geda.seul.org/ . +Please direct all questions/suggestions/bugs/complaints about XSpice +extensions to ngspice to Stuart Brorson -- mailto:sdb@cloud9.net. + +6.23.2002 -- SDB. diff --git a/examples/TransImpedanceAmp/output.net b/examples/TransImpedanceAmp/output.net new file mode 100644 index 000000000..22d708161 --- /dev/null +++ b/examples/TransImpedanceAmp/output.net @@ -0,0 +1,460 @@ +********************************************************* +* Spice file generated by gnetlist * +* spice-SDB version 3.30.2003 by SDB -- * +* provides advanced spice netlisting capability. * +* Documentation at http://www.brorson.com/gEDA/SPICE/ * +********************************************************* + +* Command stuff +.options gmin=1e-9 +.options abstol=1e-11 +* .ac dec 10 10MegHz 10 Ghz +* Remainder of file +R112 0 6 1Meg +R111 0 8 10Meg +R110 0 7 1Meg +Rref2in 11 VU780out 25000 +Rref2fb VU2bias+ 11 33 +C201 0 9 1uF +C202 10 0 1uF +XU200 0 11 10 9 VU2bias+ OP177A +R202 10 +5V 22 +R201 -5V 9 22 +Rref1in VU100in- VU780out 9130 +Rref1fb VU1bias+ VU100in- 33 +XU101 +5V 7 0 6 VU780out 8 AD780A +* AD780A SPICE Macromodel 5/93, Rev. A +* AAG / PMI +* +* This version of the AD780 voltage reference model simulates the worst case +* parameters of the 'A' grade. The worst case parameters used +* correspond to those in the data sheet. +* +* Copyright 1993 by Analog Devices, Inc. +* +* Refer to "README.DOC" file for License Statement. Use of this model +* indicates your acceptance with the terms and provisions in the License Statement. +* +* NODE NUMBERS +* VIN +* | TEMP +* | | GND +* | | | TRIM +* | | | | VOUT +* | | | | | RANGE +* | | | | | | +.SUBCKT AD780A 2 3 4 5 6 8 +* +* BANDGAP REFERENCE +* +I1 4 40 DC 1.21174E-3 +R1 40 4 1E3 TC=7E-6 +EN 10 40 42 0 1 +G1 4 10 2 4 4.85668E-9 +F1 4 10 POLY(2) VS1 VS2 (0,2.42834E-5,3.8E-5) +Q1 2 10 11 QT +I2 11 4 DC 12.84E-6 +R2 11 3 1E3 +I3 3 4 DC 0 +* +* NOISE VOLTAGE GENERATOR +* +VN1 41 0 DC 2 +DN1 41 42 DEN +DN2 42 43 DEN +VN2 0 43 DC 2 +* +* INTERNAL OP AMP +* +G2 4 12 10 20 1.93522E-4 +R3 12 4 2.5837E9 +C1 12 4 6.8444E-11 +D1 12 13 DX +V1 2 13 DC 1.2 +* +* SECONDARY POLE @ 508 kHz +* +G3 4 14 12 4 1E-6 +R4 14 4 1E6 +C2 14 4 3.1831E-13 +* +* OUTPUT STAGE +* +ISY 2 4 6.8282E-4 +FSY 2 4 V1 -1 +RSY 2 4 500E3 +* +G4 4 15 14 4 25E-6 +R5 15 4 40E3 +Q2 4 15 16 QP +I4 2 16 DC 100E-6 +Q3 4 16 18 QP +R6 18 23 15 +R7 16 21 150E3 +R8 2 17 34.6 +Q4 17 16 19 QN +R9 21 20 6.46E3 +R10 20 4 6.1E3 +R11 20 5 53E3 +R12 20 8 15.6E3 +I5 5 4 DC 0 +I6 8 4 DC 0 +VS1 21 19 DC 0 +VS2 23 21 DC 0 +L1 21 6 1E-7 +* +* OUTPUT CURRENT LIMIT +* +FSC 15 4 VSC 1 +VSC 2 22 DC 0 +QSC 22 2 17 QN +* +.MODEL QT NPN(IS=1.68E-16 BF=1E4) +.MODEL QN NPN(IS=1E-15 BF=1E3) +.MODEL QP PNP(IS=1E-15 BF=1E3) +.MODEL DX D(IS=1E-15) +.MODEL DEN D(IS=1E-12 RS=2.425E+05 AF=1 KF=6.969E-16) +.ENDS AD780A +C101 0 U100V- 1uF +C102 U100V+ 0 1uF +XU100 0 VU100in- U100V+ U100V- VU1bias+ OP177A +* OP177A SPICE Macro-model 12/90, Rev. B +* JCB / PMI +* +* Revision History: +* REV. B +* Re-ordered subcircuit call out nodes to put the +* output node last. +* Changed Ios from 1E-9 to 0.5E-9 +* Added F1 and F2 to fix short circuit current limit. +* +* +* This version of the OP-177 model simulates the worst case +* parameters of the 'A' grade. The worst case parameters +* used correspond to those in the data book. +* +* +* Copyright 1990 by Analog Devices, Inc. +* +* Refer to "README.DOC" file for License Statement. Use of this model +* indicates your acceptance with the terms and provisions in the License Statement. +* +* Node assignments +* non-inverting input +* | inverting input +* | | positive supply +* | | | negative supply +* | | | | output +* | | | | | +.SUBCKT OP177A 1 2 99 50 39 +* +* INPUT STAGE & POLE AT 6 MHZ +* +R1 2 3 5E11 +R2 1 3 5E11 +R3 5 97 0.0606 +R4 6 97 0.0606 +CIN 1 2 4E-12 +C2 5 6 218.9E-9 +I1 4 51 1 +IOS 1 2 0.5E-9 +EOS 9 10 POLY(1) 30 33 10E-6 1 +Q1 5 2 7 QX +Q2 6 9 8 QX +R5 7 4 0.009 +R6 8 4 0.009 +D1 2 1 DX +D2 1 2 DX +EN 10 1 12 0 1 +GN1 0 2 15 0 1 +GN2 0 1 18 0 1 +* +EREF 98 0 33 0 1 +EPLUS 97 0 99 0 1 +ENEG 51 0 50 0 1 +* +* VOLTAGE NOISE SOURCE WITH FLICKER NOISE +* +DN1 11 12 DEN +DN2 12 13 DEN +VN1 11 0 DC 2 +VN2 0 13 DC 2 +* +* CURRENT NOISE SOURCE WITH FLICKER NOISE +* +DN3 14 15 DIN +DN4 15 16 DIN +VN3 14 0 DC 2 +VN4 0 16 DC 2 +* +* SECOND CURRENT NOISE SOURCE +* +DN5 17 18 DIN +DN6 18 19 DIN +VN5 17 0 DC 2 +VN6 0 19 DC 2 +* +* FIRST GAIN STAGE +* +R7 20 98 1 +G1 98 20 5 6 119.8 +D3 20 21 DX +D4 22 20 DX +E1 97 21 POLY(1) 97 33 -2.4 1 +E2 22 51 POLY(1) 33 51 -2.4 1 +* +* GAIN STAGE & DOMINANT POLE AT 0.127 HZ +* +R8 23 98 1.253E9 +C3 23 98 1E-9 +G2 98 23 20 33 33.3E-6 +V1 97 24 1.8 +V2 25 51 1.8 +D5 23 24 DX +D6 25 23 DX +* +* NEGATIVE ZERO AT -4MHZ +* +R9 26 27 1 +C4 26 27 -39.75E-9 +R10 27 98 1E-6 +E3 26 98 23 33 1E6 +* +* COMMON-MODE GAIN NETWORK WITH ZERO AT 63 HZ +* +R13 30 31 1 +L2 31 98 2.52E-3 +G4 98 30 3 33 0.316E-6 +D7 30 97 DX +D8 51 30 DX +* +* POLE AT 2 MHZ +* +R14 32 98 1 +C5 32 98 79.5E-9 +G5 98 32 27 33 1 +* +* OUTPUT STAGE +* +R15 33 97 1 +R16 33 51 1 +GSY 99 50 POLY(1) 99 50 0.725E-3 0.0425E-3 +F1 34 0 V3 1 +F2 0 34 V4 1 +R17 34 99 400 +R18 34 50 400 +L3 34 39 2E-7 +G6 37 50 32 34 2.5E-3 +G7 38 50 34 32 2.5E-3 +G8 34 99 99 32 2.5E-3 +G9 50 34 32 50 2.5E-3 +V3 35 34 6.8 +V4 34 36 4.4 +D9 32 35 DX +D10 36 32 DX +D11 99 37 DX +D12 99 38 DX +D13 50 37 DY +D14 50 38 DY +* +* MODELS USED +* +.MODEL QX NPN(BF=333.3E6) +.MODEL DX D(IS=1E-15) +.MODEL DY D(IS=1E-15 BV=50) +.MODEL DEN D(IS=1E-12, RS=14.61K, KF=2E-17, AF=1) +.MODEL DIN D(IS=1E-12, RS=7.55E-6, KF=3E-15, AF=1) +.ENDS +R102 U100V+ +5V 22 +R101 -5V U100V- 22 +R98 0 VU2bias+ 1K +R99 0 VU1bias+ 1K +C95 VU2bias+ 0 100pF +* C96 0 5 1uF +* C97 4 0 1uF +Cphotodiode 0 Vinput 0.9pF +C99 0 VU1bias+ 100pF +R25 Vout2 2 250 +C24 Vout1 VU1in- 1pF +R24 VU1in- 1 150 +* C21 0 3 1uF +Cc Vout2 VU2in- 1pF +Rc Vout1 VU2in- 10 +RL 0 Vout2 50 +.TEMP 0 25 50 75 100 +C12 2 0 1.5pF +C11 0 V2- .01uF +C10 V2+ 0 .01uF +R13 +5V V2+ 5 +R12 V2- -5V 5 +R26 2 VU2in- 150 +R11 Vout2 VU2in- 180 +XU2 VU2bias+ VU2in- V2+ V2- Vout2 AD8009an +XU1 VU1bias+ VU1in- V1+ V1- Vout1 AD8009an +***** AD8009 SPICE model Rev B SMR/ADI 8-21-97 + +* Copyright 1997 by Analog Devices, Inc. + +* Refer to "README.DOC" file for License Statement. Use of this model +* indicates your acceptance with the terms and provisions in the License Statement. + +* rev B of this model corrects a problem in the output stage that would not +* correctly reflect the output current to the voltage supplies + +* This model will give typical performance characteristics +* for the following parameters; + +* closed loop gain and phase vs bandwidth +* output current and voltage limiting +* offset voltage (is static, will not vary with vcm) +* ibias (again, is static, will not vary with vcm) +* slew rate and step response performance +* (slew rate is based on 10-90% of step response) +* current on output will be reflected to the supplies +* vnoise, referred to the input +* inoise, referred to the input + +* distortion is not characterized + +* Node assignments +* non-inverting input +* | inverting input +* | | positive supply +* | | | negative supply +* | | | | output +* | | | | | +.SUBCKT AD8009an 1 2 99 50 28 + +* input stage * + +q1 50 3 5 qp1 +q2 99 5 4 qn1 +q3 99 3 6 qn2 +q4 50 6 4 qp2 +i1 99 5 1.625e-3 +i2 6 50 1.625e-3 +cin1 1 98 2.6e-12 +cin2 2 98 1e-12 +v1 4 2 0 + +* input error sources * + +eos 3 1 poly(1) 20 98 2e-3 1 +fbn 2 98 poly(1) vnoise3 50e-6 1e-3 +fbp 1 98 poly(1) vnoise3 50e-6 1e-3 + +* slew limiting stage * + +fsl 98 16 v1 1 +dsl1 98 16 d1 +dsl2 16 98 d1 +dsl3 16 17 d1 +dsl4 17 16 d1 +rsl 17 18 0.22 +vsl 18 98 0 + +* gain stage * + +f1 98 7 vsl 2 +rgain 7 98 2.5e5 +cgain 7 98 1.25e-12 +dcl1 7 8 d1 +dcl2 9 7 d1 +vcl1 99 8 1.83 +vcl2 9 50 1.83 + +gcm 98 7 poly(2) 98 0 30 0 0 1e-5 1e-5 + +* second pole * + +epole 14 98 7 98 1 +rpole 14 15 1 +cpole 15 98 2e-10 + +* reference stage * + +eref 98 0 poly(2) 99 0 50 0 0 0.5 0.5 + +ecmref 30 0 poly(2) 1 0 2 0 0 0.5 0.5 + +* vnoise stage * + +rnoise1 19 98 4.6e-3 +vnoise1 19 98 0 +vnoise2 21 98 0.53 +dnoise1 21 19 dn + +fnoise1 20 98 vnoise1 1 +rnoise2 20 98 1 + +* inoise stage * + +rnoise3 22 98 8.18e-6 +vnoise3 22 98 0 +vnoise4 24 98 0.575 +dnoise2 24 22 dn + +fnoise2 23 98 vnoise3 1 +rnoise4 23 98 1 + +* buffer stage * + +gbuf 98 13 15 98 1e-2 +rbuf 98 13 1e2 + +* output current reflected to supplies * + +fcurr 98 40 voc 1 +vcur1 26 98 0 +vcur2 98 27 0 +dcur1 40 26 d1 +dcur2 27 40 d1 + +* output stage * + +vo1 99 90 0 +vo2 91 50 0 +fout1 0 99 poly(2) vo1 vcur1 -9.27e-3 1 -1 +fout2 50 0 poly(2) vo2 vcur2 -9.27e-3 1 -1 +gout1 90 10 13 99 0.5 +gout2 91 10 13 50 0.5 +rout1 10 90 2 +rout2 10 91 2 +voc 10 28 0 +rout3 28 98 1e6 +dcl3 13 11 d1 +dcl4 12 13 d1 +vcl3 11 10 -0.445 +vcl4 10 12 -0.445 + +.model qp1 pnp() +.model qp2 pnp() +.model qn1 npn() +.model qn2 npn() +.model d1 d() +.model dn d(af=1 kf=1e-8) +.ends +R6 1 Vout1 250 +C3 1 0 1.5pF +V3 VU1in- Vinput DC 0V +* .INCLUDE /home/sdb/OpticalReceiver/Simulation.cmd +R5 -5V Vout1 1K +I1 0 Vinput AC 1 PWL (0ns 0mA 1nS 0mA 1.01nS 1mA 10nS 1mA 10.01nS 0mA 20nS 0mA 20.01nS .1mA 30nS .1mA 30.01nS 0mA) +R4 V1- -5V 5 +C2 0 V1- .01uF +V2 -5V 0 DC -5V +R2 VU1in- Vout1 180 +V1 +5V 0 DC 5V +C1 V1+ 0 .01uF +R1 +5V V1+ 5 +* When run, this SPICE file should output a square waveform +* with a little overshoot +.tran 0.05ns 40ns +.plot Vout2 + +.control +codemodel analog.lib +run +.endc + +.END diff --git a/examples/cider/bicmos/bicmos.lib b/examples/cider/bicmos/bicmos.lib new file mode 100644 index 000000000..cc1eb20d9 --- /dev/null +++ b/examples/cider/bicmos/bicmos.lib @@ -0,0 +1,127 @@ +.MODEL M_NPN nbjt level=2 ++ title TWO-DIMENSIONAL NUMERICAL POLYSILICON EMITTER BIPOLAR TRANSISTOR ++ * Since, we are only simulating half of a device, we double the unit width ++ * 1.0 um emitter length ++ options defw=2.0u ++ output dc.debug stat ++ ++ *x.mesh w=2.5 n=5 ++ x.mesh w=2.0 h.e=0.05 h.m=0.2 r=1.5 ++ x.mesh w=0.5 h.s=0.05 h.m=0.1 r=1.5 ++ ++ y.mesh l=-0.2 n=1 ++ y.mesh l= 0.0 n=5 ++ y.mesh w=0.10 h.e=0.002 h.m=0.01 r=1.5 ++ y.mesh w=0.15 h.s=0.002 h.m=0.01 r=1.5 ++ y.mesh w=0.35 h.s=0.01 h.m=0.2 r=1.5 ++ y.mesh w=0.40 h.e=0.05 h.m=0.2 r=1.5 ++ y.mesh w=0.30 h.s=0.05 h.m=0.1 r=1.5 ++ ++ domain num=1 material=1 x.l=2.0 y.h=0.0 ++ domain num=2 material=2 x.h=2.0 y.h=0.0 ++ domain num=3 material=3 y.l=0.0 ++ material num=1 polysilicon ++ material num=2 oxide ++ material num=3 silicon ++ ++ elec num=1 x.l=0.0 x.h=0.0 y.l=1.1 y.h=1.3 ++ elec num=2 x.l=0.0 x.h=0.5 y.l=0.0 y.h=0.0 ++ elec num=3 x.l=2.0 x.h=3.0 y.l=-0.2 y.h=-0.2 ++ ++ doping gauss n.type conc=3e20 x.l=2.0 x.h=3.0 y.l=-0.2 y.h=0.0 ++ + char.l=0.047 lat.rotate ++ doping gauss p.type conc=1e19 x.l=0.0 x.h=5.0 y.l=-0.2 y.h=0.0 ++ + char.l=0.094 lat.rotate ++ doping unif n.type conc=1e16 x.l=0.0 x.h=5.0 y.l=0.0 y.h=1.3 ++ doping gauss n.type conc=5e19 x.l=0.0 x.h=5.0 y.l=1.3 y.h=1.3 ++ + char.l=0.100 lat.rotate ++ ++ method ac=direct itlim=10 ++ models bgn srh auger conctau concmob fieldmob + +.MODEL M_NMOS_1 numos ++ output dc.debug stat ++ title 1.0um NMOS Device ++ ++ x.mesh w=0.9 h.e=0.020 h.m=0.2 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=0.4 h.s=0.005 h.m=0.1 r=2.0 ++ x.mesh w=0.4 h.e=0.005 h.m=0.1 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=0.9 h.s=0.020 h.m=0.2 r=2.0 ++ ++ y.mesh l=-.0200 n=1 ++ y.mesh l=0.0 n=6 ++ y.mesh w=0.15 h.s=0.0001 h.max=.02 r=2.0 ++ y.mesh w=0.45 h.s=0.02 h.max=0.2 r=2.0 ++ y.mesh w=1.40 h.s=0.20 h.max=0.4 r=2.0 ++ ++ region num=1 material=1 y.h=0.0 ++ region num=2 material=2 y.l=0.0 ++ interface dom=2 nei=1 x.l=1.0 x.h=2.0 layer.width=0.0 ++ material num=1 oxide ++ material num=2 silicon ++ ++ elec num=1 x.l=2.5 x.h=3.1 y.l=0.0 y.h=0.0 ++ elec num=2 x.l=1.0 x.h=2.0 iy.l=1 iy.h=1 ++ elec num=3 x.l=-0.1 x.h=0.5 y.l=0.0 y.h=0.0 ++ elec num=4 x.l=-0.1 x.h=3.1 y.l=2.0 y.h=2.0 ++ ++ doping gauss p.type conc=1.0e17 x.l=-0.1 x.h=3.1 y.l=0.0 ++ + char.l=0.30 ++ doping unif p.type conc=5.0e15 x.l=-0.1 x.h=3.1 y.l=0.0 y.h=2.1 ++ doping gauss n.type conc=4e17 x.l=-0.1 x.h=1.0 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss n.type conc=1e20 x.l=-0.1 x.h=0.95 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ doping gauss n.type conc=4e17 x.l=2.0 x.h=3.1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss n.type conc=1e20 x.l=2.05 x.h=3.1 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ ++ contact num=2 workf=4.10 ++ models concmob fieldmob surfmob srh auger conctau bgn ^aval ++ method ac=direct itlim=10 onec + +.MODEL M_PMOS_1 numos ++ title 1.0um PMOS Device ++ ++ x.mesh w=0.9 h.e=0.020 h.m=0.2 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=0.4 h.s=0.005 h.m=0.1 r=2.0 ++ x.mesh w=0.4 h.e=0.005 h.m=0.1 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=0.9 h.s=0.020 h.m=0.2 r=2.0 ++ ++ y.mesh l=-.0200 n=1 ++ y.mesh l=0.0 n=6 ++ y.mesh w=0.15 h.s=0.0001 h.max=.02 r=2.0 ++ y.mesh w=0.45 h.s=0.02 h.max=0.2 r=2.0 ++ y.mesh w=1.40 h.s=0.20 h.max=0.4 r=2.0 ++ ++ region num=1 material=1 y.h=0.0 ++ region num=2 material=2 y.l=0.0 ++ interface dom=2 nei=1 x.l=1.0 x.h=2.0 layer.width=0.0 ++ material num=1 oxide ++ material num=2 silicon ++ ++ elec num=1 x.l=2.5 x.h=3.1 y.l=0.0 y.h=0.0 ++ elec num=2 x.l=1.0 x.h=2.0 iy.l=1 iy.h=1 ++ elec num=3 x.l=-0.1 x.h=0.5 y.l=0.0 y.h=0.0 ++ elec num=4 x.l=-0.1 x.h=3.1 y.l=2.0 y.h=2.0 ++ ++ doping gauss n.type conc=1.0e17 x.l=-0.1 x.h=3.1 y.l=0.0 ++ + char.l=0.30 ++ doping unif n.type conc=5.0e15 x.l=-0.1 x.h=3.1 y.l=0.0 y.h=2.1 ++ doping gauss p.type conc=4e17 x.l=-0.1 x.h=1.0 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss p.type conc=1e20 x.l=-0.1 x.h=0.95 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ doping gauss p.type conc=4e17 x.l=2.0 x.h=3.1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss p.type conc=1e20 x.l=2.05 x.h=3.1 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ ++ contact num=2 workf=5.29 ++ models concmob fieldmob surfmob srh auger conctau bgn ^aval ++ method ac=direct itlim=10 onec diff --git a/examples/cider/bicmos/bicmpd.cir b/examples/cider/bicmos/bicmpd.cir new file mode 100644 index 000000000..8096b49b6 --- /dev/null +++ b/examples/cider/bicmos/bicmpd.cir @@ -0,0 +1,26 @@ +BiCMOS Pulldown Circuit + +VSS 2 0 0v + +VIN 3 2 0v (PULSE 0.0v 4.2v 0ns 1ns 1ns 9ns 20ns) + +M1 8 3 5 11 M_NMOS_1 W=4u L=1u +VD 4 8 0v +VBK 11 2 0v + +Q1 10 7 9 M_NPN AREA=8 +VC 4 10 0v +VB 5 7 0v +VE 9 2 0v + +CL 4 6 1pF +VL 6 2 0v + +.IC V(10)=5.0v V(7)=0.0v +.TRAN 0.1ns 5ns 0ns 0.1ns +.PLOT TRAN I(VIN) + +.include bicmos.lib + +.OPTIONS ACCT BYPASS=1 +.END diff --git a/examples/cider/bjt/astable.cir b/examples/cider/bjt/astable.cir new file mode 100644 index 000000000..bdb4a8a8f --- /dev/null +++ b/examples/cider/bjt/astable.cir @@ -0,0 +1,34 @@ +Astable multivibrator + +vin 5 0 dc 0 pulse(0 5 0 1us 1us 100us 100us) +vcc 6 0 5.0 +rc1 6 1 1k +rc2 6 2 1k +rb1 6 3 30k +rb2 5 4 30k +c1 1 4 150pf +c2 2 3 150pf +q1 1 3 0 qmod area = 100p +q2 2 4 0 qmod area = 100p + +.option acct bypass=1 +.tran 0.05us 8us 0us 0.05us +.print tran v(1) v(2) v(3) v(4) + +.model qmod nbjt level=1 ++ x.mesh node=1 loc=0.0 ++ x.mesh node=61 loc=3.0 ++ region num=1 material=1 ++ material num=1 silicon nbgnn=1e17 nbgnp=1e17 ++ mobility material=1 concmod=sg fieldmod=sg ++ mobility material=1 elec major ++ mobility material=1 elec minor ++ mobility material=1 hole major ++ mobility material=1 hole minor ++ doping unif n.type conc=1e17 x.l=0.0 x.h=1.0 ++ doping unif p.type conc=1e16 x.l=0.0 x.h=1.5 ++ doping unif n.type conc=1e15 x.l=0.0 x.h=3.0 ++ models bgnw srh conctau auger concmob fieldmob ++ options base.length=1.0 base.depth=1.25 + +.end diff --git a/examples/cider/bjt/colposc.cir b/examples/cider/bjt/colposc.cir new file mode 100644 index 000000000..bd4d31fa5 --- /dev/null +++ b/examples/cider/bjt/colposc.cir @@ -0,0 +1,33 @@ +Colpitt's Oscillator Circuit + +r1 1 0 1 +q1 2 1 3 qmod area = 100p +vcc 4 0 5 +rl 4 2 750 +c1 2 3 500p +c2 4 3 4500p +l1 4 2 5uH +re 3 6 4.65k +vee 6 0 dc -15 pwl 0 -15 1e-9 -10 + +.tran 30n 12u +.print tran v(2) + +.model qmod nbjt level=1 ++ x.mesh node=1 loc=0.0 ++ x.mesh node=61 loc=3.0 ++ region num=1 material=1 ++ material num=1 silicon nbgnn=1e17 nbgnp=1e17 ++ mobility material=1 concmod=sg fieldmod=sg ++ mobility material=1 elec major ++ mobility material=1 elec minor ++ mobility material=1 hole major ++ mobility material=1 hole minor ++ doping unif n.type conc=1e17 x.l=0.0 x.h=1.0 ++ doping unif p.type conc=1e16 x.l=0.0 x.h=1.5 ++ doping unif n.type conc=1e15 x.l=0.0 x.h=3.0 ++ models bgnw srh conctau auger concmob fieldmob ++ options base.length=1.0 base.depth=1.25 + +.options acct bypass=1 +.end diff --git a/examples/cider/bjt/ecp.cir b/examples/cider/bjt/ecp.cir new file mode 100644 index 000000000..6fb2bda9b --- /dev/null +++ b/examples/cider/bjt/ecp.cir @@ -0,0 +1,57 @@ +Emitter Coupled Pair + +VCC 1 0 5v +VEE 2 0 0v +RCP 1 11 10k +RCN 1 21 10k +VBBP 12 0 3v AC 1 +VBBN 22 0 3v +IEE 13 2 0.1mA +Q1 11 12 13 M_NPN AREA=8 +Q2 21 22 13 M_NPN AREA=8 + +.DC VBBP 2.75v 3.25001v 10mv +.PRINT V(21) V(11) + +.MODEL M_NPN nbjt level=2 ++ title TWO-DIMENSIONAL NUMERICAL POLYSILICON EMITTER BIPOLAR TRANSISTOR ++ * Since, we are only simulating half of a device, we double the unit width ++ * 1.0 um emitter length ++ options defw=2.0u ++ ++ *x.mesh w=2.5 n=5 ++ x.mesh w=2.0 h.e=0.05 h.m=0.2 r=1.5 ++ x.mesh w=0.5 h.s=0.05 h.m=0.1 r=1.5 ++ ++ y.mesh l=-0.2 n=1 ++ y.mesh l= 0.0 n=5 ++ y.mesh w=0.10 h.e=0.002 h.m=0.01 r=1.5 ++ y.mesh w=0.15 h.s=0.002 h.m=0.01 r=1.5 ++ y.mesh w=0.35 h.s=0.01 h.m=0.2 r=1.5 ++ y.mesh w=0.40 h.e=0.05 h.m=0.2 r=1.5 ++ y.mesh w=0.30 h.s=0.05 h.m=0.1 r=1.5 ++ ++ domain num=1 material=1 x.l=2.0 y.h=0.0 ++ domain num=2 material=2 x.h=2.0 y.h=0.0 ++ domain num=3 material=3 y.l=0.0 ++ material num=1 polysilicon ++ material num=2 oxide ++ material num=3 silicon ++ ++ elec num=1 x.l=0.0 x.h=0.0 y.l=1.1 y.h=1.3 ++ elec num=2 x.l=0.0 x.h=0.5 y.l=0.0 y.h=0.0 ++ elec num=3 x.l=2.0 x.h=3.0 y.l=-0.2 y.h=-0.2 ++ ++ doping gauss n.type conc=3e20 x.l=2.0 x.h=3.0 y.l=-0.2 y.h=0.0 ++ + char.l=0.047 lat.rotate ++ doping gauss p.type conc=1e19 x.l=0.0 x.h=5.0 y.l=-0.2 y.h=0.0 ++ + char.l=0.094 lat.rotate ++ doping unif n.type conc=1e16 x.l=0.0 x.h=5.0 y.l=0.0 y.h=1.3 ++ doping gauss n.type conc=5e19 x.l=0.0 x.h=5.0 y.l=1.3 y.h=1.3 ++ + char.l=0.100 lat.rotate ++ ++ method ac=direct itlim=10 ++ models bgn srh auger conctau concmob fieldmob + +.OPTIONS ACCT BYPASS=1 +.END diff --git a/examples/cider/bjt/invchain.cir b/examples/cider/bjt/invchain.cir new file mode 100644 index 000000000..92c6fad8c --- /dev/null +++ b/examples/cider/bjt/invchain.cir @@ -0,0 +1,38 @@ +4 Stage RTL Inverter Chain + +vin 1 0 dc 0v pwl 0ns 0v 1ns 5v +vcc 12 0 dc 5.0v +rc1 12 3 2.5k +rb1 1 2 8k +q1 3 2 0 qmod area = 100p +rb2 3 4 8k +rc2 12 5 2.5k +q2 5 4 0 qmod area = 100p +rb3 5 6 8k +rc3 12 7 2.5k +q3 7 6 0 qmod area = 100p +rb4 7 8 8k +rc4 12 9 2.5k +q4 9 8 0 qmod area = 100p + +.print tran v(3) v(5) v(9) +.tran 1e-9 10e-9 + +.model qmod nbjt level=1 ++ x.mesh node=1 loc=0.0 ++ x.mesh node=61 loc=3.0 ++ region num=1 material=1 ++ material num=1 silicon nbgnn=1e17 nbgnp=1e17 ++ mobility material=1 concmod=sg fieldmod=sg ++ mobility material=1 elec major ++ mobility material=1 elec minor ++ mobility material=1 hole major ++ mobility material=1 hole minor ++ doping unif n.type conc=1e17 x.l=0.0 x.h=1.0 ++ doping unif p.type conc=1e16 x.l=0.0 x.h=1.5 ++ doping unif n.type conc=1e15 x.l=0.0 x.h=3.0 ++ models bgnw srh conctau auger concmob fieldmob ++ options base.length=1.0 base.depth=1.25 + +.option acct bypass=1 +.end diff --git a/examples/cider/bjt/meclgate.cir b/examples/cider/bjt/meclgate.cir new file mode 100644 index 000000000..33542d5d0 --- /dev/null +++ b/examples/cider/bjt/meclgate.cir @@ -0,0 +1,74 @@ +Motorola MECL III ECL gate +*.dc vin -2.0 0 0.02 +.tran 0.2ns 20ns +vee 22 0 -6.0 +vin 1 0 pulse -0.8 -1.8 0.2ns 0.2ns 0.2ns 10ns 20ns +rs 1 2 50 +q1 4 2 6 qmod area = 100p +q2 4 3 6 qmod area = 100p +q3 5 7 6 qmod area = 100p +q4 0 8 7 qmod area = 100p + +d1 8 9 dmod +d2 9 10 dmod + +rp1 3 22 50k +rc1 0 4 100 +rc2 0 5 112 +re 6 22 380 +r1 7 22 2k +r2 0 8 350 +r3 10 22 1958 + +q5 0 5 11 qmod area = 100p +q6 0 4 12 qmod area = 100p + +rp2 11 22 560 +rp3 12 22 560 + +q7 13 12 15 qmod area = 100p +q8 14 16 15 qmod area = 100p + +re2 15 22 380 +rc3 0 13 100 +rc4 0 14 112 + +q9 0 17 16 qmod area = 100p + +r4 16 22 2k +r5 0 17 350 +d3 17 18 dmod +d4 18 19 dmod +r6 19 22 1958 + +q10 0 14 20 qmod area = 100p +q11 0 13 21 qmod area = 100p + +rp4 20 22 560 +rp5 21 22 560 + +.model dmod d rs=40 tt=0.1ns cjo=0.9pf n=1 is=1e-14 eg=1.11 vj=0.8 m=0.5 + +.model qmod nbjt level=1 ++ x.mesh node=1 loc=0.0 ++ x.mesh node=10 loc=0.9 ++ x.mesh node=20 loc=1.1 ++ x.mesh node=30 loc=1.4 ++ x.mesh node=40 loc=1.6 ++ x.mesh node=61 loc=3.0 ++ region num=1 material=1 ++ material num=1 silicon nbgnn=1e17 nbgnp=1e17 ++ mobility material=1 concmod=sg fieldmod=sg ++ mobility material=1 elec major ++ mobility material=1 elec minor ++ mobility material=1 hole major ++ mobility material=1 hole minor ++ doping unif n.type conc=1e17 x.l=0.0 x.h=1.0 ++ doping unif p.type conc=1e16 x.l=0.0 x.h=1.5 ++ doping unif n.type conc=1e15 x.l=0.0 x.h=3.0 ++ models bgnw srh conctau auger concmob fieldmob ++ options base.length=1.0 base.depth=1.25 + +.options acct bypass=1 +.print tran v(12) v(21) +.end diff --git a/examples/cider/bjt/pebjt.lib b/examples/cider/bjt/pebjt.lib new file mode 100644 index 000000000..afbdb36c5 --- /dev/null +++ b/examples/cider/bjt/pebjt.lib @@ -0,0 +1,71 @@ +** +* Numerical models for a +* polysilicon emitter complementary bipolar process. +* The default device size is 1um by 10um (LxW) +** + +.model M_NPN nbjt level=1 ++ title One-Dimensional Numerical Bipolar ++ options base.depth=0.15 base.area=0.1 base.length=1.0 defa=10p ++ x.mesh loc=-0.2 n=1 ++ x.mesh loc=0.0 n=51 ++ x.mesh wid=0.15 h.e=0.0001 h.m=.004 r=1.2 ++ x.mesh wid=1.15 h.s=0.0001 h.m=.004 r=1.2 ++ domain num=1 material=1 x.l=0.0 ++ domain num=2 material=2 x.h=0.0 ++ material num=1 silicon ++ mobility mat=1 concmod=ct fieldmod=ct ++ material num=2 polysilicon ++ mobility mat=2 concmod=ct fieldmod=ct ++ doping gauss n.type conc=3e20 x.l=-0.2 x.h=0.0 char.len=0.047 ++ doping gauss p.type conc=5e18 x.l=-0.2 x.h=0.0 char.len=0.100 ++ doping unif n.type conc=1e16 x.l=0.0 x.h=1.3 ++ doping gauss n.type conc=5e19 x.l=1.3 x.h=1.3 char.len=0.100 ++ models bgn srh auger conctau concmob fieldmob ^aval ++ method devtol=1e-12 ac=direct itlim=15 + +.model M_NPSUB numd level=1 ++ title One-Dimensional Numerical Collector-Substrate Diode ++ options defa=10p ++ x.mesh loc=1.3 n=1 ++ x.mesh loc=2.0 n=101 ++ domain num=1 material=1 ++ material num=1 silicon ++ mobility mat=1 concmod=ct fieldmod=ct ++ doping gauss n.type conc=5e19 x.l=1.3 x.h=1.3 char.len=0.100 ++ doping unif p.type conc=1e15 x.l=0.0 x.h=2.0 ++ models bgn srh auger conctau concmob fieldmob ^aval ++ method devtol=1e-12 itlim=10 + +.model M_PNP nbjt level=1 ++ title One-Dimensional Numerical Bipolar ++ options base.depth=0.2 base.area=0.1 base.length=1.0 defa=10p ++ x.mesh loc=-0.2 n=1 ++ x.mesh loc=0.0 n=51 ++ x.mesh wid=0.20 h.e=0.0001 h.m=.004 r=1.2 ++ x.mesh wid=1.10 h.s=0.0001 h.m=.004 r=1.2 ++ domain num=1 material=1 x.l=0.0 ++ domain num=2 material=2 x.h=0.0 ++ material num=1 silicon ++ mobility mat=1 concmod=ct fieldmod=ct ++ material num=2 polysilicon ++ mobility mat=2 concmod=ct fieldmod=ct ++ doping gauss p.type conc=3e20 x.l=-0.2 x.h=0.0 char.len=0.047 ++ doping gauss n.type conc=5e17 x.l=-0.2 x.h=0.0 char.len=0.200 ++ doping unif p.type conc=1e16 x.l=0.0 x.h=1.3 ++ doping gauss p.type conc=5e19 x.l=1.3 x.h=1.3 char.len=0.100 ++ models bgn srh auger conctau concmob fieldmob ^aval ++ method devtol=1e-12 ac=direct itlim=15 + +.model M_PNSUB numd level=1 ++ title One-Dimensional Numerical Collector-Substrate Diode ++ options defa=10p ++ x.mesh loc=1.3 n=1 ++ x.mesh loc=2.0 n=101 ++ domain num=1 material=1 ++ material num=1 silicon ++ mobility mat=1 concmod=ct fieldmod=ct ++ doping gauss p.type conc=5e19 x.l=1.3 x.h=1.3 char.len=0.100 ++ doping unif n.type conc=1e15 x.l=0.0 x.h=2.0 ++ models bgn srh auger conctau concmob fieldmob ^aval ++ method devtol=1e-12 itlim=10 diff --git a/examples/cider/bjt/pz.cir b/examples/cider/bjt/pz.cir new file mode 100644 index 000000000..ad3ee6757 --- /dev/null +++ b/examples/cider/bjt/pz.cir @@ -0,0 +1,16 @@ +PZ Analysis of a Common Emitter Amplifier + +Vcc 1 0 5v +Vee 2 0 0v + +Vin 3 0 0.7838 AC 1 +RS 3 4 1K +Q1 5 4 2 M_NPN AREA=4 SAVE +RL 1 5 2.5k +CL 5 0 0.1pF + +.INCLUDE pebjt.lib + +.PZ 3 0 5 0 vol pz + +.END diff --git a/examples/cider/bjt/rtlinv.cir b/examples/cider/bjt/rtlinv.cir new file mode 100644 index 000000000..f45eb9837 --- /dev/null +++ b/examples/cider/bjt/rtlinv.cir @@ -0,0 +1,29 @@ +RTL inverter + +vin 1 0 dc 1 pwl 0 4 1ns 0 +vcc 12 0 dc 5.0 +rc1 12 3 2.5k +rb1 1 2 8k +q1 3 2 0 qmod area = 100p + +.option acct bypass=1 +.tran 0.5n 5n +.print tran v(2) v(3) + +.model qmod nbjt level=1 ++ x.mesh node=1 loc=0.0 ++ x.mesh node=61 loc=3.0 ++ region num=1 material=1 ++ material num=1 silicon nbgnn=1e17 nbgnp=1e17 ++ mobility material=1 concmod=sg fieldmod=sg ++ mobility material=1 elec major ++ mobility material=1 elec minor ++ mobility material=1 hole major ++ mobility material=1 hole minor ++ doping unif n.type conc=1e17 x.l=0.0 x.h=1.0 ++ doping unif p.type conc=1e16 x.l=0.0 x.h=1.5 ++ doping unif n.type conc=1e15 x.l=0.0 x.h=3.0 ++ models bgnw srh conctau auger concmob fieldmob ++ options base.length=1.0 base.depth=1.25 + +.end diff --git a/examples/cider/bjt/vco.cir b/examples/cider/bjt/vco.cir new file mode 100644 index 000000000..d1b1a0589 --- /dev/null +++ b/examples/cider/bjt/vco.cir @@ -0,0 +1,45 @@ +Voltage controlled oscillator + +rc1 7 5 1k +rc2 7 6 1k + +q5 7 7 5 qmod area = 100p +q6 7 7 6 qmod area = 100p + +q3 7 5 2 qmod area = 100p +q4 7 6 1 qmod area = 100p + +ib1 2 0 .5ma +ib2 1 0 .5ma +cb1 2 0 1pf +cb2 1 0 1pf + +q1 5 1 3 qmod area = 100p +q2 6 2 4 qmod area = 100p + +c1 3 4 .1uf + +is1 3 0 dc 2.5ma pulse 2.5ma 0.5ma 0 1us 1us 50ms +is2 4 0 1ma +vcc 7 0 10 + +.model qmod nbjt level=1 ++ x.mesh node=1 loc=0.0 ++ x.mesh node=61 loc=3.0 ++ region num=1 material=1 ++ material num=1 silicon nbgnn=1e17 nbgnp=1e17 ++ mobility material=1 concmod=sg fieldmod=sg ++ mobility material=1 elec major ++ mobility material=1 elec minor ++ mobility material=1 hole major ++ mobility material=1 hole minor ++ doping unif n.type conc=1e17 x.l=0.0 x.h=1.0 ++ doping unif p.type conc=1e16 x.l=0.0 x.h=1.5 ++ doping unif n.type conc=1e15 x.l=0.0 x.h=3.0 ++ models bgnw srh conctau auger concmob fieldmob ++ options base.length=1.0 base.depth=1.25 + +.option acct bypass=1 +.tran 3us 600us 0 3us +.print tran v(4) +.end diff --git a/examples/cider/diode/diode.cir b/examples/cider/diode/diode.cir new file mode 100644 index 000000000..e0ace324f --- /dev/null +++ b/examples/cider/diode/diode.cir @@ -0,0 +1,35 @@ +One-Dimensional Diode Simulation + +* Several simulations are performed by this file. +* They are: +* 1. An operating point at 0.7v forward bias. +* 2. An ac analysis at 0.7v forward bias. +* 3. The forward and reverse bias characteristics from -3v to 2v. + +Vpp 1 0 0.7v (PWL 0ns 3.0v 0.01ns -6.0v) (AC 1v) +Vnn 2 0 0v +D1 1 2 M_PN AREA=100 + +.model M_PN numd level=1 ++ *************************************** ++ *** One-Dimensional Numerical Diode *** ++ *************************************** ++ options defa=1p ++ x.mesh loc=0.0 n=1 ++ x.mesh loc=1.3 n=201 ++ domain num=1 material=1 ++ material num=1 silicon ++ mobility mat=1 concmod=ct fieldmod=ct ++ doping gauss p.type conc=1e20 x.l=0.0 x.h=0.0 char.l=0.100 ++ doping unif n.type conc=1e16 x.l=0.0 x.h=1.3 ++ doping gauss n.type conc=5e19 x.l=1.3 x.h=1.3 char.l=0.100 ++ models bgn aval srh auger conctau concmob fieldmob ++ method ac=direct + +.option acct bypass=0 abstol=1e-18 itl2=100 +.op +.ac dec 10 100kHz 10gHz +.dc Vpp -3.0v 2.0001v 50mv +.print i(Vpp) + +.END diff --git a/examples/cider/diode/diotran.cir b/examples/cider/diode/diotran.cir new file mode 100644 index 000000000..110d2550f --- /dev/null +++ b/examples/cider/diode/diotran.cir @@ -0,0 +1,31 @@ +Diode Reverse Recovery + +* This file simulates reverse recovery of a diode as it switched from an +* on to off state. + +Vpp 1 0 0.7v (PWL 0ns 3.0v 0.1ns 3.0v 0.11ns -6.0v) (AC 1v) +Vnn 2 0 0v +R1 1 3 1k +D1 3 2 M_PN area=100 + +.MODEL M_PN numd level=1 ++ *************************************** ++ *** One-Dimensional Numerical Diode *** ++ *************************************** ++ options defa=1p ++ x.mesh loc=0.0 n=1 ++ x.mesh loc=1.3 n=201 ++ domain num=1 material=1 ++ material num=1 silicon ++ mobility mat=1 concmod=ct fieldmod=ct ++ doping gauss p.type conc=3e20 x.l=0.0 x.h=0.0 char.l=0.100 ++ doping unif n.type conc=1e16 x.l=0.0 x.h=1.3 ++ doping gauss n.type conc=5e19 x.l=1.3 x.h=1.3 char.l=0.100 ++ models bgn aval srh auger conctau concmob fieldmob ++ method ac=direct + +.option acct bypass=1 abstol=1e-15 itl2=100 +.tran 0.001ns 1.0ns +.print i(Vpp) + +.END diff --git a/examples/cider/diode/pindiode.cir b/examples/cider/diode/pindiode.cir new file mode 100644 index 000000000..1eb18b421 --- /dev/null +++ b/examples/cider/diode/pindiode.cir @@ -0,0 +1,42 @@ +TWO-DIMENSIONAL PIN-DIODE CIRCUIT + +VIN 1 0 0.0v (PWL 0ns 0.8v 1ns -50.0v) +L1 1 2 0.5uH +VD 2 3 0.0v +D1 3 0 M_PIN AREA=200 IC.FILE="OP.0.d1" +VRC 2 4 0.0v +R1 4 5 100 +C1 5 0 1.0nF + +.MODEL M_PIN NUMD LEVEL=2 ++ options defw=1000u ++ x.mesh n=1 l=0.0 ++ x.mesh n=2 l=0.2 ++ x.mesh n=4 l=0.4 ++ x.mesh n=8 l=0.6 ++ x.mesh n=13 l=1.0 ++ ++ y.mesh n=1 l=0.0 ++ y.mesh n=9 l=4.0 ++ y.mesh n=24 l=10.0 ++ y.mesh n=29 l=15.0 ++ y.mesh n=34 l=20.0 ++ ++ domain num=1 material=1 ++ material num=1 silicon tn=20ns tp=20ns ++ ++ electrode num=1 x.l=0.6 x.h=1.0 y.h=0.0 ++ electrode num=2 y.l=20.0 ++ ++ doping gauss p.type conc=1.0e20 char.len=1.076 x.l=0.75 x.h=1.1 y.h=0.0 ++ + lat.rotate ratio=0.1 ++ doping unif n.type conc=1.0e14 ++ doping gauss n.type conc=1.0e20 char.len=1.614 x.l=-0.1 x.h=1.1 y.l=20.0 ++ ++ models bgn srh auger conctau concmob fieldmob + +.OPTION ACCT BYPASS=1 +.TRAN 1NS 100NS +.PRINT TRAN v(3) I(VIN) + +.END diff --git a/examples/cider/jfet/jfet.cir b/examples/cider/jfet/jfet.cir new file mode 100644 index 000000000..e3f005365 --- /dev/null +++ b/examples/cider/jfet/jfet.cir @@ -0,0 +1,36 @@ +Two-dimensional Junction Field-Effect Transistor (JFET) + +VDD 1 0 0.5V +VGG 2 0 -1.0v AC 1V +VSS 3 0 0.0V +QJ1 1 2 3 M_NJF AREA=1 + +.MODEL M_NJF NBJT LEVEL=2 ++ options jfet defw=10.0um ++ output dc.debug phin phip equ.psi vac.psi ++ x.mesh w=0.2 h.e=0.001 r=1.8 ++ x.mesh w=0.8 h.s=0.001 h.m=0.1 r=2.0 ++ x.mesh w=0.8 h.e=0.001 h.m=0.1 r=2.0 ++ x.mesh w=0.2 h.s=0.001 r=1.8 ++ y.mesh w=0.2 h.e=0.01 r=1.8 ++ y.mesh w=0.8 h.s=0.01 h.m=0.1 r=1.8 ++ ++ domain num=1 mat=1 ++ material num=1 silicon ++ ++ elec num=1 x.l=0.0 x.h=0.0 y.l=0.0 y.h=1.0 ++ elec num=2 x.l=0.5 x.h=1.5 y.l=0.0 y.h=0.0 ++ elec num=3 x.l=2.0 x.h=2.0 y.l=0.0 y.h=1.0 ++ ++ doping unif n.type conc=3.0e15 ++ doping unif p.type conc=2.0e17 x.l=0.2 x.h=1.8 y.h=0.2 ++ ++ models bgn srh auger conctau concmob fieldmob ^aval + +.option acct bypass=1 temp=27 +*.op +.dc vgg 0.0 -2.0001 -0.1 +*.ac dec 10 1k 100g +.print i(vnn) + +.end diff --git a/examples/cider/mos/bootinv.cir b/examples/cider/mos/bootinv.cir new file mode 100644 index 000000000..4c2ea40db --- /dev/null +++ b/examples/cider/mos/bootinv.cir @@ -0,0 +1,59 @@ +NMOS Enhancement-Load Bootstrap Inverter + +Vdd 1 0 5.0v +Vss 2 0 0.0v + +Vin 5 0 0.0v PWL (0.0ns 5.0v) (1ns 0.0v) (10ns 0.0v) (11ns 5.0v) ++ (20ns 5.0v) (21ns 0.0v) (30ns 0.0v) (31ns 5.0v) +M1 1 1 3 2 M_NMOS w=5u +M2 1 3 4 4 M_NMOS w=5u +M3 4 5 2 2 M_NMOS w=5u +CL 4 0 0.1pf +CB 3 4 0.1pf + +.model M_NMOS numos ++ x.mesh l=0.0 n=1 ++ x.mesh l=0.6 n=4 ++ x.mesh l=0.7 n=5 ++ x.mesh l=1.0 n=7 ++ x.mesh l=1.2 n=11 ++ x.mesh l=3.2 n=21 ++ x.mesh l=3.4 n=25 ++ x.mesh l=3.7 n=27 ++ x.mesh l=3.8 n=28 ++ x.mesh l=4.4 n=31 ++ ++ y.mesh l=-.05 n=1 ++ y.mesh l=0.0 n=5 ++ y.mesh l=.05 n=9 ++ y.mesh l=0.3 n=14 ++ y.mesh l=2.0 n=19 ++ ++ region num=1 material=1 y.l=0.0 ++ material num=1 silicon ++ mobility material=1 concmod=sg fieldmod=sg ++ mobility material=1 init elec major ++ mobility material=1 init elec minor ++ mobility material=1 init hole major ++ mobility material=1 init hole minor ++ ++ region num=2 material=2 y.h=0.0 x.l=0.7 x.h=3.7 ++ material num=2 oxide ++ ++ elec num=1 x.l=3.8 x.h=4.4 y.l=0.0 y.h=0.0 ++ elec num=2 x.l=0.7 x.h=3.7 iy.l=1 iy.h=1 ++ elec num=3 x.l=0.0 x.h=0.6 y.l=0.0 y.h=0.0 ++ elec num=4 x.l=0.0 x.h=4.4 y.l=2.0 y.h=2.0 ++ ++ doping unif p.type conc=2.5e16 x.l=0.0 x.h=4.4 y.l=0.0 y.h=2.0 ++ doping unif p.type conc=1e16 x.l=0.0 x.h=4.4 y.l=0.0 y.h=0.05 ++ doping unif n.type conc=1e20 x.l=0.0 x.h=1.1 y.l=0.0 y.h=0.2 ++ doping unif n.type conc=1e20 x.l=3.3 x.h=4.4 y.l=0.0 y.h=0.2 ++ ++ models concmob fieldmob ++ method ac=direct onec + +.tran 0.2ns 40ns +.print v(4) +.options acct bypass=1 method=gear +.end diff --git a/examples/cider/mos/charge.cir b/examples/cider/mos/charge.cir new file mode 100644 index 000000000..845a14a84 --- /dev/null +++ b/examples/cider/mos/charge.cir @@ -0,0 +1,57 @@ +MOS charge pump + +vin 4 0 dc 0v pulse 0 5 15ns 5ns 5ns 50ns 100ns +vdd 5 6 dc 0v pulse 0 5 25ns 5ns 5ns 50ns 100ns +vbb 0 7 dc 0v pulse 0 5 0ns 5ns 5ns 50ns 100ns +rd 6 2 10k +m1 5 4 3 7 mmod w=100um +vs 3 2 0 +vc 2 1 0 +c2 1 0 10pf + +.ic v(3)=1.0 +.tran 2ns 200ns +.options acct bypass=1 +.print tran v(1) v(2) + +.model mmod numos ++ x.mesh n=1 l=0 ++ x.mesh n=3 l=0.4 ++ x.mesh n=7 l=0.6 ++ x.mesh n=15 l=1.4 ++ x.mesh n=19 l=1.6 ++ x.mesh n=21 l=2.0 ++ ++ y.mesh n=1 l=0 ++ y.mesh n=4 l=0.015 ++ y.mesh n=8 l=0.05 ++ y.mesh n=12 l=0.25 ++ y.mesh n=14 l=0.35 ++ y.mesh n=17 l=0.5 ++ y.mesh n=21 l=1.0 ++ ++ region num=1 material=1 y.l=0.015 ++ material num=1 silicon ++ mobility material=1 concmod=sg fieldmod=sg ++ mobility material=1 elec major ++ mobility material=1 elec minor ++ mobility material=1 hole major ++ mobility material=1 hole minor ++ ++ region num=2 material=2 y.h=0.015 x.l=0.5 x.h=1.5 ++ material num=2 oxide ++ ++ elec num=1 ix.l=18 ix.h=21 iy.l=4 iy.h=4 ++ elec num=2 ix.l=5 ix.h=17 iy.l=1 iy.h=1 ++ elec num=3 ix.l=1 ix.h=4 iy.l=4 iy.h=4 ++ elec num=4 ix.l=1 ix.h=21 iy.l=21 iy.h=21 ++ ++ doping unif n.type conc=1e18 x.l=0.0 x.h=0.5 y.l=0.015 y.h=0.25 ++ doping unif n.type conc=1e18 x.l=1.5 x.h=2.0 y.l=0.015 y.h=0.25 ++ doping unif p.type conc=1e15 x.l=0.0 x.h=2.0 y.l=0.015 y.h=1.0 ++ doping unif p.type conc=1.3e17 x.l=0.5 x.h=1.5 y.l=0.015 y.h=0.05 ++ ++ models concmob fieldmob ++ method onec + +.end diff --git a/examples/cider/mos/cmosinv.cir b/examples/cider/mos/cmosinv.cir new file mode 100644 index 000000000..8f153cc7e --- /dev/null +++ b/examples/cider/mos/cmosinv.cir @@ -0,0 +1,115 @@ +CMOS Inverter + +Vdd 1 0 5.0v +Vss 2 0 0.0v + +X1 1 2 3 4 INV + +Vin 3 0 2.5v + +.SUBCKT INV 1 2 3 4 +* Vdd Vss Vin Vout +M1 14 13 15 16 M_PMOS w=6.0u +M2 24 23 25 26 M_NMOS w=3.0u + +Vgp 3 13 0.0v +Vdp 4 14 0.0v +Vsp 1 15 0.0v +Vbp 1 16 0.0v + +Vgn 3 23 0.0v +Vdn 4 24 0.0v +Vsn 2 25 0.0v +Vbn 2 26 0.0v +.ENDS INV + +.model M_NMOS numos ++ x.mesh l=0.0 n=1 ++ x.mesh l=0.6 n=4 ++ x.mesh l=0.7 n=5 ++ x.mesh l=1.0 n=7 ++ x.mesh l=1.2 n=11 ++ x.mesh l=3.2 n=21 ++ x.mesh l=3.4 n=25 ++ x.mesh l=3.7 n=27 ++ x.mesh l=3.8 n=28 ++ x.mesh l=4.4 n=31 ++ ++ y.mesh l=-.05 n=1 ++ y.mesh l=0.0 n=5 ++ y.mesh l=.05 n=9 ++ y.mesh l=0.3 n=14 ++ y.mesh l=2.0 n=19 ++ ++ region num=1 material=1 y.l=0.0 ++ material num=1 silicon ++ mobility material=1 concmod=sg fieldmod=sg ++ mobility material=1 elec major ++ mobility material=1 elec minor ++ mobility material=1 hole major ++ mobility material=1 hole minor ++ ++ region num=2 material=2 y.h=0.0 x.l=0.7 x.h=3.7 ++ material num=2 oxide ++ ++ elec num=1 x.l=3.8 x.h=4.4 y.l=0.0 y.h=0.0 ++ elec num=2 x.l=0.7 x.h=3.7 iy.l=1 iy.h=1 ++ elec num=3 x.l=0.0 x.h=0.6 y.l=0.0 y.h=0.0 ++ elec num=4 x.l=0.0 x.h=4.4 y.l=2.0 y.h=2.0 ++ ++ doping unif p.type conc=2.5e16 x.l=0.0 x.h=4.4 y.l=0.0 y.h=2.0 ++ doping unif p.type conc=1e16 x.l=0.0 x.h=4.4 y.l=0.0 y.h=0.05 ++ doping unif n.type conc=1e20 x.l=0.0 x.h=1.1 y.l=0.0 y.h=0.2 ++ doping unif n.type conc=1e20 x.l=3.3 x.h=4.4 y.l=0.0 y.h=0.2 ++ ++ models concmob fieldmob bgn srh conctau ++ method ac=direct onec + +.model M_PMOS numos ++ x.mesh l=0.0 n=1 ++ x.mesh l=0.6 n=4 ++ x.mesh l=0.7 n=5 ++ x.mesh l=1.0 n=7 ++ x.mesh l=1.2 n=11 ++ x.mesh l=3.2 n=21 ++ x.mesh l=3.4 n=25 ++ x.mesh l=3.7 n=27 ++ x.mesh l=3.8 n=28 ++ x.mesh l=4.4 n=31 ++ ++ y.mesh l=-.05 n=1 ++ y.mesh l=0.0 n=5 ++ y.mesh l=.05 n=9 ++ y.mesh l=0.3 n=14 ++ y.mesh l=2.0 n=19 ++ ++ region num=1 material=1 y.l=0.0 ++ material num=1 silicon ++ mobility material=1 concmod=sg fieldmod=sg ++ mobility material=1 elec major ++ mobility material=1 elec minor ++ mobility material=1 hole major ++ mobility material=1 hole minor ++ ++ region num=2 material=2 y.h=0.0 x.l=0.7 x.h=3.7 ++ material num=2 oxide ++ ++ elec num=1 x.l=3.8 x.h=4.4 y.l=0.0 y.h=0.0 ++ elec num=2 x.l=0.7 x.h=3.7 iy.l=1 iy.h=1 ++ elec num=3 x.l=0.0 x.h=0.6 y.l=0.0 y.h=0.0 ++ elec num=4 x.l=0.0 x.h=4.4 y.l=2.0 y.h=2.0 ++ ++ doping unif n.type conc=1e16 x.l=0.0 x.h=4.4 y.l=0.0 y.h=2.0 ++ doping unif p.type conc=3e16 x.l=0.0 x.h=4.4 y.l=0.0 y.h=0.05 ++ doping unif p.type conc=1e20 x.l=0.0 x.h=1.1 y.l=0.0 y.h=0.2 ++ doping unif p.type conc=1e20 x.l=3.3 x.h=4.4 y.l=0.0 y.h=0.2 ++ ++ models concmob fieldmob bgn srh conctau ++ method ac=direct onec + +*.tran 0.1ns 5ns +*.op +.dc Vin 0.0v 5.001v 0.05v +.print v(4) +.options acct bypass=1 method=gear +.end diff --git a/examples/cider/mos/nmosinv.cir b/examples/cider/mos/nmosinv.cir new file mode 100644 index 000000000..ac49c7549 --- /dev/null +++ b/examples/cider/mos/nmosinv.cir @@ -0,0 +1,55 @@ +Resistive load NMOS inverter +vin 1 0 pwl 0 0.0 2ns 5 +vdd 3 0 dc 5.0 +rd 3 2 2.5k +m1 2 1 4 5 mmod w=10um +cl 2 0 2pf +vb 5 0 0 +vs 4 0 0 + +.model mmod numos ++ x.mesh l=0.0 n=1 ++ x.mesh l=0.6 n=4 ++ x.mesh l=0.7 n=5 ++ x.mesh l=1.0 n=7 ++ x.mesh l=1.2 n=11 ++ x.mesh l=3.2 n=21 ++ x.mesh l=3.4 n=25 ++ x.mesh l=3.7 n=27 ++ x.mesh l=3.8 n=28 ++ x.mesh l=4.4 n=31 ++ ++ y.mesh l=-.05 n=1 ++ y.mesh l=0.0 n=5 ++ y.mesh l=.05 n=9 ++ y.mesh l=0.3 n=14 ++ y.mesh l=2.0 n=19 ++ ++ region num=1 material=1 y.l=0.0 ++ material num=1 silicon ++ mobility material=1 concmod=sg fieldmod=sg ++ mobility material=1 elec major ++ mobility material=1 elec minor ++ mobility material=1 hole major ++ mobility material=1 hole minor ++ ++ region num=2 material=2 y.h=0.0 x.l=0.7 x.h=3.7 ++ material num=2 oxide ++ ++ elec num=1 x.l=3.8 x.h=4.4 y.l=0.0 y.h=0.0 ++ elec num=2 x.l=0.7 x.h=3.7 iy.l=1 iy.h=1 ++ elec num=3 x.l=0.0 x.h=0.6 y.l=0.0 y.h=0.0 ++ elec num=4 x.l=0.0 x.h=4.4 y.l=2.0 y.h=2.0 ++ ++ doping unif p.type conc=2.5e16 x.l=0.0 x.h=4.4 y.l=0.0 y.h=2.0 ++ doping unif p.type conc=1e16 x.l=0.0 x.h=4.4 y.l=0.0 y.h=0.05 ++ doping unif n.type conc=1e20 x.l=0.0 x.h=1.1 y.l=0.0 y.h=0.2 ++ doping unif n.type conc=1e20 x.l=3.3 x.h=4.4 y.l=0.0 y.h=0.2 ++ ++ models concmob fieldmob ++ method ac=direct onec + +.tran 0.2ns 30ns +.options acct bypass=1 +.print tran v(1) v(2) +.end diff --git a/examples/cider/mos/pass.cir b/examples/cider/mos/pass.cir new file mode 100644 index 000000000..a58c8a5f8 --- /dev/null +++ b/examples/cider/mos/pass.cir @@ -0,0 +1,59 @@ +Turnoff transient of pass transistor + +M1 11 2 3 4 mmod w=20um +Cs 1 0 6.0pF +Cl 3 0 6.0pF +R1 3 6 200k +Vin 6 0 dc 0 +Vdrn 1 11 dc 0 +Vg 2 0 dc 5 pwl 0 5 0.1n 0 1 0 +Vb 4 0 dc 0.0 + +.tran 0.05ns 0.2ns 0.0ns 0.05ns +.print tran v(1) i(Vdrn) +.ic v(1)=0 v(3)=0 +.option acct bypass=1 + +.model mmod numos ++ x.mesh l=0.0 n=1 ++ x.mesh l=0.6 n=4 ++ x.mesh l=0.7 n=5 ++ x.mesh l=1.0 n=7 ++ x.mesh l=1.2 n=11 ++ x.mesh l=3.2 n=21 ++ x.mesh l=3.4 n=25 ++ x.mesh l=3.7 n=27 ++ x.mesh l=3.8 n=28 ++ x.mesh l=4.4 n=31 ++ ++ y.mesh l=-.05 n=1 ++ y.mesh l=0.0 n=5 ++ y.mesh l=.05 n=9 ++ y.mesh l=0.3 n=14 ++ y.mesh l=2.0 n=19 ++ ++ region num=1 material=1 y.l=0.0 ++ material num=1 silicon ++ mobility material=1 concmod=sg fieldmod=sg ++ mobility material=1 elec major ++ mobility material=1 elec minor ++ mobility material=1 hole major ++ mobility material=1 hole minor ++ ++ region num=2 material=2 y.h=0.0 x.l=0.7 x.h=3.7 ++ material num=2 oxide ++ ++ elec num=1 x.l=3.8 x.h=4.4 y.l=0.0 y.h=0.0 ++ elec num=2 x.l=0.7 x.h=3.7 iy.l=1 iy.h=1 ++ elec num=3 x.l=0.0 x.h=0.6 y.l=0.0 y.h=0.0 ++ elec num=4 x.l=0.0 x.h=4.4 y.l=2.0 y.h=2.0 ++ ++ doping unif p.type conc=2.5e16 x.l=0.0 x.h=4.4 y.l=0.0 y.h=2.0 ++ doping unif p.type conc=1e16 x.l=0.0 x.h=4.4 y.l=0.0 y.h=0.05 ++ doping unif n.type conc=1e20 x.l=0.0 x.h=1.1 y.l=0.0 y.h=0.2 ++ doping unif n.type conc=1e20 x.l=3.3 x.h=4.4 y.l=0.0 y.h=0.2 ++ ++ models concmob fieldmob ++ method ac=direct onec + +.end diff --git a/examples/cider/mos/ringosc.cir b/examples/cider/mos/ringosc.cir new file mode 100644 index 000000000..0f3133207 --- /dev/null +++ b/examples/cider/mos/ringosc.cir @@ -0,0 +1,122 @@ +CMOS Ring Oscillator + +Vdd 1 0 5.0v +Vss 2 0 0.0v + +X1 1 2 3 4 INV +X2 1 2 4 5 INV +X3 1 2 5 3 INV +*X4 1 2 6 7 INV +*X5 1 2 7 8 INV +*X6 1 2 8 9 INV +*X7 1 2 9 3 INV + +.IC V(3)=0.0v V(4)=2.5v V(5)=5.0v +* V(6)=0.0v V(7)=5.0v V(8)=0.0v V(9)=5.0v + +Vin 3 0 2.5v + +.SUBCKT INV 1 2 3 4 +* Vdd Vss Vin Vout +M1 14 13 15 16 M_PMOS w=6.0u +M2 24 23 25 26 M_NMOS w=3.0u + +Vgp 3 13 0.0v +Vdp 4 14 0.0v +Vsp 1 15 0.0v +Vbp 1 16 0.0v + +Vgn 3 23 0.0v +Vdn 4 24 0.0v +Vsn 2 25 0.0v +Vbn 2 26 0.0v +.ENDS INV + +.model M_NMOS numos ++ x.mesh l=0.0 n=1 ++ x.mesh l=0.6 n=4 ++ x.mesh l=0.7 n=5 ++ x.mesh l=1.0 n=7 ++ x.mesh l=1.2 n=11 ++ x.mesh l=3.2 n=21 ++ x.mesh l=3.4 n=25 ++ x.mesh l=3.7 n=27 ++ x.mesh l=3.8 n=28 ++ x.mesh l=4.4 n=31 ++ ++ y.mesh l=-.05 n=1 ++ y.mesh l=0.0 n=5 ++ y.mesh l=.05 n=9 ++ y.mesh l=0.3 n=14 ++ y.mesh l=2.0 n=19 ++ ++ region num=1 material=1 y.l=0.0 ++ material num=1 silicon ++ mobility material=1 concmod=sg fieldmod=sg ++ mobility material=1 elec major ++ mobility material=1 elec minor ++ mobility material=1 hole major ++ mobility material=1 hole minor ++ ++ region num=2 material=2 y.h=0.0 x.l=0.7 x.h=3.7 ++ material num=2 oxide ++ ++ elec num=1 x.l=3.8 x.h=4.4 y.l=0.0 y.h=0.0 ++ elec num=2 x.l=0.7 x.h=3.7 iy.l=1 iy.h=1 ++ elec num=3 x.l=0.0 x.h=0.6 y.l=0.0 y.h=0.0 ++ elec num=4 x.l=0.0 x.h=4.4 y.l=2.0 y.h=2.0 ++ ++ doping unif p.type conc=2.5e16 x.l=0.0 x.h=4.4 y.l=0.0 y.h=2.0 ++ doping unif p.type conc=1e16 x.l=0.0 x.h=4.4 y.l=0.0 y.h=0.05 ++ doping unif n.type conc=1e20 x.l=0.0 x.h=1.1 y.l=0.0 y.h=0.2 ++ doping unif n.type conc=1e20 x.l=3.3 x.h=4.4 y.l=0.0 y.h=0.2 ++ ++ models concmob fieldmob bgn srh conctau ++ method ac=direct onec + +.model M_PMOS numos ++ x.mesh l=0.0 n=1 ++ x.mesh l=0.6 n=4 ++ x.mesh l=0.7 n=5 ++ x.mesh l=1.0 n=7 ++ x.mesh l=1.2 n=11 ++ x.mesh l=3.2 n=21 ++ x.mesh l=3.4 n=25 ++ x.mesh l=3.7 n=27 ++ x.mesh l=3.8 n=28 ++ x.mesh l=4.4 n=31 ++ ++ y.mesh l=-.05 n=1 ++ y.mesh l=0.0 n=5 ++ y.mesh l=.05 n=9 ++ y.mesh l=0.3 n=14 ++ y.mesh l=2.0 n=19 ++ ++ region num=1 material=1 y.l=0.0 ++ material num=1 silicon ++ mobility material=1 concmod=sg fieldmod=sg ++ mobility material=1 elec major ++ mobility material=1 elec minor ++ mobility material=1 hole major ++ mobility material=1 hole minor ++ ++ region num=2 material=2 y.h=0.0 x.l=0.7 x.h=3.7 ++ material num=2 oxide ++ ++ elec num=1 x.l=3.8 x.h=4.4 y.l=0.0 y.h=0.0 ++ elec num=2 x.l=0.7 x.h=3.7 iy.l=1 iy.h=1 ++ elec num=3 x.l=0.0 x.h=0.6 y.l=0.0 y.h=0.0 ++ elec num=4 x.l=0.0 x.h=4.4 y.l=2.0 y.h=2.0 ++ ++ doping unif n.type conc=1e16 x.l=0.0 x.h=4.4 y.l=0.0 y.h=2.0 ++ doping unif p.type conc=3e16 x.l=0.0 x.h=4.4 y.l=0.0 y.h=0.05 ++ doping unif p.type conc=1e20 x.l=0.0 x.h=1.1 y.l=0.0 y.h=0.2 ++ doping unif p.type conc=1e20 x.l=3.3 x.h=4.4 y.l=0.0 y.h=0.2 ++ ++ models concmob fieldmob bgn srh conctau ++ method ac=direct onec + +.tran 0.1ns 5ns +.print v(4) +.options acct bypass=1 method=gear +.end diff --git a/examples/cider/parallel/BICMOS.LIB b/examples/cider/parallel/BICMOS.LIB new file mode 100644 index 000000000..606570cae --- /dev/null +++ b/examples/cider/parallel/BICMOS.LIB @@ -0,0 +1,931 @@ +** +* BICMOS.LIB: Library of models used in the 1.0 um CBiCMOS process +* Contains CIDER input descriptions as well as matching +* SPICE models for some of the CIDER models. +** + +** +* One-dimensional models for a +* polysilicon emitter complementary bipolar process. +* The default device size is 1um by 1um (LxW) +** + +.model M_NPN1D nbjt level=1 ++ title One-Dimensional Numerical Bipolar ++ options base.depth=0.15 base.area=0.1 base.length=0.5 defa=1p ++ x.mesh loc=-0.2 n=1 ++ x.mesh loc=0.0 n=51 ++ x.mesh wid=0.15 h.e=0.0001 h.m=.004 r=1.2 ++ x.mesh wid=1.15 h.s=0.0001 h.m=.004 r=1.2 ++ domain num=1 material=1 x.l=0.0 ++ domain num=2 material=2 x.h=0.0 ++ material num=1 silicon ++ mobility mat=1 concmod=ct fieldmod=ct ++ material num=2 polysilicon ++ mobility mat=2 concmod=ct fieldmod=ct ++ doping gauss n.type conc=3e20 x.l=-0.2 x.h=0.0 char.len=0.047 ++ doping gauss p.type conc=5e18 x.l=-0.2 x.h=0.0 char.len=0.100 ++ doping unif n.type conc=1e16 x.l=0.0 x.h=1.3 ++ doping gauss n.type conc=5e19 x.l=1.3 x.h=1.3 char.len=0.100 ++ models bgn srh auger conctau concmob fieldmob ++ method devtol=1e-12 ac=direct itlim=15 + +.model M_PNP1D nbjt level=1 ++ title One-Dimensional Numerical Bipolar ++ options base.depth=0.2 base.area=0.1 base.length=0.5 defa=1p ++ x.mesh loc=-0.2 n=1 ++ x.mesh loc=0.0 n=51 ++ x.mesh wid=0.20 h.e=0.0001 h.m=.004 r=1.2 ++ x.mesh wid=1.10 h.s=0.0001 h.m=.004 r=1.2 ++ domain num=1 material=1 x.l=0.0 ++ domain num=2 material=2 x.h=0.0 ++ material num=1 silicon ++ mobility mat=1 concmod=ct fieldmod=ct ++ material num=2 polysilicon ++ mobility mat=2 concmod=ct fieldmod=ct ++ doping gauss p.type conc=3e20 x.l=-0.2 x.h=0.0 char.len=0.047 ++ doping gauss n.type conc=5e17 x.l=-0.2 x.h=0.0 char.len=0.200 ++ doping unif p.type conc=1e16 x.l=0.0 x.h=1.3 ++ doping gauss p.type conc=5e19 x.l=1.3 x.h=1.3 char.len=0.100 ++ models bgn srh auger conctau concmob fieldmob ++ method devtol=1e-12 ac=direct itlim=15 + +** +* Two-dimensional models for a +* polysilicon emitter complementary bipolar process. +* The default device size is 1um by 1um (LxW) +** + +.MODEL M_NPNS nbjt level=2 ++ title TWO-DIMENSIONAL NUMERICAL POLYSILICON EMITTER BIPOLAR TRANSISTOR ++ * Since half the device is simulated, double the unit width to get ++ * 1.0 um emitter. Use a small mesh for this model. ++ options defw=2.0u ++ output stat ++ ++ x.mesh w=2.0 h.e=0.02 h.m=0.5 r=2.0 ++ x.mesh w=0.5 h.s=0.02 h.m=0.2 r=2.0 ++ ++ y.mesh l=-0.2 n=1 ++ y.mesh l= 0.0 n=5 ++ y.mesh w=0.10 h.e=0.004 h.m=0.05 r=2.5 ++ y.mesh w=0.15 h.s=0.004 h.m=0.02 r=2.5 ++ y.mesh w=1.05 h.s=0.02 h.m=0.1 r=2.5 ++ ++ domain num=1 material=1 x.l=2.0 y.h=0.0 ++ domain num=2 material=2 x.h=2.0 y.h=0.0 ++ domain num=3 material=3 y.l=0.0 ++ material num=1 polysilicon ++ material num=2 oxide ++ material num=3 silicon ++ ++ elec num=1 x.l=0.0 x.h=0.0 y.l=1.1 y.h=1.3 ++ elec num=2 x.l=0.0 x.h=0.5 y.l=0.0 y.h=0.0 ++ elec num=3 x.l=2.0 x.h=3.0 y.l=-0.2 y.h=-0.2 ++ ++ doping gauss n.type conc=3e20 x.l=2.0 x.h=3.0 y.l=-0.2 y.h=0.0 ++ + char.l=0.047 lat.rotate ++ doping gauss p.type conc=5e18 x.l=0.0 x.h=5.0 y.l=-0.2 y.h=0.0 ++ + char.l=0.100 lat.rotate ++ doping gauss p.type conc=1e20 x.l=0.0 x.h=0.5 y.l=-0.2 y.h=0.0 ++ + char.l=0.100 lat.rotate ratio=0.7 ++ doping unif n.type conc=1e16 x.l=0.0 x.h=5.0 y.l=0.0 y.h=1.3 ++ doping gauss n.type conc=5e19 x.l=0.0 x.h=5.0 y.l=1.3 y.h=1.3 ++ + char.l=0.100 lat.rotate ++ ++ method ac=direct itlim=10 ++ models bgn srh auger conctau concmob fieldmob + +.MODEL M_NPN nbjt level=2 ++ title TWO-DIMENSIONAL NUMERICAL POLYSILICON EMITTER BIPOLAR TRANSISTOR ++ * Since half the device is simulated, double the unit width to get ++ * 1.0 um emitter length. Uses a finer mesh in the X direction. ++ options defw=2.0u ++ output stat ++ ++ x.mesh w=0.5 h.e=0.075 h.m=0.2 r=2.0 ++ x.mesh w=0.75 h.s=0.075 h.m=0.2 r=2.0 ++ x.mesh w=0.75 h.e=0.05 h.m=0.2 r=1.5 ++ x.mesh w=0.5 h.s=0.05 h.m=0.1 r=1.5 ++ ++ y.mesh l=-0.2 n=1 ++ y.mesh l= 0.0 n=5 ++ y.mesh w=0.10 h.e=0.003 h.m=0.01 r=1.5 ++ y.mesh w=0.15 h.s=0.003 h.m=0.02 r=1.5 ++ y.mesh w=0.35 h.s=0.02 h.m=0.2 r=1.5 ++ y.mesh w=0.40 h.e=0.05 h.m=0.2 r=1.5 ++ y.mesh w=0.30 h.s=0.05 h.m=0.1 r=1.5 ++ ++ domain num=1 material=1 x.l=2.0 y.h=0.0 ++ domain num=2 material=2 x.h=2.0 y.h=0.0 ++ domain num=3 material=3 y.l=0.0 ++ material num=1 polysilicon ++ material num=2 oxide ++ material num=3 silicon ++ ++ elec num=1 x.l=0.0 x.h=0.0 y.l=1.1 y.h=1.3 ++ elec num=2 x.l=0.0 x.h=0.5 y.l=0.0 y.h=0.0 ++ elec num=3 x.l=2.0 x.h=3.0 y.l=-0.2 y.h=-0.2 ++ ++ doping gauss n.type conc=3e20 x.l=2.0 x.h=3.0 y.l=-0.2 y.h=0.0 ++ + char.l=0.047 lat.rotate ++ doping gauss p.type conc=5e18 x.l=0.0 x.h=5.0 y.l=-0.2 y.h=0.0 ++ + char.l=0.100 lat.rotate ++ doping gauss p.type conc=1e20 x.l=0.0 x.h=0.5 y.l=-0.2 y.h=0.0 ++ + char.l=0.100 lat.rotate ratio=0.7 ++ doping unif n.type conc=1e16 x.l=0.0 x.h=5.0 y.l=0.0 y.h=1.3 ++ doping gauss n.type conc=5e19 x.l=0.0 x.h=5.0 y.l=1.3 y.h=1.3 ++ + char.l=0.100 lat.rotate ++ ++ method ac=direct itlim=10 ++ models bgn srh auger conctau concmob fieldmob + +.MODEL M_PNPS nbjt level=2 ++ title TWO-DIMENSIONAL NUMERICAL POLYSILICON EMITTER BIPOLAR TRANSISTOR ++ * Since half the device is simulated, double the unit width to get ++ * 1.0 um emitter length. Use a small mesh for this model. ++ options defw=2.0u ++ output stat ++ ++ x.mesh w=2.0 h.e=0.02 h.m=0.5 r=2.0 ++ x.mesh w=0.5 h.s=0.02 h.m=0.2 r=2.0 ++ ++ y.mesh l=-0.2 n=1 ++ y.mesh l= 0.0 n=5 ++ y.mesh w=0.12 h.e=0.004 h.m=0.05 r=2.5 ++ y.mesh w=0.28 h.s=0.004 h.m=0.02 r=2.5 ++ y.mesh w=1.05 h.s=0.02 h.m=0.1 r=2.5 ++ ++ domain num=1 material=1 x.l=2.0 y.h=0.0 ++ domain num=2 material=2 x.h=2.0 y.h=0.0 ++ domain num=3 material=3 y.l=0.0 ++ material num=1 polysilicon ++ material num=2 oxide ++ material num=3 silicon ++ ++ elec num=1 x.l=0.0 x.h=0.0 y.l=1.1 y.h=1.3 ++ elec num=2 x.l=0.0 x.h=0.5 y.l=0.0 y.h=0.0 ++ elec num=3 x.l=2.0 x.h=3.0 y.l=-0.2 y.h=-0.2 ++ ++ doping gauss p.type conc=3e20 x.l=2.0 x.h=3.0 y.l=-0.2 y.h=0.0 ++ + char.l=0.047 lat.rotate ++ doping gauss n.type conc=5e17 x.l=0.0 x.h=5.0 y.l=-0.2 y.h=0.0 ++ + char.l=0.200 lat.rotate ++ doping gauss n.type conc=1e20 x.l=0.0 x.h=0.5 y.l=-0.2 y.h=0.0 ++ + char.l=0.100 lat.rotate ratio=0.7 ++ doping unif p.type conc=1e16 x.l=0.0 x.h=5.0 y.l=0.0 y.h=1.3 ++ doping gauss p.type conc=5e19 x.l=0.0 x.h=5.0 y.l=1.3 y.h=1.3 ++ + char.l=0.100 lat.rotate ++ ++ method ac=direct itlim=10 ++ models bgn srh auger conctau concmob fieldmob + +.MODEL M_PNP nbjt level=2 ++ title TWO-DIMENSIONAL NUMERICAL POLYSILICON EMITTER BIPOLAR TRANSISTOR ++ * Since half the device is simulated, double the unit width to get ++ * 1.0 um emitter length. Uses a finer mesh in the X direction. ++ options defw=2.0u ++ output stat ++ ++ x.mesh w=0.5 h.e=0.075 h.m=0.2 r=2.0 ++ x.mesh w=0.75 h.s=0.075 h.m=0.2 r=2.0 ++ x.mesh w=0.75 h.e=0.05 h.m=0.2 r=1.5 ++ x.mesh w=0.5 h.s=0.05 h.m=0.1 r=1.5 ++ ++ y.mesh l=-0.2 n=1 ++ y.mesh l= 0.0 n=5 ++ y.mesh w=0.12 h.e=0.003 h.m=0.01 r=1.5 ++ y.mesh w=0.28 h.s=0.003 h.m=0.02 r=1.5 ++ y.mesh w=0.20 h.s=0.02 h.m=0.2 r=1.5 ++ y.mesh w=0.40 h.e=0.05 h.m=0.2 r=1.5 ++ y.mesh w=0.30 h.s=0.05 h.m=0.1 r=1.5 ++ ++ domain num=1 material=1 x.l=2.0 y.h=0.0 ++ domain num=2 material=2 x.h=2.0 y.h=0.0 ++ domain num=3 material=3 y.l=0.0 ++ material num=1 polysilicon ++ material num=2 oxide ++ material num=3 silicon ++ ++ elec num=1 x.l=0.0 x.h=0.0 y.l=1.1 y.h=1.3 ++ elec num=2 x.l=0.0 x.h=0.5 y.l=0.0 y.h=0.0 ++ elec num=3 x.l=2.0 x.h=3.0 y.l=-0.2 y.h=-0.2 ++ ++ doping gauss p.type conc=3e20 x.l=2.0 x.h=3.0 y.l=-0.2 y.h=0.0 ++ + char.l=0.047 lat.rotate ++ doping gauss n.type conc=5e17 x.l=0.0 x.h=5.0 y.l=-0.2 y.h=0.0 ++ + char.l=0.200 lat.rotate ++ doping gauss n.type conc=1e20 x.l=0.0 x.h=0.5 y.l=-0.2 y.h=0.0 ++ + char.l=0.100 lat.rotate ratio=0.7 ++ doping unif p.type conc=1e16 x.l=0.0 x.h=5.0 y.l=0.0 y.h=1.3 ++ doping gauss p.type conc=5e19 x.l=0.0 x.h=5.0 y.l=1.3 y.h=1.3 ++ + char.l=0.100 lat.rotate ++ ++ method ac=direct itlim=10 ++ models bgn srh auger conctau concmob fieldmob + +** +* Two-dimensional models for a +* complementary MOS process. +* Device models for 1um, 2um, 3um, 4um, 5um, 10um and 50um are provided. +** + +.MODEL M_NMOS_1 numos ++ output stat ++ ++ x.mesh w=0.9 h.e=0.020 h.m=0.2 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=0.4 h.s=0.005 h.m=0.1 r=2.0 ++ x.mesh w=0.4 h.e=0.005 h.m=0.1 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=0.9 h.s=0.020 h.m=0.2 r=2.0 ++ ++ y.mesh l=-.0200 n=1 ++ y.mesh l=0.0 n=6 ++ y.mesh w=0.15 h.s=0.0001 h.max=.02 r=2.0 ++ y.mesh w=0.45 h.s=0.02 h.max=0.2 r=2.0 ++ y.mesh w=1.40 h.s=0.20 h.max=0.4 r=2.0 ++ ++ region num=1 material=1 y.h=0.0 ++ region num=2 material=2 y.l=0.0 ++ interface dom=2 nei=1 x.l=1 x.h=2 layer.width=0.0 ++ material num=1 oxide ++ material num=2 silicon ++ ++ elec num=1 x.l=2.5 x.h=3.1 y.l=0.0 y.h=0.0 ++ elec num=2 x.l=1 x.h=2 iy.l=1 iy.h=1 ++ elec num=3 x.l=-0.1 x.h=0.5 y.l=0.0 y.h=0.0 ++ elec num=4 x.l=-0.1 x.h=3.1 y.l=2.0 y.h=2.0 ++ ++ doping gauss p.type conc=1.0e17 x.l=-0.1 x.h=3.1 y.l=0.0 ++ + char.l=0.30 ++ doping unif p.type conc=5.0e15 x.l=-0.1 x.h=3.1 y.l=0.0 y.h=2.1 ++ doping gauss n.type conc=4e17 x.l=-0.1 x.h=1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss n.type conc=1e20 x.l=-0.1 x.h=0.95 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ doping gauss n.type conc=4e17 x.l=2 x.h=3.1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss n.type conc=1e20 x.l=2.05 x.h=3.1 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ ++ contact num=2 workf=4.10 ++ models concmob surfmob transmob fieldmob srh auger conctau bgn ++ method ac=direct itlim=10 onec + +.MODEL M_NMOS_2 numos ++ output stat ++ ++ x.mesh w=0.9 h.e=0.020 h.m=0.2 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=0.9 h.s=0.005 h.m=0.2 r=2.0 ++ x.mesh w=0.9 h.e=0.005 h.m=0.2 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=0.9 h.s=0.020 h.m=0.2 r=2.0 ++ ++ y.mesh l=-.0200 n=1 ++ y.mesh l=0.0 n=6 ++ y.mesh w=0.15 h.s=0.0001 h.max=.02 r=2.0 ++ y.mesh w=0.45 h.s=0.02 h.max=0.2 r=2.0 ++ y.mesh w=1.40 h.s=0.20 h.max=0.4 r=2.0 ++ ++ region num=1 material=1 y.h=0.0 ++ region num=2 material=2 y.l=0.0 ++ interface dom=2 nei=1 x.l=1 x.h=3 layer.width=0.0 ++ material num=1 oxide ++ material num=2 silicon ++ ++ elec num=1 x.l=3.5 x.h=4.1 y.l=0.0 y.h=0.0 ++ elec num=2 x.l=1 x.h=3 iy.l=1 iy.h=1 ++ elec num=3 x.l=-0.1 x.h=0.5 y.l=0.0 y.h=0.0 ++ elec num=4 x.l=-0.1 x.h=4.1 y.l=2.0 y.h=2.0 ++ ++ doping gauss p.type conc=1.0e17 x.l=-0.1 x.h=4.1 y.l=0.0 ++ + char.l=0.30 ++ doping unif p.type conc=5.0e15 x.l=-0.1 x.h=4.1 y.l=0.0 y.h=2.1 ++ doping gauss n.type conc=4e17 x.l=-0.1 x.h=1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss n.type conc=1e20 x.l=-0.1 x.h=0.95 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ doping gauss n.type conc=4e17 x.l=3 x.h=4.1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss n.type conc=1e20 x.l=3.05 x.h=4.1 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ ++ contact num=2 workf=4.10 ++ models concmob surfmob transmob fieldmob srh auger conctau bgn ++ method ac=direct itlim=10 onec + +.MODEL M_NMOS_3 numos ++ output stat ++ ++ x.mesh w=0.9 h.e=0.020 h.m=0.2 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=1.4 h.s=0.005 h.m=0.3 r=2.0 ++ x.mesh w=1.4 h.e=0.005 h.m=0.3 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=0.9 h.s=0.020 h.m=0.2 r=2.0 ++ ++ y.mesh l=-.0200 n=1 ++ y.mesh l=0.0 n=6 ++ y.mesh w=0.15 h.s=0.0001 h.max=.02 r=2.0 ++ y.mesh w=0.45 h.s=0.02 h.max=0.2 r=2.0 ++ y.mesh w=1.40 h.s=0.20 h.max=0.4 r=2.0 ++ ++ region num=1 material=1 y.h=0.0 ++ region num=2 material=2 y.l=0.0 ++ interface dom=2 nei=1 x.l=1 x.h=4 layer.width=0.0 ++ material num=1 oxide ++ material num=2 silicon ++ ++ elec num=1 x.l=4.5 x.h=5.1 y.l=0.0 y.h=0.0 ++ elec num=2 x.l=1 x.h=4 iy.l=1 iy.h=1 ++ elec num=3 x.l=-0.1 x.h=0.5 y.l=0.0 y.h=0.0 ++ elec num=4 x.l=-0.1 x.h=5.1 y.l=2.0 y.h=2.0 ++ ++ doping gauss p.type conc=1.0e17 x.l=-0.1 x.h=5.1 y.l=0.0 ++ + char.l=0.30 ++ doping unif p.type conc=5.0e15 x.l=-0.1 x.h=5.1 y.l=0.0 y.h=2.1 ++ doping gauss n.type conc=4e17 x.l=-0.1 x.h=1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss n.type conc=1e20 x.l=-0.1 x.h=0.95 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ doping gauss n.type conc=4e17 x.l=4 x.h=5.1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss n.type conc=1e20 x.l=4.05 x.h=5.1 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ ++ contact num=2 workf=4.10 ++ models concmob surfmob transmob fieldmob srh auger conctau bgn ++ method ac=direct itlim=10 onec + +.MODEL M_NMOS_4 numos ++ output stat ++ ++ x.mesh w=0.9 h.e=0.020 h.m=0.2 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=1.9 h.s=0.005 h.m=0.4 r=2.0 ++ x.mesh w=1.9 h.e=0.005 h.m=0.4 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=0.9 h.s=0.020 h.m=0.2 r=2.0 ++ ++ y.mesh l=-.0200 n=1 ++ y.mesh l=0.0 n=6 ++ y.mesh w=0.15 h.s=0.0001 h.max=.02 r=2.0 ++ y.mesh w=0.45 h.s=0.02 h.max=0.2 r=2.0 ++ y.mesh w=1.40 h.s=0.20 h.max=0.4 r=2.0 ++ ++ region num=1 material=1 y.h=0.0 ++ region num=2 material=2 y.l=0.0 ++ interface dom=2 nei=1 x.l=1 x.h=5 layer.width=0.0 ++ material num=1 oxide ++ material num=2 silicon ++ ++ elec num=1 x.l=5.5 x.h=6.1 y.l=0.0 y.h=0.0 ++ elec num=2 x.l=1 x.h=5 iy.l=1 iy.h=1 ++ elec num=3 x.l=-0.1 x.h=0.5 y.l=0.0 y.h=0.0 ++ elec num=4 x.l=-0.1 x.h=6.1 y.l=2.0 y.h=2.0 ++ ++ doping gauss p.type conc=1.0e17 x.l=-0.1 x.h=6.1 y.l=0.0 ++ + char.l=0.30 ++ doping unif p.type conc=5.0e15 x.l=-0.1 x.h=6.1 y.l=0.0 y.h=2.1 ++ doping gauss n.type conc=4e17 x.l=-0.1 x.h=1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss n.type conc=1e20 x.l=-0.1 x.h=0.95 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ doping gauss n.type conc=4e17 x.l=5 x.h=6.1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss n.type conc=1e20 x.l=5.05 x.h=6.1 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ ++ contact num=2 workf=4.10 ++ models concmob surfmob transmob fieldmob srh auger conctau bgn ++ method ac=direct itlim=10 onec + +.MODEL M_NMOS_5 numos ++ output stat ++ ++ x.mesh w=0.9 h.e=0.020 h.m=0.2 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=2.4 h.s=0.005 h.m=0.5 r=2.0 ++ x.mesh w=2.4 h.e=0.005 h.m=0.5 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=0.9 h.s=0.020 h.m=0.2 r=2.0 ++ ++ y.mesh l=-.0200 n=1 ++ y.mesh l=0.0 n=6 ++ y.mesh w=0.15 h.s=0.0001 h.max=.02 r=2.0 ++ y.mesh w=0.45 h.s=0.02 h.max=0.2 r=2.0 ++ y.mesh w=1.40 h.s=0.20 h.max=0.4 r=2.0 ++ ++ region num=1 material=1 y.h=0.0 ++ region num=2 material=2 y.l=0.0 ++ interface dom=2 nei=1 x.l=1 x.h=6 layer.width=0.0 ++ material num=1 oxide ++ material num=2 silicon ++ ++ elec num=1 x.l=6.5 x.h=7.1 y.l=0.0 y.h=0.0 ++ elec num=2 x.l=1 x.h=6 iy.l=1 iy.h=1 ++ elec num=3 x.l=-0.1 x.h=0.5 y.l=0.0 y.h=0.0 ++ elec num=4 x.l=-0.1 x.h=7.1 y.l=2.0 y.h=2.0 ++ ++ doping gauss p.type conc=1.0e17 x.l=-0.1 x.h=7.1 y.l=0.0 ++ + char.l=0.30 ++ doping unif p.type conc=5.0e15 x.l=-0.1 x.h=7.1 y.l=0.0 y.h=2.1 ++ doping gauss n.type conc=4e17 x.l=-0.1 x.h=1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss n.type conc=1e20 x.l=-0.1 x.h=0.95 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ doping gauss n.type conc=4e17 x.l=6 x.h=7.1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss n.type conc=1e20 x.l=6.05 x.h=7.1 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ ++ contact num=2 workf=4.10 ++ models concmob surfmob transmob fieldmob srh auger conctau bgn ++ method ac=direct itlim=10 onec + +.MODEL M_NMOS_10 numos ++ output stat ++ ++ x.mesh w=0.9 h.e=0.020 h.m=0.2 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=4.9 h.s=0.005 h.m=1 r=2.0 ++ x.mesh w=4.9 h.e=0.005 h.m=1 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=0.9 h.s=0.020 h.m=0.2 r=2.0 ++ ++ y.mesh l=-.0200 n=1 ++ y.mesh l=0.0 n=6 ++ y.mesh w=0.15 h.s=0.0001 h.max=.02 r=2.0 ++ y.mesh w=0.45 h.s=0.02 h.max=0.2 r=2.0 ++ y.mesh w=1.40 h.s=0.20 h.max=0.4 r=2.0 ++ ++ region num=1 material=1 y.h=0.0 ++ region num=2 material=2 y.l=0.0 ++ interface dom=2 nei=1 x.l=1 x.h=11 layer.width=0.0 ++ material num=1 oxide ++ material num=2 silicon ++ ++ elec num=1 x.l=11.5 x.h=12.1 y.l=0.0 y.h=0.0 ++ elec num=2 x.l=1 x.h=11 iy.l=1 iy.h=1 ++ elec num=3 x.l=-0.1 x.h=0.5 y.l=0.0 y.h=0.0 ++ elec num=4 x.l=-0.1 x.h=12.1 y.l=2.0 y.h=2.0 ++ ++ doping gauss p.type conc=1.0e17 x.l=-0.1 x.h=12.1 y.l=0.0 ++ + char.l=0.30 ++ doping unif p.type conc=5.0e15 x.l=-0.1 x.h=12.1 y.l=0.0 y.h=2.1 ++ doping gauss n.type conc=4e17 x.l=-0.1 x.h=1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss n.type conc=1e20 x.l=-0.1 x.h=0.95 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ doping gauss n.type conc=4e17 x.l=11 x.h=12.1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss n.type conc=1e20 x.l=11.05 x.h=12.1 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ ++ contact num=2 workf=4.10 ++ models concmob surfmob transmob fieldmob srh auger conctau bgn ++ method ac=direct itlim=10 onec + +.MODEL M_NMOS_50 numos ++ output stat ++ ++ x.mesh w=0.9 h.e=0.020 h.m=0.2 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=24.9 h.s=0.005 h.m=5 r=2.0 ++ x.mesh w=24.9 h.e=0.005 h.m=5 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=0.9 h.s=0.020 h.m=0.2 r=2.0 ++ ++ y.mesh l=-.0200 n=1 ++ y.mesh l=0.0 n=6 ++ y.mesh w=0.15 h.s=0.0001 h.max=.02 r=2.0 ++ y.mesh w=0.45 h.s=0.02 h.max=0.2 r=2.0 ++ y.mesh w=1.40 h.s=0.20 h.max=0.4 r=2.0 ++ ++ region num=1 material=1 y.h=0.0 ++ region num=2 material=2 y.l=0.0 ++ interface dom=2 nei=1 x.l=1 x.h=51 layer.width=0.0 ++ material num=1 oxide ++ material num=2 silicon ++ ++ elec num=1 x.l=51.5 x.h=52.1 y.l=0.0 y.h=0.0 ++ elec num=2 x.l=1 x.h=51 iy.l=1 iy.h=1 ++ elec num=3 x.l=-0.1 x.h=0.5 y.l=0.0 y.h=0.0 ++ elec num=4 x.l=-0.1 x.h=52.1 y.l=2.0 y.h=2.0 ++ ++ doping gauss p.type conc=1.0e17 x.l=-0.1 x.h=52.1 y.l=0.0 ++ + char.l=0.30 ++ doping unif p.type conc=5.0e15 x.l=-0.1 x.h=52.1 y.l=0.0 y.h=2.1 ++ doping gauss n.type conc=4e17 x.l=-0.1 x.h=1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss n.type conc=1e20 x.l=-0.1 x.h=0.95 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ doping gauss n.type conc=4e17 x.l=51 x.h=52.1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss n.type conc=1e20 x.l=51.05 x.h=52.1 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ ++ contact num=2 workf=4.10 ++ models concmob surfmob transmob fieldmob srh auger conctau bgn ++ method ac=direct itlim=10 onec + +.MODEL M_PMOS_1 numos ++ output stat ++ ++ x.mesh w=0.9 h.e=0.020 h.m=0.2 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=0.4 h.s=0.005 h.m=0.1 r=2.0 ++ x.mesh w=0.4 h.e=0.005 h.m=0.1 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=0.9 h.s=0.020 h.m=0.2 r=2.0 ++ ++ y.mesh l=-.0200 n=1 ++ y.mesh l=0.0 n=6 ++ y.mesh w=0.15 h.s=0.0001 h.max=.02 r=2.0 ++ y.mesh w=0.45 h.s=0.02 h.max=0.2 r=2.0 ++ y.mesh w=1.40 h.s=0.20 h.max=0.4 r=2.0 ++ ++ region num=1 material=1 y.h=0.0 ++ region num=2 material=2 y.l=0.0 ++ interface dom=2 nei=1 x.l=1 x.h=2 layer.width=0.0 ++ material num=1 oxide ++ material num=2 silicon ++ ++ elec num=1 x.l=2.5 x.h=3.1 y.l=0.0 y.h=0.0 ++ elec num=2 x.l=1 x.h=2 iy.l=1 iy.h=1 ++ elec num=3 x.l=-0.1 x.h=0.5 y.l=0.0 y.h=0.0 ++ elec num=4 x.l=-0.1 x.h=3.1 y.l=2.0 y.h=2.0 ++ ++ doping gauss n.type conc=1.0e17 x.l=-0.1 x.h=3.1 y.l=0.0 ++ + char.l=0.30 ++ doping unif n.type conc=5.0e15 x.l=-0.1 x.h=3.1 y.l=0.0 y.h=2.1 ++ doping gauss p.type conc=4e17 x.l=-0.1 x.h=1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss p.type conc=1e20 x.l=-0.1 x.h=0.95 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ doping gauss p.type conc=4e17 x.l=2 x.h=3.1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss p.type conc=1e20 x.l=2.05 x.h=3.1 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ ++ contact num=2 workf=5.29 ++ models concmob surfmob transmob fieldmob srh auger conctau bgn ++ method ac=direct itlim=10 onec + +.MODEL M_PMOS_2 numos ++ output stat ++ ++ x.mesh w=0.9 h.e=0.020 h.m=0.2 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=0.9 h.s=0.005 h.m=0.2 r=2.0 ++ x.mesh w=0.9 h.e=0.005 h.m=0.2 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=0.9 h.s=0.020 h.m=0.2 r=2.0 ++ ++ y.mesh l=-.0200 n=1 ++ y.mesh l=0.0 n=6 ++ y.mesh w=0.15 h.s=0.0001 h.max=.02 r=2.0 ++ y.mesh w=0.45 h.s=0.02 h.max=0.2 r=2.0 ++ y.mesh w=1.40 h.s=0.20 h.max=0.4 r=2.0 ++ ++ region num=1 material=1 y.h=0.0 ++ region num=2 material=2 y.l=0.0 ++ interface dom=2 nei=1 x.l=1 x.h=3 layer.width=0.0 ++ material num=1 oxide ++ material num=2 silicon ++ ++ elec num=1 x.l=3.5 x.h=4.1 y.l=0.0 y.h=0.0 ++ elec num=2 x.l=1 x.h=3 iy.l=1 iy.h=1 ++ elec num=3 x.l=-0.1 x.h=0.5 y.l=0.0 y.h=0.0 ++ elec num=4 x.l=-0.1 x.h=4.1 y.l=2.0 y.h=2.0 ++ ++ doping gauss n.type conc=1.0e17 x.l=-0.1 x.h=4.1 y.l=0.0 ++ + char.l=0.30 ++ doping unif n.type conc=5.0e15 x.l=-0.1 x.h=4.1 y.l=0.0 y.h=2.1 ++ doping gauss p.type conc=4e17 x.l=-0.1 x.h=1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss p.type conc=1e20 x.l=-0.1 x.h=0.95 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ doping gauss p.type conc=4e17 x.l=3 x.h=4.1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss p.type conc=1e20 x.l=3.05 x.h=4.1 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ ++ contact num=2 workf=5.29 ++ models concmob surfmob transmob fieldmob srh auger conctau bgn ++ method ac=direct itlim=10 onec + +.MODEL M_PMOS_3 numos ++ output stat ++ ++ x.mesh w=0.9 h.e=0.020 h.m=0.2 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=1.4 h.s=0.005 h.m=0.3 r=2.0 ++ x.mesh w=1.4 h.e=0.005 h.m=0.3 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=0.9 h.s=0.020 h.m=0.2 r=2.0 ++ ++ y.mesh l=-.0200 n=1 ++ y.mesh l=0.0 n=6 ++ y.mesh w=0.15 h.s=0.0001 h.max=.02 r=2.0 ++ y.mesh w=0.45 h.s=0.02 h.max=0.2 r=2.0 ++ y.mesh w=1.40 h.s=0.20 h.max=0.4 r=2.0 ++ ++ region num=1 material=1 y.h=0.0 ++ region num=2 material=2 y.l=0.0 ++ interface dom=2 nei=1 x.l=1 x.h=4 layer.width=0.0 ++ material num=1 oxide ++ material num=2 silicon ++ ++ elec num=1 x.l=4.5 x.h=5.1 y.l=0.0 y.h=0.0 ++ elec num=2 x.l=1 x.h=4 iy.l=1 iy.h=1 ++ elec num=3 x.l=-0.1 x.h=0.5 y.l=0.0 y.h=0.0 ++ elec num=4 x.l=-0.1 x.h=5.1 y.l=2.0 y.h=2.0 ++ ++ doping gauss n.type conc=1.0e17 x.l=-0.1 x.h=5.1 y.l=0.0 ++ + char.l=0.30 ++ doping unif n.type conc=5.0e15 x.l=-0.1 x.h=5.1 y.l=0.0 y.h=2.1 ++ doping gauss p.type conc=4e17 x.l=-0.1 x.h=1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss p.type conc=1e20 x.l=-0.1 x.h=0.95 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ doping gauss p.type conc=4e17 x.l=4 x.h=5.1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss p.type conc=1e20 x.l=4.05 x.h=5.1 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ ++ contact num=2 workf=5.29 ++ models concmob surfmob transmob fieldmob srh auger conctau bgn ++ method ac=direct itlim=10 onec + +.MODEL M_PMOS_4 numos ++ output stat ++ ++ x.mesh w=0.9 h.e=0.020 h.m=0.2 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=1.9 h.s=0.005 h.m=0.4 r=2.0 ++ x.mesh w=1.9 h.e=0.005 h.m=0.4 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=0.9 h.s=0.020 h.m=0.2 r=2.0 ++ ++ y.mesh l=-.0200 n=1 ++ y.mesh l=0.0 n=6 ++ y.mesh w=0.15 h.s=0.0001 h.max=.02 r=2.0 ++ y.mesh w=0.45 h.s=0.02 h.max=0.2 r=2.0 ++ y.mesh w=1.40 h.s=0.20 h.max=0.4 r=2.0 ++ ++ region num=1 material=1 y.h=0.0 ++ region num=2 material=2 y.l=0.0 ++ interface dom=2 nei=1 x.l=1 x.h=5 layer.width=0.0 ++ material num=1 oxide ++ material num=2 silicon ++ ++ elec num=1 x.l=5.5 x.h=6.1 y.l=0.0 y.h=0.0 ++ elec num=2 x.l=1 x.h=5 iy.l=1 iy.h=1 ++ elec num=3 x.l=-0.1 x.h=0.5 y.l=0.0 y.h=0.0 ++ elec num=4 x.l=-0.1 x.h=6.1 y.l=2.0 y.h=2.0 ++ ++ doping gauss n.type conc=1.0e17 x.l=-0.1 x.h=6.1 y.l=0.0 ++ + char.l=0.30 ++ doping unif n.type conc=5.0e15 x.l=-0.1 x.h=6.1 y.l=0.0 y.h=2.1 ++ doping gauss p.type conc=4e17 x.l=-0.1 x.h=1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss p.type conc=1e20 x.l=-0.1 x.h=0.95 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ doping gauss p.type conc=4e17 x.l=5 x.h=6.1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss p.type conc=1e20 x.l=5.05 x.h=6.1 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ ++ contact num=2 workf=5.29 ++ models concmob surfmob transmob fieldmob srh auger conctau bgn ++ method ac=direct itlim=10 onec + +.MODEL M_PMOS_5 numos ++ output stat ++ ++ x.mesh w=0.9 h.e=0.020 h.m=0.2 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=2.4 h.s=0.005 h.m=0.5 r=2.0 ++ x.mesh w=2.4 h.e=0.005 h.m=0.5 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=0.9 h.s=0.020 h.m=0.2 r=2.0 ++ ++ y.mesh l=-.0200 n=1 ++ y.mesh l=0.0 n=6 ++ y.mesh w=0.15 h.s=0.0001 h.max=.02 r=2.0 ++ y.mesh w=0.45 h.s=0.02 h.max=0.2 r=2.0 ++ y.mesh w=1.40 h.s=0.20 h.max=0.4 r=2.0 ++ ++ region num=1 material=1 y.h=0.0 ++ region num=2 material=2 y.l=0.0 ++ interface dom=2 nei=1 x.l=1 x.h=6 layer.width=0.0 ++ material num=1 oxide ++ material num=2 silicon ++ ++ elec num=1 x.l=6.5 x.h=7.1 y.l=0.0 y.h=0.0 ++ elec num=2 x.l=1 x.h=6 iy.l=1 iy.h=1 ++ elec num=3 x.l=-0.1 x.h=0.5 y.l=0.0 y.h=0.0 ++ elec num=4 x.l=-0.1 x.h=7.1 y.l=2.0 y.h=2.0 ++ ++ doping gauss n.type conc=1.0e17 x.l=-0.1 x.h=7.1 y.l=0.0 ++ + char.l=0.30 ++ doping unif n.type conc=5.0e15 x.l=-0.1 x.h=7.1 y.l=0.0 y.h=2.1 ++ doping gauss p.type conc=4e17 x.l=-0.1 x.h=1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss p.type conc=1e20 x.l=-0.1 x.h=0.95 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ doping gauss p.type conc=4e17 x.l=6 x.h=7.1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss p.type conc=1e20 x.l=6.05 x.h=7.1 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ ++ contact num=2 workf=5.29 ++ models concmob surfmob transmob fieldmob srh auger conctau bgn ++ method ac=direct itlim=10 onec + +.MODEL M_PMOS_10 numos ++ output stat ++ ++ x.mesh w=0.9 h.e=0.020 h.m=0.2 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=4.9 h.s=0.005 h.m=1 r=2.0 ++ x.mesh w=4.9 h.e=0.005 h.m=1 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=0.9 h.s=0.020 h.m=0.2 r=2.0 ++ ++ y.mesh l=-.0200 n=1 ++ y.mesh l=0.0 n=6 ++ y.mesh w=0.15 h.s=0.0001 h.max=.02 r=2.0 ++ y.mesh w=0.45 h.s=0.02 h.max=0.2 r=2.0 ++ y.mesh w=1.40 h.s=0.20 h.max=0.4 r=2.0 ++ ++ region num=1 material=1 y.h=0.0 ++ region num=2 material=2 y.l=0.0 ++ interface dom=2 nei=1 x.l=1 x.h=11 layer.width=0.0 ++ material num=1 oxide ++ material num=2 silicon ++ ++ elec num=1 x.l=11.5 x.h=12.1 y.l=0.0 y.h=0.0 ++ elec num=2 x.l=1 x.h=11 iy.l=1 iy.h=1 ++ elec num=3 x.l=-0.1 x.h=0.5 y.l=0.0 y.h=0.0 ++ elec num=4 x.l=-0.1 x.h=12.1 y.l=2.0 y.h=2.0 ++ ++ doping gauss n.type conc=1.0e17 x.l=-0.1 x.h=12.1 y.l=0.0 ++ + char.l=0.30 ++ doping unif n.type conc=5.0e15 x.l=-0.1 x.h=12.1 y.l=0.0 y.h=2.1 ++ doping gauss p.type conc=4e17 x.l=-0.1 x.h=1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss p.type conc=1e20 x.l=-0.1 x.h=0.95 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ doping gauss p.type conc=4e17 x.l=11 x.h=12.1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss p.type conc=1e20 x.l=11.05 x.h=12.1 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ ++ contact num=2 workf=5.29 ++ models concmob surfmob transmob fieldmob srh auger conctau bgn ++ method ac=direct itlim=10 onec + +.MODEL M_PMOS_50 numos ++ output stat ++ ++ x.mesh w=0.9 h.e=0.020 h.m=0.2 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=24.9 h.s=0.005 h.m=5 r=2.0 ++ x.mesh w=24.9 h.e=0.005 h.m=5 r=2.0 ++ x.mesh w=0.2 h.e=0.005 h.m=0.02 r=2.0 ++ x.mesh w=0.9 h.s=0.020 h.m=0.2 r=2.0 ++ ++ y.mesh l=-.0200 n=1 ++ y.mesh l=0.0 n=6 ++ y.mesh w=0.15 h.s=0.0001 h.max=.02 r=2.0 ++ y.mesh w=0.45 h.s=0.02 h.max=0.2 r=2.0 ++ y.mesh w=1.40 h.s=0.20 h.max=0.4 r=2.0 ++ ++ region num=1 material=1 y.h=0.0 ++ region num=2 material=2 y.l=0.0 ++ interface dom=2 nei=1 x.l=1 x.h=51 layer.width=0.0 ++ material num=1 oxide ++ material num=2 silicon ++ ++ elec num=1 x.l=51.5 x.h=52.1 y.l=0.0 y.h=0.0 ++ elec num=2 x.l=1 x.h=51 iy.l=1 iy.h=1 ++ elec num=3 x.l=-0.1 x.h=0.5 y.l=0.0 y.h=0.0 ++ elec num=4 x.l=-0.1 x.h=52.1 y.l=2.0 y.h=2.0 ++ ++ doping gauss n.type conc=1.0e17 x.l=-0.1 x.h=52.1 y.l=0.0 ++ + char.l=0.30 ++ doping unif n.type conc=5.0e15 x.l=-0.1 x.h=52.1 y.l=0.0 y.h=2.1 ++ doping gauss p.type conc=4e17 x.l=-0.1 x.h=1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss p.type conc=1e20 x.l=-0.1 x.h=0.95 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ doping gauss p.type conc=4e17 x.l=51 x.h=52.1 y.l=0.0 y.h=0.0 ++ + char.l=0.16 lat.rotate ratio=0.65 ++ doping gauss p.type conc=1e20 x.l=51.05 x.h=52.1 y.l=0.0 y.h=0.08 ++ + char.l=0.03 lat.rotate ratio=0.65 ++ ++ contact num=2 workf=5.29 ++ models concmob surfmob transmob fieldmob srh auger conctau bgn ++ method ac=direct itlim=10 onec + +** +* BSIM1 NMOS and PMOS 1.0 \um models. +* Gummel-Poon bipolar models. +** +.model M_NSIM_1 nmos level=4 ++vfb= -1.1908 ++phi= .8399 ++k1= 1.5329 ++k2= 193.7322m ++eta= 2m ++muz= 746.0 ++u0= 90.0m ++x2mz= 10.1429 ++x2e= -2.5m ++x3e= 0.2m ++x2u0= -10.0m ++mus= 975.0 ++u1= .20 ++x2ms= 0.0 ++x2u1= 0.0 ++x3ms= 10 ++x3u1= 5.0m ++tox=2.00000e-02 ++cgdo=2.0e-10 ++cgso=2.0e-10 ++cgbo=0.0 ++temp= 27 ++vdd= 7.0 ++xpart ++n0= 1.5686 ++nb= 94.6392m ++nd=0.00000e+00 ++rsh=30.0 cj=7.000e-004 cjsw=4.20e-010 ++js=1.00e-008 pb=0.700e000 ++pbsw=0.8000e000 mj=0.5 mjsw=0.33 ++wdf=0 dell=0.20u + +.model M_PSIM_1 pmos level=4 ++vfb= -1.3674 ++phi= .8414 ++k1= 1.5686 ++k2= 203m ++eta= 2m ++muz= 340.0 ++u0= 35.0m ++x2mz= 6.0 ++x2e= 0.0 ++x3e= -0.2m ++x2u0= -15.0m ++mus= 440.0 ++u1= .38 ++x2ms= 0.0 ++x2u1= 0.0 ++x3ms= -20 ++x3u1= -10.0m ++tox=2.00000e-02 ++cgdo=2.0e-10 ++cgso=2.0e-10 ++cgbo=0.0 ++temp= 27 ++vdd= 5.0 ++xpart ++n0= 1.5686 ++nb= 94.6392m ++nd=0.00000e+00 ++rsh=80.0 cj=7.000e-004 cjsw=4.20e-010 ++js=1.00e-008 pb=0.700e000 ++pbsw=0.8000e000 mj=0.5 mjsw=0.33 ++wdf=0 dell=0.17u + +.model M_GNPN npn ++ is=1.3e-16 ++ nf=1.00 bf=262.5 ikf=25mA vaf=20v ++ nr=1.00 br=97.5 ikr=0.5mA var=1.8v ++ rc=20.0 ++ re=0.09 ++ rb=15.0 ++ ise=4.0e-16 ne=2.1 ++ isc=7.2e-17 nc=2.0 ++ tf=9.4ps itf=26uA xtf=0.5 ++ tr=10ns ++ cje=89.44fF vje=0.95 mje=0.5 ++ cjc=12.82fF vjc=0.73 mjc=0.49 + +.model M_GPNP pnp ++ is=5.8e-17 ++ nf=1.001 bf=96.4 ikf=12mA vaf=29v ++ nr=1.0 br=17.3 ikr=0.2mA var=2.0v ++ rc=50.0 ++ re=0.17 ++ rb=20.0 ++ ise=6.8e-17 ne=2.0 ++ isc=9.0e-17 nc=2.1 ++ tf=27.4ps itf=26uA xtf=0.5 ++ tr=10ns ++ cje=55.36fF vje=0.95 mje=0.58 ++ cjc=11.80fF vjc=0.72 mjc=0.46 diff --git a/examples/cider/parallel/bicmpd.cir b/examples/cider/parallel/bicmpd.cir new file mode 100644 index 000000000..be26e40d2 --- /dev/null +++ b/examples/cider/parallel/bicmpd.cir @@ -0,0 +1,26 @@ +BICMOS INVERTER PULLDOWN CIRCUIT + +VSS 2 0 0V + +VIN 3 2 0V (PULSE 0.0V 4.2V 0NS 1NS 1NS 9NS 20NS) + +M1 8 3 5 11 M_NMOS_1 W=4U L=1U +VD 4 8 0V +VBK 11 2 0V + +Q1 10 7 9 M_NPNS AREA=8 +VC 4 10 0V +VB 5 7 0V +VE 9 2 0V + +CL 4 6 1PF +VL 6 2 0V + +.IC V(10)=5.0V V(7)=0.0V +.TRAN 0.1NS 5NS 0NS 0.1NS +.PLOT TRAN I(VIN) + +.INCLUDE BICMOS.LIB + +.OPTIONS ACCT BYPASS=1 +.END diff --git a/examples/cider/parallel/bicmpu.cir b/examples/cider/parallel/bicmpu.cir new file mode 100644 index 000000000..7067ce14d --- /dev/null +++ b/examples/cider/parallel/bicmpu.cir @@ -0,0 +1,24 @@ +BICMOS INVERTER PULLUP CIRCUIT + +VDD 1 0 5.0V +VSS 2 0 0.0V + +VIN 3 0 0.75V + +VC 1 11 0.0V +VB 5 15 0.0V + +Q1 11 15 4 M_NPNS AREA=8 +M1 5 3 1 1 M_PMOS_1 W=10U L=1U + +CL 4 0 5.0PF + +.IC V(4)=0.75V V(5)=0.0V + +.INCLUDE BICMOS.LIB + +.TRAN 0.5NS 4.0NS +.PRINT TRAN V(3) V(4) + +.OPTION ACCT BYPASS=1 +.END diff --git a/examples/cider/parallel/clkfeed.cir b/examples/cider/parallel/clkfeed.cir new file mode 100644 index 000000000..d0a06f157 --- /dev/null +++ b/examples/cider/parallel/clkfeed.cir @@ -0,0 +1,34 @@ +SWITCHED CURRENT CELL - CLOCK FEEDTHROUGH + +VDD 1 0 5.0V +VSS 2 0 0.0V + +IIN 13 0 0.0 +VIN 13 3 0.0 +VL 4 0 2.5V +VCK 6 0 5.0V PULSE 5.0V 0.0V 5.0NS 5NS 5NS 20NS 50NS + +M1 3 3 2 2 M_NMOS_5 W=5U L=5U +M2 4 5 2 2 M_NMOS_5 W=10U L=5U +M3 23 26 25 22 M_NMOS_5 W=5U L=5U +RLK1 3 0 100G +RLK2 5 0 100G +VD 3 23 0.0V +VG 6 26 0.0V +VS 5 25 0.0V +VB 2 22 0.0V + +M4 7 7 1 1 M_PMOS_IDEAL W=100U L=1U +M5 3 7 1 1 M_PMOS_IDEAL W=100U L=1U +M6 4 7 1 1 M_PMOS_IDEAL W=200U L=1U +IREF 7 0 50UA + +****** MODELS ****** +.MODEL M_PMOS_IDEAL PMOS VTO=-1.0V KP=100U + +.INCLUDE BICMOS.LIB + +.TRAN 0.1NS 50NS + +.OPTIONS ACCT BYPASS=1 METHOD=GEAR +.END diff --git a/examples/cider/parallel/cmosamp.cir b/examples/cider/parallel/cmosamp.cir new file mode 100644 index 000000000..f88115b56 --- /dev/null +++ b/examples/cider/parallel/cmosamp.cir @@ -0,0 +1,29 @@ +CMOS 2-STAGE OPERATIONAL AMPLIFIER + +VDD 1 0 2.5V +VSS 2 0 -2.5V + +IBIAS 9 0 100UA + +VPL 3 0 0.0V AC 0.5V +VMI 4 0 0.0V AC 0.5V 180 + +M1 6 3 5 5 M_PMOS_1 W=15U L=1U +M2 7 4 5 5 M_PMOS_1 W=15U L=1U +M3 6 6 2 2 M_NMOS_1 W=7.5U L=1U +M4 7 6 2 2 M_NMOS_1 W=7.5U L=1U +M5 8 7 2 2 M_NMOS_1 W=15U L=1U +M6 9 9 1 1 M_PMOS_1 W=15U L=1U +M7 5 9 1 1 M_PMOS_1 W=15U L=1U +M8 8 9 1 1 M_PMOS_1 W=15U L=1U + +*CC 7 8 0.1PF + +.INCLUDE BICMOS.LIB + +*.OP +*.AC DEC 10 1K 100G +.DC VPL -5MV 5MV 0.1MV + +.OPTIONS ACCT BYPASS=1 METHOD=GEAR +.END diff --git a/examples/cider/parallel/eclinv.cir b/examples/cider/parallel/eclinv.cir new file mode 100644 index 000000000..a63c1c14e --- /dev/null +++ b/examples/cider/parallel/eclinv.cir @@ -0,0 +1,30 @@ +ECL INVERTER +*** (FROM MEINERZHAGEN ET AL.) + +VCC 1 0 0.0V +VEE 2 0 -5.2V + +VIN 3 0 -1.25V +VRF 4 0 -1.25V + +*** INPUT STAGE +Q1 5 3 9 M_NPNS AREA=8 +Q2 6 4 9 M_NPNS AREA=8 +R1 1 5 662 +R2 1 6 662 +R3 9 2 2.65K + +*** OUTPUT BUFFERS +Q3 1 5 7 M_NPNS AREA=8 +Q4 1 6 8 M_NPNS AREA=8 +R4 7 2 4.06K +R5 8 2 4.06K + +*** MODEL LIBRARY +.INCLUDE BICMOS.LIB + +.DC VIN -2.00 0.001 0.05 +.PLOT DC V(7) V(8) + +.OPTIONS ACCT BYPASS=1 +.END diff --git a/examples/cider/parallel/ecpal.cir b/examples/cider/parallel/ecpal.cir new file mode 100644 index 000000000..4485a4422 --- /dev/null +++ b/examples/cider/parallel/ecpal.cir @@ -0,0 +1,19 @@ +EMITTER COUPLED PAIR WITH ACTIVE LOAD + +VCC 1 0 5V +VEE 2 0 0V +VINP 4 0 2.99925V AC 0.5V +VINM 7 0 3V AC 0.5V 180 +IEE 5 2 0.1MA +Q1 3 4 5 M_NPNS AREA=8 +Q2 6 7 5 M_NPNS AREA=8 +Q3 3 3 1 M_PNPS AREA=8 +Q4 6 3 1 M_PNPS AREA=8 + +.AC DEC 10 10K 100G +.PLOT AC VDB(6) + +.INCLUDE BICMOS.LIB + +.OPTIONS ACCT RELTOL=1E-6 +.END diff --git a/examples/cider/parallel/foobar b/examples/cider/parallel/foobar new file mode 100644 index 000000000..1e5e7b735 --- /dev/null +++ b/examples/cider/parallel/foobar @@ -0,0 +1,10 @@ +\section*{BICMPD Benchmark} +\section*{BICMPU Benchmark} +\section*{CLKFEED Benchmark} +\section*{CMOSAMP Benchmark} +\section*{ECLINV Benchmark} +\section*{ECPAL Benchmark} +\section*{GMAMP Benchmark} +\section*{LATCH Benchmark} +\section*{PPEF Benchmarks} +\section*{RINGOSC Benchmarks} diff --git a/examples/cider/parallel/gmamp.cir b/examples/cider/parallel/gmamp.cir new file mode 100644 index 000000000..e570becaf --- /dev/null +++ b/examples/cider/parallel/gmamp.cir @@ -0,0 +1,34 @@ +BICMOS 3-STAGE AMPLIFIER +*** IN GRAY & MEYER, 3RD ED. P.266, PROB. 3.12, 8.19 + +VDD 1 0 5.0V +VSS 2 0 0.0V + +*** VOLTAGE INPUT +*VIN 13 0 0.0V AC 1V +*CIN 13 3 1UF + +*** CURRENT INPUT +IIN 3 0 0.0 AC 1.0 + +M1 4 3 2 2 M_NMOS_1 W=300U L=1U +M2 7 7 2 2 M_NMOS_1 W=20U L=1U + +Q1 6 5 4 M_NPNS AREA=40 +Q2 5 5 7 M_NPNS AREA=40 +Q3 1 6 8 M_NPNS AREA=40 + +RL1 1 4 1K +RL2 1 6 10K +RB1 1 5 10K +RL3 8 2 1K +RF1 3 8 30K + +*** NUMERICAL MODEL LIBRARY *** +.INCLUDE BICMOS.LIB + +.AC DEC 10 100KHZ 100GHZ +.PLOT AC VDB(8) + +.OPTIONS ACCT BYPASS=1 KEEPOPINFO +.END diff --git a/examples/cider/parallel/latch.cir b/examples/cider/parallel/latch.cir new file mode 100644 index 000000000..3ad633351 --- /dev/null +++ b/examples/cider/parallel/latch.cir @@ -0,0 +1,46 @@ +STATIC LATCH +*** IC=1MA, RE6=3K +*** SPICE ORIGINAL 1-7-80, CIDER REVISED 4-16-93 + +*** BIAS CIRCUIT +*** RESISTORS +RCC2 6 8 3.33K +REE2 9 0 200 +*** TRANSISTORS +Q1 6 8 4 M_NPN1D AREA=8 +Q2 8 4 9 M_NPN1D AREA=8 + +*** MODELS +.INCLUDE BICMOS.LIB + +*** SOURCES +VCC 6 0 5V +VREF 3 0 2.5V +VRSET 1 0 PULSE(2V 3V 0.1NS 0.1NS 0.1NS 0.9NS 4NS) +VSET 7 0 PULSE(2V 3V 2.1NS 0.1NS 0.1NS 0.9NS 4NS) + +*** LATCH +X1 1 2 3 4 5 6 ECLNOR2 +X2 5 7 3 4 2 6 ECLNOR2 + +*** SUBCIRCUITS +.SUBCKT ECLNOR2 1 2 3 4 5 6 +** RESISTORS +RS 6 11 520 +RC2 11 10 900 +RE4 12 0 200 +RE6 5 0 6K +** TRANSISTORS +Q1 9 1 8 M_NPN1D AREA=8 +Q2 9 2 8 M_NPN1D AREA=8 +Q3 11 3 8 M_NPN1D AREA=8 +Q4 8 4 12 M_NPN1D AREA=8 +Q5 10 10 9 M_NPN1D AREA=8 +Q6 6 9 5 M_NPN1D AREA=8 +.ENDS ECLNOR2 + +*** CONTROL CARDS +.TRAN 0.01NS 8NS +.PRINT TRAN V(1) V(7) V(5) V(2) +.OPTIONS ACCT BYPASS=1 +.END diff --git a/examples/cider/parallel/ppef.1d.cir b/examples/cider/parallel/ppef.1d.cir new file mode 100644 index 000000000..8690c6653 --- /dev/null +++ b/examples/cider/parallel/ppef.1d.cir @@ -0,0 +1,25 @@ +PUSH-PULL EMITTER FOLLOWER - ONE-DIMENSIONAL MODELS + +VCC 1 0 5.0V +VEE 2 0 -5.0V + +VIN 3 0 0.0V (SIN 0.0V 0.1V 1KHZ) AC 1 +VBU 13 3 0.7V +VBL 3 23 0.7V + +RL 4 44 50 +VLD 44 0 0V + +Q1 5 13 4 M_NPN1D AREA=40 +Q2 4 5 1 M_PNP1D AREA=200 + +Q3 6 23 4 M_PNP1D AREA=100 +Q4 4 6 2 M_NPN1D AREA=80 + +.INCLUDE BICMOS.LIB + +.TRAN 0.01MS 1.00001MS 0US 0.01MS +.PLOT TRAN V(4) + +.OPTIONS ACCT BYPASS=1 TEMP=26.85OC RELTOL=1E-5 +.END diff --git a/examples/cider/parallel/ppef.2d.cir b/examples/cider/parallel/ppef.2d.cir new file mode 100644 index 000000000..07fa10fba --- /dev/null +++ b/examples/cider/parallel/ppef.2d.cir @@ -0,0 +1,25 @@ +PUSH-PULL EMITTER FOLLOWER - TWO-DIMENSIONAL MODELS + +VCC 1 0 5.0V +VEE 2 0 -5.0V + +VIN 3 0 0.0V (SIN 0.0V 0.1V 1KHZ) AC 1 +VBU 13 3 0.7V +VBL 3 23 0.7V + +RL 4 44 50 +VLD 44 0 0V + +Q1 5 13 4 M_NPNS AREA=40 +Q2 4 5 1 M_PNPS AREA=200 + +Q3 6 23 4 M_PNPS AREA=100 +Q4 4 6 2 M_NPNS AREA=80 + +.INCLUDE BICMOS.LIB + +.TRAN 0.01MS 1.00001MS 0US 0.01MS +.PLOT TRAN V(4) + +.OPTIONS ACCT BYPASS=1 TEMP=26.85OC RELTOL=1E-5 +.END diff --git a/examples/cider/parallel/readme b/examples/cider/parallel/readme new file mode 100644 index 000000000..077c78f6b --- /dev/null +++ b/examples/cider/parallel/readme @@ -0,0 +1,3 @@ +This directory contains the additional CIDER parallel-version benchmarks +used in the thesis "Design-Oriented Mixed-Level Circuit and Device Simulation" +by David A. Gates. diff --git a/examples/cider/parallel/ringosc.1u.cir b/examples/cider/parallel/ringosc.1u.cir new file mode 100644 index 000000000..2304c4ebd --- /dev/null +++ b/examples/cider/parallel/ringosc.1u.cir @@ -0,0 +1,39 @@ +CMOS RING OSCILLATOR - 1UM DEVICES + +VDD 1 0 5.0V +VSS 2 0 0.0V + +X1 1 2 3 4 INV +X2 1 2 4 5 INV +X3 1 2 5 6 INV +X4 1 2 6 7 INV +X5 1 2 7 8 INV +X6 1 2 8 9 INV +X7 1 2 9 3 INV + +.IC V(3)=0.0V V(4)=2.5V V(5)=5.0V ++ V(6)=0.0V V(7)=5.0V V(8)=0.0V V(9)=5.0V + +.SUBCKT INV 1 2 3 4 +* VDD VSS VIN VOUT +M1 14 13 15 16 M_PMOS_1 W=6.0U +M2 24 23 25 26 M_NMOS_1 W=3.0U + +VGP 3 13 0.0V +VDP 4 14 0.0V +VSP 1 15 0.0V +VBP 1 16 0.0V + +VGN 3 23 0.0V +VDN 4 24 0.0V +VSN 2 25 0.0V +VBN 2 26 0.0V +.ENDS INV + +.INCLUDE BICMOS.LIB + +.TRAN 0.1NS 1NS +.PRINT TRAN V(3) V(4) V(5) + +.OPTIONS ACCT BYPASS=1 METHOD=GEAR +.END diff --git a/examples/cider/parallel/ringosc.2u.cir b/examples/cider/parallel/ringosc.2u.cir new file mode 100644 index 000000000..c79885ab1 --- /dev/null +++ b/examples/cider/parallel/ringosc.2u.cir @@ -0,0 +1,114 @@ +CMOS RING OSCILLATOR - 2UM DEVICES + +VDD 1 0 5.0V +VSS 2 0 0.0V + +X1 1 2 3 4 INV +X2 1 2 4 5 INV +X3 1 2 5 6 INV +X4 1 2 6 7 INV +X5 1 2 7 8 INV +X6 1 2 8 9 INV +X7 1 2 9 3 INV + +.IC V(3)=0.0V V(4)=2.5V V(5)=5.0V V(6)=0.0V ++ V(7)=5.0V V(8)=0.0V V(9)=5.0V + +.SUBCKT INV 1 2 3 4 +* VDD VSS VIN VOUT +M1 14 13 15 16 M_PMOS W=6.0U +M2 24 23 25 26 M_NMOS W=3.0U + +VGP 3 13 0.0V +VDP 4 14 0.0V +VSP 1 15 0.0V +VBP 1 16 0.0V + +VGN 3 23 0.0V +VDN 4 24 0.0V +VSN 2 25 0.0V +VBN 2 26 0.0V +.ENDS INV + +.MODEL M_NMOS NUMOS ++ X.MESH L=0.0 N=1 ++ X.MESH L=0.6 N=4 ++ X.MESH L=0.7 N=5 ++ X.MESH L=1.0 N=7 ++ X.MESH L=1.2 N=11 ++ X.MESH L=3.2 N=21 ++ X.MESH L=3.4 N=25 ++ X.MESH L=3.7 N=27 ++ X.MESH L=3.8 N=28 ++ X.MESH L=4.4 N=31 ++ ++ Y.MESH L=-.05 N=1 ++ Y.MESH L=0.0 N=5 ++ Y.MESH L=.05 N=9 ++ Y.MESH L=0.3 N=14 ++ Y.MESH L=2.0 N=19 ++ ++ REGION NUM=1 MATERIAL=1 Y.L=0.0 ++ MATERIAL NUM=1 SILICON ++ MOBILITY MATERIAL=1 CONCMOD=SG FIELDMOD=SG ++ ++ REGION NUM=2 MATERIAL=2 Y.H=0.0 X.L=0.7 X.H=3.7 ++ MATERIAL NUM=2 OXIDE ++ ++ ELEC NUM=1 X.L=3.8 X.H=4.4 Y.L=0.0 Y.H=0.0 ++ ELEC NUM=2 X.L=0.7 X.H=3.7 IY.L=1 IY.H=1 ++ ELEC NUM=3 X.L=0.0 X.H=0.6 Y.L=0.0 Y.H=0.0 ++ ELEC NUM=4 X.L=0.0 X.H=4.4 Y.L=2.0 Y.H=2.0 ++ ++ DOPING UNIF P.TYPE CONC=2.5E16 X.L=0.0 X.H=4.4 Y.L=0.0 Y.H=2.0 ++ DOPING UNIF P.TYPE CONC=1E16 X.L=0.0 X.H=4.4 Y.L=0.0 Y.H=0.05 ++ DOPING UNIF N.TYPE CONC=1E20 X.L=0.0 X.H=1.1 Y.L=0.0 Y.H=0.2 ++ DOPING UNIF N.TYPE CONC=1E20 X.L=3.3 X.H=4.4 Y.L=0.0 Y.H=0.2 ++ ++ MODELS CONCMOB FIELDMOB BGN SRH CONCTAU ++ METHOD AC=DIRECT ONEC ++ OUTPUT ^ALL.DEBUG + +.MODEL M_PMOS NUMOS ++ X.MESH L=0.0 N=1 ++ X.MESH L=0.6 N=4 ++ X.MESH L=0.7 N=5 ++ X.MESH L=1.0 N=7 ++ X.MESH L=1.2 N=11 ++ X.MESH L=3.2 N=21 ++ X.MESH L=3.4 N=25 ++ X.MESH L=3.7 N=27 ++ X.MESH L=3.8 N=28 ++ X.MESH L=4.4 N=31 ++ ++ Y.MESH L=-.05 N=1 ++ Y.MESH L=0.0 N=5 ++ Y.MESH L=.05 N=9 ++ Y.MESH L=0.3 N=14 ++ Y.MESH L=2.0 N=19 ++ ++ REGION NUM=1 MATERIAL=1 Y.L=0.0 ++ MATERIAL NUM=1 SILICON ++ MOBILITY MATERIAL=1 CONCMOD=SG FIELDMOD=SG ++ ++ REGION NUM=2 MATERIAL=2 Y.H=0.0 X.L=0.7 X.H=3.7 ++ MATERIAL NUM=2 OXIDE ++ ++ ELEC NUM=1 X.L=3.8 X.H=4.4 Y.L=0.0 Y.H=0.0 ++ ELEC NUM=2 X.L=0.7 X.H=3.7 IY.L=1 IY.H=1 ++ ELEC NUM=3 X.L=0.0 X.H=0.6 Y.L=0.0 Y.H=0.0 ++ ELEC NUM=4 X.L=0.0 X.H=4.4 Y.L=2.0 Y.H=2.0 ++ ++ DOPING UNIF N.TYPE CONC=1E16 X.L=0.0 X.H=4.4 Y.L=0.0 Y.H=2.0 ++ DOPING UNIF P.TYPE CONC=3E16 X.L=0.0 X.H=4.4 Y.L=0.0 Y.H=0.05 ++ DOPING UNIF P.TYPE CONC=1E20 X.L=0.0 X.H=1.1 Y.L=0.0 Y.H=0.2 ++ DOPING UNIF P.TYPE CONC=1E20 X.L=3.3 X.H=4.4 Y.L=0.0 Y.H=0.2 ++ ++ MODELS CONCMOB FIELDMOB BGN SRH CONCTAU ++ METHOD AC=DIRECT ONEC ++ OUTPUT ^ALL.DEBUG + +.TRAN 0.1NS 5.0NS +.PRINT V(4) +.OPTIONS ACCT BYPASS=1 METHOD=GEAR +.END diff --git a/examples/cider/resistor/gaasres.cir b/examples/cider/resistor/gaasres.cir new file mode 100644 index 000000000..c35d0ddc0 --- /dev/null +++ b/examples/cider/resistor/gaasres.cir @@ -0,0 +1,30 @@ +Gallium Arsenide Resistor + +* This transient simulation demonstrates the effects of velocity overshoot +* and velocity saturation at high lateral electric fields. +* Do not try to do DC analysis of this resistor. It will not converge +* because of the peculiar characteristics of the GaAs velocity-field +* relation. In some cases, problems can arise in transient simulation +* as well. + +VPP 1 0 1v PWL 0s 0.0v 10s 1v +VNN 2 0 0.0v +D1 1 2 M_RES AREA=1 + +.MODEL M_RES numd level=1 ++ options resistor defa=1p ++ x.mesh loc=0.0 num=1 ++ x.mesh loc=1.0 num=101 ++ domain num=1 material=1 ++ material num=1 gaas ++ doping unif n.type conc=2.5e16 ++ models fieldmob srh auger conctau ++ method ac=direct + +*.OP +*.DC VPP 0.0v 10.01v 0.1v +.TRAN 1s 10.001s 0s 0.1s +.PRINT I(VPP) + +.OPTION ACCT BYPASS=1 +.END diff --git a/examples/cider/resistor/sires.cir b/examples/cider/resistor/sires.cir new file mode 100644 index 000000000..45e2aa12a --- /dev/null +++ b/examples/cider/resistor/sires.cir @@ -0,0 +1,26 @@ +Silicon Resistor + +* This simulation demonstrates the effects of velocity saturation at +* high lateral electric fields. + +VPP 1 0 10v PWL 0s 0.0v 100s 10v +VNN 2 0 0.0v +D1 1 2 M_RES AREA=1 + +.MODEL M_RES numd level=1 ++ options resistor defa=1p ++ x.mesh loc=0.0 num=1 ++ x.mesh loc=1.0 num=101 ++ domain num=1 material=1 ++ material num=1 silicon ++ doping unif n.type conc=2.5e16 ++ models bgn srh conctau auger concmob fieldmob ++ method ac=direct + +*.OP +.DC VPP 0.0v 10.01v 0.1v +*.TRAN 1s 100.001s 0s 0.2s +.PRINT I(VPP) + +.OPTION ACCT BYPASS=1 RELTOL=1e-12 +.END diff --git a/examples/cider/serial/astable.cir b/examples/cider/serial/astable.cir new file mode 100644 index 000000000..c04c6bba8 --- /dev/null +++ b/examples/cider/serial/astable.cir @@ -0,0 +1,30 @@ +ASTABLE MULTIVIBRATOR + +VIN 5 0 DC 0 PULSE(0 5 0 1US 1US 100US 100US) +VCC 6 0 5.0 +RC1 6 1 1K +RC2 6 2 1K +RB1 6 3 30K +RB2 5 4 30K +C1 1 4 150PF +C2 2 3 150PF +Q1 1 3 0 QMOD AREA = 100P +Q2 2 4 0 QMOD AREA = 100P + +.OPTION ACCT BYPASS=1 +.TRAN 0.05US 8US 0US 0.05US +.PRINT TRAN V(1) V(2) V(3) V(4) + +.MODEL QMOD NBJT LEVEL=1 ++ X.MESH NODE=1 LOC=0.0 ++ X.MESH NODE=61 LOC=3.0 ++ REGION NUM=1 MATERIAL=1 ++ MATERIAL NUM=1 SILICON NBGNN=1E17 NBGNP=1E17 ++ MOBILITY MATERIAL=1 CONCMOD=SG FIELDMOD=SG ++ DOPING UNIF N.TYPE CONC=1E17 X.L=0.0 X.H=1.0 ++ DOPING UNIF P.TYPE CONC=1E16 X.L=0.0 X.H=1.5 ++ DOPING UNIF N.TYPE CONC=1E15 X.L=0.0 X.H=3.0 ++ MODELS BGNW SRH CONCTAU AUGER CONCMOB FIELDMOB ++ OPTIONS BASE.LENGTH=1.0 BASE.DEPTH=1.25 + +.END diff --git a/examples/cider/serial/charge.cir b/examples/cider/serial/charge.cir new file mode 100644 index 000000000..c4c689b66 --- /dev/null +++ b/examples/cider/serial/charge.cir @@ -0,0 +1,53 @@ +MOS CHARGE PUMP + +VIN 4 0 DC 0V PULSE 0 5 15NS 5NS 5NS 50NS 100NS +VDD 5 6 DC 0V PULSE 0 5 25NS 5NS 5NS 50NS 100NS +VBB 0 7 DC 0V PULSE 0 5 0NS 5NS 5NS 50NS 100NS +RD 6 2 10K +M1 5 4 3 7 MMOD W=100UM +VS 3 2 0 +VC 2 1 0 +C2 1 0 10PF + +.IC V(3)=1.0 +.TRAN 2NS 200NS +.OPTIONS ACCT BYPASS=1 +.PRINT TRAN V(1) V(2) + +.MODEL MMOD NUMOS ++ X.MESH N=1 L=0 ++ X.MESH N=3 L=0.4 ++ X.MESH N=7 L=0.6 ++ X.MESH N=15 L=1.4 ++ X.MESH N=19 L=1.6 ++ X.MESH N=21 L=2.0 ++ ++ Y.MESH N=1 L=0 ++ Y.MESH N=4 L=0.015 ++ Y.MESH N=8 L=0.05 ++ Y.MESH N=12 L=0.25 ++ Y.MESH N=14 L=0.35 ++ Y.MESH N=17 L=0.5 ++ Y.MESH N=21 L=1.0 ++ ++ REGION NUM=1 MATERIAL=1 Y.L=0.015 ++ MATERIAL NUM=1 SILICON ++ MOBILITY MATERIAL=1 CONCMOD=SG FIELDMOD=SG ++ ++ REGION NUM=2 MATERIAL=2 Y.H=0.015 X.L=0.5 X.H=1.5 ++ MATERIAL NUM=2 OXIDE ++ ++ ELEC NUM=1 IX.L=18 IX.H=21 IY.L=4 IY.H=4 ++ ELEC NUM=2 IX.L=5 IX.H=17 IY.L=1 IY.H=1 ++ ELEC NUM=3 IX.L=1 IX.H=4 IY.L=4 IY.H=4 ++ ELEC NUM=4 IX.L=1 IX.H=21 IY.L=21 IY.H=21 ++ ++ DOPING UNIF N.TYPE CONC=1E18 X.L=0.0 X.H=0.5 Y.L=0.015 Y.H=0.25 ++ DOPING UNIF N.TYPE CONC=1E18 X.L=1.5 X.H=2.0 Y.L=0.015 Y.H=0.25 ++ DOPING UNIF P.TYPE CONC=1E15 X.L=0.0 X.H=2.0 Y.L=0.015 Y.H=1.0 ++ DOPING UNIF P.TYPE CONC=1.3E17 X.L=0.5 X.H=1.5 Y.L=0.015 Y.H=0.05 ++ ++ MODELS CONCMOB FIELDMOB ++ METHOD ONEC + +.END diff --git a/examples/cider/serial/colposc.cir b/examples/cider/serial/colposc.cir new file mode 100644 index 000000000..b7d14ce91 --- /dev/null +++ b/examples/cider/serial/colposc.cir @@ -0,0 +1,29 @@ +COLPITT'S OSCILLATOR CIRCUIT + +R1 1 0 1 +Q1 2 1 3 QMOD AREA = 100P +VCC 4 0 5 +RL 4 2 750 +C1 2 3 500P +C2 4 3 4500P +L1 4 2 5UH +RE 3 6 4.65K +VEE 6 0 DC -15 PWL 0 -15 1E-9 -10 + +.TRAN 30N 12U +.PRINT TRAN V(2) + +.MODEL QMOD NBJT LEVEL=1 ++ X.MESH NODE=1 LOC=0.0 ++ X.MESH NODE=61 LOC=3.0 ++ REGION NUM=1 MATERIAL=1 ++ MATERIAL NUM=1 SILICON NBGNN=1E17 NBGNP=1E17 ++ MOBILITY MATERIAL=1 CONCMOD=SG FIELDMOD=SG ++ DOPING UNIF N.TYPE CONC=1E17 X.L=0.0 X.H=1.0 ++ DOPING UNIF P.TYPE CONC=1E16 X.L=0.0 X.H=1.5 ++ DOPING UNIF N.TYPE CONC=1E15 X.L=0.0 X.H=3.0 ++ MODELS BGNW SRH CONCTAU AUGER CONCMOB FIELDMOB ++ OPTIONS BASE.LENGTH=1.0 BASE.DEPTH=1.25 + +.OPTIONS ACCT BYPASS=1 +.END diff --git a/examples/cider/serial/dbridge.cir b/examples/cider/serial/dbridge.cir new file mode 100644 index 000000000..052ae4f07 --- /dev/null +++ b/examples/cider/serial/dbridge.cir @@ -0,0 +1,30 @@ +DIODE BRIDGE RECTIFIER + +VLINE 3 4 0.0V SIN 0V 10V 60HZ +VGRND 2 0 0.0V +D1 3 1 M_PN AREA=100 +D2 4 1 M_PN AREA=100 +D3 2 3 M_PN AREA=100 +D4 2 4 M_PN AREA=100 +RL 1 2 1.0K + +.MODEL M_PN NUMD LEVEL=1 ++ *************************************** ++ *** ONE-DIMENSIONAL NUMERICAL DIODE *** ++ *************************************** ++ OPTIONS DEFA=1P ++ X.MESH LOC=0.0 N=1 ++ X.MESH LOC=30.0 N=201 ++ DOMAIN NUM=1 MATERIAL=1 ++ MATERIAL NUM=1 SILICON ++ MOBILITY MAT=1 CONCMOD=CT FIELDMOD=CT ++ DOPING GAUSS P.TYPE CONC=1E20 X.L=0.0 X.H=0.0 CHAR.L=1.0 ++ DOPING UNIF N.TYPE CONC=1E14 X.L=0.0 X.H=30.0 ++ DOPING GAUSS N.TYPE CONC=5E19 X.L=30.0 X.H=30.0 CHAR.L=2.0 ++ MODELS BGN ^AVAL SRH AUGER CONCTAU CONCMOB FIELDMOB ++ METHOD AC=DIRECT + +.OPTION ACCT BYPASS=1 METHOD=GEAR +.TRAN 0.5MS 50MS +.PRINT I(VLINE) +.END diff --git a/examples/cider/serial/invchain.cir b/examples/cider/serial/invchain.cir new file mode 100644 index 000000000..c05513a0d --- /dev/null +++ b/examples/cider/serial/invchain.cir @@ -0,0 +1,34 @@ +4 STAGE RTL INVERTER CHAIN + +VIN 1 0 DC 0V PWL 0NS 0V 1NS 5V +VCC 12 0 DC 5.0V +RC1 12 3 2.5K +RB1 1 2 8K +Q1 3 2 0 QMOD AREA = 100P +RB2 3 4 8K +RC2 12 5 2.5K +Q2 5 4 0 QMOD AREA = 100P +RB3 5 6 8K +RC3 12 7 2.5K +Q3 7 6 0 QMOD AREA = 100P +RB4 7 8 8K +RC4 12 9 2.5K +Q4 9 8 0 QMOD AREA = 100P + +.PRINT TRAN V(3) V(5) V(9) +.TRAN 1E-9 10E-9 + +.MODEL QMOD NBJT LEVEL=1 ++ X.MESH NODE=1 LOC=0.0 ++ X.MESH NODE=61 LOC=3.0 ++ REGION NUM=1 MATERIAL=1 ++ MATERIAL NUM=1 SILICON NBGNN=1E17 NBGNP=1E17 ++ MOBILITY MATERIAL=1 CONCMOD=SG FIELDMOD=SG ++ DOPING UNIF N.TYPE CONC=1E17 X.L=0.0 X.H=1.0 ++ DOPING UNIF P.TYPE CONC=1E16 X.L=0.0 X.H=1.5 ++ DOPING UNIF N.TYPE CONC=1E15 X.L=0.0 X.H=3.0 ++ MODELS BGNW SRH CONCTAU AUGER CONCMOB FIELDMOB ++ OPTIONS BASE.LENGTH=1.0 BASE.DEPTH=1.25 + +.OPTION ACCT BYPASS=1 +.END diff --git a/examples/cider/serial/meclgate.cir b/examples/cider/serial/meclgate.cir new file mode 100644 index 000000000..7f5e88ba2 --- /dev/null +++ b/examples/cider/serial/meclgate.cir @@ -0,0 +1,70 @@ +MOTOROLA MECL III ECL GATE +*.DC VIN -2.0 0 0.02 +.TRAN 0.2NS 20NS +VEE 22 0 -6.0 +VIN 1 0 PULSE -0.8 -1.8 0.2NS 0.2NS 0.2NS 10NS 20NS +RS 1 2 50 +Q1 4 2 6 QMOD AREA = 100P +Q2 4 3 6 QMOD AREA = 100P +Q3 5 7 6 QMOD AREA = 100P +Q4 0 8 7 QMOD AREA = 100P + +D1 8 9 DMOD +D2 9 10 DMOD + +RP1 3 22 50K +RC1 0 4 100 +RC2 0 5 112 +RE 6 22 380 +R1 7 22 2K +R2 0 8 350 +R3 10 22 1958 + +Q5 0 5 11 QMOD AREA = 100P +Q6 0 4 12 QMOD AREA = 100P + +RP2 11 22 560 +RP3 12 22 560 + +Q7 13 12 15 QMOD AREA = 100P +Q8 14 16 15 QMOD AREA = 100P + +RE2 15 22 380 +RC3 0 13 100 +RC4 0 14 112 + +Q9 0 17 16 QMOD AREA = 100P + +R4 16 22 2K +R5 0 17 350 +D3 17 18 DMOD +D4 18 19 DMOD +R6 19 22 1958 + +Q10 0 14 20 QMOD AREA = 100P +Q11 0 13 21 QMOD AREA = 100P + +RP4 20 22 560 +RP5 21 22 560 + +.MODEL DMOD D RS=40 TT=0.1NS CJO=0.9PF N=1 IS=1E-14 EG=1.11 VJ=0.8 M=0.5 + +.MODEL QMOD NBJT LEVEL=1 ++ X.MESH NODE=1 LOC=0.0 ++ X.MESH NODE=10 LOC=0.9 ++ X.MESH NODE=20 LOC=1.1 ++ X.MESH NODE=30 LOC=1.4 ++ X.MESH NODE=40 LOC=1.6 ++ X.MESH NODE=61 LOC=3.0 ++ REGION NUM=1 MATERIAL=1 ++ MATERIAL NUM=1 SILICON NBGNN=1E17 NBGNP=1E17 ++ MOBILITY MATERIAL=1 CONCMOD=SG FIELDMOD=SG ++ DOPING UNIF N.TYPE CONC=1E17 X.L=0.0 X.H=1.0 ++ DOPING UNIF P.TYPE CONC=1E16 X.L=0.0 X.H=1.5 ++ DOPING UNIF N.TYPE CONC=1E15 X.L=0.0 X.H=3.0 ++ MODELS BGNW SRH CONCTAU AUGER CONCMOB FIELDMOB ++ OPTIONS BASE.LENGTH=1.0 BASE.DEPTH=1.25 + +.OPTIONS ACCT BYPASS=1 +.PRINT TRAN V(12) V(21) +.END diff --git a/examples/cider/serial/nmosinv.cir b/examples/cider/serial/nmosinv.cir new file mode 100644 index 000000000..b6fa11ab6 --- /dev/null +++ b/examples/cider/serial/nmosinv.cir @@ -0,0 +1,51 @@ +RESISTIVE LOAD NMOS INVERTER +VIN 1 0 PWL 0 0.0 2NS 5 +VDD 3 0 DC 5.0 +RD 3 2 2.5K +M1 2 1 4 5 MMOD W=10UM +CL 2 0 2PF +VB 5 0 0 +VS 4 0 0 + +.MODEL MMOD NUMOS ++ X.MESH L=0.0 N=1 ++ X.MESH L=0.6 N=4 ++ X.MESH L=0.7 N=5 ++ X.MESH L=1.0 N=7 ++ X.MESH L=1.2 N=11 ++ X.MESH L=3.2 N=21 ++ X.MESH L=3.4 N=25 ++ X.MESH L=3.7 N=27 ++ X.MESH L=3.8 N=28 ++ X.MESH L=4.4 N=31 ++ ++ Y.MESH L=-.05 N=1 ++ Y.MESH L=0.0 N=5 ++ Y.MESH L=.05 N=9 ++ Y.MESH L=0.3 N=14 ++ Y.MESH L=2.0 N=19 ++ ++ REGION NUM=1 MATERIAL=1 Y.L=0.0 ++ MATERIAL NUM=1 SILICON ++ MOBILITY MATERIAL=1 CONCMOD=SG FIELDMOD=SG ++ ++ REGION NUM=2 MATERIAL=2 Y.H=0.0 X.L=0.7 X.H=3.7 ++ MATERIAL NUM=2 OXIDE ++ ++ ELEC NUM=1 X.L=3.8 X.H=4.4 Y.L=0.0 Y.H=0.0 ++ ELEC NUM=2 X.L=0.7 X.H=3.7 IY.L=1 IY.H=1 ++ ELEC NUM=3 X.L=0.0 X.H=0.6 Y.L=0.0 Y.H=0.0 ++ ELEC NUM=4 X.L=0.0 X.H=4.4 Y.L=2.0 Y.H=2.0 ++ ++ DOPING UNIF P.TYPE CONC=2.5E16 X.L=0.0 X.H=4.4 Y.L=0.0 Y.H=2.0 ++ DOPING UNIF P.TYPE CONC=1E16 X.L=0.0 X.H=4.4 Y.L=0.0 Y.H=0.05 ++ DOPING UNIF N.TYPE CONC=1E20 X.L=0.0 X.H=1.1 Y.L=0.0 Y.H=0.2 ++ DOPING UNIF N.TYPE CONC=1E20 X.L=3.3 X.H=4.4 Y.L=0.0 Y.H=0.2 ++ ++ MODELS CONCMOB FIELDMOB ++ METHOD AC=DIRECT ONEC + +.TRAN 0.2NS 30NS +.OPTIONS ACCT BYPASS=1 +.PRINT TRAN V(1) V(2) +.END diff --git a/examples/cider/serial/pass.cir b/examples/cider/serial/pass.cir new file mode 100644 index 000000000..a15a6f61e --- /dev/null +++ b/examples/cider/serial/pass.cir @@ -0,0 +1,55 @@ +TURNOFF TRANSIENT OF PASS TRANSISTOR + +M1 11 2 3 4 MMOD W=20UM +CS 1 0 6.0PF +CL 3 0 6.0PF +R1 3 6 200K +VIN 6 0 DC 0 +VDRN 1 11 DC 0 +VG 2 0 DC 5 PWL 0 5 0.1N 0 1 0 +VB 4 0 DC 0.0 + +.TRAN 0.05NS 0.2NS 0.0NS 0.05NS +.PRINT TRAN V(1) I(VDRN) +.IC V(1)=0 V(3)=0 +.OPTION ACCT BYPASS=1 + +.MODEL MMOD NUMOS ++ X.MESH L=0.0 N=1 ++ X.MESH L=0.6 N=4 ++ X.MESH L=0.7 N=5 ++ X.MESH L=1.0 N=7 ++ X.MESH L=1.2 N=11 ++ X.MESH L=3.2 N=21 ++ X.MESH L=3.4 N=25 ++ X.MESH L=3.7 N=27 ++ X.MESH L=3.8 N=28 ++ X.MESH L=4.4 N=31 ++ ++ Y.MESH L=-.05 N=1 ++ Y.MESH L=0.0 N=5 ++ Y.MESH L=.05 N=9 ++ Y.MESH L=0.3 N=14 ++ Y.MESH L=2.0 N=19 ++ ++ REGION NUM=1 MATERIAL=1 Y.L=0.0 ++ MATERIAL NUM=1 SILICON ++ MOBILITY MATERIAL=1 CONCMOD=SG FIELDMOD=SG ++ ++ REGION NUM=2 MATERIAL=2 Y.H=0.0 X.L=0.7 X.H=3.7 ++ MATERIAL NUM=2 OXIDE ++ ++ ELEC NUM=1 X.L=3.8 X.H=4.4 Y.L=0.0 Y.H=0.0 ++ ELEC NUM=2 X.L=0.7 X.H=3.7 IY.L=1 IY.H=1 ++ ELEC NUM=3 X.L=0.0 X.H=0.6 Y.L=0.0 Y.H=0.0 ++ ELEC NUM=4 X.L=0.0 X.H=4.4 Y.L=2.0 Y.H=2.0 ++ ++ DOPING UNIF P.TYPE CONC=2.5E16 X.L=0.0 X.H=4.4 Y.L=0.0 Y.H=2.0 ++ DOPING UNIF P.TYPE CONC=1E16 X.L=0.0 X.H=4.4 Y.L=0.0 Y.H=0.05 ++ DOPING UNIF N.TYPE CONC=1E20 X.L=0.0 X.H=1.1 Y.L=0.0 Y.H=0.2 ++ DOPING UNIF N.TYPE CONC=1E20 X.L=3.3 X.H=4.4 Y.L=0.0 Y.H=0.2 ++ ++ MODELS CONCMOB FIELDMOB ++ METHOD AC=DIRECT ONEC + +.END diff --git a/examples/cider/serial/pullup.cir b/examples/cider/serial/pullup.cir new file mode 100644 index 000000000..a4d7a4d15 --- /dev/null +++ b/examples/cider/serial/pullup.cir @@ -0,0 +1,67 @@ +BICMOS INVERTER PULLUP CIRCUIT + +VDD 1 0 5.0V +VSS 2 0 0.0V + +VIN 3 0 0.75V + +VC 1 11 0.0V +VB 5 15 0.0V + +Q1 11 15 4 M_NPN AREA=4 +M1 5 3 1 1 M_PMOS W=20U L=2U AD=30P AS=30P PD=21U PS=21U + +CL 4 0 5.0PF + +.IC V(4)=0.75V V(5)=0.0V + +.MODEL M_PMOS PMOS VTO=-0.8 UO=250 TOX=25N NSUB=5E16 ++ UCRIT=10K UEXP=.15 VMAX=50K NEFF=2 XJ=.02U ++ LD=.15U CGSO=.1N CGDO=.1N CJ=.12M MJ=0.5 ++ CJSW=0.3N MJSW=0.5 LEVEL=2 + +.MODEL M_NPN NBJT LEVEL=2 ++ TITLE TWO-DIMENSIONAL NUMERICAL POLYSILICON EMITTER BIPOLAR TRANSISTOR ++ $ SINCE ONLY HALF THE DEVICE IS SIMULATED, DOUBLE THE UNIT WIDTH TO GET ++ $ 1.0 UM EMITTER. ++ OPTIONS DEFW=2.0U ++ OUTPUT STATISTICS ++ ++ X.MESH W=2.0 H.E=0.02 H.M=0.5 R=2.0 ++ X.MESH W=0.5 H.S=0.02 H.M=0.2 R=2.0 ++ ++ Y.MESH L=-0.2 N=1 ++ Y.MESH L= 0.0 N=5 ++ Y.MESH W=0.10 H.E=0.004 H.M=0.05 R=2.5 ++ Y.MESH W=0.15 H.S=0.004 H.M=0.02 R=2.5 ++ Y.MESH W=1.05 H.S=0.02 H.M=0.1 R=2.5 ++ ++ DOMAIN NUM=1 MATERIAL=1 X.L=2.0 Y.H=0.0 ++ DOMAIN NUM=2 MATERIAL=2 X.H=2.0 Y.H=0.0 ++ DOMAIN NUM=3 MATERIAL=3 Y.L=0.0 ++ MATERIAL NUM=1 POLYSILICON ++ MATERIAL NUM=2 OXIDE ++ MATERIAL NUM=3 SILICON ++ ++ ELEC NUM=1 X.L=0.0 X.H=0.0 Y.L=1.1 Y.H=1.3 ++ ELEC NUM=2 X.L=0.0 X.H=0.5 Y.L=0.0 Y.H=0.0 ++ ELEC NUM=3 X.L=2.0 X.H=3.0 Y.L=-0.2 Y.H=-0.2 ++ ++ DOPING GAUSS N.TYPE CONC=3E20 X.L=2.0 X.H=3.0 Y.L=-0.2 Y.H=0.0 ++ + CHAR.L=0.047 LAT.ROTATE ++ DOPING GAUSS P.TYPE CONC=5E18 X.L=0.0 X.H=5.0 Y.L=-0.2 Y.H=0.0 ++ + CHAR.L=0.100 LAT.ROTATE ++ DOPING GAUSS P.TYPE CONC=1E20 X.L=0.0 X.H=0.5 Y.L=-0.2 Y.H=0.0 ++ + CHAR.L=0.100 LAT.ROTATE RATIO=0.7 ++ DOPING UNIF N.TYPE CONC=1E16 X.L=0.0 X.H=5.0 Y.L=0.0 Y.H=1.3 ++ DOPING GAUSS N.TYPE CONC=5E19 X.L=0.0 X.H=5.0 Y.L=1.3 Y.H=1.3 ++ + CHAR.L=0.100 LAT.ROTATE ++ ++ METHOD AC=DIRECT ITLIM=10 ++ MODELS BGN SRH AUGER CONCTAU CONCMOB FIELDMOB + +.TRAN 0.5NS 4.0NS +.PRINT TRAN V(3) V(4) + +.OPTION ACCT BYPASS=1 +.END diff --git a/examples/cider/serial/readme b/examples/cider/serial/readme new file mode 100644 index 000000000..08f293041 --- /dev/null +++ b/examples/cider/serial/readme @@ -0,0 +1,3 @@ +This directory contains the CIDER serial-version benchmarks used in the +thesis "Design-Oriented Mixed-Level Circuit and Device Simulation" by +David A. Gates. diff --git a/examples/cider/serial/recovery.cir b/examples/cider/serial/recovery.cir new file mode 100644 index 000000000..cd33be1e0 --- /dev/null +++ b/examples/cider/serial/recovery.cir @@ -0,0 +1,40 @@ +DIODE REVERSE RECOVERY + +VPP 1 0 0.0V (PULSE 1.0V -1.0V 1NS 1PS 1PS 20NS 40NS) +VNN 2 0 0.0V +RS 1 3 1.0 +LS 3 4 0.5UH +DT 4 2 M_PIN AREA=1 + +.MODEL M_PIN NUMD LEVEL=2 ++ OPTIONS DEFW=100U ++ X.MESH N=1 L=0.0 ++ X.MESH N=2 L=0.2 ++ X.MESH N=4 L=0.4 ++ X.MESH N=8 L=0.6 ++ X.MESH N=13 L=1.0 ++ ++ Y.MESH N=1 L=0.0 ++ Y.MESH N=9 L=4.0 ++ Y.MESH N=24 L=10.0 ++ Y.MESH N=29 L=15.0 ++ Y.MESH N=34 L=20.0 ++ ++ DOMAIN NUM=1 MATERIAL=1 ++ MATERIAL NUM=1 SILICON TN=20NS TP=20NS ++ ++ ELECTRODE NUM=1 X.L=0.6 X.H=1.0 Y.L=0.0 Y.H=0.0 ++ ELECTRODE NUM=2 X.L=-0.1 X.H=1.0 Y.L=20.0 Y.H=20.0 ++ ++ DOPING GAUSS P.TYPE CONC=1.0E19 CHAR.LEN=1.076 X.L=0.75 X.H=1.1 Y.H=0.0 ++ + LAT.ROTATE RATIO=0.1 ++ DOPING UNIF N.TYPE CONC=1.0E14 ++ DOPING GAUSS N.TYPE CONC=1.0E19 CHAR.LEN=1.614 X.L=-0.1 X.H=1.1 Y.L=20.0 ++ ++ MODELS BGN SRH AUGER CONCTAU CONCMOB FIELDMOB + +.OPTION ACCT BYPASS=1 +.TRAN 0.1NS 10NS +.PRINT TRAN V(3) I(VIN) + +.END diff --git a/examples/cider/serial/rtlinv.cir b/examples/cider/serial/rtlinv.cir new file mode 100644 index 000000000..ef0dd94d5 --- /dev/null +++ b/examples/cider/serial/rtlinv.cir @@ -0,0 +1,25 @@ +RTL INVERTER + +VIN 1 0 DC 1 PWL 0 4 1NS 0 +VCC 12 0 DC 5.0 +RC1 12 3 2.5K +RB1 1 2 8K +Q1 3 2 0 QMOD AREA = 100P + +.OPTION ACCT BYPASS=1 +.TRAN 0.5N 5N +.PRINT TRAN V(2) V(3) + +.MODEL QMOD NBJT LEVEL=1 ++ X.MESH NODE=1 LOC=0.0 ++ X.MESH NODE=61 LOC=3.0 ++ REGION NUM=1 MATERIAL=1 ++ MATERIAL NUM=1 SILICON NBGNN=1E17 NBGNP=1E17 ++ MOBILITY MATERIAL=1 CONCMOD=SG FIELDMOD=SG ++ DOPING UNIF N.TYPE CONC=1E17 X.L=0.0 X.H=1.0 ++ DOPING UNIF P.TYPE CONC=1E16 X.L=0.0 X.H=1.5 ++ DOPING UNIF N.TYPE CONC=1E15 X.L=0.0 X.H=3.0 ++ MODELS BGNW SRH CONCTAU AUGER CONCMOB FIELDMOB ++ OPTIONS BASE.LENGTH=1.0 BASE.DEPTH=1.25 + +.END diff --git a/examples/cider/serial/vco.cir b/examples/cider/serial/vco.cir new file mode 100644 index 000000000..852ddd7f6 --- /dev/null +++ b/examples/cider/serial/vco.cir @@ -0,0 +1,41 @@ +VOLTAGE CONTROLLED OSCILLATOR + +RC1 7 5 1K +RC2 7 6 1K + +Q5 7 7 5 QMOD AREA = 100P +Q6 7 7 6 QMOD AREA = 100P + +Q3 7 5 2 QMOD AREA = 100P +Q4 7 6 1 QMOD AREA = 100P + +IB1 2 0 .5MA +IB2 1 0 .5MA +CB1 2 0 1PF +CB2 1 0 1PF + +Q1 5 1 3 QMOD AREA = 100P +Q2 6 2 4 QMOD AREA = 100P + +C1 3 4 .1UF + +IS1 3 0 DC 2.5MA PULSE 2.5MA 0.5MA 0 1US 1US 50MS +IS2 4 0 1MA +VCC 7 0 10 + +.MODEL QMOD NBJT LEVEL=1 ++ X.MESH NODE=1 LOC=0.0 ++ X.MESH NODE=61 LOC=3.0 ++ REGION NUM=1 MATERIAL=1 ++ MATERIAL NUM=1 SILICON NBGNN=1E17 NBGNP=1E17 ++ MOBILITY MATERIAL=1 CONCMOD=SG FIELDMOD=SG ++ DOPING UNIF N.TYPE CONC=1E17 X.L=0.0 X.H=1.0 ++ DOPING UNIF P.TYPE CONC=1E16 X.L=0.0 X.H=1.5 ++ DOPING UNIF N.TYPE CONC=1E15 X.L=0.0 X.H=3.0 ++ MODELS BGNW SRH CONCTAU AUGER CONCMOB FIELDMOB ++ OPTIONS BASE.LENGTH=1.0 BASE.DEPTH=1.25 + +.OPTION ACCT BYPASS=1 +.TRAN 3US 600US 0 3US +.PRINT TRAN V(4) +.END diff --git a/examples/proc2mod/process.pro b/examples/proc2mod/process.pro new file mode 100644 index 000000000..f4504a8c4 --- /dev/null +++ b/examples/proc2mod/process.pro @@ -0,0 +1,203 @@ +NM1 PM1 NM2 PM2 NM3 PY1 ML1 ML2 DU1 DU2 +* +* Example process file +* +*PROCESS=BSIM +*RUN= +*WAFER= +*XPOS=6 +*YPOS=5 +*OPERATOR=Min-Chie +*DATE=July-16-85 +* +* NMOS-1 PARAMETERS (07-16-85) +* +-1.0087E+000,-2.1402E-001,3.44354E-001 +7.96434E-001,0.00000E+000,0.00000E+000 +1.31191E+000,3.23395E-001,-5.7698E-001 +1.46640E-001,1.68585E-001,-1.8796E-001 +-1.0027E-003,-9.4847E-003,1.47316E-002 +5.34334E+002,7.9799E-001,4.7740E-001 +4.38497E-002,6.38105E-002,-6.1053E-002 +-5.7332E-002,1.01174E+000,1.62706E-002 +8.25434E+000,-2.4197E+001,1.95696E+001 +-7.6911E-004,9.62411E-003,-3.7951E-003 +7.86777E-004,7.35448E-004,-1.7796E-003 +1.06821E-003,-8.0958E-003,4.03379E-003 +-1.9209E-002,-7.4573E-002,1.47520E-002 +5.40612E+002,6.21401E+002,-1.9190E+002 +-1.2992E+001,-6.4900E+001,4.29043E+001 +-9.4035E+000,1.18239E+002,-2.9747E+001 +0.0000E-002,0.00000E-001,0.0000E-002 +3.00000E-002,2.70000E+001,5.00000E+000 +** 2.70000E-010,2.70000E-010,1.40000E-010 +** remove the overlap capacitances !! +0.00000E-000,0.00000E-000,0.00000E-000 +1.0 0.0, 0.0 +0.0, 0.0, 0.0 +0.0, 0.0, 0.0 +0.0, 0.0, 0.0 +* +*PROCESS=BSIM +*RUN= +*WAFER= +*XPOS=6 +*YPOS=5 +*OPERATOR= TRANSLATED FROM NM1 +* (BY SCALING THE MOBILITY PARAMETERS) +*DATE=July-16-85 +* +* PMOS-1 PARAMETERS (07-16-85) +* +-1.0087E+000,-2.1402E-001,3.44354E-001 +7.96434E-001,0.00000E+000,0.00000E+000 +1.31191E+000,3.23395E-001,-5.7698E-001 +1.46640E-001,1.68585E-001,-1.8796E-001 +-1.0027E-003,-9.4847E-003,1.47316E-002 +1.82193E+002,2.7226E-001,1.6288E-001 +4.38497E-002,6.38105E-002,-6.1053E-002 +-5.7332E-002,1.01174E+000,1.62706E-002 +2.81626E+000,-0.8255E+001,0.66768E+001 +-7.6911E-004,9.62411E-003,-3.7951E-003 +7.86777E-004,7.35448E-004,-1.7796E-003 +1.06821E-003,-8.0958E-003,4.03379E-003 +-1.9209E-002,-7.4573E-002,1.47520E-002 +1.84449E+002,2.12012E+002,-0.6547E+002 +-0.4433E+001,-2.2143E+001,1.46383E+001 +-3.2083E+000,0.40341E+002,-1.0149E+001 +0.0000E-002,0.00000E-001,0.0000E-002 +3.00000E-002,2.70000E+001,5.00000E+000 +** 2.70000E-010,2.70000E-010,1.40000E-010 +** remove the overlap capacitances !! +0.00000E-000,0.00000E-000,0.00000E-000 +1.0 0.0, 0.0 +0.0, 0.0, 0.0 +0.0, 0.0, 0.0 +0.0, 0.0, 0.0 +* +* +*PROCESS=BSIM +*RUN=6,8 +*WAFER=1 +*XPOS=6 +*YPOS=5 +*OPERATOR=joey & min +*DATE=3/8/'85 +* +* NMOS-2 PARAMETERS (03-08-85) +* +-1.0682E+000,-6.7765E-002,4.15888E-001 +7.93602E-001,0.00000E+000,0.00000E+000 +1.38210E+000,1.56889E-001,-6.3435E-001 +1.60163E-001,1.41849E-001,-2.0333E-001 +-1.1885E-002,1.33579E-002,2.13053E-002 +5.44582E+002,9.4444E-001,4.4423E-001 +4.02955E-002,5.36003E-002,-5.1224E-002 +2.01256E-001,4.30621E-001,-1.5909E-001 +-1.1522E+000,-2.5360E+000,2.48135E+001 +-3.0525E-003,1.40355E-002,-2.1259E-003 +2.33703E-003,-1.9621E-003,-3.0147E-003 +-1.5014E-003,-1.7938E-003,5.04494E-003 +-9.6961E-002,9.68463E-002,6.56404E-002 +5.95572E+002,4.75833E+002,-2.3062E+002 +-7.7819E+001,7.75110E+001,8.19963E+001 +-1.8177E+001,1.23358E+002,-1.9316E+001 +0.0000E-003,0.00000E-002,0.0000E-002 +3.20000E-002,2.70000E+001,5.00000E+000 +2.69000E-010,2.69000E-010,2.34000E-010 +1.0, 0.0, 0.0 +0.0, 0.0, 0.0 +0.0, 0.0, 0.0 +0.0, 0.0, 0.0 +* +* PMOS-2 PARAMETERS (03-08-85) +* +-2.1389E-001,3.36471E-002,2.20237E-001 +6.97239E-001,0.00000E+000,0.00000E+000 +5.95618E-001,-9.7957E-002,-8.1902E-002 +-2.0029E-002,1.97751E-002,-4.0038E-002 +-1.4030E-002,3.62814E-002,1.44720E-002 +1.82193E+002,8.6560E-001,5.7444E-001 +1.12067E-001,9.28463E-002,-8.8985E-002 +2.39431E-002,8.89483E-002,1.05634E-002 +7.51914E+000,-1.8327E+000,3.98658E+000 +-1.3199E-003,4.00836E-003,1.97847E-004 +5.70255E-004,-1.2309E-003,-2.3082E-003 +5.07623E-003,-1.8537E-004,1.76966E-003 +-1.2781E-002,1.14420E-002,6.36308E-003 +1.89043E+002,8.64555E+001,-3.4304E+001 +4.09098E+000,3.51921E+000,4.49145E+000 +6.71879E-001,7.66627E+000,-1.5826E+000 +0.0000E-003,0.00000E-003,0.0000E-003 +3.20000E-002,2.70000E+001,5.00000E+000 +4.39000E-010,4.39000E-010,2.34000E-010 +1.0, 0.0, 0.0 +0.0, 0.0, 0.0 +0.0, 0.0, 0.0 +0.0, 0.0, 0.0 +* +*PROCESS=BSIM +*RUN= +*WAFER= +*XPOS=6 +*YPOS=5 +*OPERATOR= TRANSLATED FROM NM1 +* (BY SHIFTING VFB --- THE SIZE-INDEP. TERM ONLY) +*DATE=July-16-85 +* +* NMOS-3 PARAMETERS (DEPLETION-MODE) (07-16-85) +* +-5.6087E+000,-2.1402E-001,3.44354E-001 ++** -1.0087E+000,-2.1402E-001,3.44354E-001 +7.96434E-001,0.00000E+000,0.00000E+000 +1.31191E+000,3.23395E-001,-5.7698E-001 +1.46640E-001,1.68585E-001,-1.8796E-001 +-1.0027E-003,-9.4847E-003,1.47316E-002 +5.34334E+002,7.9799E-001,4.7740E-001 +4.38497E-002,6.38105E-002,-6.1053E-002 +-5.7332E-002,1.01174E+000,1.62706E-002 +8.25434E+000,-2.4197E+001,1.95696E+001 +-7.6911E-004,9.62411E-003,-3.7951E-003 +7.86777E-004,7.35448E-004,-1.7796E-003 +1.06821E-003,-8.0958E-003,4.03379E-003 +-1.9209E-002,-7.4573E-002,1.47520E-002 +5.40612E+002,6.21401E+002,-1.9190E+002 +-1.2992E+001,-6.4900E+001,4.29043E+001 +-9.4035E+000,1.18239E+002,-2.9747E+001 +0.0000E-002,0.00000E-001,0.0000E-002 +3.00000E-002,2.70000E+001,5.00000E+000 +** 2.70000E-010,2.70000E-010,1.40000E-010 +** remove the overlap capacitances !! +0.00000E-000,0.00000E-000,0.00000E-000 +1.0 0.0, 0.0 +0.0, 0.0, 0.0 +0.0, 0.0, 0.0 +0.0, 0.0, 0.0 +* +************************************** +************************************** +* +* poly layer-1 +* +30.0, 7.0E-5, 0, 0, 0 +0, 0, 0, 0, 0 +* +* metal layer-1 +* +0.040, 2.60E-5, 0, 0, 0 +0, 0, 0, 0, 0 +* +* metal layer-2 (top metal) +* +0.030, 1.3E-5, 0, 0, 0 +0, 0, 0, 0, 0 +* +* n+ diffusion layer +* +35.0, 2.75E-4, 1.90E-10, 1.0E-5, 0.7 +0.8, 0.5, 0.33, 0, 0 +* +* p+ diffusion layer +* +120.0, 3.1E-4, 3.0E-010, 1.0E-5, 0.7 +0.8, 0.5, 0.33, 0, 0 diff --git a/examples/vbic/CEamp.sp b/examples/vbic/CEamp.sp new file mode 100644 index 000000000..446d52136 --- /dev/null +++ b/examples/vbic/CEamp.sp @@ -0,0 +1,26 @@ +VBIC Pole Zero Test + +Vcc 3 0 5 +Rc 2 3 1k +Rb 3 1 200k +I1 0 1 AC 1 +Vmeas 4 2 +Cshunt 4 0 .1u + +Q1 2 1 0 0 N1 + +.control +ac dec 100 0.1Meg 10G +plot db(i(vmeas)) +plot ph(i(vmeas)) +pz 1 0 4 0 cur pz +print all +.endc + +.MODEL N1 NPN LEVEL=4 ++ IS=1e-16 IBEI=1e-18 IBEN=5e-15 IBCI=2e-17 IBCN=5e-15 ISP=1e-15 RCX=10 ++ RCI=60 RBX=10 RBI=40 RE=2 RS=20 RBP=40 VEF=10 VER=4 IKF=2e-3 ITF=8e-2 ++ XTF=20 IKR=2e-4 IKP=2e-4 CJE=1e-13 CJC=2e-14 CJEP=1e-13 CJCP=4e-13 VO=2 ++ GAMM=2e-11 HRCF=2 QCO=1e-12 AVC1=2 AVC2=15 TF=10e-12 TR=100e-12 TD=2e-11 RTH=300 + +.END diff --git a/examples/vbic/FG.sp b/examples/vbic/FG.sp new file mode 100644 index 000000000..89ff271dc --- /dev/null +++ b/examples/vbic/FG.sp @@ -0,0 +1,21 @@ +VBIC Gummel Test +V1 Q1_E 0 5.0 +VC Q1_C 0 0.0 +VB Q1_B 0 0.0 +Q1 Q1_C Q1_B Q1_E P1 +.DC V1 0.2 1.2 10m +.OPTIONS GMIN=1e-13 + +.control +run +plot abs(i(vc)) abs(i(vb)) ylimit 1e-15 0.1 ylog +plot abs(i(vc))/abs(i(vb)) vs abs(-i(vc)) xlimit 1e-09 0.1 xlog +.endc + +.MODEL P1 PNP LEVEL=4 ++ IS=1e-16 IBEI=1e-18 IBEN=5e-15 IBCI=2e-17 IBCN=5e-15 ISP=1e-15 RCX=10 ++ RCI=60 RBX=10 RBI=40 RE=2 RS=20 RBP=40 VEF=10 VER=4 IKF=2e-3 ITF=8e-2 ++ XTF=20 IKR=2e-4 IKP=2e-4 CJE=1e-13 CJC=2e-14 CJEP=1e-13 CJCP=4e-13 VO=2 ++ GAMM=2e-11 HRCF=2 QCO=1e-12 AVC1=2 AVC2=15 TF=10e-12 TR=100e-12 TD=2e-11 RTH=300 + +.END diff --git a/examples/vbic/FO.sp b/examples/vbic/FO.sp new file mode 100644 index 000000000..91d0c1669 --- /dev/null +++ b/examples/vbic/FO.sp @@ -0,0 +1,20 @@ +VBIC Output Test +V1 V1_P V1_N 0.0 +VB V1_N 0 0.5 +VC Q1_C 0 0.0 +Q1 Q1_C V1_P 0 N1 +.DC VC 0 5 50M VB 700M 1 50M + +.control +run +plot -i(vc) +plot -i(vb) +.endc + +.MODEL N1 NPN LEVEL=4 ++ IS=1e-16 IBEI=1e-18 IBEN=5e-15 IBCI=2e-17 IBCN=5e-15 ISP=1e-15 RCX=10 ++ RCI=60 RBX=10 RBI=40 RE=2 RS=20 RBP=40 VEF=10 VER=4 IKF=2e-3 ITF=8e-2 ++ XTF=20 IKR=2e-4 IKP=2e-4 CJE=1e-13 CJC=2e-14 CJEP=1e-13 CJCP=4e-13 VO=2 ++ GAMM=2e-11 HRCF=2 QCO=1e-12 AVC1=2 AVC2=15 TF=10e-12 TR=100e-12 TD=2e-11 RTH=300 + +.END diff --git a/examples/vbic/diffamp.sp b/examples/vbic/diffamp.sp new file mode 100644 index 000000000..016e585f5 --- /dev/null +++ b/examples/vbic/diffamp.sp @@ -0,0 +1,45 @@ +VBIC DiffAmp Test +Q8 Q8_B Q8_B VCC P1 +Q9 Q9_B Q9_B Q8_B P1 +V1 VCC 0 3.3 +V2 V2_P R3_N AC 1 DC 0 Sine(0 10m 10Meg 0 0) +I1 VCC I1_N 10u +Q12 Q9_B I1_N 0 N1 M=2 +Q13 Q5_B I1_N 0 N1 M=2 +Q10 Q1_E I1_N 0 N1 +Q11 I1_N I1_N 0 N1 +E1 E1_P 0 Q3_C Q4_C 1 +rl e1_p 0 1e6 +Q2 Q6_C R3_N Q1_E N1 +R4 R3_N 0 1K +Q3 Q3_C Q9_B Q5_C P1 +Q1 Q5_C V2_P Q1_E N1 +Q6 Q6_C Q5_B VCC P1 +R1 Q3_C 0 100k +Q7 Q5_B Q5_B VCC P1 +Q4 Q4_C Q9_B Q6_C P1 +R2 Q4_C 0 100k +R3 VCC R3_N 1K +Q5 Q5_C Q5_B VCC P1 +*.OP +.TRAN 1n 1u 0 10n +*.AC DEC 25 100k 1G + +.control +run +plot v(e1_p) +.endc + +.MODEL N1 NPN LEVEL=4 ++ IS=1e-16 IBEI=1e-18 IBEN=5e-15 IBCI=2e-17 IBCN=5e-15 ISP=1e-15 RCX=10 ++ RCI=60 RBX=10 RBI=40 RE=2 RS=20 RBP=40 VEF=10 VER=4 IKF=2e-3 ITF=8e-2 ++ XTF=20 IKR=2e-4 IKP=2e-4 CJE=1e-13 CJC=2e-14 CJEP=1e-13 CJCP=4e-13 VO=2 ++ GAMM=2e-11 HRCF=2 QCO=1e-12 AVC1=2 AVC2=15 TF=10e-12 TR=100e-12 TD=2e-11 RTH=300 + +.MODEL P1 PNP LEVEL=4 ++ IS=1e-16 IBEI=1e-18 IBEN=5e-15 IBCI=2e-17 IBCN=5e-15 ISP=1e-15 RCX=10 ++ RCI=60 RBX=10 RBI=40 RE=2 RS=20 RBP=40 VEF=10 VER=4 IKF=2e-3 ITF=8e-2 ++ XTF=20 IKR=2e-4 IKP=2e-4 CJE=1e-13 CJC=2e-14 CJEP=1e-13 CJCP=4e-13 VO=2 ++ GAMM=2e-11 HRCF=2 QCO=1e-12 AVC1=2 AVC2=15 TF=10e-12 TR=100e-12 TD=2e-11 RTH=300 + +.END diff --git a/examples/vbic/diode.sp b/examples/vbic/diode.sp new file mode 100644 index 000000000..943cb30e7 --- /dev/null +++ b/examples/vbic/diode.sp @@ -0,0 +1,19 @@ +VBIC diode test +Q1 0 0 VCC P1 +V1 VCC 0 1.0 + +.OP + +.MODEL N1 NPN LEVEL=4 ++ IS=1e-16 IBEI=1e-18 IBEN=5e-15 IBCI=2e-17 IBCN=5e-15 ISP=1e-15 RCX=10 ++ RCI=60 RBX=10 RBI=40 RE=2 RS=20 RBP=40 VEF=10 VER=4 IKF=2e-3 ITF=8e-2 ++ XTF=20 IKR=2e-4 IKP=2e-4 CJE=1e-13 CJC=2e-14 CJEP=1e-13 CJCP=4e-13 VO=2 ++ GAMM=2e-11 HRCF=2 QCO=1e-12 AVC1=2 AVC2=15 TF=10e-12 TR=100e-12 TD=2e-11 RTH=300 + +.MODEL P1 PNP LEVEL=4 ++ IS=1e-16 IBEI=1e-18 IBEN=5e-15 IBCI=2e-17 IBCN=5e-15 ISP=1e-15 RCX=10 ++ RCI=60 RBX=10 RBI=40 RE=2 RS=20 RBP=40 VEF=10 VER=4 IKF=2e-3 ITF=8e-2 ++ XTF=20 IKR=2e-4 IKP=2e-4 CJE=1e-13 CJC=2e-14 CJEP=1e-13 CJCP=4e-13 VO=2 ++ GAMM=2e-11 HRCF=2 QCO=1e-12 AVC1=2 AVC2=15 TF=10e-12 TR=100e-12 TD=2e-11 RTH=300 + +.END diff --git a/examples/vbic/noise_scale_test.sp b/examples/vbic/noise_scale_test.sp new file mode 100644 index 000000000..9366895e3 --- /dev/null +++ b/examples/vbic/noise_scale_test.sp @@ -0,0 +1,25 @@ +VBIC Noise Scale Test +V1 R3_P 0 5 +V2 V2_P 0 5 AC 1 +C1 R3_N V2_P 1n +R4 R3_N 0 100k +Q1 VOUT R3_N Q1_E N1 M=2 +*Q2 VOUT R3_N Q1_E N1 +R1 R3_P VOUT 100k +R2 Q1_E 0 10k +R3 R3_P R3_N 500k +.NOISE v(vout) V2 DEC 25 1k 100Meg + +.control +run +plot sqrt(onoise_spectrum) loglog +.endc + +.MODEL N1 NPN LEVEL=4 ++ IS=1e-16 IBEI=1e-18 IBEN=5e-15 IBCI=2e-17 IBCN=5e-15 ISP=1e-15 RCX=10 ++ RCI=60 RBX=10 RBI=40 RE=2 RS=20 RBP=40 VEF=10 VER=4 IKF=2e-3 ITF=8e-2 ++ XTF=20 IKR=2e-4 IKP=2e-4 CJE=1e-13 CJC=2e-14 CJEP=1e-13 CJCP=4e-13 VO=2 ++ GAMM=2e-11 HRCF=2 QCO=1e-12 AVC1=2 AVC2=15 TF=10e-12 TR=100e-12 TD=2e-11 ++ RTH=300 KFN=10e-15 AFN=1 BFN=1 + +.END diff --git a/examples/vbic/temp.sp b/examples/vbic/temp.sp new file mode 100644 index 000000000..5b3a05620 --- /dev/null +++ b/examples/vbic/temp.sp @@ -0,0 +1,20 @@ +VBIC Temp test +V1 1 0 1.0 +VC 1 Q1_C 0.0 +VB 1 Q1_B 0.0 +Q1 Q1_C Q1_B 0 N1 +.OPTIONS TEMP=150 +.DC V1 0.2 1.2 10m + +.control +run +plot i(vc) i(vb) +.endc + +.MODEL N1 NPN LEVEL=4 ++ IS=1e-16 IBEI=1e-18 IBEN=5e-15 IBCI=2e-17 IBCN=5e-15 ISP=1e-15 RCX=10 ++ RCI=60 RBX=10 RBI=40 RE=2 RS=20 RBP=40 VEF=10 VER=4 IKF=2e-3 ITF=8e-2 ++ XTF=20 IKR=2e-4 IKP=2e-4 CJE=1e-13 CJC=2e-14 CJEP=1e-13 CJCP=4e-13 VO=2 ++ GAMM=2e-11 HRCF=2 QCO=1e-12 AVC1=2 AVC2=15 TF=10e-12 TR=100e-12 TD=2e-11 RTH=300 + +.END diff --git a/examples/vbic/tran_aplac_test.sp b/examples/vbic/tran_aplac_test.sp new file mode 100644 index 000000000..803d47266 --- /dev/null +++ b/examples/vbic/tran_aplac_test.sp @@ -0,0 +1,23 @@ +VBIC Aplac Transient Test +V1 R3_P 0 5 +V2 V2_P 0 5 Pulse(0 100m 0 10n 10n 490.1n 1u) +C1 R3_N V2_P 1n +R4 R3_N 0 100k +Q1 R1_N R3_N Q1_E N1 +R1 R3_P R1_N 100k +R2 Q1_E 0 10k +R3 R3_P R3_N 500k + +.control +tran 10n 10u +run +plot v(Q1_E) +.endc + +.MODEL N1 NPN LEVEL=4 ++ IS=1e-16 IBEI=1e-18 IBEN=5e-15 IBCI=2e-17 IBCN=5e-15 ISP=1e-15 RCX=10 ++ RCI=60 RBX=10 RBI=40 RE=2 RS=20 RBP=40 VEF=10 VER=4 IKF=2e-3 ITF=8e-2 ++ XTF=20 IKR=2e-4 IKP=2e-4 CJE=1e-13 CJC=2e-14 CJEP=1e-13 CJCP=4e-13 VO=2 ++ GAMM=2e-11 HRCF=2 QCO=1e-12 AVC1=2 AVC2=15 TF=10e-12 TR=100e-12 TD=2e-11 RTH=300 + +.END diff --git a/examples/vbic/vbic.sp b/examples/vbic/vbic.sp new file mode 100644 index 000000000..edc2d53bb --- /dev/null +++ b/examples/vbic/vbic.sp @@ -0,0 +1,46 @@ +VBIC Test +VC 1 0 DC 2.0 +VB 2 0 DC 0.7 +VE 3 0 DC 0.0 +*VS 4 0 DC 0.0 +Q1 1 2 3 VBIC_HSPICE +.OPTIONS GMIN=1e-13 +*.OP +.DC VB 0.2 1.0 0.01 + +.control +run +plot abs(-i(vc)) abs(-i(vb)) ylimit 1e-12 0.1 ylog +plot abs(-i(vc))/abs(-i(vb)) vs abs(-i(vc)) xlimit 1e-09 0.1 xlog +.endc + +.MODEL VBIC NPN LEVEL=4 ++ RCX=10 RCI=10 RBX=1 RBI=10 RE=1 RBP=10 RS=10 ++ IBEN=1.0E-13 ++ RTH=100 + +.MODEL VBIC_HSPICE NPN LEVEL=4 ++ AFN=1 AJC=-0.5 AJE=0.5 AJS=0.5 ++ AVC1=0 AVC2=0 BFN=1 CBCO=0 CBEO=0 CJC=2E-14 ++ CJCP=4E-13 CJE=1E-13 CJEP=1E-13 CTH=0 ++ EA=1.12 EAIC=1.12 EAIE=1.12 EAIS=1.12 EANC=1.12 ++ EANE=1.12 EANS=1.12 FC=0.9 GAMM=2E-11 HRCF=2 ++ IBCI=2E-17 IBCIP=0 IBCN=5E-15 IBCNP=0 ++ IBEI=1E-18 IBEIP=0 IBEN=5E-15 IBENP=0 ++ IKF=2E-3 IKP=2E-4 IKR=2E-4 IS=1E-16 ISP=1E-15 ITF=8E-2 ++ KFN=0 MC=0.33 ME=0.33 MS=0.33 ++ NCI=1 NCIP=1 NCN=2 NCNP=2 NEI=1 NEN=2 ++ NF=1 NFP=1 NR=1 PC=0.75 PE=0.75 PS=0.75 QCO=1E-12 QTF=0 ++ RBI=4 RBP=4 RBX=1 RCI=6 RCX=1 RE=0.2 RS=2 ++ RTH=300 TAVC=0 TD=2E-11 TF=10E-12 TNF=0 TR=100E-12 ++ TNOM=25 VEF=10 VER=4 VO=2 ++ VTF=0 WBE=1 WSP=1 ++ XII=3 XIN=3 XIS=3 XRBI=1 XRCI=1 XRE=1 XRS=1 XTF=20 XVO=0 + +.MODEL VBIC_APLAC NPN LEVEL=4 ++ IS=1e-16 IBEI=1e-18 IBEN=5e-15 IBCI=2e-17 IBCN=5e-15 ISP=1e-15 RCX=10 ++ RCI=60 RBX=10 RBI=40 RE=2 RS=20 RBP=40 VEF=10 VER=4 IKF=2e-3 ITF=8e-2 ++ XTF=20 IKR=2e-4 IKP=2e-4 CJE=1e-13 CJC=2e-14 CJEP=1e-13 CJCP=4e-13 VO=2 ++ GAMM=2e-11 HRCF=2 QCO=1e-12 AVC1=2 AVC2=15 TF=10e-12 TR=100e-12 TD=2e-11 RTH=300 + +.END