11111111111111111111111111111111111111111111111111111111111111111111111111

(12) United States Patent (io) Patent No.: US 9,831,873 B2 Stoica et al. (45) Date of Patent: Nov. 28, 2017

(54) METHOD AND APPARATUS FOR (52) U.S. Cl. SIMULTANEOUS PROCESSING OF CPC ...... H03K 19/0002 (2013.01); G06F 7/00 MULTIPLE FUNCTIONS (2013.01); G06F 7/49 (2013.01); H03K 19/08 (2013.01) (71) Applicant: California Institute of Technology, (58) Field of Classification Search Pasadena, CA (US) CPC ...... H03K 19/0002; H03K 19/08; G06F 7/00; G06F 7/49 (72) Inventors: Adrian Stoica, Altadena, CA (US); USPC ...... 326/105, 59, 106 Radu Andrei, Shelby Township, MI See application file for complete search history. (US) (56) References Cited (73) Assignee: California Institute of Technology, Pasadena, CA (US) U.S. PATENT DOCUMENTS

(*) Notice: Subject to any disclaimer, the term of this 4,275,265 A * 6/1981 Davida ...... H04L 9/0618 380/29 patent is extended or adjusted under 35 4,463,344 A 7/1984 Adler et al. U.S.C. 154(b) by 0 days. 4,706,299 A * 11/1987 Jorgensen ...... G06E 1/04 326/60 (21) Appl. No.: 14/618,953 5,650,783 A 7/1997 Murashita et al. 6,133,754 A 10/2000 Olson (22) Filed: Feb. 10, 2015 7,088,141 132 8/2006 Deogun et al. 7,221,711 132 5/2007 Woodworth et al. (65) Prior Publication Data (Continued) US 2016/0233862 Al Aug. 11, 2016 Primary Examiner Daniel D Chang US 2017/0244410 A9 Aug. 24, 2017 (74) Attorney, Agent, or Firm KPPB LLP

Related U.S. Application Data (57) ABSTRACT (60) Division of application No. 13/235,188, filed on Sep. Electronic logic gates that operate using N logic state levels, 16, 2011, now Pat. No. 8,975,922, which is a where N is greater than 2, and methods of operating such continuation-in-part of application No. 12/393,562, gates. The electronic logic gates operate according to truth filed on Feb. 26, 2009, now abandoned. tables. At least two input signals each having a logic state that can range over more than two logic states are provided (60) Provisional application No. 61/383,488, filed on Sep. to the logic gates. The logic gates each provide an output 16, 2010, provisional application No. 61/067,666, signal that can have one of N logic states. Examples of gates filed on Feb. 29, 2008. described include NAND/NAND gates having two inputs A and B and NAND/NAND gates having three inputs A, B, (51) Int. Cl. and C, where A, B and C can take any of four logic states. H03K 19/20 (2006.01) Systems using such gates are described, and their operation H03K 19/00 (2006.01) illustrated. Optical logic gates that operate using N logic G06F 7/00 (2006.01) state levels are also described. G06F 7/49 (2006.01) H03K 19/08 (2006.01) 13 Claims, 26 Drawing Sheets

11

X2 US 9,831,873 B2 Page 2

(56) References Cited U.S. PATENT DOCUMENTS

7,339,500 B2 3/2008 Noda et al. 7,502,464 B2 * 3/2009 Macchetti ...... H04L 9/0631 380/29 8,975,922 B2 3/2015 Stoica et al. 2005/0030207 Al 2/2005 Craven et al. 2005/0258863 Al 11/2005 Chang et al. 2007/0152710 Al 7/2007 Lablans 2007/0176800 Al 8/2007 Rijavec et al. 2008/0088345 Al 4/2008 Whetsel 2008/0094260 Al 4/2008 Motoyama et al. 2008/0212776 Al 9/2008 Motoyama et al. 2012/0236378 Al 9/2012 Stoica et al. * cited by examiner 0 VA

0

FIG. VA

F'ICr..2 U.S. Patent Nov. 28, 2017 Sheet 3 of 26 US 9,831,873 B2

