diff --git a/tests/transient/Makefile.am b/tests/transient/Makefile.am new file mode 100644 index 000000000..fe8680b3c --- /dev/null +++ b/tests/transient/Makefile.am @@ -0,0 +1,12 @@ +## Process this file with automake to produce Makefile.in + + +TESTS = fourbitadder.cir + +TESTS_ENVIRONMENT = $(SHELL) $(top_srcdir)/tests/bin/check.sh $(top_builddir)/src/ngspice + +EXTRA_DIST = \ + $(TESTS) \ + $(TESTS:.cir=.out) + +MAINTAINERCLEANFILES = Makefile.in diff --git a/tests/transient/fourbitadder.cir b/tests/transient/fourbitadder.cir new file mode 100644 index 000000000..101e46605 --- /dev/null +++ b/tests/transient/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/transient/fourbitadder.out b/tests/transient/fourbitadder.out new file mode 100644 index 000000000..a07da21f6 --- /dev/null +++ b/tests/transient/fourbitadder.out @@ -0,0 +1,356 @@ + +Circuit: 4 bit adder + +Warning -- Level not specified on line "(bf=75 rb=100 cje=1pf cjc=3pf)" +Using level 1. +Doing analysis at TEMP = 300.150000 and TNOM = 300.150000 + +Initial Transient Solution +-------------------------- + +Node Voltage +---- ------- +99 5 +1 0 +2 0 +3 0 +4 0 +5 0 +6 0 +7 0 +8 0 +1:1:1:1:9 0.0179277 +1:1:1:1:5 0.826789 +1:1:1:1:6 4.97244 +1:1:1:1:8 3.54606e-09 +1:1:1:1:7 4.83208 +1:1:1:1:10 4.18989 +1:1:1:7 3.52783 +1:1:1:2:9 0.0363158 +1:1:1:2:5 0.844836 +1:1:1:2:6 4.99412 +1:1:1:2:8 3.66756e-09 +1:1:1:2:7 4.96415 +1:1:1:2:10 4.25286 +1:1:1:8 3.63074 +1:1:1:3:9 0.0363158 +1:1:1:3:5 0.844836 +1:1:1:3:6 4.99412 +1:1:1:3:8 3.66756e-09 +1:1:1:3:7 4.96415 +1:1:1:3:10 4.25286 +1:1:1:9 3.63074 +1:1:1:4:9 1.99534 +1:1:1:4:5 2.76452 +1:1:1:4:6 1.10792 +1:1:1:4:8 1.07019 +1:1:1:4:7 4.99984 +1:1:1:4:10 0.507271 +1:1:1:10 0.0253869 +1:1:1:5:9 0.0277172 +1:1:1:5:5 0.836398 +1:1:1:5:6 4.97251 +1:1:1:5:8 3.55613e-09 +1:1:1:5:7 4.83248 +1:1:1:5:10 4.19002 +1:1:1:11 3.52802 +1:1:1:6:9 0.0363158 +1:1:1:6:5 0.844836 +1:1:1:6:6 4.9941 +1:1:1:6:8 3.66742e-09 +1:1:1:6:7 4.96406 +1:1:1:6:10 4.25278 +1:1:1:12 3.63059 +1:1:1:7:9 0.0617017 +1:1:1:7:5 0.869755 +1:1:1:7:6 4.9941 +1:1:1:7:8 3.6935e-09 +1:1:1:7:7 4.96406 +1:1:1:7:10 4.25278 +1:1:1:13 3.63059 +1:1:1:8:9 1.98972 +1:1:1:8:5 2.75903 +1:1:1:8:6 1.10196 +1:1:1:8:8 1.06424 +1:1:1:8:7 4.99984 +1:1:1:8:10 0.500516 +9 0.0178393 +1:1:1:9:9 1.9967 +1:1:1:9:5 2.76585 +1:1:1:9:6 1.10936 +1:1:1:9:8 1.07163 +1:1:1:9:7 4.99984 +1:1:1:9:10 0.508909 +1:1:10 0.0272212 +1:1:2:1:9 0.0179277 +1:1:2:1:5 0.826789 +1:1:2:1:6 4.97244 +1:1:2:1:8 3.54606e-09 +1:1:2:1:7 4.83208 +1:1:2:1:10 4.18989 +1:1:2:7 3.52783 +1:1:2:2:9 0.0363158 +1:1:2:2:5 0.844836 +1:1:2:2:6 4.99412 +1:1:2:2:8 3.6676e-09 +1:1:2:2:7 4.96417 +1:1:2:2:10 4.25288 +1:1:2:8 3.63077 +1:1:2:3:9 0.0363158 +1:1:2:3:5 0.844836 +1:1:2:3:6 4.99412 +1:1:2:3:8 3.6676e-09 +1:1:2:3:7 4.96417 +1:1:2:3:10 4.25288 +1:1:2:9 3.63077 +1:1:2:4:9 1.9967 +1:1:2:4:5 2.76585 +1:1:2:4:6 1.10936 +1:1:2:4:8 1.07163 +1:1:2:4:7 4.99984 +1:1:2:4:10 0.508909 +1:1:2:10 0.0272212 +1:1:2:5:9 0.0451489 +1:1:2:5:5 0.85351 +1:1:2:5:6 4.97258 +1:1:2:5:8 3.57407e-09 +1:1:2:5:7 4.83293 +1:1:2:5:10 4.19017 +1:1:2:11 3.52824 +1:1:2:6:9 0.063536 +1:1:2:6:5 0.871555 +1:1:2:6:6 4.9941 +1:1:2:6:8 3.69541e-09 +1:1:2:6:7 4.96406 +1:1:2:6:10 4.25278 +1:1:2:12 3.63059 +1:1:2:7:9 0.063536 +1:1:2:7:5 0.871555 +1:1:2:7:6 4.9941 +1:1:2:7:8 3.69541e-09 +1:1:2:7:7 4.96406 +1:1:2:7:10 4.25278 +1:1:2:13 3.63059 +1:1:2:8:9 1.98972 +1:1:2:8:5 2.75903 +1:1:2:8:6 1.10196 +1:1:2:8:8 1.06424 +1:1:2:8:7 4.99984 +1:1:2:8:10 0.500516 +10 0.0178393 +1:1:2:9:9 1.9967 +1:1:2:9:5 2.76585 +1:1:2:9:6 1.10936 +1:1:2:9:8 1.07163 +1:1:2:9:7 4.99984 +1:1:2:9:10 0.508909 +1:16 0.0272212 +1:2:1:1:9 0.0179277 +1:2:1:1:5 0.826789 +1:2:1:1:6 4.97244 +1:2:1:1:8 3.54606e-09 +1:2:1:1:7 4.83208 +1:2:1:1:10 4.18989 +1:2:1:7 3.52783 +1:2:1:2:9 0.0363158 +1:2:1:2:5 0.844836 +1:2:1:2:6 4.99412 +1:2:1:2:8 3.6676e-09 +1:2:1:2:7 4.96417 +1:2:1:2:10 4.25288 +1:2:1:8 3.63077 +1:2:1:3:9 0.0363158 +1:2:1:3:5 0.844836 +1:2:1:3:6 4.99412 +1:2:1:3:8 3.6676e-09 +1:2:1:3:7 4.96417 +1:2:1:3:10 4.25288 +1:2:1:9 3.63077 +1:2:1:4:9 1.9967 +1:2:1:4:5 2.76585 +1:2:1:4:6 1.10936 +1:2:1:4:8 1.07163 +1:2:1:4:7 4.99984 +1:2:1:4:10 0.508909 +1:2:1:10 0.0272212 +1:2:1:5:9 0.0451489 +1:2:1:5:5 0.85351 +1:2:1:5:6 4.97258 +1:2:1:5:8 3.57407e-09 +1:2:1:5:7 4.83293 +1:2:1:5:10 4.19017 +1:2:1:11 3.52824 +1:2:1:6:9 0.063536 +1:2:1:6:5 0.871555 +1:2:1:6:6 4.9941 +1:2:1:6:8 3.69541e-09 +1:2:1:6:7 4.96406 +1:2:1:6:10 4.25278 +1:2:1:12 3.63059 +1:2:1:7:9 0.063536 +1:2:1:7:5 0.871555 +1:2:1:7:6 4.9941 +1:2:1:7:8 3.69541e-09 +1:2:1:7:7 4.96406 +1:2:1:7:10 4.25278 +1:2:1:13 3.63059 +1:2:1:8:9 1.98972 +1:2:1:8:5 2.75903 +1:2:1:8:6 1.10196 +1:2:1:8:8 1.06424 +1:2:1:8:7 4.99984 +1:2:1:8:10 0.500516 +11 0.0178393 +1:2:1:9:9 1.9967 +1:2:1:9:5 2.76585 +1:2:1:9:6 1.10936 +1:2:1:9:8 1.07163 +1:2:1:9:7 4.99984 +1:2:1:9:10 0.508909 +1:2:10 0.0272212 +1:2:2:1:9 0.0179277 +1:2:2:1:5 0.826789 +1:2:2:1:6 4.97243 +1:2:2:1:8 3.54601e-09 +1:2:2:1:7 4.83197 +1:2:2:1:10 4.18986 +1:2:2:7 3.52778 +1:2:2:2:9 0.0363158 +1:2:2:2:5 0.844836 +1:2:2:2:6 4.99412 +1:2:2:2:8 3.6676e-09 +1:2:2:2:7 4.96417 +1:2:2:2:10 4.25288 +1:2:2:8 3.63077 +1:2:2:3:9 0.0363158 +1:2:2:3:5 0.844836 +1:2:2:3:6 4.99412 +1:2:2:3:8 3.6676e-09 +1:2:2:3:7 4.96417 +1:2:2:3:10 4.25288 +1:2:2:9 3.63077 +1:2:2:4:9 1.9967 +1:2:2:4:5 2.76585 +1:2:2:4:6 1.10936 +1:2:2:4:8 1.07163 +1:2:2:4:7 4.99984 +1:2:2:4:10 0.508909 +1:2:2:10 0.0272212 +1:2:2:5:9 0.0451489 +1:2:2:5:5 0.85351 +1:2:2:5:6 4.97257 +1:2:2:5:8 3.57402e-09 +1:2:2:5:7 4.83282 +1:2:2:5:10 4.19014 +1:2:2:11 3.52819 +1:2:2:6:9 0.063536 +1:2:2:6:5 0.871555 +1:2:2:6:6 4.9941 +1:2:2:6:8 3.69541e-09 +1:2:2:6:7 4.96406 +1:2:2:6:10 4.25278 +1:2:2:12 3.63059 +1:2:2:7:9 0.063536 +1:2:2:7:5 0.871555 +1:2:2:7:6 4.9941 +1:2:2:7:8 3.69541e-09 +1:2:2:7:7 4.96406 +1:2:2:7:10 4.25278 +1:2:2:13 3.63059 +1:2:2:8:9 1.98972 +1:2:2:8:5 2.75903 +1:2:2:8:6 1.10196 +1:2:2:8:8 1.06424 +1:2:2:8:7 4.99984 +1:2:2:8:10 0.500516 +12 0.0178393 +1:2:2:9:9 1.98972 +1:2:2:9:5 2.75903 +1:2:2:9:6 1.10196 +1:2:2:9:8 1.06424 +1:2:2:9:7 4.99984 +1:2:2:9:10 0.500516 +13 0.0178393 +vin4b#branch 0.00207527 +vin4a#branch 0.00207527 +vin3b#branch 0.00207527 +vin3a#branch 0.00207527 +vin2b#branch 0.00207527 +vin2a#branch 0.00207527 +vin1b#branch 0.00207527 +vin1a#branch 0.00207527 +vcc#branch -0.0757537 + + +No. of Data Rows : 60 + 4 bit adder +-------------------------------------------------------------------------------- +Index time v(1) +-------------------------------------------------------------------------------- +0 0.000000e+00 0.000000e+00 +1 3.000000e-13 9.000000e-05 +2 6.000000e-13 1.800000e-04 +3 1.200000e-12 3.600000e-04 +4 2.400000e-12 7.200000e-04 +5 4.800000e-12 1.440000e-03 +6 9.600000e-12 2.880000e-03 +7 1.920000e-11 5.760000e-03 +8 3.840000e-11 1.152000e-02 +9 7.680000e-11 2.304000e-02 +10 1.536000e-10 4.608000e-02 +11 2.577473e-10 7.732420e-02 +12 3.777473e-10 1.133242e-01 +13 4.977473e-10 1.493242e-01 +14 6.177473e-10 1.853242e-01 +15 7.377473e-10 2.213242e-01 +16 8.577473e-10 2.573242e-01 +17 9.777473e-10 2.933242e-01 +18 1.097747e-09 3.293242e-01 +19 1.217747e-09 3.653242e-01 +20 1.337747e-09 4.013242e-01 +21 1.457747e-09 4.373242e-01 +22 1.577747e-09 4.733242e-01 +23 1.697747e-09 5.093242e-01 +24 1.817747e-09 5.453242e-01 +25 1.937747e-09 5.813242e-01 +26 2.057747e-09 6.173242e-01 +27 2.177747e-09 6.533242e-01 +28 2.297747e-09 6.893242e-01 +29 2.417747e-09 7.253242e-01 +30 2.537747e-09 7.613242e-01 +31 2.657747e-09 7.973242e-01 +32 2.777747e-09 8.333242e-01 +33 2.897747e-09 8.693242e-01 +34 3.017747e-09 9.053242e-01 +35 3.137747e-09 9.413242e-01 +36 3.257747e-09 9.773242e-01 +37 3.377747e-09 1.013324e+00 +38 3.497747e-09 1.049324e+00 +39 3.617747e-09 1.085324e+00 +40 3.737747e-09 1.121324e+00 +41 3.857747e-09 1.157324e+00 +42 3.977747e-09 1.193324e+00 +43 4.097747e-09 1.229324e+00 +44 4.217747e-09 1.265324e+00 +45 4.337747e-09 1.301324e+00 +46 4.457747e-09 1.337324e+00 +47 4.577747e-09 1.373324e+00 +48 4.697747e-09 1.409324e+00 +49 4.817747e-09 1.445324e+00 +50 4.937747e-09 1.481324e+00 +51 5.057747e-09 1.517324e+00 +52 5.177747e-09 1.553324e+00 +53 5.297747e-09 1.589324e+00 +54 5.417747e-09 1.625324e+00 + +Index time v(1) +-------------------------------------------------------------------------------- +55 5.537747e-09 1.661324e+00 +56 5.657747e-09 1.697324e+00 +57 5.777747e-09 1.733324e+00 +58 5.897747e-09 1.769324e+00 +59 6.000000e-09 1.800000e+00 + + + +