From 83b684d487ad76996d649ab102b81dfd542acfc0 Mon Sep 17 00:00:00 2001 From: pnenzi Date: Thu, 21 Aug 2003 12:28:39 +0000 Subject: [PATCH] Added "general" test files (from ngspice debian patch). --- tests/general/diffpair.cir | 29 +++++++++++++ tests/general/fourbitadder.cir | 78 ++++++++++++++++++++++++++++++++++ tests/general/mosamp.cir | 42 ++++++++++++++++++ tests/general/mosmem.cir | 27 ++++++++++++ tests/general/rc.cir | 10 +++++ tests/general/rca3040.cir | 33 ++++++++++++++ tests/general/rtlinv.cir | 20 +++++++++ tests/general/schmitt.cir | 25 +++++++++++ 8 files changed, 264 insertions(+) create mode 100644 tests/general/diffpair.cir create mode 100644 tests/general/fourbitadder.cir create mode 100644 tests/general/mosamp.cir create mode 100644 tests/general/mosmem.cir create mode 100644 tests/general/rc.cir create mode 100644 tests/general/rca3040.cir create mode 100644 tests/general/rtlinv.cir create mode 100644 tests/general/schmitt.cir diff --git a/tests/general/diffpair.cir b/tests/general/diffpair.cir new file mode 100644 index 000000000..c926364f3 --- /dev/null +++ b/tests/general/diffpair.cir @@ -0,0 +1,29 @@ +simple differential pair - CM and DM dc sensitivity + +* Models: +.model qnl npn(bf=80 rb=100 ccs=2pf tf=0.3ns tr=6ns cje=3pf cjc=2pf va=50) +.model qnr npn(bf=80 rb=100 ccs=2pf tf=0.3ns tr=6ns cje=3pf cjc=2pf va=50) + +* Circuit description: +q1 4 2 6 qnr +q2 5 3 6 qnl +rs1 11 2 1k +rs2 3 1 1k +rc1 4 8 10k +rc2 5 8 10k +q3 7 7 9 qnl +q4 6 7 9 qnr +rbias 7 8 20k + +* Inputs/Supplies: +vcm 1 0 dc 0 sin(0 0.1 5meg) ac 1 +vdm 1 11 dc 0 sin(0 0.1 5meg) ac 1 +vcc 8 0 12 +vee 9 0 -12 + +* Analysys: +.tf v(5) vcm +.tf v(5) vdm +.sens v(5,4) + +.end diff --git a/tests/general/fourbitadder.cir b/tests/general/fourbitadder.cir new file mode 100644 index 000000000..101e46605 --- /dev/null +++ b/tests/general/fourbitadder.cir @@ -0,0 +1,78 @@ +4 bit adder + +* Models: +.MODEL dmod D +.MODEL qmod NPN(BF=75 RB=100 CJE=1PF CJC=3PF) + + +.SUBCKT NAND 1 2 3 4 +* noeuds: entrees(2) sortie vcc +q1 9 5 1 qmod +d1clamp 0 1 dmod +q2 9 5 2 qmod +d2clamp 0 2 dmod +rb 4 5 4k +r1 4 6 1.6k +q3 6 9 8 qmod +r2 8 0 1k +rc 4 7 130 +q4 7 6 10 qmod +dvbedrop 10 3 dmod +q5 3 8 0 qmod +.ends NAND + +.SUBCKT ONEBIT 1 2 3 4 5 6 +* noeuds entrees(2) ,carryin, sortie, carryout, vcc +x1 1 2 7 6 NAND +x2 1 7 8 6 NAND +x3 2 7 9 6 NAND +x4 8 9 10 6 NAND +x5 3 10 11 6 NAND +x6 3 11 12 6 NAND +x7 10 11 13 6 NAND +x8 12 13 4 6 NAND +x9 11 7 5 6 NAND +.ends ONEBIT + +.SUBCKT TWOBIT 1 2 3 4 5 6 7 8 9 +* noeuds +x1 1 2 7 5 10 9 ONEBIT +x2 3 4 10 6 8 9 ONEBIT +.ends TWOBIT + +.SUBCKT FOURBIT 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 + +x1 1 2 3 4 9 10 13 16 15 TWOBIT +x2 5 6 7 8 11 12 16 14 15 TWOBIT +.ends FOURBIT + + + +* Inputs/Supplies: + +vcc 99 0 DC 5V +VIN1A 1 0 DC 0 pulse(0 3 0 10ns 10ns 10ns 50ns) +VIN1B 2 0 DC 0 pulse(0 3 0 10ns 10ns 20ns 100ns) +VIN2A 3 0 DC 0 pulse(0 3 0 10ns 10ns 40ns 200ns) +VIN2B 4 0 DC 0 pulse(0 3 0 10ns 10ns 80ns 400ns) +VIN3A 5 0 DC 0 pulse(0 3 0 10ns 10ns 160ns 800ns) +VIN3B 6 0 DC 0 pulse(0 3 0 10ns 10ns 320ns 1600ns) +VIN4A 7 0 DC 0 pulse(0 3 0 10ns 10ns 640ns 3200ns) +VIN4B 8 0 DC 0 pulse(0 3 0 10ns 10ns 1280ns 6400ns) + +* Circuit description: +x1 1 2 3 4 5 6 7 8 9 10 11 12 0 13 99 FOURBIT +rbit0 9 0 1k +rbit1 10 0 1k +rbit2 11 0 1k +rbit3 12 0 1k +rcout 13 0 1k + +* Analysys: +.tran 1ns 6ns +.print tran v(1) + + +.end + + diff --git a/tests/general/mosamp.cir b/tests/general/mosamp.cir new file mode 100644 index 000000000..85885c286 --- /dev/null +++ b/tests/general/mosamp.cir @@ -0,0 +1,42 @@ +mosamp - mos amplifier - transient +.options acct abstol=10n vntol=10n +.tran 0.1us 10us +m1 15 15 1 32 m w=88.9u l=25.4u +m2 1 1 2 32 m w=12.7u l=266.7u +m3 2 2 30 32 m w=88.9u l=25.4u +m4 15 5 4 32 m w=12.7u l=106.7u +m5 4 4 30 32 m w=88.9u l=12.7u +m6 15 15 5 32 m w=44.5u l=25.4u +m7 5 20 8 32 m w=482.6u l=12.7u +m8 8 2 30 32 m w=88.9u l=25.4u +m9 15 15 6 32 m w=44.5u l=25.4u +m10 6 21 8 32 m w=482.6u l=12.7u +m11 15 6 7 32 m w=12.7u l=106.7u +m12 7 4 30 32 m w=88.9u l=12.7u +m13 15 10 9 32 m w=139.7u l=12.7u +m14 9 11 30 32 m w=139.7u l=12.7u +m15 15 15 12 32 m w=12.7u l=207.8u +m16 12 12 11 32 m w=54.1u l=12.7u +m17 11 11 30 32 m w=54.1u l=12.7u +m18 15 15 10 32 m w=12.7u l=45.2u +m19 10 12 13 32 m w=270.5u l=12.7u +m20 13 7 30 32 m w=270.5u l=12.7u +m21 15 10 14 32 m w=254u l=12.7u +m22 14 11 30 32 m w=241.3u l=12.7u +m23 15 20 16 32 m w=19u l=38.1u +m24 16 14 30 32 m w=406.4u l=12.7u +m25 15 15 20 32 m w=38.1u l=42.7u +m26 20 16 30 32 m w=381u l=25.4u +m27 20 15 66 32 m w=22.9u l=7.6u +cc 7 9 40pf +cl 66 0 70pf +vin 21 0 pulse(0 5 1ns 1ns 1ns 5us 10us) +vccp 15 0 dc +15 +vddn 30 0 dc -15 +vb 32 0 dc -20 +.model m nmos(nsub=2.2e15 uo=575 ucrit=49k uexp=0.1 tox=0.11u xj=2.95u ++ level=2 cgso=1.5n cgdo=1.5n cbd=4.5f cbs=4.5f ld=2.4485u nss=3.2e10 ++ kp=2e-5 phi=0.6 ) +.print tran v(20) v(66) +.plot tran v(20) v(66) +.end diff --git a/tests/general/mosmem.cir b/tests/general/mosmem.cir new file mode 100644 index 000000000..2654ca8ec --- /dev/null +++ b/tests/general/mosmem.cir @@ -0,0 +1,27 @@ +mosmem - mos memory cell +.width in=72 +.opt abstol=1u +.opt acct list node +.tran 20ns 2us +vdd 9 0 dc 5 +vs 7 0 pulse(2 0 520ns 20ns 20ns 500ns 2000ns) +vw 1 0 pulse(0 2 20ns 20ns 500ns 200ns) +vwb 2 0 pulse(2 0 20ns 20ns 20ns 2000ns 2000ns) +m1 3 1 0 0 mod w=250u l=5u +m2 4 2 0 0 mod w=250u l=5u +m3 9 9 3 0 mod w=5u l=5u +m4 9 9 4 0 mod w=5u l=5u +m5 5 7 3 0 mod w=50u l=5u +m6 6 7 4 0 mod w=50u l=5u +m7 5 6 0 0 mod w=250u l=5u +m8 6 5 0 0 mod w=250u l=5u +m9 9 9 5 0 mod w=5u l=5u +m10 9 9 6 0 mod w=5u l=5u +m11 8 4 0 0 mod w=250u l=5u +m12 9 9 8 0 mod w=5u l=5u +.model mod nmos(vto=0.5 phi=0.7 kp=1.0e-6 gamma=1.83 lambda=0.115 ++ level=1 cgso=1u cgdo=1u cbd=50p cbs=50p) +.print dc v(5) v(6) +.plot dc v(6) +.plot tran v(6) v(5) v(7) v(1) v(2) +.end diff --git a/tests/general/rc.cir b/tests/general/rc.cir new file mode 100644 index 000000000..9ca9b2920 --- /dev/null +++ b/tests/general/rc.cir @@ -0,0 +1,10 @@ +Basic RC circuit +r 1 2 1.0 +*l 1 2 1.0 +c 2 0 1.0 +vin 1 0 pulse (0 1) ac 1 +.tran 0.1 7.0 +*.ac dec 10 .01 10 +.plot tran v(2) i(vin) +*.plot ac vdb(2) xlog +.end diff --git a/tests/general/rca3040.cir b/tests/general/rca3040.cir new file mode 100644 index 000000000..75eba0901 --- /dev/null +++ b/tests/general/rca3040.cir @@ -0,0 +1,33 @@ +rca3040 ckt - rca 3040 wideband amplifier +.ac dec 10 1 10ghz +.dc vin -0.25 0.25 0.005 +.tran 2.0ns 200ns +vin 1 0 sin(0 0.1 50meg 0.5ns) ac 1 +vcc 2 0 15.0 +vee 3 0 -15.0 +rs1 30 1 1k +rs2 31 0 1k +r1 5 3 4.8k +r2 6 3 4.8k +r3 9 3 811 +r4 8 3 2.17k +r5 8 0 820 +r6 2 14 1.32k +r7 2 12 4.5k +r8 2 15 1.32k +r9 16 0 5.25k +r10 17 0 5.25k +q1 2 30 5 qnl +q2 2 31 6 qnl +q3 10 5 7 qnl +q4 11 6 7 qnl +q5 14 12 10 qnl +q6 15 12 11 qnl +q7 12 12 13 qnl +q8 13 13 0 qnl +q9 7 8 9 qnl +q10 2 15 16 qnl +q11 2 14 17 qnl +.model qnl npn bf=80 rb=100 ccs=2pf tf=0.3ns tr=6ns cje=3pf ++ cjc=2pf va 50 +.end diff --git a/tests/general/rtlinv.cir b/tests/general/rtlinv.cir new file mode 100644 index 000000000..ad7de7491 --- /dev/null +++ b/tests/general/rtlinv.cir @@ -0,0 +1,20 @@ +rtlinv ckt - cascaded rtl inverters +.width in=72 +.opt acct list node lvlcod=2 +.dc vin 0.0 2.5 0.025 +.tran 2ns 200ns +vcc 6 0 5 +vin 1 0 pulse(0 5 2ns 2ns 2ns 80ns) +rb1 1 2 10k +rc1 6 3 1k +q1 3 2 0 qnd +rb2 3 4 10k +q2 5 4 0 qnd +rc2 6 5 1k +.model qnd npn(bf=50 rb=70 rc=40 ccs=2pf tf=0.1ns tr=10ns cje=0.9pf ++ cjc=1.5pf pc=0.85 va=50) +.print dc v(3) v(5) +.plot dc v(3) +.print tran v(3) v(5) +.plot tran v(3) v(5) v(1) +.end diff --git a/tests/general/schmitt.cir b/tests/general/schmitt.cir new file mode 100644 index 000000000..f11a0c3c8 --- /dev/null +++ b/tests/general/schmitt.cir @@ -0,0 +1,25 @@ +schmitt ckt - ecl compatible schmitt trigger +.width in=72 +.opt acct list node lvlcod=2 +.tran 10ns 1000ns +vin 1 0 pulse(-1.6 -1.2 10ns 400ns 400ns 100ns 10000ns) +vee 8 0 -5 +rin 1 2 50 +rc1 0 3 50 +r1 3 5 185 +r2 5 8 760 +rc2 0 6 100 +re 4 8 260 +rth1 7 8 125 +rth2 7 0 85 +cload 7 0 5pf +q1 3 2 4 qstd off +q2 6 5 4 qstd +q3 0 6 7 qstd +q4 0 6 7 qstd +.model qstd npn(is=1.0e-16 bf=50 br=0.1 rb=50 rc=10 tf=0.12ns tr=5ns ++ cje=0.4pf pe=0.8 me=0.4 cjc=0.5pf pc=0.8 mc=0.333 ccs=1pf va=50) +.print tran v(1) v(3) v(5) v(6) +.plot tran v(3) v(5) v(6) v(1) +.end +s