CHOOSE DECODING SCHEME X,""XK Cl ,(C2 V0, ),-(CM

1-304

CHOOSE BOOLEAN FUNCTIONS m

CHOOSE ENCODING SCHEME (fm(cm),,Jl(C. )

FIG. 3 VA

FIG, U.S. Patent Nov. 28, 2017 Sheet 5 of 26 US 9,831,873 B2

FIG. 5

B tJ 1 2 3 D 3 3 3 3 1 3Z 32 2 3 3 1 2 3 3 2 3 (?

FIG. 6 U.S. Patent Nov. 28, 2017 Sheet 6 of 26 US 9,831,873 B2

Q m Ut d d Ca L- LL H

0 or:

IN ry ci (JS) I'i U.S. Patent Nov. 28, 2017 Sheet 7 of 26 US 9,831,873 B2

FIG. 8A FIG. 8C

=O >1

i

W 9 7 (pall doNv i to 2)

bia s

FIG. 8D U.S. Patent Nov. 28, 2017 Sheet 8 of 26 US 9,831,873 B2

B=O & A<2

FIG. 8E ------VA ,,,dd •

A

t~ M u --

wired mire mode

.. .f)Y S: ...... _... .._...... d14~..

el ss dvs>s ilvsa - d~as~~' plus pl7jas 3 lwys~. nbias

FIG. 9

OVA

0

Level Level

`

------

- -

------

10

vin vin

FIG. FIG. ------not / n t

FA w

dvd~ . dvdd i q,< dvdd.

ir•7 r n

d35.4

FIG. 11 U.R. Patent &nv 28 2017 Sheet 12 026 US 9,831,873 G2

Awl2A I FIG. iZB

!2-I

d? 1 a : ±; add !22

ISa > & dvdd ~

\ !23

dAd;dvdd§ .< . ~\ ` 12 5 ~ ( ` ss

. l. . \y ^ ddb s.ƒ ss S: 3v 9fi~ gs=.,:rbias

: [c U.S. Patent Nov. 28, 2017 Sheet 13 of 26 US 9,831,873 B2

y or/or b 0 is f - l:. r,

12-1 ------12-2

12

Y,S s

12-

FIG.12B U.S. Patent Nov. 28, 2017 Sheet 14 of 26 US 9,831,873 B2

I G. 13.3 I 171G. 138

pk

dvdd r-i-. dvdd dYs L -3 ~y'ss rrbi as- E -ribs as pb as tr.-- ; ;~pbi s

19 U.S. Patent Nov. 28, 2017 Sheet 15 of 26 US 9,831,873 B2

W

13-1

OCIEW-1-1 U.S. Patent Nov. 28, 2017 Sheet 16 of 26 US 9,831,873 B2

dvdd

FIG. 14A FIG.14BB

t----:dv ss vs

dvdd

phial-tj', Cl cegl or ceg3; 4 14-3 , cgtl------No. alt2-

a12; doss doss

FIG. 14A

dvss dvss Ms dvdd dvdd dvdd dvdd dv dvdd _j pbias phias-- `i hlt2~ hgtl clt2 cgtI ~L c doss d,;s5 U.S. Patent Nov. 28, 2017 Sheet 17 of 26 US 9,831,873 B2

ISMINUM-9

14-1

14-2

14-3 ------

6 dvdd --dvdd j dvss ~- dvss t buq 3- j ~l beg3 Pb as - pbias nbia nbias

aegl 1 cgtl

dvss UPS 'dV 55 dvdd dvdd dvdd_1 dvdd dvdd dvdd 4 pbias t .r pbias r~'' aeg0 —. agi:0 begl7 '1 bpto c eqO 1 c9t0 b e 6L doss dvss dVSS55 dvss doss dvdd dvdd dvdd dvdd dvdd d,'dd --r —r a b c fi dlt3 aeg3 blt3 + - r beg3 °ced3 r clt3 + ribias jI ---- n blas nblas

dWSs dvss.. dvss dvss dWss doss VA

4ltlllll D Q01Yk~S/ Si): 23 `{ 4 qtfiftw SI1p11T, 16\ 4 stage output pb a5 I ,bias pull up pin nbias extl~

FIG. 15

II

nbias

pbias

dvdd

doss

......

...., ....,

d

j j

( (

( (

doss

doss doss

pbias pbias

dvdd dvdd

nbias nbias

doss

doss

' '

• •

• •

y

dvdd

<. <.

16

ss

id id

FIG. FIG.

pbias

s>

dvdd'' dvdd''

doss bias dvdd --- dvdd dvss doss pbsas > ;.. pbias VA

dvdd

FIG. 17 U.S. Patent Nov. 28, 2017 Sheet 21 of 26 US 9,831,873 B2

00 r-- (D LL

* v U.S. Patent Nov. 28, 2017 Sheet 22 of 26 US 9,831,873 B2

fictive High Data Selection M=H M=L- Logic $2 S1 Function Cn H' carry)'

L L F= F=

L L H L F = AB F= + L L H H F=O IF .. Minu l x p!) L H L L F ::,, F ...:A Flu A L H L H F=.. F (A ..;.. ',) Fps ALA' L H H L F ,,-.A 9 B F A Minus B Minus 1 L H H H F Ab F .... is -' H L L L. F'=;, 4.. BF=APiusAB H L L H F'. A 0 B F =A Plus H L H L F=B F )Plus AB H L H H F=AB F =AS Minus H H L L F=1 F= FIu * ...' H H L. H F=A a. F..:::( ) I A H H L F=A + F .., ~ ''~ l H H H F'=... IF=

FIG. 19 M,U AJ_.T)8; -with drivers

Y 4 lovel drivers VA 4-k

'x 8 bit Al,t s standardimplementerin c J(;~ "■ r}....

}3in17ti'tCo

. .fit level to'. bina*! Conversion

+s +s r.

lu~~l~ U.S. Patent Nov. 28, 2017 Sheet 24 of 26 US 9,831,873 B2

EW I, U.S. Patent Nov. 28, 2017 Sheet 25 of 26 US 9,831,873 B2

N N C 21 LL

s m U.S. Patent Nov. 28, 2017 Sheet 26 of 26 US 9,831,873 B2

0 cY) N

Q LL

v, E ~~ m US 9,831,873 B2 N METHOD AND APPARATUS FOR Also known in the prior art is Deogun et al., U.S. Pat. No. SIMULTANEOUS PROCESSING OF 7,088,141, issued Aug. 8, 2006, which is said to disclose a MULTIPLE FUNCTIONS multi-threshold complementary metal-oxide semiconductor (MTCMO)bus circuit reduces bus power consumption via CROSS-REFERENCE TO RELATED 5 a reduced circuit leakage standby and pulsed control of APPLICATIONS standby mode so that the advantages of MTCMOS repeater design are realized in dynamic operation. A pulse generator This application is a Divisional application of co-pending pulses the high-threshold voltage power supply rail standby U.S. patent application Ser. No. 13/235,188 filed Sep. 16, switching devices in response to changes detected at the bus 2011, which application claimed priority to and the benefit io circuit inputs. The delay penalty associated with leaving the of then U.S. provisional patent application Ser. No. 61/383, standby mode is overcome by reducing cross-talk induced 488 filed Sep. 16, 2010, and was a continuation-in-part of delay via a cross-talk noise minimization encoding and co-pending U.S. patent application Ser. No. 12/393,562, decoding scheme. A subgroup of bus wires is encoded and filed Feb. 26, 2009, which application claimed the priority decoded, simplifying the encoding, decoding and change and benefit of U.S. provisional patent application Ser. No. 15 detection logic and results in the bus subgroup being taken 61/067,666 filed Feb. 29, 2008, each of which applications out of standby mode only when changes occur in one or is incorporated herein by reference in its entirety. more of the subgroup inputs, further reducing the power consumption of the overall bus circuit. STATEMENT REGARDING FEDERALLY Also known in the prior art is Rijavec, U.S. Patent FUNDED RESEARCH OR DEVELOPMENT 20 Application Publication No. 2007/0176800 Al, published Aug. 2, 2007, which is said to disclose methods and systems The invention claimed herein was made in the perfor- for improving performance of data decoding using a priori mance of work under a NASA contract, and is subject to the information about the data steam. In one aspect a decoder provisions of Public Law 96-517(35 USC 202)in which the may determine the degree oflossiness inherent in the data or Contractor has elected to retain title. 25 in the application of the data as a maximum resolution of data to be decoded and may thereby streamline entropy FIELD OF THE INVENTION decoding ofthe data. For example,in DCT-based image data compression coupled with Huffman or other entropy encod- The invention relates to electronic logic gates. ing, a priori data may be analyzed to determine the maxi- 30 mum required resolution in bits of the DCT encoded data so BACKGROUND OF THE INVENTION as to simplify the entropy decoding. Other aspects optimize DCT decoding computation with faster approximations A substantial amount of research in electronic microsys- where the quantization values indicate a higher degree of tems has focused on bringing more computing power to lossiness or noise in the DCT encoded data. A priori infor- smaller devices. Traditional approaches to increase comput- 35 mation may generally comprise values in the quantization ing bandwidth has often focused on exploiting concurrency, table of a DCT encoded image and may be analyzed to such as by allocating increasingly more gates to specific determine the maximum symbol size and/or degree of tasks, or by performing instructions faster, such as operating lossiness. gates at higher speeds. These traditional approaches are Also known in the prior art is Noda, U.S. Pat. No. expected to have diminishing returns, and may bump up 4o 7,339,500, issued Mar. 4, 2008, which is said to disclose two against technological barriers, such as for example limita- different block codes that can be encoded by one-type of tions on power dissipation. encoding section. A first-point-fixed encoding section Another technological barrier has to do with the substan- divides m-bit data into a first-half code and a second-half tial increase in the number of transistors built in modern code, and encodes them into an n-bit provisional code with devices, which increases by approximately a factor of two 45 fixed start-point state. A code A/B counter receives a reset- every 18 to 24 months, and which is predicted by Moore's signal and outputs a code selection signal to a code-order Law. As the number of devices increases, more and more reversing section and a top-code correction section. The area on a chip needs to be devoted to interconnects. At some code-order reversing section receives a codeword excluding point, the portion of the chip devoted to interconnects the top code from the start-point-fixed encoding section; and becomes excessive, possibly exceeding the area of the chip 50 outputs the codeword as is, when the code selection signal devoted to transistors or active devices. indicates a code B, and reverses the order of the codeword Also known in the prior art is Adler et al., U.S. Pat. No. to generate a new codeword, and outputs the new codeword 4,463,344, issued Jul. 31, 1984, which is said to disclose an to a latch, when the code selection signal indicates a code A. algorithm and the hardware embodiment for producing a run The top-code correction section determines whether the top length limited code useful in magnetic recording channels. 55 code needs to be modified, and modifies the top code, if The system described produces sequences which have a necessary. minimum of 2 zeros and a maximum of 7 zeros between Also known in the prior art is Motoyama, U.S. Patent adjacent 1's. The code is generated by a sequential scheme Application Publication No. 2008/0094260 Al, published that maps 1 bit of unconstrained into 2 bits of constrained Apr. 24, 2008, which is said to disclose a logic circuit that data. The encoder is a finite state machine whose internal 60 executes a prescribed arithmetic processing that includes a state description requires 3 bits. It possesses the attractive decoder that converts one or more binary input data into a feature ofreset data blocks which reset it to a fixed state. The first plurality of bit data of a constant hamming weight decoder requires a lookahead of three future channel sym- regardless of a hamming weight of the input data, an bols (6 bits) and its operation is channel state independent. interconnect network that is connected to the decoder, The error propagation due to a random error is 3 bits. The 65 changes a bit pattern of the first plurality of bit data and hardware implementation is extremely simple and can oper- generates a second plurality of bit data, according to receiv- ate at very high data speeds. ing the first plurality of bit data converted according to the US 9,831,873 B2 3 4 decoder, and substituting a bit position of the received first In one embodiment, the electronic logic gate further plurality of bit data for the purpose of the prescribed comprises a binary to N logic level encoder. arithmetic operation, and an encoder connected to the inter- In another embodiment, the electronic logic gate further connect network and converts the second plurality of bit data comprises an N logic level driver. generated in the interconnect network into one or more 5 In yet another embodiment, the electronic logic gate binary output data. further comprises an N logic level to binary decoder. Also known in the prior art is Motoyama, U.S. Patent In still a further embodiment, the N monotonic logic Application Publication No. 2008/0212776 Al, published signal levels are equally spaced signal levels. Sep. 4, 2008, which is said to disclose an encryption According to another aspect, the invention relates to a processing circuit that includes a decoder configured to io method of processing electronic signals. convert a binary input data used for predetermined encryp- The method comprises the steps of. providing an elec- tion computing into a first plurality of bit data of a constant tronic logic gate; providing a truth table; applying at least hamming weight independently of a hamming weight of the first and second electrical input logic signals each having input data; a wiring network configured to receive the first one logic state selected from a number N of logic states to plurality of bit data converted by the decoder, the wiring 15 the at least the first input terminal and the second input network further configured, for the purpose of the predeter- terminal; sensing the electrical output signal; and perform- mined encryption computing, to change a bit pattern of the ing at least one ofrecording the result, transmitting the result received first plurality of bit data by replacing bit positions to a data handling system, or to displaying the result to a of the first plurality of bit data, and to generate a second user. The electronic logic gate, comprises at least a first input plurality of bit data; and an encoder configured to convert 20 terminal and a second input terminal, each input terminal the second plurality of bit data generated in the wiring configured to receive a respective electrical input logic network into a binary output data. signal having one logic state selected from a number N of Mechanical computation systems that rely on a plurality logic states, and an output terminal configured to provide an of states, including machines that operate using N=10 states, electrical output logic signal having one logic state selected such as Babbage's Difference Engine, have been known for 25 from a number N of logic states, where N is an integer many years. However, electronic computation systems use greater than two; the electronic logic gate configured to two states (e.g., binary logic). perform a logic operation using the electrical input logic There is a need for electronic logic gates and electronic signals received at the at least the first input terminal and the computational systems that use more logic states than two second input terminal, the logic operation is defined by a binary logic states. 30 truth table. In one embodiment, the truth table is selected from the SUMMARY OF THE INVENTION group of truth tables consisting of a NAND/NAND truth table, a NOR/NOR truth table, an OR/OR truth table, an According to one aspect, the invention features an elec- XOR/XOR truth table, a NOT/NOT truth table, and an tronic logic gate. The electronic logic gate comprises at least 35 AND/AND truth table. a first input terminal and a second input terminal, each input In another embodiment, the number N of logic states terminal configured to receive a respective electrical input correspond to N monotonic logic signal levels. logic signal having one logic state selected from a number In yet another embodiment, the N monotonic logic signal N of logic states, and an output terminal configured to levels are equally spaced signal levels. provide an electrical output logic signal having one logic 40 In a further aspect, the invention provides an optical logic state selected from a number N of logic states, where N is gate. The optical logic gate comprises at least a first input an integer greater than two; the electronic logic gate con- terminal and a second input terminal, each input terminal figured to perform a logic operation using the electrical input configured to receive a respective optical input logic signal logic signals received at the at least the first input terminal having one logic state selected from a number N of logic and the second input terminal, the logic operation defined by 45 states, and an output terminal configured to provide an a truth table. optical output logic signal having one logic state selected In one embodiment, the electronic logic gate further from a number N of logic states, where N is an integer comprises a selector input configured to receive a selector greater than two; said optical logic gate configured to signal having a plurality of logic states, the logic gate perform a logic operation using said optical input logic configured to perform a plurality of different logic functions 50 signals received at said at least said first input terminal and using the electrical input logic signals received at the at least said second input terminal, said logic operation defined by the first input terminal and the second input terminal in a truth table. response to the selector signal. In one embodiment, the optical logic gate further com- In another embodiment, the truth table is a NAND/NAND prises a selector input configured to receive a selector signal truth table. 55 having a plurality of logic states, said logic gate configured In yet another embodiment, the truth table is a NOR/NOR to perform a plurality of different logic functions using said truth table. optical input logic signals received at said at least said first In still another embodiment, the truth table is an OR/OR input terminal and said second input terminal in response to truth table. said selector signal. In a further embodiment, the truth table is an XOR/XOR 60 In another embodiment, said N logic states correspond to truth table. N monotonic logic signal levels. In yet a further embodiment, the truth table is a NOT/ The disclosed subject matter describes a method to pro- NOT truth table. vide an input-output relationship to process K input multi- In an additional embodiment, the truth table is an AND/ level logic signals into an output signal. The method com- AND truth table. 65 prises the steps of choosing a decoding scheme to decode the In one more embodiment, the N logic states correspond to K input multi-level logic signals into a set of M'bits on each N monotonic logic signal levels. channel of M channels; choosing Boolean functions for each US 9,831,873 B2 5 6 channel; and choosing an encoding scheme to encode the FIG. 2 illustrates the input-output relationship of an output of the Boolean functions into the output signal. (AND, OR)logic gate according to an embodiment. In one embodiment, M-M. FIG. 3 illustrates a methodology for constructing the In another embodiment, the decoding scheme applies the input-output relationship of a logic gate according to an same decoding function to each of the K input multi-level 5 embodiment. logic signals. FIG. 4 illustrates the input-output relationship of an The disclosed subject matter describes a logic gate to logic unit according to an embodiment. provide an output signal y in response to K input signals xk, FIG. 5 is a circuit diagram of a NAND-NAND logic gate k=1, 2, ... , K. The logic gate comprises M channels Cm, operating on signals having N=4 logic states. m=1, 2, .. , M to propagate data signals to perform M 10 FIG. 6 is the truth table that corresponds to the logic gate Boolean functions fm, m=1, 2...., M, where for each k=1, of FIG. 5. 2, .. , K, input signal xk maps into an M'-tuple of bits FIGS. 7A through 7C are diagrams illustrating the behav- (xk(M'), xk(M'-1), ..., xk(2), Xk(l)), where each x,(m) is a ior of a NAND-NAND logic gate such as shown in FIG. 5 binary logic signal, where a subset of the set of K M'-tuples in which the logic levels are spaced equidistantly in voltage. I(xk(M'), xk(M'-I), ... , xk(2), xk(l)), k=1, 2, ... , K} is 15 FIG. 8A is a diagram of a decoder for logic level A-0. transmitted over the M channels, and where the output signal FIG. 8B is a diagram of a decoder for logic level A<3. y is a function of the M-tuple of binary signals (fmJCM}, FIG. 8C is a diagram of a decoder for logic level A=1. f.,lcm i}, fz{Cz}, fi{CJ), where for each m=1, 2, ... , FIG. 8D is a diagram of a decoder for logic level A=2. M, {Cm} is the subset of the set of K M'-tuples {(xk (M'), FIG. 8E is a schematic diagram of a circuit element that xk(M'-I), . . . , xk(2), xk(1)), k=1, 2, . . . , K} that is 20 behaves as a wired minimum. transmitted over the channel Cm, and fm{m}is an output of FIG. 9 is a circuit diagram of an alternative embodiment Boolean function f_ for the set ofbinary logic signals {Cm}. of a NAND/NAND gate. The input signals can be multi-level logic signals. FIG. 10 is a graph that illustrates the voltage transfer In one embodiment, M-M, where for each k=1, 2, ... , characteristics for a NAND/NAND gate. K, xk(m)is sent over channel Cm for each m=1, 2, ..., M, 25 FIG. 11 is a circuit diagram of an embodiment of a where for each m=1, 2, ... , M,{C m} is the set of binary NOT/NOT gate. logic signals {xi(m), xz(m), ... , xK(m)}. FIGS. 12A and 12B are a circuit diagram of an embodi- In yet another embodiment, a same mapping is applied to ment of a OR/OR gate. each signal xk. FIGS. 13A and 13B are a circuit diagram of an embodi- The disclosed subject matter describes a method to syn- 30 ment of a XOR/XOR gate. thesize a simul-gate logic circuit given a logic circuit FIGS. 14A and B are a circuit diagram of an embodiment comprising a set of Boolean logic gates {B,, i=1, 2,... , N1. of a NAND3/NAND3 gate. The method comprises the steps of replacing, for each i=1, FIG. 15 is a schematic diagram of an embodiment of a 2, ..., N,the Boolean logic gate B,in the logic circuit with simultaneous ("SIMU-ALU") that the simul-gate (B,, Bi,... , BJ, where B,is repeated M times. 35 operates using four logic levels. In one embodiment,for each i=1, 2,... , N,the simul-gate FIG. 16 is a circuit diagram of a 4-level to binary decoder. (Bi, Bi,... , BJ is such that in response to K(i)input signals FIG.17 is a circuit diagram of a binary to 4-level encoder. xk(i), k-L 2, ..., K(i), the simul-gate (B,t B,t ... , BJ FIG. 18 is a circuit diagram that illustrates 4-level output comprises M channels C_(i), m=1, 2, ..., M to propagate driver circuits. data signals to perform the Boolean function B, M times, 40 FIG. 19 is a table that illustrates the values of the selector where for each k1,2, ... , K(i), input signal xk (i) maps into S and the corresponding logical operations that will be an M-tuple of bits (xk(i, M), xk(i,M-1),... , x k(i,2), xk(ij )), performed by each of a SIMU-ALU and a parallel arithmetic where each xk(i, m)is a binary logic signal, where xk (i,m) logic unit. is sent over channel C_(i) for each m=1, 2, ... , M, and FIG. 20 is a diagram that illustrates a circuit layout for a where an output signal y(i) is a function of the M-tuple of 45 device that operates according to principles of the invention binary signals(BJC M(i)}, BJCM ,(i)}, BJCz (i)1, BJC,(i) that is illustrated by the schematic in FIG. 15. 1), where for each k=1, 2, ... , K(i), xk(i,m) is sent over FIG. 21 is an image of the SIMU-ALU device being channel C_(i)for each m=1, 2,... , M, where for each m=1, tested. 2,... , M,{C_(i)} is the set of binary logic signals {x,(i,m), FIG. 22 is a graph showing A and B inputs for a logic xz(i,m), . . . , xk(i,m)}, and B,{C_(i)} is the output of 50 function A (e.g., output=A input) that demonstrates the Boolean function B, for the set of binary logic signals identity of output for the SIMU-ALU and the parallel {Cm(i)}. arithmetic logic unit using conventional binary logic. The foregoing and other objects, aspects, features, and FIG. 23 is a graph showing A and B inputs for a logic advantages ofthe invention will become more apparent from function (A+B)-1 (e.g., output NAND (A and B) that the following description and from the claims. 55 demonstrates the identity of output for the SIMU-ALU and the parallel arithmetic logic unit using conventional binary BRIEF DESCRIPTION OF THE DRAWINGS logic.

The objects and features of the invention can be better DETAILED DESCRIPTION understood with reference to the drawings described below, 60 and the claims. The drawings are not necessarily to scale, In the description that follows, the scope of the term emphasis instead generally being placed upon illustrating "some embodiments" is not to be so limited as to mean more the principles of the invention. In the drawings, like numer- than one embodiment, but rather, the scope may include one als are used to indicate like parts throughout the various embodiment, more than one embodiment, or perhaps all views. 65 embodiments. FIG. 1 illustrates the input-output relationship of a logic A methodology is presented for describing an input- gate according to an embodiment. output behavior of a multi-level logic gate to process simul- US 9,831,873 B2 7 8 taneously a multiplicity of independent Boolean logic func- provided to the last channel. For the particular embodiment tions, with each Boolean function processing signals carried illustrated in FIG. 1, each channel carries binary signals on an individual, separate channel. An embodiment may obtained from all the multi-level logic signals provided as simultaneously process the same data with the same function input to decoder 104. However, other embodiments may or with different functions, multiple data with the same 5 have one or more channels that do not carry any binary function, or multiple data with different functions. In addi- signals associated with one or more input multi-level logic tion, multi-level logic signals (having more than two levels) signals. Each channel may be viewed as carrying binary may be processed, so that a higher communication band- signals to its corresponding Boolean gate, where each Bool- width may be obtained without necessarily increasing the ean gate then processes its binary signals to provide a binary number of traces (wires). 10 output to encoder 110. Encoder 110 then encodes these Embodiments increase functional density at the logic gate binary signals to provide a multi-level logic signal at output level by combining multiple functions within a single gate. port 112. Embodiments may process simultaneously a multiplicity of Embodiments may be described in more detail by intro- independent Boolean logic functions, with each Boolean 15 ducing additional notation. Decoder 104 maps input signal function processing signals carried on an individual, sepa- xkinto the M-tuple of bits(x k(M), xk(M-1),... , x k(2), xk(1)) rate channel. An embodiment may simultaneously process the same data with the same function or with different for each k=1, 2, ..., K, where each xk(m)is a binary logic functions, multiple data with the same function, or multiple signal, and where xk(m) is sent over channel Cm for each m=1, 2, ... , M and for each k. In this way, for each m=1, data with different functions. In addition, multi-level logic signals (having more than two levels) may be processed, so 20 2, ... , M, channel Cm carries the set of binary signals that a higher communication bandwidth may be obtained {xi(m), xz(m), , xK(m)}. For each m=1, 2, .. , M, without necessarily increasing the number of traces (wires). Boolean gate fm operates on the set ofbinary signals {xi(m), Such an embodiment may be referred to as a simul-gate. xz(m), .... xK(m)} to provide an output binary signal that Embodiments may be described by their input-output may be expressed as f XAM), xz(m), .... xK(m)}. This behavior. The input signals, and the output signal, may each 25 output binary signal may be written more compactly as in general have more than two logic levels, or values. For fm{Cm}, where when Cm is the argument off m, it stands for example, an input or output signal may have logic levels in the set of binary signals carried on channel Cm. Encoder 112 the set has as its input the M-tuple of binary signals (fM{Cm}, fM_i WM-i!, ... , fz{Cz}, fjCj), and maps this into a 30 multi-level logic output signal y. For some embodiments, the output of each Boolean gate l0'(3) °'GY °)' does not depend upon the ordering of its input signals. This was the motivation for using set notation in describing the input and output relationship of a Boolean gate. For where v is some voltage scale. A correspondence between 35 example, the output binary signal of Boolean gate fm was the binary symbols 0 and 1 and these logic voltage levels written as fm{Cm}. For some embodiments, the decoding may be taken as: 00"0; scheme is separable in the sense that the same decoding scheme is applied separately to each xk. If each Boolean gate does not depend upon the ordering of its input signals, and 01H(3)';10-GY 40 if the decoding scheme is separable so that the same decod- ing scheme is applied to each xk, then because each channel Cm carries the set of binary signals {xi(m), xz(m), ... and 11 v. Other embodiments may have more than four xK(m)} for each m=1, 2,... , M,the output ofthe simul-gate logic levels. It is not necessary that the number of logic is independent of the ordering of the input signals xk. levels in a set of logic levels be a power of two. 45 For some embodiments the output of encoder 110 depends Referring to FIG. 1, the input-output behavior of an upon the ordering of its input signals. This was the motiva- embodiment may be represented by K input ports 102, tion for using M-tuple notation for the encoder. As a result, decoder 104, M channels 106, M Boolean gates 108, for some embodiments the output signal y may depend upon encoder 110, and output port 112. There are K input signals, the ordering of the correspondence between the Boolean one for each input port, denoted by xk, k=1, 2, ..., K. The 50 gates and the channels. With this in mind, the input-output output signal at output port 112 is represented by y. The M behavior for the embodiment of FIG. 1 may be referred to Boolean functions fm, m=1, 2, ..., M denote the functional as an (fm, fM ,, ... ,f 2,f l)simul-gate, where the use of an behavior of the Boolean gates, where each fm denotes the M-tuple reminds one that the input-output behavior may functional input-output behavior of its corresponding Bool- depend upon the ordering ofthe correspondence between the ean gate. The M channels may be represented by the 55 Boolean gates and the channels. symbols Cm, m=1, 2, . . . , M. A channel Cm may be For some embodiments, the signals xk for k=1, 2, ..., K considered a set of input ports for the Boolean gate corre- may be such that a decoder maps input signal xk into the sponding to the Boolean function fm . M'-tuple of bits (xk(M'), xk(M'-1),... , xk(2), x,(1))for each In describing the input-output behavior of the embodi- k=1, 2, ... , K, where each xk(m) is a binary logic signal, ment in FIG. 1, each input signal xk is considered a multi- 6o but where M';-M. For example, if M'>M, then not all of the level logic signal, where decoder 104 decodes each multi- binary signals may be carried by the channels. As another level logic signal into a set of binary signals. Each set of example, if M'2. The A transistor is in series and so has drain in an FET). While these circuits can be fabricated the same property. using the transistors as shown in standard MOS technology, When both A and B equal 3 the Y node is pulled to zero it is expected that one can design a chip in which the entire through the inverter and pull down transistor. The other logic gate is fabricated as a single device having only the 40 codes are designed in a similar way. required number of input terminals, output terminals and The input signals to the circuit in FIG. 5 are A and B. reference voltage terminals. These signals can have a voltage value chosen from one of As will become apparent from the following description multiple values, which in this embodiment are illustrated by and the drawings, in some embodiments, the N logic states N=4 states 0, 1, 2, and 3 respectively. In this embodiment, can correspond to a sequence of N monotonically increasing 45 the natural V,for the NMOS transistors is about 0.5V. State voltage levels (or electronic signal levels), which can be, but 1 refers to a value of voltage (here approximately 1 V) at do not have to be, N equally spaced voltage levels. input A or B that is greater than one V,but less than state NAND-NAND Gate 2. State 2 is set by the layout of special transistors with a FIG. 5 is a circuit diagram of a NAND-NAND logic gate programming gate. For this discussion, these transistors are operating on signals having N=4 logic states. For simplicity 50 expected to be programmed to have a threshold voltage of of exposition, the four states can be labeled 0, 1, 2, and 3, IV State 2 refers to an input value greater than IV but less which can be interpreted as a lowest state, two intermediate than 2V State 3 is defined by programming the special states, and a highest state. Advantages of apparatus and transitions to have a threshold of 2V. This state refers to any methods that employ N greater than 2 logic states can signal value having a 2V or greater value. V,, is also a bias include more efficient wiring, especially as the number of 55 point of the n-channel transistors. transistors and gates increases, and improvements in com- In FIG. 5 there are transistors labeled 1.0 and 2.0 which putation, because each computational cycle can process a are specially drawn with their gate only at one half of their larger amount of data as N increases. FIG. 6 is the truth table length. These transistors are specially designed with a gap that corresponds to the logic gate of FIG. 5. A conventional between the source and the gate ofthe transistor. The turn on NAND gate is understood to provide the negative of an AND 60 threshold voltage of these transistors is a function of this gate. A conventional AND gate obeys the logic that unless gap. This threshold voltage can be designed (and can be all of the inputs are TRUE (for example logic 1 binary), the varied) during the layout process by geometrically adjusting output is FALSE (corresponding logic 0 binary). the length of the gap. The transistor labeled 1.0 has a LOV We now explain the rules that govern the operation of the threshold voltage and the transistor labeled 2.0 has a 2.OV NAND/NAND gate of FIG. 5. FIG. 6 shows the result that 65 threshold voltage. These transistors allow us to compare if any input is logic 0 (e.g., the lowest state) the output is values of the input signal with a known reference voltage logic 3 (e.g., the highest state). If all inputs are in the highest defined by the designed threshold of the device. The tran- US 9,831,873 B2 13 14 sistors also act like a voltage clamp. Their minimum VD, connected in circuits in the same way that standard binary clamps at the designed voltage and will not drop any further. elements can be connected with the exception that two (or An equivalent circuit to that shown in FIG. 5 can also be more) parallel circuits are produced. The goal of this tech- constructed using conventional transistors, as illustrated in nique is to be able to enable multiple circuits to operate in FIG. 9. 5 parallel with reduced wiring overhead. Note that simultane- We now describe the operation of the circuit from left to ous functions coded thus can be connected together using right. conventional logic design methods. The first branch (referred to as Input 1) is similar to a FIGS. 7A through 7C are diagrams illustrating the behav- NOR gate. This branch responds to any value for A or B that ior of a NAND-NAND logic gate such as shown in FIG. 5 l0 in which the logic levels are spaced equidistantly in voltage. is higher than the 2 state. In this branch we are using the FIG. 7A shows the variation of the signal applied to the A transistors programmed to have a 1.OV threshold. The output input with time, which input increases monotonically at of this branch is either a 3 or 1 because the output clamping times measured in 10, 20, and 30 units. FIG. 7B shows the nature of the programmable transistor. For any 2 or higher variation of the signal applied to the B input with time, at either A or B input it produces an output 1. If A and B are 15 which input increases monotonically at times measured in both less than 2, both the A and B transistors are "off' and 2.5, 5, and 7.5 units, and repeats each 10 units of time, so the output of this circuit is 3. that all 16 combinations of A and B input values are The output of Input 1 is fed into the next portion of the provided. FIG. 7C shows the signal appearing at output Yfor circuit. This portion of the circuit comprises three branches each of the 16 combinations of A and B inputs. As is seen labeled S1, S2 and S3,respectively. These three branches are 20 in FIG. 7C, the output signal at Y corresponds to the values three input NAND gates that are connected by being logi- in the truth table shown in FIG. 6. cally "NOR"ed together. Each branch is a three input Decoder Primitives NAND. FIG. 8A through FIG. 8D illustrate embodiments of The first branch, S1, is in an off state (producing a 3). It decoders that can accept an input signal having a logic state will produce a logic 2 only if both A and B are greater than 25 value of 0, 1, 2, or 3 and return a decoded value. Each logic 1 and the output ofthe prior stage is a logic 3(meaning decoder gate decodes an input level. The decoder gates can one of them is less than logic 2). provide a result by indicating that an expected level is The second branch S2 produces an output of logic 3(2V) "present" or "absent'(e.g., turning on or off a line which is if B has a value greater than 1 (1=0.5V or Vth) and A is at interpreted as a logic level, or in many cases, the output can state 3 (e.g., a value greater than 2V). 30 be provided as a binary result. In these examples, 4 logic The third branch S3 produces an output of logic 3(2V) if level thresholds are related to the supply voltage as VT,2 V A is at logic level 2(IV) and B has a value greater than logic —3VT to VDD V2p. Decoders that decode a number of logic 3 or 2V. states other than N=4 are also contemplated. The 4th branch S4 produces an output of 2(IV) if A is a FIG. 8A is a diagram of a decoder for logic level A-0. value greater than 1 and B has a value greater than 2 (1V). 35 FIG. 8B is a diagram of a decoder for logic level A<3. The circuit referred to as the "input 2" produces a zero FIG. 8C is a diagram of a decoder for logic level A=1. output if B is in logic state 3, and A is at a logic level higher FIG. 8D is a diagram of a decoder for logic level A=2. than state 1. FIG. 8E is a schematic diagram of a circuit element that This is to be compared to the truth table given in FIG. 6. behaves as a wired minimum. Most of the gates illustrated For A-0, B-0 the first branch produces a 3, because S1, S2, 40 make use of a "wired minimum" structure for circuit mini- S3 and S4 are all off and the branch called "input 2" drives mization. In FIG. 8E the A term in this function pulls down the output to 3. For A=1, B-0, Input 1 branch produces a 3, to —VT. The B term pulls down to —Vss. i.e., the wired because SI, S2, S3 and S4 are off and "input 2" branch connection pulls down to the lowest common sub-term drives the output to 3. For A-0 and B=1, the same thing output. happens, and the output is 3, e.g., the gate is symmetric with 45 FIG. 9 is a circuit diagram of an alternative embodiment regard to inputs A and B. ForA=1, B=1,the S1 branch drives of a NAND/NAND gate that operates using four logic levels the circuit to an output value of 2. For A=3 and B=1 (or A=1 and the decoder primitives as shown in FIG. 8A through and B=3) the output is again 2. For A=2 and B=2 (or for FIG. 8D. A=2, B=3, or A=3, B=2), the output is 1. For A=3 and B=3, FIG. 10 is a graph that illustrates the voltage transfer the output is 0. 50 characteristics for a NAND/NAND gate. The two input NAND/NAND has two inputs and one FIG. 11 is a circuit diagram of an embodiment of a output but performs the function oftwo conventional NAND NOT/NOT gate that operates using four logic levels and the gate in parallel. This is achieved by mapping the input and decoder primitives as shown in FIG. 8A through FIG. 8D. output pins into four states, rather than binary. The following The truth table for the NOT/NOT gate is illustrated in the table illustrates this for the A input of the two NAND gates. 55 upper right corner of FIG. 11. FIGS. 12A and 12B are a circuit diagram of an embodi- ment of a OR/OR gate that operates using four logic levels Value of A Nand A Input Value Nand2 A Input Value and the decoder primitives as shown in FIG. 8A through FIG. 8D. The truth table for the OR/OR gate is illustrated in 60 the upper right corner of FIG. 12B. FIGS. 13A and 13B are a circuit diagram of an embodi- ment of a XOR/XOR gate that operates using four logic levels and the decoder primitives as shown in FIG. 8A This is repeated for all terminals of the function. When through FIG. 8D. The truth table for the XOR/XOR gate is this is done it is possible to map the two NAND gates into 65 illustrated in the upper right corner of FIG. 13B. a four level function given by the truth table in FIG. 6. FIGS. 14A and 14B are a circuit diagram of an embodi- Function mapped this way have the property that they can be ment of a NAND3/NAND3 gate that operates using four US 9,831,873 B2 15 16 logic levels and the decoder primitives as shown in FIG. 8A that the actual output of the device is the same as the output through FIG. 8D. The truth table for the NAND3/NAND3 expected from applying the NAND/NAND truth table. gate is illustrated in the bottom of FIG. 14A. The NAND3/ While the description and embodiments provided here NAND3 gate is a three input NAND gate for inputs having have been presented in terms of electronic devices, it is also 4 logic state levels each. In FIGS. 14A and 14B, the three 5 contemplated that similar systems can be constructed using inputs are identified as A,B, and C. The truth table shows the optical methods instead of electronic methods, in which the values of C=logic state 0 in the upper left quadrant of the monotonic signal levels (such as voltages or currents) are truth table, values of C=logic state 1 in the upper right replaced with monotonic optical signals, such as intensity of quadrant of the truth table, values of C=logic state 2 in the illumination signals, or are replaced with a plurality of to lower left quadrant of the truth table, and values of C=logic closely spaced optical signals of known wavelengths, so that state 2 in the lower right quadrant ofthe truth table. The truth N monotonic levels can be distinguished. table could also be represented in three dimensions with the Definitions A input logic state values given as the vertical axis of a face of a cube, the B input logic state values given as the 15 Unless otherwise explicitly recited herein, any reference horizontal axis of a face of a cube, and the C input given to an electronic signal or an electromagnetic signal (or their along a horizontal axis of a cube normal to the face repre- equivalents) is to be understood as referring to a non-volatile sented by the A and B input logic state values. The output electronic signal or a non-volatile electromagnetic signal. values would then be shown at the intersection of three axial Recording the results from an operation or data acquisi- distances within the cube. 20 tion, such as for example, recording results at a particular Other logic circuits can be designed to operate according frequency or wavelength, is understood to mean and is to any of an AND/AND truth table (for example, the logical defined herein as writing output data in a non-transitory negative of a NAND/NAND truth table), a NOR/NOR truth manner to a storage element, to a machine-readable storage table (for example, the logical negative of an OR/OR truth medium, or to a storage device. Non-transitory machine- table), or other truth tables. 25 readable storage media that can be used in the invention Simultaneous Arithmetic Logic Unit include electronic, magnetic and/or optical storage media, FIG. 15 is a schematic diagram of an embodiment of a such as magnetic floppy disks and hard disks; a DVD drive, simultaneous arithmetic logic unit ("SIMU-ALU") that a CD drive that in some embodiments can employ DVD operates using four logic levels. In the SIMU-ALU illus- disks, any of CD-ROM disks (i.e., read-only optical storage trated in FIG. 15, two four-level logic signal inputs A and B 3o disks), CD-R disks (i.e., write-once, read-many optical stor- as shown at the left. An output labeled "sim_f17:0]" is shown age disks), and CD-RW disks (i.e., rewriteable optical stor- at the right. Below the SIMU-ALU there is shown a parallel age disks); and electronic storage media, such as RAM, arithmetic logic unit using conventional binary logic. The A ROM, EPROM, Compact Flash cards, PCMCIA cards, or and B inputs are decoded from 4-level logic states to binary alternatively SD or SDIO memory; and the electronic com- logic using a 4-level to binary decoder illustrated in FIG. 16. 35 ponents (e.g., floppy disk drive, DVD drive, CD/CD-R/CD- The output of the parallel arithmetic logic unit using con- RW drive, or Compact Flash/PCMCIA/SD adapter) that ventional binary logic is converted back to 4-level logic accommodate and read from and/or write to the storage using the binary to 4-level encoder shown in FIG. 17. FIG. media. Unless otherwise explicitly recited, any reference 18 is a circuit diagram that illustrates 4-level output driver herein to "record" or "recording" is understood to refer to a circuits. The output ofthe parallel arithmetic logic unit using 40 non-transitory record or a non-transitory recording. conventional binary logic (after being encoded) is labeled As is known to those of skill in the machine-readable "bin_f17:0]." The signal labeled S[7:0] is a selector signal storage media arts, new media and formats for data storage that determines what logical operation the SIMU-ALU and are continually being devised, and any convenient, commer- the parallel arithmetic logic unit using conventional binary cially available storage medium and corresponding read/ logic will perform. Decoders and encoders that decode or 45 write device that may become available in the future is likely encode a number of logic states other than N=4 to or from to be appropriate for use, especially if it provides any of a binary states, respectively, are also contemplated. greater storage capacity, a higher access speed, a smaller FIG. 19 is a table that illustrates the values of the selector size, and a lower cost per bit of stored information. Well S and the corresponding logical operation that each of the known older machine-readable media are also available for SIMU-ALU and the parallel arithmetic logic unit using 50 use under certain conditions, such as punched paper tape or conventional binary logic will perform. In the table illus- cards, magnetic recording on tape or wire, optical or mag- trated in FIG. 19, the logic function that is performed can be netic reading of printed characters (e.g., OCR and magneti- understood using positive logic, or negative logic. cally encoded symbols) and machine-readable symbols such Circuitry corresponding to the device shown in FIG. 15 as one and two dimensional bar codes. Recording image data has been fabricated and operated. A circuit layout for the 55 for later use (e.g., writing an image to memory or to digital device is illustrated in FIG. 20. memory)can be performed to enable the use of the recorded FIG. 21 is an image of the SIMU-ALU device being information as output, as data for display to a user, or as data tested. to be made available for later use. Such digital memory FIG. 22 is a graph showing A and B inputs for a logic elements or chips can be standalone memory devices, or can function A (e.g., outputA input) that demonstrates the 6o be incorporated within a device of interest. "Writing output identity of output for the SIMU-ALU and the parallel data" or "writing an image to memory" is defined herein as arithmetic logic unit using conventional binary logic. including writing transformed data to registers within a FIG. 23 is a graph showing A and B inputs for a logic microcomputer. function (A+B)-1 (e.g., output NAND (A and B) that "Microcomputer" is defined herein as synonymous with demonstrates the identity of output for the SIMU-ALU and 65 , , and digital signal proces- the parallel arithmetic logic unit using conventional binary sor ("DSP"). It is understood that memory used by the logic. Upon comparison of FIG. 7C with FIG. 23, one sees microcomputer, including for example instructions for data US 9,831,873 B2 17 18 processing coded as "firmware" can reside in memory validity of the theoretical description. That is, later theoreti- physically inside of a microcomputer chip or in memory cal developments that may explain the observed results on a external to the microcomputer or in a combination of basis different from the theory presented herein will not internal and external memory. Similarly, analog signals can detract from the inventions described herein. be digitized by a standalone analog to digital converter 5 Any patent, patent application, or publication identified in ("ADC") or one or more ADCs or multiplexed ADC chan- the specification is hereby incorporated by reference herein nels can reside within a microcomputer package. It is also in its entirety. Any material, or portion thereof, that is said understood that field programmable array ("FPGA") chips to be incorporated by reference herein, but which conflicts or application specific integrated circuits("ASIC") chips can with existing definitions, statements, or other disclosure perform microcomputer functions, either in hardware logic, io material explicitly set forth herein is only incorporated to the software emulation of a microcomputer, or by a combination extent that no conflict arises between that incorporated of the two. Apparatus having any of the inventive features material and the present disclosure material. In the event of described herein can operate entirely on one microcomputer a conflict, the conflict is to be resolved in favor of the present or can include more than one microcomputer. disclosure as the preferred disclosure. General purpose programmable computers useful for con- 15 While the present invention has been particularly shown trolling instrumentation, recording signals and analyzing and described with reference to the preferred mode as signals or data according to the present description can be illustrated in the drawing, it will be understood by one any of a personal computer (PC), a microprocessor based skilled in the art that various changes in detail may be computer, a portable computer, or other type of processing affected therein without departing from the spirit and scope device. The general purpose programmable computer typi- 20 of the invention as defined by the claims. cally comprises a , a storage or memory unit that can record and read information and What is claimed is: programs using machine-readable storage media, a commu- 1. A logic gate comprising: nication terminal such as a wired communication device or a decoder; a plurality of Boolean gates; and a wireless communication device, an output device such as 25 a display terminal, and an input device such as a keyboard. an encoder; The display terminal can be a touch screen display, in which where the logic gate: case it can function as both a display device and an input determines a logic level selected from at least three input device. Different and/or additional input devices can be logic levels based on a first voltage scale of a received input signal using the decoder; present such as a pointing device, such as a mouse or a 30 joystick, and different or additional output devices can be determines a Boolean output by transmitting the logic present such as an enunciator, for example a speaker, a level through the plurality of Boolean gates; and second display, or a printer. The computer can run any one determines an output logic level selected from at least of a variety of operating systems, such as for example, any three output logic levels based on a second voltage one of several versions of Windows, or of MacOS, or of 35 scale using the Boolean output transmitted to the UNIX, or of Linux. Computational results obtained in the encoder. operation of the general purpose computer can be stored for 2. The logic gate of claim 1, wherein the decoder decodes later use, and/or can be displayed to a user. At the very least, the logic level into a set of binary values. each microprocessor-based general purpose computer has 3. The logic gate of claim 1, wherein the first voltage scale is the same as the second voltage scale. registers that store the results of each computational step 40 within the microprocessor, which results are then commonly 4. The logic gate of claim 1, wherein the first voltage scale stored in cache memory for later use. is not the same as the second voltage scale. Many functions of electrical and electronic apparatus can 5. The logic gate of claim 1, wherein the first voltage scale be implemented in hardware (for example, hard-wired is a sequence of monotonically increasing voltage levels. logic), in software (for example, logic encoded in a program 45 . 6. The logic gate of claim 1, wherein the first voltage scale operating on a general purpose ), and in firmware is a sequence of equally spaced voltage levels. (for example, logic encoded in a non-volatile memory that 7. The logic gate of claim 1, wherein the second voltage is invoked for operation on a processor as required). The scale is a sequence of monotonically increasing voltage present invention contemplates the substitution of one levels. The logic gate of claim 1, wherein the second voltage implementation of hardware, firmware and software for 50 8. another implementation ofthe equivalent functionality using scale is a sequence of equally spaced voltage levels. a different one of hardware, firmware and software. To the 9. The logic gate of claim 1, wherein the at least three extent that an implementation can be represented math- input logic levels have four states. ematically by a transfer function, that is, a specified response 10. The logic gate of claim 1, wherein the Boolean gates simultaneously determine the Boolean output. is generated at an output terminal for a specific excitation 55 applied to an input terminal of a "black box" exhibiting the 11. The logic gate of claim 1, wherein the logic levels are transfer function, any implementation of the transfer func- transmitted to the plurality of Boolean gates on a plurality of tion, including any combination of hardware, firmware and separate channels. software implementations of portions or segments of the 12. The logic gate of claim 11, wherein each channel in transfer function, is contemplated herein, so long as at least 60 the plurality of separate channel transmits a portion of the some of the implementation is performed in hardware. Boolean output to the encoder. Theoretical Discussion 13. The logic gate of claim 1, wherein the Boolean gates Although the theoretical description given herein is are selected from the group consisting of AND, OR, XOR, thought to be correct, the operation of the devices described NAND, NOR, and NAND3. and claimed herein does not depend upon the accuracy or