summaryrefslogtreecommitdiff
path: root/CMOS
diff options
context:
space:
mode:
authorJed Barber <jjbarber@y7mail.com>2014-01-28 02:18:06 +1100
committerJed Barber <jjbarber@y7mail.com>2014-01-28 02:18:06 +1100
commitcd6b654eeacfb033f1977b81ad1f152ec040cca2 (patch)
treeb41913c61a834eea2bc0928923635f1cc8771d04 /CMOS
Circuits already constructed
Diffstat (limited to 'CMOS')
-rw-r--r--CMOS/antimax.asc119
-rw-r--r--CMOS/antimin.asc117
-rw-r--r--CMOS/buffer.asc105
-rw-r--r--CMOS/clamp_down.asc70
-rw-r--r--CMOS/clamp_up.asc68
-rw-r--r--CMOS/increment.asc66
-rw-r--r--CMOS/inverting_consensus.asc16
-rw-r--r--CMOS/is_false.asc51
-rw-r--r--CMOS/is_true.asc68
-rw-r--r--CMOS/is_unknown.asc87
-rw-r--r--CMOS/negative_threshold_inverter.asc51
-rw-r--r--CMOS/positive_threshold_inverter.asc51
-rw-r--r--CMOS/standard_inverter.asc69
13 files changed, 938 insertions, 0 deletions
diff --git a/CMOS/antimax.asc b/CMOS/antimax.asc
new file mode 100644
index 0000000..88d7ba2
--- /dev/null
+++ b/CMOS/antimax.asc
@@ -0,0 +1,119 @@
+Version 4
+SHEET 1 972 680
+WIRE -496 -192 -528 -192
+WIRE -96 -192 -416 -192
+WIRE -96 -144 -96 -192
+WIRE -144 -128 -304 -128
+WIRE 384 -112 32 -112
+WIRE 624 -112 384 -112
+WIRE 752 -112 624 -112
+WIRE 528 -48 224 -48
+WIRE -96 -16 -96 -48
+WIRE 384 -16 384 -112
+WIRE 624 -16 624 -112
+WIRE -528 0 -528 -192
+WIRE -496 0 -528 0
+WIRE -304 0 -304 -128
+WIRE -304 0 -416 0
+WIRE -144 0 -192 0
+WIRE 336 64 288 64
+WIRE 528 64 528 -48
+WIRE 576 64 528 64
+WIRE -96 128 -96 80
+WIRE 32 128 32 -112
+WIRE 32 128 -96 128
+WIRE -528 144 -528 0
+WIRE -496 144 -528 144
+WIRE -192 144 -192 0
+WIRE -192 144 -416 144
+WIRE 384 176 384 80
+WIRE 496 176 384 176
+WIRE 624 176 624 80
+WIRE 624 176 496 176
+WIRE -192 192 -192 144
+WIRE -48 192 -192 192
+WIRE 224 192 224 -48
+WIRE 224 192 -48 192
+WIRE 496 208 496 176
+WIRE -304 288 -304 0
+WIRE 288 288 288 64
+WIRE 288 288 -304 288
+WIRE 448 288 288 288
+WIRE -528 320 -528 144
+WIRE -480 320 -528 320
+WIRE 496 336 496 304
+WIRE -480 352 -480 320
+WIRE -96 352 -96 128
+WIRE -96 352 -208 352
+WIRE 32 352 -96 352
+WIRE -208 400 -208 352
+WIRE 32 400 32 352
+WIRE 224 416 224 192
+WIRE 448 416 224 416
+WIRE -304 480 -304 288
+WIRE -256 480 -304 480
+WIRE -48 480 -48 192
+WIRE -16 480 -48 480
+WIRE 496 496 496 432
+WIRE -528 544 -528 320
+WIRE -496 544 -528 544
+WIRE -208 544 -208 496
+WIRE -208 544 -416 544
+WIRE 32 544 32 496
+WIRE 32 544 -208 544
+FLAG 496 496 0
+FLAG -480 352 0
+SYMBOL pmos -144 -48 M180
+SYMATTR InstName M1
+SYMATTR Value P-ENH
+SYMBOL pmos -144 80 M180
+SYMATTR InstName M2
+SYMATTR Value P-ENH
+SYMBOL nmos -256 400 R0
+SYMATTR InstName M3
+SYMATTR Value N-ENH
+SYMBOL nmos -16 400 R0
+SYMATTR InstName M4
+SYMATTR Value N-ENH
+SYMBOL nmos 336 -16 R0
+SYMATTR InstName M5
+SYMATTR Value N-DLOW
+SYMBOL nmos 576 -16 R0
+SYMATTR InstName M6
+SYMATTR Value N-DLOW
+SYMBOL pmos 448 208 R0
+SYMATTR InstName M7
+SYMATTR Value P-DLOW
+SYMBOL pmos 448 336 R0
+SYMATTR InstName M8
+SYMATTR Value P-DLOW
+SYMBOL voltage -400 0 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V1
+SYMATTR Value SINE(0 1 2)
+SYMBOL voltage -400 144 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V2
+SYMATTR Value -1
+SYMBOL voltage -400 -192 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V3
+SYMATTR Value 1
+SYMBOL voltage -400 544 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V4
+SYMATTR Value -1
+TEXT 328 -176 Left 0 !.inc D:\\Documents\\Electronics\\custom.mos
+TEXT -534 610 Left 0 !.tran 1
diff --git a/CMOS/antimin.asc b/CMOS/antimin.asc
new file mode 100644
index 0000000..48fde1c
--- /dev/null
+++ b/CMOS/antimin.asc
@@ -0,0 +1,117 @@
+Version 4
+SHEET 1 880 680
+WIRE -528 -208 -592 -208
+WIRE -96 -208 -448 -208
+WIRE -96 -144 -96 -208
+WIRE -96 -144 -192 -144
+WIRE 16 -144 -96 -144
+WIRE -32 -112 -384 -112
+WIRE -192 -96 -192 -144
+WIRE 16 -96 16 -144
+WIRE 256 -96 112 -96
+WIRE 512 -96 256 -96
+WIRE 704 -96 512 -96
+WIRE -240 -80 -336 -80
+WIRE -32 -80 -32 -112
+WIRE 256 -16 256 -96
+WIRE 512 -16 512 -96
+WIRE -592 32 -592 -208
+WIRE -528 32 -592 32
+WIRE -384 32 -384 -112
+WIRE -384 32 -448 32
+WIRE -192 96 -192 0
+WIRE -96 96 -192 96
+WIRE 16 96 16 0
+WIRE 16 96 -96 96
+WIRE 112 96 112 -96
+WIRE 112 96 16 96
+WIRE -384 144 -384 32
+WIRE 208 144 208 64
+WIRE 208 144 -384 144
+WIRE 256 160 256 80
+WIRE 368 160 256 160
+WIRE 512 160 512 80
+WIRE 512 160 368 160
+WIRE -592 192 -592 32
+WIRE -528 192 -592 192
+WIRE -336 192 -336 -80
+WIRE -336 192 -448 192
+WIRE 144 192 -336 192
+WIRE 464 192 464 64
+WIRE 464 192 144 192
+WIRE -96 208 -96 96
+WIRE 368 240 368 160
+WIRE -336 288 -336 192
+WIRE -144 288 -336 288
+WIRE 208 320 208 144
+WIRE 320 320 208 320
+WIRE -592 336 -592 192
+WIRE -512 336 -592 336
+WIRE -96 352 -96 304
+WIRE 368 368 368 336
+WIRE -512 384 -512 336
+WIRE -384 432 -384 144
+WIRE -144 432 -384 432
+WIRE 144 448 144 192
+WIRE 320 448 144 448
+WIRE -592 512 -592 336
+WIRE -528 512 -592 512
+WIRE -96 512 -96 448
+WIRE -96 512 -448 512
+WIRE 368 528 368 464
+FLAG -512 384 0
+FLAG 368 528 0
+SYMBOL pmos -240 0 M180
+SYMATTR InstName M1
+SYMATTR Value P-ENH
+SYMBOL pmos -32 0 M180
+SYMATTR InstName M2
+SYMATTR Value P-ENH
+SYMBOL nmos -144 208 R0
+SYMATTR InstName M3
+SYMATTR Value N-ENH
+SYMBOL nmos -144 352 R0
+SYMATTR InstName M4
+SYMATTR Value N-ENH
+SYMBOL voltage -432 -208 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V1
+SYMATTR Value 1
+SYMBOL voltage -432 32 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V2
+SYMATTR Value SINE(0 1 2)
+SYMBOL voltage -432 192 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 59 56 VBottom 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V3
+SYMATTR Value -1
+SYMBOL voltage -432 512 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V4
+SYMATTR Value -1
+SYMBOL nmos 320 368 R0
+SYMATTR InstName M5
+SYMATTR Value N-DLOW
+SYMBOL nmos 320 240 R0
+SYMATTR InstName M6
+SYMATTR Value N-DLOW
+SYMBOL pmos 208 -16 R0
+SYMATTR InstName M7
+SYMATTR Value P-DLOW
+SYMBOL pmos 464 -16 R0
+SYMATTR InstName M8
+SYMATTR Value P-DLOW
+TEXT 360 -184 Left 0 !.inc D:\\Documents\\Electronics\\custom.mos
+TEXT -600 576 Left 0 !.tran 2
diff --git a/CMOS/buffer.asc b/CMOS/buffer.asc
new file mode 100644
index 0000000..8cd07df
--- /dev/null
+++ b/CMOS/buffer.asc
@@ -0,0 +1,105 @@
+Version 4
+SHEET 1 924 680
+WIRE -288 -160 -336 -160
+WIRE 96 -160 -208 -160
+WIRE 560 -160 96 -160
+WIRE 96 -96 96 -160
+WIRE 560 -96 560 -160
+WIRE 48 -80 0 -80
+WIRE 512 -80 464 -80
+WIRE -336 96 -336 -160
+WIRE -336 96 -416 96
+WIRE -288 96 -336 96
+WIRE -80 96 -208 96
+WIRE 0 96 0 -80
+WIRE 0 96 -80 96
+WIRE 96 96 96 0
+WIRE 288 96 96 96
+WIRE 384 96 288 96
+WIRE 464 96 464 -80
+WIRE 464 96 384 96
+WIRE 560 96 560 0
+WIRE 752 96 560 96
+WIRE 864 96 752 96
+WIRE -416 144 -416 96
+WIRE 288 144 288 96
+WIRE 752 144 752 96
+WIRE -80 176 -80 96
+WIRE 208 176 -80 176
+WIRE 384 176 384 96
+WIRE 672 176 384 176
+WIRE 208 224 208 176
+WIRE 240 224 208 224
+WIRE 672 224 672 176
+WIRE 704 224 672 224
+WIRE 96 240 96 96
+WIRE 560 240 560 96
+WIRE 288 272 288 240
+WIRE 752 272 752 240
+WIRE 0 320 0 96
+WIRE 48 320 0 320
+WIRE 464 320 464 96
+WIRE 512 320 464 320
+WIRE 208 352 208 224
+WIRE 240 352 208 352
+WIRE 672 352 672 224
+WIRE 704 352 672 352
+WIRE -336 400 -336 96
+WIRE -288 400 -336 400
+WIRE 96 400 96 336
+WIRE 96 400 -208 400
+WIRE 288 400 288 368
+WIRE 752 400 752 368
+WIRE 96 448 96 400
+WIRE 560 448 560 336
+WIRE 560 448 96 448
+FLAG 288 400 0
+FLAG -416 144 0
+FLAG 752 400 0
+SYMBOL pmos 48 0 M180
+SYMATTR InstName M1
+SYMATTR Value P-ENH
+SYMBOL nmos 48 240 R0
+SYMATTR InstName M2
+SYMATTR Value N-ENH
+SYMBOL nmos 240 272 R0
+SYMATTR InstName M3
+SYMATTR Value N-DLOW
+SYMBOL pmos 240 144 R0
+SYMATTR InstName M4
+SYMATTR Value P-DLOW
+SYMBOL voltage -192 -160 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V1
+SYMATTR Value 1
+SYMBOL voltage -192 96 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V2
+SYMATTR Value SINE(0 1 2)
+SYMBOL voltage -192 400 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V3
+SYMATTR Value -1
+SYMBOL nmos 512 240 R0
+SYMATTR InstName M5
+SYMATTR Value N-ENH
+SYMBOL pmos 512 0 M180
+SYMATTR InstName M6
+SYMATTR Value P-ENH
+SYMBOL pmos 704 144 R0
+SYMATTR InstName M7
+SYMATTR Value P-DLOW
+SYMBOL nmos 704 272 R0
+SYMATTR InstName M8
+SYMATTR Value N-DLOW
+TEXT 40 -192 Left 0 !.inc D:\\Documents\\Electronics\\custom.mos
+TEXT -440 472 Left 0 !.tran 1
diff --git a/CMOS/clamp_down.asc b/CMOS/clamp_down.asc
new file mode 100644
index 0000000..3d4587e
--- /dev/null
+++ b/CMOS/clamp_down.asc
@@ -0,0 +1,70 @@
+Version 4
+SHEET 1 940 680
+WIRE -384 -128 -448 -128
+WIRE 16 -128 -304 -128
+WIRE 304 -128 208 -128
+WIRE 208 -112 208 -128
+WIRE 16 -64 16 -128
+WIRE 304 -64 304 -128
+WIRE -32 -48 -96 -48
+WIRE 256 -48 192 -48
+WIRE -448 144 -448 -128
+WIRE -448 144 -512 144
+WIRE -384 144 -448 144
+WIRE -96 144 -96 -48
+WIRE -96 144 -304 144
+WIRE 16 144 16 32
+WIRE 192 144 192 -48
+WIRE 192 144 16 144
+WIRE 304 144 304 32
+WIRE 448 144 304 144
+WIRE -512 192 -512 144
+WIRE 16 272 16 144
+WIRE 304 272 304 144
+WIRE -96 352 -96 144
+WIRE -32 352 -96 352
+WIRE 192 352 192 144
+WIRE 256 352 192 352
+WIRE -448 432 -448 144
+WIRE -384 432 -448 432
+WIRE 16 432 16 368
+WIRE 16 432 -304 432
+WIRE 304 432 304 368
+WIRE 304 432 16 432
+FLAG -512 192 0
+FLAG 208 -112 0
+SYMBOL nmos -32 272 R0
+SYMATTR InstName M1
+SYMATTR Value N-ELOW
+SYMBOL pmos -32 32 M180
+SYMATTR InstName M2
+SYMATTR Value P-ENH
+SYMBOL voltage -288 -128 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V1
+SYMATTR Value 1
+SYMBOL voltage -288 144 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V2
+SYMATTR Value SINE(0 1 2)
+SYMBOL voltage -288 432 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V3
+SYMATTR Value -1
+SYMBOL pmos 256 32 M180
+SYMATTR InstName M3
+SYMATTR Value P-DLOW
+SYMBOL nmos 256 272 R0
+SYMATTR InstName M4
+SYMATTR Value N-ENH
+TEXT 424 -136 Left 0 !.inc D:\\Documents\\Electronics\\custom.mos
+TEXT -532 498 Left 0 !.tran 1
diff --git a/CMOS/clamp_up.asc b/CMOS/clamp_up.asc
new file mode 100644
index 0000000..b0b058f
--- /dev/null
+++ b/CMOS/clamp_up.asc
@@ -0,0 +1,68 @@
+Version 4
+SHEET 1 924 680
+WIRE -288 -160 -336 -160
+WIRE 96 -160 -208 -160
+WIRE 352 -160 96 -160
+WIRE 96 -96 96 -160
+WIRE 352 -96 352 -160
+WIRE 48 -80 0 -80
+WIRE 304 -80 256 -80
+WIRE -336 96 -336 -160
+WIRE -336 96 -416 96
+WIRE -288 96 -336 96
+WIRE 0 96 0 -80
+WIRE 0 96 -208 96
+WIRE 96 96 96 0
+WIRE 256 96 256 -80
+WIRE 256 96 96 96
+WIRE 352 96 352 0
+WIRE 480 96 352 96
+WIRE -416 144 -416 96
+WIRE 96 240 96 96
+WIRE 352 240 352 96
+WIRE 0 320 0 96
+WIRE 48 320 0 320
+WIRE 256 320 256 96
+WIRE 304 320 256 320
+WIRE -336 400 -336 96
+WIRE -288 400 -336 400
+WIRE 96 400 96 336
+WIRE 96 400 -208 400
+WIRE 352 400 352 336
+FLAG -416 144 0
+FLAG 352 400 0
+SYMBOL pmos 48 0 M180
+SYMATTR InstName M1
+SYMATTR Value P-ELOW
+SYMBOL nmos 48 240 R0
+SYMATTR InstName M2
+SYMATTR Value N-ENH
+SYMBOL voltage -192 -160 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V1
+SYMATTR Value 1
+SYMBOL voltage -192 96 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V2
+SYMATTR Value SINE(0 1 2)
+SYMBOL voltage -192 400 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V3
+SYMATTR Value -1
+SYMBOL pmos 304 0 M180
+SYMATTR InstName M3
+SYMATTR Value P-ENH
+SYMBOL nmos 304 240 R0
+SYMATTR InstName M4
+SYMATTR Value N-DLOW
+TEXT 408 -160 Left 0 !.inc D:\\Documents\\Electronics\\custom.mos
+TEXT -440 472 Left 0 !.tran 1
diff --git a/CMOS/increment.asc b/CMOS/increment.asc
new file mode 100644
index 0000000..3b8b7a5
--- /dev/null
+++ b/CMOS/increment.asc
@@ -0,0 +1,66 @@
+Version 4
+SHEET 1 880 680
+WIRE -416 -192 -480 -192
+WIRE 16 -192 -336 -192
+WIRE 16 -160 16 -192
+WIRE -32 -144 -80 -144
+WIRE 16 -32 16 -64
+WIRE -80 -16 -80 -144
+WIRE -32 -16 -80 -16
+WIRE -480 160 -480 -192
+WIRE -480 160 -544 160
+WIRE -416 160 -480 160
+WIRE -80 160 -80 -16
+WIRE -80 160 -336 160
+WIRE 16 160 16 64
+WIRE 336 160 16 160
+WIRE 496 160 336 160
+WIRE -544 208 -544 160
+WIRE 336 256 336 160
+WIRE -80 336 -80 160
+WIRE 288 336 -80 336
+WIRE 16 368 16 160
+WIRE 336 416 336 352
+WIRE -80 448 -80 336
+WIRE -32 448 -80 448
+WIRE -480 496 -480 160
+WIRE -416 496 -480 496
+WIRE 16 496 16 464
+WIRE 16 496 -336 496
+FLAG 336 416 0
+FLAG -544 208 0
+SYMBOL nmos -32 368 R0
+SYMATTR InstName M1
+SYMATTR Value N-ENH
+SYMBOL pmos -32 -64 M180
+SYMATTR InstName M2
+SYMATTR Value P-ELOW
+SYMBOL nmos -32 64 M180
+SYMATTR InstName M3
+SYMATTR Value N-DEP
+SYMBOL pmos 288 256 R0
+SYMATTR InstName M4
+SYMATTR Value P-ELOW
+SYMBOL voltage -320 -192 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V1
+SYMATTR Value 1
+SYMBOL voltage -320 160 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V2
+SYMATTR Value SINE(0 1 2)
+SYMBOL voltage -320 496 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V3
+SYMATTR Value -1
+TEXT 312 -80 Left 0 !.inc D:\\Documents\\Electronics\\custom.mos
+TEXT -564 562 Left 0 !.tran 1
diff --git a/CMOS/inverting_consensus.asc b/CMOS/inverting_consensus.asc
new file mode 100644
index 0000000..23e8e12
--- /dev/null
+++ b/CMOS/inverting_consensus.asc
@@ -0,0 +1,16 @@
+Version 4
+SHEET 1 880 680
+SYMBOL pmos -64 -48 M180
+SYMATTR InstName M1
+SYMATTR Value P-ENH
+SYMBOL pmos -64 80 M180
+SYMATTR InstName M2
+SYMATTR Value P-ENH
+SYMBOL nmos -64 208 R0
+SYMATTR InstName M3
+SYMATTR Value N-ENH
+SYMBOL nmos -64 336 R0
+SYMATTR InstName M4
+SYMATTR Value N-ENH
+SYMBOL nmos 288 336 R0
+SYMATTR InstName M5
diff --git a/CMOS/is_false.asc b/CMOS/is_false.asc
new file mode 100644
index 0000000..b965126
--- /dev/null
+++ b/CMOS/is_false.asc
@@ -0,0 +1,51 @@
+Version 4
+SHEET 1 924 680
+WIRE -288 -160 -336 -160
+WIRE 96 -160 -208 -160
+WIRE 96 -96 96 -160
+WIRE 48 -80 0 -80
+WIRE -336 96 -336 -160
+WIRE -336 96 -416 96
+WIRE -288 96 -336 96
+WIRE 0 96 0 -80
+WIRE 0 96 -208 96
+WIRE 96 96 96 0
+WIRE 256 96 96 96
+WIRE -416 144 -416 96
+WIRE 96 240 96 96
+WIRE 0 320 0 96
+WIRE 48 320 0 320
+WIRE -336 400 -336 96
+WIRE -288 400 -336 400
+WIRE 96 400 96 336
+WIRE 96 400 -208 400
+FLAG -416 144 0
+SYMBOL pmos 48 0 M180
+SYMATTR InstName M1
+SYMATTR Value P-ENH
+SYMBOL nmos 48 240 R0
+SYMATTR InstName M2
+SYMATTR Value N-ELOW
+SYMBOL voltage -192 -160 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V1
+SYMATTR Value 1
+SYMBOL voltage -192 96 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V2
+SYMATTR Value SINE(0 1 2)
+SYMBOL voltage -192 400 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V3
+SYMATTR Value -1
+TEXT 408 -160 Left 0 !.inc D:\\Documents\\Electronics\\custom.mos
+TEXT -440 472 Left 0 !.tran 1
diff --git a/CMOS/is_true.asc b/CMOS/is_true.asc
new file mode 100644
index 0000000..7f45fff
--- /dev/null
+++ b/CMOS/is_true.asc
@@ -0,0 +1,68 @@
+Version 4
+SHEET 1 924 680
+WIRE -288 -160 -336 -160
+WIRE 96 -160 -208 -160
+WIRE 352 -160 96 -160
+WIRE 96 -96 96 -160
+WIRE 352 -96 352 -160
+WIRE 48 -80 0 -80
+WIRE 304 -80 256 -80
+WIRE -336 96 -336 -160
+WIRE -336 96 -416 96
+WIRE -288 96 -336 96
+WIRE 0 96 0 -80
+WIRE 0 96 -208 96
+WIRE 96 96 96 0
+WIRE 256 96 256 -80
+WIRE 256 96 96 96
+WIRE 352 96 352 0
+WIRE 512 96 352 96
+WIRE -416 144 -416 96
+WIRE 96 240 96 96
+WIRE 352 240 352 96
+WIRE 0 320 0 96
+WIRE 48 320 0 320
+WIRE 256 320 256 96
+WIRE 304 320 256 320
+WIRE -336 400 -336 96
+WIRE -288 400 -336 400
+WIRE 96 400 96 336
+WIRE 96 400 -208 400
+WIRE 352 400 352 336
+WIRE 352 400 96 400
+FLAG -416 144 0
+SYMBOL pmos 48 0 M180
+SYMATTR InstName M1
+SYMATTR Value P-ELOW
+SYMBOL nmos 48 240 R0
+SYMATTR InstName M2
+SYMATTR Value N-ENH
+SYMBOL voltage -192 -160 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V1
+SYMATTR Value 1
+SYMBOL voltage -192 96 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V2
+SYMATTR Value SINE(0 1 2)
+SYMBOL voltage -192 400 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V3
+SYMATTR Value -1
+SYMBOL pmos 304 0 M180
+SYMATTR InstName M3
+SYMATTR Value P-ENH
+SYMBOL nmos 304 240 R0
+SYMATTR InstName M4
+SYMATTR Value N-ELOW
+TEXT 408 -160 Left 0 !.inc D:\\Documents\\Electronics\\custom.mos
+TEXT -440 472 Left 0 !.tran 1
diff --git a/CMOS/is_unknown.asc b/CMOS/is_unknown.asc
new file mode 100644
index 0000000..b515d37
--- /dev/null
+++ b/CMOS/is_unknown.asc
@@ -0,0 +1,87 @@
+Version 4
+SHEET 1 956 680
+WIRE 304 -192 0 -192
+WIRE -288 -160 -336 -160
+WIRE 0 -160 0 -192
+WIRE 0 -160 -208 -160
+WIRE 304 -160 304 -192
+WIRE 256 -144 112 -144
+WIRE 0 -96 0 -160
+WIRE -48 -80 -112 -80
+WIRE 304 -32 304 -64
+WIRE 256 -16 192 -16
+WIRE -336 96 -336 -160
+WIRE -336 96 -416 96
+WIRE -288 96 -336 96
+WIRE -112 96 -112 -80
+WIRE -112 96 -208 96
+WIRE 0 96 0 0
+WIRE 192 96 192 -16
+WIRE 192 96 0 96
+WIRE 304 96 304 64
+WIRE 544 96 304 96
+WIRE 656 96 544 96
+WIRE -416 144 -416 96
+WIRE -112 176 -112 96
+WIRE 112 176 112 -144
+WIRE 112 176 -112 176
+WIRE 432 176 112 176
+WIRE 0 240 0 96
+WIRE 304 240 304 96
+WIRE 544 240 544 96
+WIRE -112 320 -112 176
+WIRE -48 320 -112 320
+WIRE 192 320 192 96
+WIRE 256 320 192 320
+WIRE 432 320 432 176
+WIRE 496 320 432 320
+WIRE -336 400 -336 96
+WIRE -288 400 -336 400
+WIRE 0 400 0 336
+WIRE 0 400 -208 400
+WIRE 304 400 304 336
+WIRE 304 400 0 400
+WIRE 544 400 544 336
+WIRE 544 400 304 400
+FLAG -416 144 0
+SYMBOL voltage -192 -160 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V1
+SYMATTR Value 1
+SYMBOL voltage -192 96 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V2
+SYMATTR Value SINE(0 1 2)
+SYMBOL voltage -192 400 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V3
+SYMATTR Value -1
+SYMBOL nmos -48 240 R0
+SYMATTR InstName M1
+SYMATTR Value N-ELOW
+SYMBOL pmos -48 0 M180
+SYMATTR InstName M2
+SYMATTR Value P-ENH
+SYMBOL nmos 256 240 R0
+SYMATTR InstName M3
+SYMATTR Value N-ELOW
+SYMBOL nmos 496 240 R0
+SYMATTR InstName M4
+SYMATTR Value N-ENH
+SYMBOL pmos 256 64 M180
+SYMATTR InstName M5
+SYMATTR Value P-ENH
+SYMBOL pmos 256 -64 M180
+SYMATTR InstName M6
+SYMATTR Value P-ELOW
+TEXT 360 -208 Left 0 !.inc D:\\Documents\\Electronics\\custom.mos
+TEXT -440 472 Left 0 !.tran 1
diff --git a/CMOS/negative_threshold_inverter.asc b/CMOS/negative_threshold_inverter.asc
new file mode 100644
index 0000000..b965126
--- /dev/null
+++ b/CMOS/negative_threshold_inverter.asc
@@ -0,0 +1,51 @@
+Version 4
+SHEET 1 924 680
+WIRE -288 -160 -336 -160
+WIRE 96 -160 -208 -160
+WIRE 96 -96 96 -160
+WIRE 48 -80 0 -80
+WIRE -336 96 -336 -160
+WIRE -336 96 -416 96
+WIRE -288 96 -336 96
+WIRE 0 96 0 -80
+WIRE 0 96 -208 96
+WIRE 96 96 96 0
+WIRE 256 96 96 96
+WIRE -416 144 -416 96
+WIRE 96 240 96 96
+WIRE 0 320 0 96
+WIRE 48 320 0 320
+WIRE -336 400 -336 96
+WIRE -288 400 -336 400
+WIRE 96 400 96 336
+WIRE 96 400 -208 400
+FLAG -416 144 0
+SYMBOL pmos 48 0 M180
+SYMATTR InstName M1
+SYMATTR Value P-ENH
+SYMBOL nmos 48 240 R0
+SYMATTR InstName M2
+SYMATTR Value N-ELOW
+SYMBOL voltage -192 -160 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V1
+SYMATTR Value 1
+SYMBOL voltage -192 96 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V2
+SYMATTR Value SINE(0 1 2)
+SYMBOL voltage -192 400 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V3
+SYMATTR Value -1
+TEXT 408 -160 Left 0 !.inc D:\\Documents\\Electronics\\custom.mos
+TEXT -440 472 Left 0 !.tran 1
diff --git a/CMOS/positive_threshold_inverter.asc b/CMOS/positive_threshold_inverter.asc
new file mode 100644
index 0000000..41743fa
--- /dev/null
+++ b/CMOS/positive_threshold_inverter.asc
@@ -0,0 +1,51 @@
+Version 4
+SHEET 1 924 680
+WIRE -288 -160 -336 -160
+WIRE 96 -160 -208 -160
+WIRE 96 -96 96 -160
+WIRE 48 -80 0 -80
+WIRE -336 96 -336 -160
+WIRE -336 96 -416 96
+WIRE -288 96 -336 96
+WIRE 0 96 0 -80
+WIRE 0 96 -208 96
+WIRE 96 96 96 0
+WIRE 256 96 96 96
+WIRE -416 144 -416 96
+WIRE 96 240 96 96
+WIRE 0 320 0 96
+WIRE 48 320 0 320
+WIRE -336 400 -336 96
+WIRE -288 400 -336 400
+WIRE 96 400 96 336
+WIRE 96 400 -208 400
+FLAG -416 144 0
+SYMBOL pmos 48 0 M180
+SYMATTR InstName M1
+SYMATTR Value P-ELOW
+SYMBOL nmos 48 240 R0
+SYMATTR InstName M2
+SYMATTR Value N-ENH
+SYMBOL voltage -192 -160 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V1
+SYMATTR Value 1
+SYMBOL voltage -192 96 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V2
+SYMATTR Value SINE(0 1 2)
+SYMBOL voltage -192 400 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V3
+SYMATTR Value -1
+TEXT 408 -160 Left 0 !.inc D:\\Documents\\Electronics\\custom.mos
+TEXT -440 472 Left 0 !.tran 1
diff --git a/CMOS/standard_inverter.asc b/CMOS/standard_inverter.asc
new file mode 100644
index 0000000..0996879
--- /dev/null
+++ b/CMOS/standard_inverter.asc
@@ -0,0 +1,69 @@
+Version 4
+SHEET 1 924 680
+WIRE -288 -160 -336 -160
+WIRE 96 -160 -208 -160
+WIRE 96 -96 96 -160
+WIRE 48 -80 0 -80
+WIRE -336 96 -336 -160
+WIRE -336 96 -416 96
+WIRE -288 96 -336 96
+WIRE -80 96 -208 96
+WIRE 0 96 0 -80
+WIRE 0 96 -80 96
+WIRE 96 96 96 0
+WIRE 480 96 96 96
+WIRE 640 96 480 96
+WIRE -416 144 -416 96
+WIRE 480 144 480 96
+WIRE 432 224 384 224
+WIRE 96 240 96 96
+WIRE 480 272 480 240
+WIRE 0 320 0 96
+WIRE 48 320 0 320
+WIRE 384 352 384 224
+WIRE 432 352 384 352
+WIRE -336 400 -336 96
+WIRE -288 400 -336 400
+WIRE 96 400 96 336
+WIRE 96 400 -208 400
+WIRE 480 432 480 368
+WIRE -80 464 -80 96
+WIRE 384 464 384 352
+WIRE 384 464 -80 464
+FLAG 480 432 0
+FLAG -416 144 0
+SYMBOL pmos 48 0 M180
+SYMATTR InstName M1
+SYMATTR Value P-ENH
+SYMBOL nmos 48 240 R0
+SYMATTR InstName M2
+SYMATTR Value N-ENH
+SYMBOL nmos 432 272 R0
+SYMATTR InstName M3
+SYMATTR Value N-DLOW
+SYMBOL pmos 432 144 R0
+SYMATTR InstName M4
+SYMATTR Value P-DLOW
+SYMBOL voltage -192 -160 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V1
+SYMATTR Value 1
+SYMBOL voltage -192 96 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V2
+SYMATTR Value SINE(0 1 2)
+SYMBOL voltage -192 400 R90
+WINDOW 0 -32 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V3
+SYMATTR Value -1
+TEXT 408 -160 Left 0 !.inc D:\\Documents\\Electronics\\custom.mos
+TEXT -440 472 Left 0 !.tran 1