mirror of
https://git.code.sf.net/p/ngspice/ngspice
synced 2026-09-08 06:07:32 +02:00
Paranoia_Parallel: a test suite for more than 100 test circuits,
running in parallel on a multi-core machine (12 min execution time on a i9 9900, ngspice compiled with gcc, debug mode enabled. Linux with Valgrind and Parallel are required.
This commit is contained in:
committed by
Holger Vogt
parent
2988b5db66
commit
d881158a41
@@ -0,0 +1,123 @@
|
||||
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 1ns
|
||||
*.op
|
||||
.dc Vin 0.0v 3.001v 0.05v
|
||||
.print dc v(4)
|
||||
*.plot dc v(4)
|
||||
.options acct bypass=1 method=gear nopage
|
||||
|
||||
.control
|
||||
run
|
||||
print v(4)
|
||||
quit
|
||||
.endc
|
||||
|
||||
.end
|
||||
@@ -0,0 +1,40 @@
|
||||
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)
|
||||
|
||||
.control
|
||||
run
|
||||
quit
|
||||
.endc
|
||||
|
||||
.END
|
||||
@@ -0,0 +1,74 @@
|
||||
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 1.5NS
|
||||
.PRINT TRAN V(3) V(4)
|
||||
|
||||
.OPTION ACCT BYPASS=1
|
||||
|
||||
.control
|
||||
run
|
||||
print V(3) V(4)
|
||||
quit
|
||||
.endc
|
||||
|
||||
.END
|
||||
@@ -0,0 +1,46 @@
|
||||
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 1NS
|
||||
.PRINT TRAN V(3) I(VNN)
|
||||
|
||||
.control
|
||||
run
|
||||
print V(3) I(VNN)
|
||||
quit
|
||||
.endc
|
||||
|
||||
.END
|
||||
@@ -0,0 +1,34 @@
|
||||
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
|
||||
|
||||
.control
|
||||
run
|
||||
quit
|
||||
.endc
|
||||
|
||||
.end
|
||||
Reference in New Issue
Block a user