summaryrefslogtreecommitdiff
path: root/CMOS
diff options
context:
space:
mode:
authorJed Barber <jjbarber@y7mail.com>2014-01-29 12:43:42 +1100
committerJed Barber <jjbarber@y7mail.com>2014-01-29 12:43:42 +1100
commit21c9be701afe05d9de6708d5030a05b2ca3ff417 (patch)
treeef785ad22378f6a099e02bdaae8d566c338520c3 /CMOS
parent747b5f4b4dfaadb2f8ac0f75bf1ef91db85bb510 (diff)
Modified circuits to match symbols
Diffstat (limited to 'CMOS')
-rw-r--r--CMOS/buffer.asc115
-rw-r--r--CMOS/clamp_down.asc54
-rw-r--r--CMOS/clamp_up.asc56
-rw-r--r--CMOS/decrement.asc58
-rw-r--r--CMOS/increment.asc48
-rw-r--r--CMOS/inverting_consensus.asc34
-rw-r--r--CMOS/is_false.asc57
-rw-r--r--CMOS/is_true.asc76
-rw-r--r--CMOS/is_unknown.asc52
9 files changed, 114 insertions, 436 deletions
diff --git a/CMOS/buffer.asc b/CMOS/buffer.asc
index 19ef3f2..6f0dc49 100644
--- a/CMOS/buffer.asc
+++ b/CMOS/buffer.asc
@@ -1,105 +1,12 @@
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 ./custom.mos
-TEXT -440 472 Left 0 !.tran 1
+SHEET 1 944 680
+WIRE 0 80 -16 80
+WIRE 240 80 224 80
+FLAG -16 80 A
+IOPIN -16 80 In
+FLAG 240 80 Y
+IOPIN 240 80 Out
+SYMBOL ternary-logic\\CMOS\\standard_inverter 48 32 R0
+SYMATTR InstName U1
+SYMBOL ternary-logic\\CMOS\\standard_inverter 160 32 R0
+SYMATTR InstName U2
diff --git a/CMOS/clamp_down.asc b/CMOS/clamp_down.asc
index 8fb04ea..0902256 100644
--- a/CMOS/clamp_down.asc
+++ b/CMOS/clamp_down.asc
@@ -1,59 +1,28 @@
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 -96 144 -160 144
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 16 432 -32 432
WIRE 304 432 304 368
-WIRE 304 432 16 432
-FLAG -512 192 0
+WIRE 304 432 96 432
+WIRE -32 464 -32 432
+FLAG -32 464 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
+FLAG -160 144 A
+IOPIN -160 144 In
+FLAG 448 144 Y
+IOPIN 448 144 Out
+SYMBOL voltage 112 432 R90
WINDOW 0 -32 56 VBottom 0
WINDOW 3 32 56 VTop 0
WINDOW 123 0 0 Left 0
@@ -66,5 +35,6 @@ SYMATTR Value P-DLOW
SYMBOL nmos 256 272 R0
SYMATTR InstName M4
SYMATTR Value N-ENH
+SYMBOL ternary-logic\\CMOS\\negative_threshold_inverter -48 96 R0
+SYMATTR InstName U1
TEXT 424 -136 Left 0 !.inc ./custom.mos
-TEXT -536 496 Left 0 !.tran 1
diff --git a/CMOS/clamp_up.asc b/CMOS/clamp_up.asc
index c155df2..1d8f0a5 100644
--- a/CMOS/clamp_up.asc
+++ b/CMOS/clamp_up.asc
@@ -1,68 +1,38 @@
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 80 -160 32 -160
+WIRE 352 -160 160 -160
+WIRE 32 -128 32 -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 -16 96 -96 96
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 32 -128 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
+FLAG -96 96 A
+IOPIN -96 96 In
+FLAG 480 96 Y
+IOPIN 480 96 Out
+SYMBOL voltage 176 -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 ./custom.mos
-TEXT -440 472 Left 0 !.tran 1
+SYMBOL ternary-logic\\CMOS\\positive_threshold_inverter 32 48 R0
+SYMATTR InstName U1
+TEXT -136 296 Left 0 !.inc ./custom.mos
diff --git a/CMOS/decrement.asc b/CMOS/decrement.asc
index b90fa26..0c9932c 100644
--- a/CMOS/decrement.asc
+++ b/CMOS/decrement.asc
@@ -2,51 +2,43 @@ Version 4
SHEET 1 880 680
WIRE -336 -192 -400 -192
WIRE 144 -192 -256 -192
-WIRE 400 -192 144 -192
+WIRE -400 -160 -400 -192
WIRE 144 -144 144 -192
WIRE 96 -128 16 -128
WIRE 144 -16 144 -48
WIRE 672 -16 144 -16
WIRE 768 -16 672 -16
WIRE 144 32 144 -16
-WIRE -400 48 -400 -192
-WIRE -400 48 -464 48
-WIRE -336 48 -400 48
WIRE 16 48 16 -128
WIRE 16 48 -256 48
-WIRE -464 96 -464 48
WIRE 16 112 16 48
WIRE 96 112 16 112
WIRE 144 160 144 128
-WIRE 400 208 400 -192
WIRE 672 208 672 -16
-WIRE 352 224 304 224
-WIRE 224 240 192 240
+WIRE 480 240 192 240
WIRE 144 288 144 256
WIRE 624 288 560 288
-WIRE 224 320 224 240
-WIRE 400 320 400 304
-WIRE 400 320 224 320
-WIRE 592 320 400 320
WIRE 16 352 16 112
-WIRE 304 352 304 224
-WIRE 304 352 16 352
+WIRE 272 352 16 352
WIRE 560 352 560 288
-WIRE 560 352 304 352
-WIRE 400 368 400 320
+WIRE 560 352 272 352
WIRE 672 368 672 304
-WIRE 304 448 304 352
-WIRE 352 448 304 448
-WIRE 592 448 592 320
-WIRE 624 448 592 448
-WIRE -400 512 -400 48
+WIRE 272 448 272 352
+WIRE 320 448 272 448
+WIRE 480 448 480 240
+WIRE 480 448 432 448
+WIRE 624 448 480 448
WIRE -336 512 -400 512
-WIRE 400 512 400 464
-WIRE 400 512 -256 512
WIRE 672 512 672 464
-WIRE 672 512 400 512
-FLAG -464 96 0
+WIRE 672 512 -256 512
+WIRE -400 544 -400 512
+FLAG -400 -160 0
FLAG 144 288 0
+FLAG -400 544 0
+FLAG -256 48 A
+IOPIN -256 48 In
+FLAG 768 -16 Y
+IOPIN 768 -16 Out
SYMBOL nmos 96 32 R0
SYMATTR InstName M1
SYMATTR Value N-ELOW
@@ -56,9 +48,6 @@ SYMATTR Value P-DLOW
SYMBOL pmos 96 -48 M180
SYMATTR InstName M3
SYMATTR Value P-ENH
-SYMBOL nmos 352 368 R0
-SYMATTR InstName M4
-SYMATTR Value N-ENH
SYMBOL voltage -240 -192 R90
WINDOW 0 -32 56 VBottom 0
WINDOW 3 32 56 VTop 0
@@ -66,13 +55,6 @@ WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V1
SYMATTR Value 1
-SYMBOL voltage -240 48 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 -240 512 R90
WINDOW 0 -32 56 VBottom 0
WINDOW 3 32 56 VTop 0
@@ -80,14 +62,12 @@ WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V3
SYMATTR Value -1
-SYMBOL pmos 352 304 M180
-SYMATTR InstName M5
-SYMATTR Value P-ELOW
SYMBOL nmos 624 208 R0
SYMATTR InstName M6
SYMATTR Value N-ELOW
SYMBOL nmos 624 368 R0
SYMATTR InstName M7
SYMATTR Value N-ENH
+SYMBOL ternary-logic\\CMOS\\positive_threshold_inverter 368 400 R0
+SYMATTR InstName U1
TEXT 536 -184 Left 0 !.inc ./custom.mos
-TEXT -484 578 Left 0 !.tran 1
diff --git a/CMOS/increment.asc b/CMOS/increment.asc
index 3d9f05b..a874e40 100644
--- a/CMOS/increment.asc
+++ b/CMOS/increment.asc
@@ -1,35 +1,26 @@
Version 4
SHEET 1 880 680
WIRE -416 -192 -480 -192
-WIRE 176 -192 -336 -192
-WIRE 416 -192 176 -192
-WIRE 176 -112 176 -192
+WIRE 416 -192 -336 -192
+WIRE -480 -160 -480 -192
WIRE 416 -112 416 -192
WIRE 64 -96 -240 -96
WIRE 128 -96 64 -96
-WIRE 368 -96 320 -96
+WIRE 304 -96 240 -96
+WIRE 368 -96 304 -96
WIRE -64 -64 -160 -64
WIRE -160 -32 -160 -64
WIRE -64 0 -64 -64
-WIRE 176 16 176 -16
-WIRE 176 16 -16 16
-WIRE 320 16 320 -96
-WIRE 320 16 176 16
+WIRE 304 16 304 -96
+WIRE 304 16 -16 16
WIRE 416 64 416 -16
WIRE 64 80 64 -96
WIRE 368 80 64 80
-WIRE 176 112 176 16
WIRE -64 144 -64 96
-WIRE -480 160 -480 -192
-WIRE -480 160 -544 160
-WIRE -416 160 -480 160
WIRE -240 160 -240 -96
WIRE -240 160 -336 160
WIRE -160 160 -240 160
WIRE -112 160 -160 160
-WIRE 64 192 64 80
-WIRE 128 192 64 192
-WIRE -544 208 -544 160
WIRE -64 304 -64 240
WIRE 416 304 416 160
WIRE 416 304 -64 304
@@ -37,14 +28,17 @@ WIRE 544 304 416 304
WIRE -64 368 -64 304
WIRE -160 448 -160 160
WIRE -112 448 -160 448
-WIRE -480 496 -480 160
WIRE -416 496 -480 496
WIRE -64 496 -64 464
WIRE -64 496 -336 496
-WIRE 176 496 176 208
-WIRE 176 496 -64 496
-FLAG -544 208 0
+WIRE -480 528 -480 496
+FLAG -480 528 0
FLAG -160 -32 0
+FLAG -480 -160 0
+FLAG -336 160 A
+IOPIN -336 160 In
+FLAG 544 304 Y
+IOPIN 544 304 Out
SYMBOL nmos -112 368 R0
SYMATTR InstName M1
SYMATTR Value N-ENH
@@ -55,13 +49,6 @@ 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
@@ -72,12 +59,6 @@ SYMATTR Value -1
SYMBOL pmos -112 240 M180
SYMATTR InstName M2
SYMATTR Value P-ELOW
-SYMBOL nmos 128 112 R0
-SYMATTR InstName M3
-SYMATTR Value N-ELOW
-SYMBOL pmos 128 -16 M180
-SYMATTR InstName M4
-SYMATTR Value P-ENH
SYMBOL pmos 368 -16 M180
SYMATTR InstName M5
SYMATTR Value P-ENH
@@ -87,5 +68,6 @@ SYMATTR Value P-ELOW
SYMBOL nmos -16 96 R180
SYMATTR InstName M7
SYMATTR Value N-DLOW
+SYMBOL ternary-logic\\CMOS\\negative_threshold_inverter 176 -144 R0
+SYMATTR InstName U1
TEXT 296 472 Left 0 !.inc ./custom.mos
-TEXT -568 560 Left 0 !.tran 1
diff --git a/CMOS/inverting_consensus.asc b/CMOS/inverting_consensus.asc
index aa8de86..ef326e8 100644
--- a/CMOS/inverting_consensus.asc
+++ b/CMOS/inverting_consensus.asc
@@ -2,23 +2,17 @@ Version 4
SHEET 1 880 680
WIRE -368 -224 -448 -224
WIRE -16 -224 -288 -224
+WIRE -448 -192 -448 -224
WIRE -16 -144 -16 -224
WIRE -64 -128 -192 -128
WIRE -16 -16 -16 -48
WIRE -64 0 -128 0
-WIRE -448 64 -448 -224
-WIRE -368 64 -448 64
WIRE -192 64 -192 -128
WIRE -192 64 -288 64
-WIRE -448 128 -448 64
-WIRE -448 128 -512 128
WIRE -16 144 -16 80
WIRE 304 144 -16 144
WIRE 544 144 304 144
WIRE 640 144 544 144
-WIRE -512 160 -512 128
-WIRE -448 208 -448 128
-WIRE -368 208 -448 208
WIRE -128 208 -128 0
WIRE -128 208 -288 208
WIRE -16 208 -16 144
@@ -47,7 +41,6 @@ WIRE 192 448 192 416
WIRE 192 448 -96 448
WIRE 448 448 448 416
WIRE 448 448 192 448
-WIRE -448 512 -448 208
WIRE -368 512 -448 512
WIRE -16 512 -16 432
WIRE -16 512 -288 512
@@ -55,9 +48,17 @@ WIRE 304 512 304 432
WIRE 432 512 304 512
WIRE 544 512 544 432
WIRE 544 512 432 512
+WIRE -448 544 -448 512
WIRE 432 544 432 512
-FLAG -512 160 0
+FLAG -448 -192 0
FLAG 432 544 0
+FLAG -448 544 0
+FLAG -288 64 A
+IOPIN -288 64 In
+FLAG -288 208 B
+IOPIN -288 208 In
+FLAG 640 144 Y
+IOPIN 640 144 Out
SYMBOL pmos -64 -48 M180
SYMATTR InstName M1
SYMATTR Value P-ENH
@@ -84,20 +85,6 @@ WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V2
SYMATTR Value -1
-SYMBOL voltage -272 64 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 SINE(0 1 2 0.125)
-SYMBOL voltage -272 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 V4
-SYMATTR Value SINE(0 1 2)
SYMBOL pmos 256 208 R0
SYMATTR InstName M5
SYMATTR Value P-DLOW
@@ -110,5 +97,4 @@ SYMATTR Value N-DLOW
SYMBOL pmos 496 336 R0
SYMATTR InstName M8
SYMATTR Value P-DLOW
-TEXT -532 578 Left 0 !.tran 1
TEXT 464 -240 Left 0 !.inc ./custom.mos
diff --git a/CMOS/is_false.asc b/CMOS/is_false.asc
index 30899c4..04b091f 100644
--- a/CMOS/is_false.asc
+++ b/CMOS/is_false.asc
@@ -1,51 +1,10 @@
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 ./custom.mos
-TEXT -440 472 Left 0 !.tran 1
+WIRE -112 128 -128 128
+WIRE 16 128 0 128
+FLAG -128 128 A
+IOPIN -128 128 In
+FLAG 16 128 Y
+IOPIN 16 128 Out
+SYMBOL ternary-logic\\CMOS\\negative_threshold_inverter -64 80 R0
+SYMATTR InstName U1
diff --git a/CMOS/is_true.asc b/CMOS/is_true.asc
index 0977aa2..9bdc020 100644
--- a/CMOS/is_true.asc
+++ b/CMOS/is_true.asc
@@ -1,68 +1,12 @@
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 ./custom.mos
-TEXT -440 472 Left 0 !.tran 1
+WIRE -16 96 -32 96
+WIRE 224 96 208 96
+FLAG -32 96 A
+IOPIN -32 96 In
+FLAG 224 96 Y
+IOPIN 224 96 Out
+SYMBOL ternary-logic\\CMOS\\positive_threshold_inverter 32 48 R0
+SYMATTR InstName U1
+SYMBOL ternary-logic\\CMOS\\negative_threshold_inverter 144 48 R0
+SYMATTR InstName U2
diff --git a/CMOS/is_unknown.asc b/CMOS/is_unknown.asc
index b1d16c9..7261e77 100644
--- a/CMOS/is_unknown.asc
+++ b/CMOS/is_unknown.asc
@@ -1,63 +1,48 @@
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 -288 -192 -336 -192
+WIRE 304 -192 -208 -192
+WIRE -336 -160 -336 -192
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 -48 96 -112 96
WIRE 192 96 192 -16
-WIRE 192 96 0 96
+WIRE 192 96 64 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 304 400 -208 400
WIRE 544 400 544 336
WIRE 544 400 304 400
-FLAG -416 144 0
-SYMBOL voltage -192 -160 R90
+WIRE -336 432 -336 400
+FLAG -336 -160 0
+FLAG -336 432 0
+FLAG -208 96 A
+IOPIN -208 96 In
+FLAG 656 96 Y
+IOPIN 656 96 Out
+SYMBOL voltage -192 -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 -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
@@ -65,12 +50,6 @@ 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
@@ -83,5 +62,6 @@ SYMATTR Value P-ENH
SYMBOL pmos 256 -64 M180
SYMATTR InstName M6
SYMATTR Value P-ELOW
+SYMBOL ternary-logic\\CMOS\\negative_threshold_inverter 0 48 R0
+SYMATTR InstName U1
TEXT 360 -208 Left 0 !.inc ./custom.mos
-TEXT -440 472 Left 0 !.tran 1