Jump to content

Logic gate: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
→‎Electronic gates: Random thought unrelated to the preceding. Maybe put in table above.
Tags: Mobile edit Mobile app edit Android app edit
m unpiped links using script
(38 intermediate revisions by 23 users not shown)
Line 3: Line 3:
{{Use dmy dates|date=September 2022|cs1-dates=y}}
{{Use dmy dates|date=September 2022|cs1-dates=y}}
[[File:Four bit adder with carry lookahead.svg|thumb|A logic circuit diagram for a 4-bit [[Carry-lookahead adder|carry lookahead binary adder]] design using only the [[AND gate|AND]], [[OR gate|OR]], and [[XOR gate|XOR]] logic gates.]]
[[File:Four bit adder with carry lookahead.svg|thumb|A logic circuit diagram for a 4-bit [[Carry-lookahead adder|carry lookahead binary adder]] design using only the [[AND gate|AND]], [[OR gate|OR]], and [[XOR gate|XOR]] logic gates.]]
[[File:CMOS inverter.svg|thumb|[[CMOS]] diagram of a [[NOT gate]], also known as an inverter. [[MOSFET]]s are the most common way to make logic gates.]]


A '''logic gate''' is a device that performs a [[Boolean function]], a [[logical operation]] performed on one or more [[Binary number|binary]] inputs that produces a single binary output. Depending on the context, the term may refer to an '''ideal logic gate''', one that has, for instance, zero [[rise time]] and unlimited [[fan-out]], or it may refer to a non-ideal physical device<ref>{{cite book |author=Jaeger |title=Microelectronic Circuit Design |publisher=[[McGraw-Hill]] |date=1997 |isbn=0-07-032482-4 |pages=226–233}}</ref> (see [[ideal and real op-amps]] for comparison).
A '''logic gate''' is a device that performs a [[Boolean function]], a [[logical operation]] performed on one or more [[Binary number|binary]] inputs that produces a single binary output. Depending on the context, the term may refer to an '''ideal logic gate''', one that has, for instance, zero [[rise time]] and unlimited [[fan-out]], or it may refer to a non-ideal physical device<ref>{{cite book |author=Jaeger |title=Microelectronic Circuit Design |publisher=[[McGraw-Hill]] |date=1997 |isbn=0-07-032482-4 |pages=226–233}}</ref> (see [[ideal and real op-amps]] for comparison).
Line 9: Line 8:
The primary way of building logic gates uses [[diode]]s or [[transistor]]s acting as [[switch#Electronic switches|electronic switches]]. Today, most logic gates are made from [[MOSFET]]s (metal–oxide–semiconductor [[field-effect transistor]]s).<ref name=kanellos >{{Cite web|url=https://www.cnet.com/news/moores-law-to-roll-on-for-another-decade/|title=Moore's Law to roll on for another decade|last=Kanellos|first=Michael|website=CNET|date=February 11, 2003}} ''From [[Integrated circuit]]''</ref> They can also be constructed using [[vacuum tube]]s, electromagnetic [[relay]]s with [[relay logic]], [[fluidic logic]], [[pneumatics#Pneumatic logic|pneumatic logic]], [[optics]], [[molecular logic gate|molecules]], acoustics,<ref>https://pubs.aip.org/aip/apl/article-abstract/106/11/113503/27163/Acoustic-logic-gates-and-Boolean-operation-based?redirectedFrom=fulltext</ref> or even [[Analytical Engine|mechanical]] or thermal<ref>{{cite journal | url=https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.99.177208 | doi=10.1103/PhysRevLett.99.177208 | title=Thermal Logic Gates: Computation with Phonons | date=2007 | last1=Wang | first1=Lei | last2=Li | first2=Baowen | journal=Physical Review Letters | volume=99 | issue=17 | page=177208 | pmid=17995368 | arxiv=0709.0032 | bibcode=2007PhRvL..99q7208W | s2cid=10934270 }}</ref> elements.
The primary way of building logic gates uses [[diode]]s or [[transistor]]s acting as [[switch#Electronic switches|electronic switches]]. Today, most logic gates are made from [[MOSFET]]s (metal–oxide–semiconductor [[field-effect transistor]]s).<ref name=kanellos >{{Cite web|url=https://www.cnet.com/news/moores-law-to-roll-on-for-another-decade/|title=Moore's Law to roll on for another decade|last=Kanellos|first=Michael|website=CNET|date=February 11, 2003}} ''From [[Integrated circuit]]''</ref> They can also be constructed using [[vacuum tube]]s, electromagnetic [[relay]]s with [[relay logic]], [[fluidic logic]], [[pneumatics#Pneumatic logic|pneumatic logic]], [[optics]], [[molecular logic gate|molecules]], acoustics,<ref>https://pubs.aip.org/aip/apl/article-abstract/106/11/113503/27163/Acoustic-logic-gates-and-Boolean-operation-based?redirectedFrom=fulltext</ref> or even [[Analytical Engine|mechanical]] or thermal<ref>{{cite journal | url=https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.99.177208 | doi=10.1103/PhysRevLett.99.177208 | title=Thermal Logic Gates: Computation with Phonons | date=2007 | last1=Wang | first1=Lei | last2=Li | first2=Baowen | journal=Physical Review Letters | volume=99 | issue=17 | page=177208 | pmid=17995368 | arxiv=0709.0032 | bibcode=2007PhRvL..99q7208W | s2cid=10934270 }}</ref> elements.


Logic gates can be cascaded in the same way that Boolean functions can be composed, allowing the construction of a physical model of all of [[Boolean logic]], and therefore, all of the algorithms and [[mathematics]] that can be described with Boolean logic. '''Logic circuits''' include such devices as [[multiplexer]]s, [[processor register|registers]], [[arithmetic logic unit]]s (ALUs), and [[computer memory]], all the way up through complete [[microprocessor]]s, which may contain more than 100 million logic gates.
Logic gates can be cascaded in the same way that Boolean functions can be composed, allowing the construction of a physical model of all of [[Boolean logic]], and therefore, all of the algorithms and [[mathematics]] that can be described with Boolean logic. '''Logic circuits''' include such devices as [[multiplexer]]s, [[processor register|registers]], [[arithmetic logic unit]]s (ALUs), and [[computer memory]], all the way up through complete [[microprocessor]]s,<ref>{{cite book | url=https://books.google.com/books?id=GBVADQAAQBAJ&q=processor+logic+gates | title=Digital Systems: From Logic Gates to Processors | isbn=978-3-319-41198-9 | last1=Deschamps | first1=Jean-Pierre | last2=Valderrama | first2=Elena | last3=Terés | first3=Lluís | date=12 October 2016 | publisher=Springer }}</ref> which may contain more than 100 million logic gates.


Compound logic gates [[AND-OR-Invert]] (AOI) and OR-AND-Invert (OAI) are often employed in circuit design because their construction using MOSFETs is simpler and more efficient than the sum of the individual gates.<ref>{{cite book |title=Engineering digital design |edition=2nd |author-last=Tinder |author-first=Richard F. |date=2000 |isbn=0-12-691295-5 |pages=317–319 |publisher=Academic Press |url=https://books.google.com/books?id=6x0pjjMKRh0C&q=AOI+gate&pg=PT347}}</ref>
Compound logic gates [[AND-OR-Invert]] (AOI) and [[OR-AND-invert|OR-AND-Invert]] (OAI) are often employed in circuit design because their construction using MOSFETs is simpler and more efficient than the sum of the individual gates.<ref>{{cite book |title=Engineering digital design |edition=2nd |author-last=Tinder |author-first=Richard F. |date=2000 |isbn=0-12-691295-5 |pages=317–319 |publisher=Academic Press |url=https://books.google.com/books?id=6x0pjjMKRh0C&q=AOI+gate&pg=PT347}}</ref>

== Electronic gates ==
{{Main| Logic family}}
A [[functionally complete]] logic system may be composed of [[relay]]s, [[thermionic valve|valves]] (vacuum tubes), or [[transistor]]s. The simplest family of logic gates uses [[bipolar transistors]], and is called [[resistor–transistor logic]] (RTL). Unlike simple diode logic gates (which do not have a gain element), RTL gates can be cascaded indefinitely to produce more complex logic functions. RTL gates were used in early [[integrated circuit]]s. For higher speed and better density, the resistors used in RTL were replaced by diodes resulting in [[diode–transistor logic]] (DTL). [[Transistor–transistor logic]] (TTL) then supplanted DTL. As integrated circuits became more complex, bipolar transistors were replaced with smaller [[field-effect transistor]]s ([[MOSFET]]s); see [[PMOS logic|PMOS]] and [[NMOS logic|NMOS]]. To reduce power consumption still further, most contemporary chip implementations of digital systems now use [[CMOS]] logic. CMOS uses complementary (both n-channel and p-channel) MOSFET devices to achieve a high speed with low power dissipation.

For small-scale logic, designers now use prefabricated logic gates from families of devices such as the [[Transistor–transistor logic|TTL]] [[7400 series]] by [[Texas Instruments]], the [[CMOS]] [[4000 series]] by [[RCA]], and their more recent descendants. Increasingly, these fixed-function logic gates are being replaced by [[programmable logic device]]s, which allow designers to pack many mixed logic gates into a single integrated circuit. The field-programmable nature of [[programmable logic device]]s such as [[field-programmable gate array|FPGAs]] has reduced the 'hard' property of hardware; it is now possible to change the logic design of a hardware system by reprogramming some of its components, thus allowing the features or function of a hardware implementation of a logic system to be changed. Other types of logic gates include, but are not limited to:<ref>{{cite news |author-last=Rowe |author-first=Jim |title=Circuit Logic – Why and How |agency=Electronics Australia |issue=December 1966}}</ref>
{| class="wikitable"
|+
! Logic family !! Abbreviation !! Description
|-
|[[Diode logic]]|| DL ||
|-
| Tunnel diode logic || TDL || Exactly the same as diode logic but can perform at a higher speed.{{failed verification|reason=Tunnel diodes have gain and state|date=December 2017}}
|-
| Neon logic || NL || Uses neon bulbs or 3-element neon trigger tubes to perform logic.
|-
| Core diode logic || CDL || Performed by semiconductor diodes and small ferrite toroidal cores for moderate speed and moderate power level.
|-
| 4Layer Device Logic || 4LDL || Uses thyristors and SCRs to perform logic operations where high current and or high voltages are required.
|-
| [[Direct-coupled transistor logic]] || DCTL || Uses transistors switching between saturated and cutoff states to perform logic. The transistors require carefully controlled parameters. Economical because few other components are needed, but tends to be susceptible to noise because of the lower voltage levels employed. Often considered to be the father to modern TTL logic.
|-
| [[Metal–oxide–semiconductor]] logic || MOS || Uses [[MOSFET]]s (metal–oxide–semiconductor field-effect transistors), the basis for most modern logic gates. The MOS logic family includes [[PMOS logic]], [[NMOS logic]], [[complementary MOS]] (CMOS), and [[BiCMOS]] (bipolar CMOS).
|-
| [[Current-mode logic]] || CML || Uses transistors to perform logic but biasing is from constant current sources to prevent saturation and allow extremely fast switching. Has high noise immunity despite fairly low logic levels.
|-
|[[Quantum dot cellular automaton|Quantum-dot cellular automata]]
|QCA
|Uses tunnelable q-bits for synthesizing the binary logic bits. The electrostatic repulsive force in between two electrons in the quantum dots assigns the electron configurations (that defines state 1 or state 0) under the suitably driven polarizations. This is a transistorless, currentless, junctionless binary logic synthesis technique allowing it to have very fast operation speeds.
|}

Electronic logic gates differ significantly from their relay-and-switch equivalents. They are much faster, consume much less power, and are much smaller (all by a factor of a million or more in most cases). Also, there is a fundamental structural difference. The switch circuit creates a continuous metallic path for current to flow (in either direction) between its input and its output. The semiconductor logic gate, on the other hand, acts as a high-[[Gain (electronics)|gain]] [[voltage]] [[electronic amplifier|amplifier]], which sinks a tiny current at its input and produces a low-impedance voltage at its output. It is not possible for current to flow between the output and the input of a semiconductor logic gate.

Another important advantage of standardized integrated circuit logic families, such as the 7400 and 4000 families, is that they can be cascaded. This means that the output of one gate can be wired to the inputs of one or several other gates, and so on. Systems with varying degrees of complexity can be built without great concern of the designer for the internal workings of the gates, provided the limitations of each integrated circuit are considered.

The output of one gate can only drive a finite number of inputs to other gates, a number called the '[[fan-out]] limit'. Also, there is always a delay, called the '[[propagation delay]]', from a change in input of a gate to the corresponding change in its output. When gates are cascaded, the total propagation delay is approximately the sum of the individual delays, an effect which can become a problem in high-speed [[synchronous circuit]]s. Additional delay can be caused when many inputs are connected to an output, due to the distributed [[capacitance]] of all the inputs and wiring and the finite amount of current that each output can provide.

Logic built with FeFet transistors can retain their state to speed recovery in case of a power loss.<ref>{{cite web | url=https://semiengineering.com/tapping-into-non-volatile-logic/ | title=Tapping into Non-Volatile Logic | date=21 April 2021 }}</ref>


== History and development ==
== History and development ==
Line 59: Line 20:


[[Metal–oxide–semiconductor]] (MOS) devices in the forms of [[PMOS logic|PMOS]] and [[NMOS logic|NMOS]] were demonstrated by [[Bell Labs]] engineers [[Mohamed M. Atalla]] and [[Dawon Kahng]] in 1960.<ref name="Lojek">{{cite book |author-last=Lojek |author-first=Bo |title=History of Semiconductor Engineering |url=https://archive.org/details/historysemicondu00loje_697 |url-access=limited |date=2007 |publisher=Springer |isbn=978-3-54034258-8 |pages=[https://archive.org/details/historysemicondu00loje_697/page/n327 321]–323}}</ref> Both types were later combined and adapted into [[complementary MOS]] (CMOS) logic by [[Chih-Tang Sah]] and [[Frank Wanlass]] at [[Fairchild Semiconductor]] in 1963.<ref name="computerhistory1963">{{cite web |title=1963: Complementary MOS Circuit Configuration is Invented |url=https://www.computerhistory.org/siliconengine/complementary-mos-circuit-configuration-is-invented/ |website=[[Computer History Museum]] |access-date=6 July 2019}}</ref>
[[Metal–oxide–semiconductor]] (MOS) devices in the forms of [[PMOS logic|PMOS]] and [[NMOS logic|NMOS]] were demonstrated by [[Bell Labs]] engineers [[Mohamed M. Atalla]] and [[Dawon Kahng]] in 1960.<ref name="Lojek">{{cite book |author-last=Lojek |author-first=Bo |title=History of Semiconductor Engineering |url=https://archive.org/details/historysemicondu00loje_697 |url-access=limited |date=2007 |publisher=Springer |isbn=978-3-54034258-8 |pages=[https://archive.org/details/historysemicondu00loje_697/page/n327 321]–323}}</ref> Both types were later combined and adapted into [[complementary MOS]] (CMOS) logic by [[Chih-Tang Sah]] and [[Frank Wanlass]] at [[Fairchild Semiconductor]] in 1963.<ref name="computerhistory1963">{{cite web |title=1963: Complementary MOS Circuit Configuration is Invented |url=https://www.computerhistory.org/siliconengine/complementary-mos-circuit-configuration-is-invented/ |website=[[Computer History Museum]] |access-date=6 July 2019}}</ref>

Active research is taking place in [[molecular logic gate]]s.


== Symbols <!--This section is linked from [[Schematic]]: do not rename heading without including an anchor to previous name ([[MOS:HEAD]])--> ==
== Symbols <!--This section is linked from [[Schematic]]: do not rename heading without including an anchor to previous name ([[MOS:HEAD]])--> ==
[[File:74LS192 Symbol.png|thumb|right|A synchronous 4-bit up/down [[decade counter]] symbol (74LS192) in accordance with ANSI/IEEE Std. 91-1984 and IEC Publication 60617-12.]]
[[File:74LS192 Symbol.png|thumb|right|A synchronous 4-bit up/down [[decade counter]] symbol (74LS192) in accordance with ANSI/IEEE Std. 91-1984 and IEC Publication 60617-12.]]
There are two sets of symbols for elementary logic gates in common use, both defined in [[American National Standards Institute|ANSI]]/[[Institute of Electrical and Electronics Engineers|IEEE]] Std 91-1984 and its supplement ANSI/IEEE Std 91a-1991. The "distinctive shape" set, based on traditional schematics, is used for simple drawings and derives from [[United States Military Standard]] MIL-STD-806 of the 1950s and 1960s.<ref>{{cite web |id=MIL-STD-806 |title=Graphical Symbols for Logic Diagrams |url=https://quicksearch.dla.mil/qsDocDetails.aspx?ident_number=35975 |website=ASSIST Quick Search |publisher=[[Defense Logistics Agency]] |access-date=2021-08-27}}</ref> It is sometimes unofficially described as "military", reflecting its origin. The "rectangular shape" set, based on ANSI Y32.14 and other early industry standards as later refined by IEEE and IEC, has rectangular outlines for all types of gate and allows representation of a much wider range of devices than is possible with the traditional symbols.<ref name="sdyz001a">{{cite web |title=Overview of IEEE Standard 91-1984 Explanation of Logic Symbols |date=1996 |id=SDYZ001A |publisher=Texas Instruments Semiconductor Group |url=http://www.ti.com/lit/ml/sdyz001a/sdyz001a.pdf}}</ref> The IEC standard, [[International Electrotechnical Commission|IEC]] 60617-12, has been adopted by other standards, such as [[European Committee for Standardization|EN]] 60617-12:1999 in Europe, [[British Standard|BS]] EN 60617-12:1999 in the United Kingdom, and [[Deutsches Institut für Normung|DIN]] EN 60617-12:1998 in Germany.
There are two sets of symbols for elementary logic gates in common use, both defined in [[ANSI]]/[[IEEE]] Std 91-1984 and its supplement ANSI/IEEE Std 91a-1991. The "distinctive shape" set, based on traditional schematics, is used for simple drawings and derives from [[United States Military Standard]] MIL-STD-806 of the 1950s and 1960s.<ref>{{cite web |id=MIL-STD-806 |title=Graphical Symbols for Logic Diagrams |url=https://quicksearch.dla.mil/qsDocDetails.aspx?ident_number=35975 |website=ASSIST Quick Search |publisher=[[Defense Logistics Agency]] |access-date=2021-08-27}}</ref> It is sometimes unofficially described as "military", reflecting its origin. The "rectangular shape" set, based on ANSI Y32.14 and other early industry standards as later refined by IEEE and IEC, has rectangular outlines for all types of gate and allows representation of a much wider range of devices than is possible with the traditional symbols.<ref name="sdyz001a">{{cite web |title=Overview of IEEE Standard 91-1984 Explanation of Logic Symbols |date=1996 |id=SDYZ001A |publisher=Texas Instruments Semiconductor Group |url=http://www.ti.com/lit/ml/sdyz001a/sdyz001a.pdf}}</ref> The IEC standard, [[IEC]] 60617-12, has been adopted by other standards, such as [[European Committee for Standardization|EN]] 60617-12:1999 in Europe, [[British Standard|BS]] EN 60617-12:1999 in the United Kingdom, and [[DIN]] EN 60617-12:1998 in Germany.


The mutual goal of IEEE Std 91-1984 and IEC 617-12 was to provide a uniform method of describing the complex logic functions of digital circuits with schematic symbols. These functions were more complex than simple AND and OR gates. They could be medium-scale circuits such as a 4-bit counter to a large-scale circuit such as a microprocessor.
The mutual goal of IEEE Std 91-1984 and IEC 617-12 was to provide a uniform method of describing the complex logic functions of digital circuits with schematic symbols. These functions were more complex than simple AND and OR gates. They could be medium-scale circuits such as a 4-bit counter to a large-scale circuit such as a microprocessor.
Line 114: Line 73:
|}
|}
|-
|-
| colspan="5" style="text-align:left;" |In electronics a NOT gate is more commonly called an inverter. The circle on the symbol is called a ''bubble'' and is used in logic diagrams to indicate a logic negation between the external logic state and the internal logic state (1 to 0 or vice versa). On a circuit diagram it must be accompanied by a statement asserting that the ''positive logic convention'' or ''negative logic convention'' is being used (high voltage level = 1 or low voltage level = 1, respectively). The ''wedge'' is used in circuit diagrams to directly indicate an active-low (low voltage level = 1) input or output without requiring a uniform convention throughout the circuit diagram. This is called ''Direct Polarity Indication''. See IEEE Std 91/91A and IEC 60617-12. Both the ''bubble'' and the ''wedge'' can be used on distinctive-shape and [[rectangle|rectangular]]-shape symbols on circuit diagrams, depending on the logic convention used. On pure logic diagrams, only the ''bubble'' is meaningful.
| colspan="5" style="text-align:left;" |In electronics a NOT gate is more commonly called an inverter. The circle on the symbol is called a ''bubble'' and is used in logic diagrams to indicate a logic negation between the external logic state and the internal logic state (1 to 0 or vice versa). On a circuit diagram it must be accompanied by a statement asserting that the ''positive logic convention'' or ''negative logic convention'' is being used (high voltage level = 1 or low voltage level = 1, respectively). The ''wedge'' is used in circuit diagrams to directly indicate an active-low (low voltage level = 1) input or output without requiring a uniform convention throughout the circuit diagram. This is called ''Direct Polarity Indication''. See IEEE Std 91/91A and IEC 60617-12. Both the ''bubble'' and the ''wedge'' can be used on distinctive-shape and [[rectangular]]-shape symbols on circuit diagrams, depending on the logic convention used. On pure logic diagrams, only the ''bubble'' is meaningful.
|-
|-
! colspan="5" |[[Logical conjunction|Conjunction]] and [[Logical disjunction|disjunction]]
! colspan="5" |[[Logical conjunction|Conjunction]] and [[disjunction]]
|-
|-
| '''[[AND gate|AND]]'''
| '''[[AND gate|AND]]'''
Line 162: Line 121:
|}
|}
|-
|-
! colspan="5" |[[Sheffer stroke|Alternative denial]] and [[Logical NOR|joint denial]]
! colspan="5" |[[Alternative denial]] and [[joint denial]]
|-
|-
| '''[[NAND gate|NAND]]'''
| '''[[NAND gate|NAND]]'''
Line 206: Line 165:
|}
|}
|-
|-
! colspan="5" |[[Exclusive or]] and [[Logical biconditional|biconditional]]
! colspan="5" |[[Exclusive or]] and [[biconditional]]
|-
|-
| '''[[XOR gate|XOR]]'''
| '''[[XOR gate|XOR]]'''
Line 230: Line 189:
| colspan="5" style="text-align:left;" |The output of a two input exclusive-OR is true only when the two input values are ''different'', and false if they are equal, regardless of the value. If there are more than two inputs, the output of the distinctive-shape symbol is undefined. The output of the rectangular-shaped symbol is true if the number of true inputs is exactly one or exactly the number following the "=" in the qualifying symbol.
| colspan="5" style="text-align:left;" |The output of a two input exclusive-OR is true only when the two input values are ''different'', and false if they are equal, regardless of the value. If there are more than two inputs, the output of the distinctive-shape symbol is undefined. The output of the rectangular-shaped symbol is true if the number of true inputs is exactly one or exactly the number following the "=" in the qualifying symbol.
|-
|-
| '''[[XNOR gate|XNOR]]'''
| '''[[XNOR]]'''
| [[File:XNOR ANSI Labelled.svg|XNOR symbol]]
| [[File:XNOR ANSI Labelled.svg|XNOR symbol]]
| [[File:XNOR IEC Labelled.svg|XNOR symbol]]
| [[File:XNOR IEC Labelled.svg|XNOR symbol]]
Line 250: Line 209:
|}
|}
|}
|}

== De Morgan equivalent symbols ==
By use of [[De Morgan's laws]], an ''AND'' function is identical to an ''OR'' function with negated inputs and outputs. Likewise, an ''OR'' function is identical to an ''AND'' function with negated inputs and outputs. A NAND gate is equivalent to an OR gate with negated inputs, and a NOR gate is equivalent to an AND gate with negated inputs.

This leads to an alternative set of symbols for basic gates that use the opposite core symbol (''AND'' or ''OR'') but with the inputs and outputs negated. Use of these alternative symbols can make logic circuit diagrams much clearer and help to show accidental connection of an active high output to an active low input or vice versa. Any connection that has logic negations at both ends can be replaced by a negationless connection and a suitable change of gate or vice versa. Any connection that has a negation at one end and no negation at the other can be made easier to interpret by instead using the De Morgan equivalent symbol at either of the two ends. When negation or polarity indicators on both ends of a connection match, there is no logic negation in that path (effectively, bubbles "cancel"), making it easier to follow logic states from one symbol to the next. This is commonly seen in real logic diagrams – thus the reader must not get into the habit of associating the shapes exclusively as OR or AND shapes, but also take into account the bubbles at both inputs and outputs in order to determine the "true" logic function indicated.

A De Morgan symbol can show more clearly a gate's primary logical purpose and the polarity of its nodes that are considered in the "signaled" (active, on) state. Consider the simplified case where a two-input NAND gate is used to drive a motor when either of its inputs are brought low by a switch. The "signaled" state (motor on) occurs when either one OR the other switch is on. Unlike a regular NAND symbol, which suggests AND logic, the De Morgan version, a two negative-input OR gate, correctly shows that OR is of interest. The regular NAND symbol has a bubble at the output and none at the inputs (the opposite of the states that will turn the motor on), but the De Morgan symbol shows both inputs and output in the polarity that will drive the motor.

De Morgan's theorem is most commonly used to implement logic gates as combinations of only NAND gates, or as combinations of only NOR gates, for economic reasons.


== Truth tables ==
== Truth tables ==
Output comparison of various logic gates:

{| class="wikitable" style="text-align:center;
{| class="wikitable" style="text-align:center;
|+ Output comparison of 1-input logic gates.
|+ 1-input logic gates
|- style="background:#def;"
|- style="background:#def;"
| colspan=1 | '''Input''' || colspan=2 | '''Output'''
| colspan=1 | '''Input''' || colspan=2 | '''Output'''
Line 259: Line 229:
| A || Buffer || Inverter
| A || Buffer || Inverter
|-
|-
| {{no2|0}} || {{no2|0}} || {{yes2|1}}
| 0 || {{no2|0}} || {{yes2|1}}
|-
|-
| {{yes2|1}} || {{yes2|1}} || {{no2|0}}
| 1 || {{yes2|1}} || {{no2|0}}
|}
|}


{| class="wikitable" style="text-align:center;"
{| class="wikitable" style="text-align:center;"
|+ Output comparison of 2-input logic gates.
|+ 2-input logic gates
|- style="background:#def;"
|- style="background:#def;"
| colspan=2 | '''Input''' || colspan=6 | '''Output'''
| colspan=2 | '''Input''' || colspan=6 | '''Output'''
Line 271: Line 241:
| A || B || AND || NAND || OR || NOR || XOR || XNOR
| A || B || AND || NAND || OR || NOR || XOR || XNOR
|-
|-
| {{no2|0}} || {{no2|0}} || rowspan="3" {{no2|0}} || rowspan="3" {{yes2|1}} || {{no2|0}} || {{yes2|1}} || {{no2|0}} || {{yes2|1}}
| 0 || 0 || {{no2|0}} || {{yes2|1}} || {{no2|0}} || {{yes2|1}} || {{no2|0}} || {{yes2|1}}
|-
|-
| {{no2|0}} || {{yes2|1}} || rowspan="3" {{yes2|1}} || rowspan="3" {{no2|0}} || rowspan="2" {{yes2|1}} || rowspan=2 {{no2|0}}
| 0 || 1 || {{no2|0}} || {{yes2|1}} || {{yes2|1}} || {{no2|0}} || {{yes2|1}} || {{no2|0}}
|-
|-
| {{yes2|1}} || {{no2|0}}
| 1 || 0 || {{no2|0}} || {{yes2|1}} || {{yes2|1}} || {{no2|0}} || {{yes2|1}} || {{no2|0}}
|-
|-
| {{yes2|1}} || {{yes2|1}} || {{yes2|1}} || {{no2|0}} || {{no2|0}} || {{yes2|1}}
| 1 || 1 || {{yes2|1}} || {{no2|0}} || {{yes2|1}} || {{no2|0}} || {{no2|0}} || {{yes2|1}}
|}
|}


== Universal logic gates ==
== Universal logic gates ==
{{further|topic=the theoretical basis|Functional completeness}}
{{further|topic=the theoretical basis|Functional completeness}}
[[File:TexasInstruments 7400 chip, view and element placement.jpg|thumb|180px|The 7400 chip, containing four NANDs. The two additional pins supply power (+5 V) and connect the ground.]]
[[Charles Sanders Peirce]] (during 1880–1881) showed that [[NOR logic|NOR gates alone]] (or alternatively [[NAND logic|NAND gates alone]]) can be used to reproduce the functions of all the other logic gates, but his work on it was unpublished until 1933.<ref>Peirce, C. S. (manuscript winter of 1880–1881), "A Boolian Algebra with One Constant", published 1933 in ''[[Charles Sanders Peirce bibliography#CP|Collected Papers]]'' v. 4, paragraphs 12–20. Reprinted 1989 in ''[[Charles Sanders Peirce bibliography#W|Writings of Charles S. Peirce]]'' v. 4, pp. 218–221, Google [https://archive.org/details/writingsofcharle0004peir/page/218]. See {{cite book |author-last=Roberts |author-first=Don D. |title=The Existential Graphs of Charles S. Peirce |date=2009 |publisher=[[De Gruyter]] |isbn=978-3-11022622-5 |pages=131 |chapter=7.12 The Graphical Analysis of Propositions |chapter-url=https://books.google.com/books?id=Q4K30wCAf-gC&pg=PA113}}</ref> The first published proof was by [[Henry M. Sheffer]] in 1913, so the NAND logical operation is sometimes called ''[[Sheffer stroke]]''; the [[logical NOR]] is sometimes called ''[[Peirce's arrow]]''.<ref name="BüningLettmann1999">{{cite book |author-first1=Hans Kleine |author-last1=Büning |author-first2=Theodor |author-last2=Lettmann |title=Propositional logic: deduction and algorithms |url=https://books.google.com/books?id=3oJE9yczr3EC&pg=PA2 |date=1999 |publisher=[[Cambridge University Press]] |isbn=978-0-521-63017-7 |page=2}}</ref> Consequently, these gates are sometimes called ''universal logic gates''.<ref name="Bird2007">{{cite book |author-first=John |author-last=Bird |title=Engineering mathematics |url=https://books.google.com/books?id=1-fBmsEBNUoC&pg=PA532 |date=2007 |publisher=[[Newnes (publisher)|Newnes]] |isbn=978-0-7506-8555-9 |page=532}}</ref>
[[Charles Sanders Peirce]] (during 1880–1881) showed that [[NOR logic|NOR gates alone]] (or alternatively [[NAND logic|NAND gates alone]]) can be used to reproduce the functions of all the other logic gates, but his work on it was unpublished until 1933.<ref>Peirce, C. S. (manuscript winter of 1880–1881), "A Boolian Algebra with One Constant", published 1933 in ''[[Charles Sanders Peirce bibliography#CP|Collected Papers]]'' v. 4, paragraphs 12–20. Reprinted 1989 in ''[[Charles Sanders Peirce bibliography#W|Writings of Charles S. Peirce]]'' v. 4, pp. 218–221, Google [https://archive.org/details/writingsofcharle0004peir/page/218]. See {{cite book |author-last=Roberts |author-first=Don D. |title=The Existential Graphs of Charles S. Peirce |date=2009 |publisher=[[De Gruyter]] |isbn=978-3-11022622-5 |pages=131 |chapter=7.12 The Graphical Analysis of Propositions |chapter-url=https://books.google.com/books?id=Q4K30wCAf-gC&pg=PA113}}</ref> The first published proof was by [[Henry M. Sheffer]] in 1913, so the NAND logical operation is sometimes called ''[[Sheffer stroke]]''; the [[logical NOR]] is sometimes called ''[[Peirce's arrow]]''.<ref name="BüningLettmann1999">{{cite book |author-first1=Hans Kleine |author-last1=Büning |author-first2=Theodor |author-last2=Lettmann |title=Propositional logic: deduction and algorithms |url=https://books.google.com/books?id=3oJE9yczr3EC&pg=PA2 |date=1999 |publisher=[[Cambridge University Press]] |isbn=978-0-521-63017-7 |page=2}}</ref> Consequently, these gates are sometimes called ''universal logic gates''.<ref name="Bird2007">{{cite book |author-first=John |author-last=Bird |title=Engineering mathematics |url=https://books.google.com/books?id=1-fBmsEBNUoC&pg=PA532 |date=2007 |publisher=[[Newnes (publisher)|Newnes]] |isbn=978-0-7506-8555-9 |page=532}}</ref>


Line 319: Line 288:
|[[File:XNOR from NOR.svg]]
|[[File:XNOR from NOR.svg]]
|}
|}

== De Morgan equivalent symbols ==
By use of [[De Morgan's laws]], an ''AND'' function is identical to an ''OR'' function with negated inputs and outputs. Likewise, an ''OR'' function is identical to an ''AND'' function with negated inputs and outputs. A NAND gate is equivalent to an OR gate with negated inputs, and a NOR gate is equivalent to an AND gate with negated inputs.

This leads to an alternative set of symbols for basic gates that use the opposite core symbol (''AND'' or ''OR'') but with the inputs and outputs negated. Use of these alternative symbols can make logic circuit diagrams much clearer and help to show accidental connection of an active high output to an active low input or vice versa. Any connection that has logic negations at both ends can be replaced by a negationless connection and a suitable change of gate or vice versa. Any connection that has a negation at one end and no negation at the other can be made easier to interpret by instead using the De Morgan equivalent symbol at either of the two ends. When negation or polarity indicators on both ends of a connection match, there is no logic negation in that path (effectively, bubbles "cancel"), making it easier to follow logic states from one symbol to the next. This is commonly seen in real logic diagrams – thus the reader must not get into the habit of associating the shapes exclusively as OR or AND shapes, but also take into account the bubbles at both inputs and outputs in order to determine the "true" logic function indicated.

A De Morgan symbol can show more clearly a gate's primary logical purpose and the polarity of its nodes that are considered in the "signaled" (active, on) state. Consider the simplified case where a two-input NAND gate is used to drive a motor when either of its inputs are brought low by a switch. The "signaled" state (motor on) occurs when either one OR the other switch is on. Unlike a regular NAND symbol, which suggests AND logic, the De Morgan version, a two negative-input OR gate, correctly shows that OR is of interest. The regular NAND symbol has a bubble at the output and none at the inputs (the opposite of the states that will turn the motor on), but the De Morgan symbol shows both inputs and output in the polarity that will drive the motor.

De Morgan's theorem is most commonly used to implement logic gates as combinations of only NAND gates, or as combinations of only NOR gates, for economic reasons.


== Data storage and sequential logic ==
== Data storage and sequential logic ==
{{Main|Sequential logic}}
[[File:R-S mk2.gif|thumb|Animation of how an SR [[NOR gate]] latch works.]]
[[File:R-S mk2.gif|thumb|Animation of how an SR [[NOR gate]] latch works.]]
{{Main|Sequential logic}}


Logic gates can also be used to hold a state, allowing data storage. A storage element can be constructed by connecting several gates in a "[[Latch (electronics)|latch]]" circuit. Latching circuitry is used in [[static random-access memory]]. More complicated designs that use [[clock signal]]s and that change only on a rising or falling edge of the clock are called edge-triggered "[[flip-flop (electronics)|flip-flops]]". Formally, a flip-flop is called a [[bistable circuit]], because it has two stable states which it can maintain indefinitely. The combination of multiple flip-flops in parallel, to store a multiple-bit value, is known as a register. When using any of these gate setups the overall system has memory; it is then called a [[sequential logic]] system since its output can be influenced by its previous state(s), i.e. by the ''sequence'' of input states. In contrast, the output from [[combinational logic]] is purely a combination of its present inputs, unaffected by the previous input and output states.
Logic gates can also be used to hold a state, allowing data storage. A storage element can be constructed by connecting several gates in a "[[Latch (electronics)|latch]]" circuit. Latching circuitry is used in [[static random-access memory]]. More complicated designs that use [[clock signal]]s and that change only on a rising or falling edge of the clock are called edge-triggered "[[flip-flop (electronics)|flip-flops]]". Formally, a flip-flop is called a [[bistable circuit]], because it has two stable states which it can maintain indefinitely. The combination of multiple flip-flops in parallel, to store a multiple-bit value, is known as a register. When using any of these gate setups the overall system has memory; it is then called a [[sequential logic]] system since its output can be influenced by its previous state(s), i.e. by the ''sequence'' of input states. In contrast, the output from [[combinational logic]] is purely a combination of its present inputs, unaffected by the previous input and output states.
Line 337: Line 297:
These logic circuits are used in computer [[computer memory|memory]]. They vary in performance, based on factors of [[speed]], complexity, and reliability of storage, and many different types of designs are used based on the application.
These logic circuits are used in computer [[computer memory|memory]]. They vary in performance, based on factors of [[speed]], complexity, and reliability of storage, and many different types of designs are used based on the application.


== Three-state logic gates ==
== Manufacturing ==
{{See also|Unconventional computing|Semiconductor device fabrication}}
[[File:Tristate buffer.svg|thumb|320px|right|A tristate buffer can be thought of as a switch. If ''B'' is on, the switch is closed. If B is off, the switch is open.]]


=== Electronic gates ===
{{Main|Tri-state buffer}}
A [[functionally complete]] logic system may be composed of [[relay]]s, [[thermionic valve|valves]] (vacuum tubes), or [[transistor]]s.


Electronic logic gates differ significantly from their relay-and-switch equivalents. They are much faster, consume much less power, and are much smaller (all by a factor of a million or more in most cases). Also, there is a fundamental structural difference. The switch circuit creates a continuous metallic path for current to flow (in either direction) between its input and its output. The semiconductor logic gate, on the other hand, acts as a high-[[Gain (electronics)|gain]] [[voltage]] [[amplifier]], which sinks a tiny current at its input and produces a low-impedance voltage at its output. It is not possible for current to flow between the output and the input of a semiconductor logic gate.
A three-state logic gate is a type of logic gate that can have three different outputs: high (H), low (L) and high-impedance (Z). The high-impedance state plays no role in the logic, which is strictly binary. These devices are used on [[Bus (computing)|buses]] of the [[Central Processing Unit|CPU]] to allow multiple chips to send data. A group of three-states driving a line with a suitable control circuit is basically equivalent to a [[multiplexer]], which may be physically distributed over separate devices or plug-in cards.


[[File:TexasInstruments 7400 chip, view and element placement.jpg|thumb|180px|The 7400 chip, containing four NANDs. The two additional pins supply power (+5 V) and connect the ground.]]
In electronics, a high output would mean the output is sourcing current from the positive power terminal (positive voltage). A low output would mean the output is sinking current to the negative power terminal (zero voltage). High impedance would mean that the output is effectively disconnected from the circuit.
For small-scale logic, designers now use prefabricated logic gates from families of devices such as the [[Transistor–transistor logic|TTL]] [[7400 series]] by [[Texas Instruments]], the [[CMOS]] [[4000 series]] by [[RCA]], and their more recent descendants. Increasingly, these fixed-function logic gates are being replaced by [[programmable logic device]]s, which allow designers to pack many mixed logic gates into a single integrated circuit. The field-programmable nature of [[programmable logic device]]s such as [[FPGA]]s has reduced the 'hard' property of hardware; it is now possible to change the logic design of a hardware system by reprogramming some of its components, thus allowing the features or function of a hardware implementation of a logic system to be changed.


An important advantage of standardized integrated circuit logic families, such as the 7400 and 4000 families, is that they can be cascaded. This means that the output of one gate can be wired to the inputs of one or several other gates, and so on. Systems with varying degrees of complexity can be built without great concern of the designer for the internal workings of the gates, provided the limitations of each integrated circuit are considered.
== Manufacturing ==
{{See also|Unconventional computing|Semiconductor device fabrication}}


The output of one gate can only drive a finite number of inputs to other gates, a number called the '[[fan-out]] limit'. Also, there is always a delay, called the '[[propagation delay]]', from a change in input of a gate to the corresponding change in its output. When gates are cascaded, the total propagation delay is approximately the sum of the individual delays, an effect which can become a problem in high-speed [[synchronous circuit]]s. Additional delay can be caused when many inputs are connected to an output, due to the distributed [[capacitance]] of all the inputs and wiring and the finite amount of current that each output can provide.
Since the 1990s, most logic gates are made in [[CMOS]] (complementary metal oxide semiconductor) technology that uses both NMOS and PMOS transistors. Often millions of logic gates are [[chip carrier|packaged]] in a single [[integrated circuit]].


=== Non-electronic logic gates ===
==== Logic families ====
{{Main| Logic family}}
Non-electronic implementations are varied, though few of them are used in practical applications. Many early electromechanical digital computers, such as the [[Harvard Mark I]], were built from [[relay logic]] gates, using electro-mechanical [[relay]]s. Logic gates can be made using [[pneumatic]] devices, such as the Sorteberg relay or mechanical logic gates, including on a molecular scale.<ref>{{cite web |author-link=Ralph C. Merkle |author-first=Ralph C. |author-last=Merkle |title=Two Types of Mechanical Reversible Logic |date=1993 |publisher=[[Xerox PARC]] |url=http://www.zyvex.com/nanotech/mechano.html}}</ref> Various types of fundamental logic gates have been constructed using molecules ([[molecular logic gate]]s), which are based on chemical inputs and spectroscopic outputs.<ref>{{Cite journal |last1=Erbas-Cakmak |first1=Sundus |last2=Kolemen |first2=Safacan |last3=Sedgwick |first3=Adam C. |last4=Gunnlaugsson |first4=Thorfinnur |last5=James |first5=Tony D. |last6=Yoon |first6=Juyoung |last7=Akkaya |first7=Engin U. |date=2018 |title=Molecular logic gates: the past, present and future |url=http://xlink.rsc.org/?DOI=C7CS00491E |journal=Chemical Society Reviews |language=en |volume=47 |issue=7 |pages=2228–2248 |doi=10.1039/C7CS00491E |pmid=29493684 |issn=0306-0012|hdl=11693/50034 |hdl-access=free }}</ref> Logic gates have been made out of [[DNA]] (see [[DNA nanotechnology]])<ref>{{cite journal |author-first1=Milan N. |author-last1=Stojanovic |author-first2=Tiffany E. |author-last2=Mitchell |author-first3=Darko |author-last3=Stefanovic |title=Deoxyribozyme-Based Logic Gates |journal=[[Journal of the American Chemical Society]] |volume=124 |issue=14 |pages=3555–3561 |date=2002 |doi=10.1021/ja016756v |pmid=11929243 |url=https://pubs.acs.org/doi/abs/10.1021/ja016756v}}</ref> and used to create a computer called MAYA (see [[MAYA-II]]). Logic gates can be made from [[quantum mechanics|quantum mechanical]] effects, see [[quantum logic gate]]. [[Photonic logic]] gates use [[nonlinear optics|nonlinear optical]] effects.
There are several [[logic families]] with different characteristics (power consumption, speed, cost, size) such as: [[diode logic|RDL]] (resistor–diode logic), [[resistor–transistor logic|RTL]] (resistor-transistor logic), [[DTL]] (diode–transistor logic), [[transistor–transistor logic|TTL]] (transistor–transistor logic) and CMOS. There are also sub-variants, e.g. standard CMOS logic vs. advanced types using still CMOS technology, but with some optimizations for avoiding loss of speed due to slower PMOS transistors.


The simplest family of logic gates uses [[bipolar transistors]], and is called [[resistor–transistor logic]] (RTL). Unlike simple diode logic gates (which do not have a gain element), RTL gates can be cascaded indefinitely to produce more complex logic functions. RTL gates were used in early [[integrated circuit]]s. For higher speed and better density, the resistors used in RTL were replaced by diodes resulting in [[diode–transistor logic]] (DTL). [[Transistor–transistor logic]] (TTL) then supplanted DTL.
In principle any method that leads to a gate that is [[Functional completeness|functionally complete]] (for example, either a NOR or a NAND gate) can be used to make any kind of digital logic circuit. Note that the use of 3-state logic for bus systems is not needed, and can be replaced by digital multiplexers, which can be built using only simple logic gates (such as NAND gates, NOR gates, or AND and OR gates).

[[File:CMOS inverter.svg|thumb|125px|[[CMOS]] diagram of a [[NOT gate]], also known as an inverter. [[MOSFET]]s are the most common way to make logic gates.]]
As integrated circuits became more complex, bipolar transistors were replaced with smaller [[field-effect transistor]]s ([[MOSFET]]s); see [[PMOS logic|PMOS]] and [[NMOS logic|NMOS]]. To reduce power consumption still further, most contemporary chip implementations of digital systems now use [[CMOS]] logic. CMOS uses complementary (both n-channel and p-channel) MOSFET devices to achieve a high speed with low power dissipation.

Other types of logic gates include, but are not limited to:<ref>{{cite news |author-last=Rowe |author-first=Jim |title=Circuit Logic – Why and How |agency=Electronics Australia |issue=December 1966}}</ref>

{| class="wikitable"
|+
! Logic family !! Abbreviation !! Description
|-
|[[Diode logic]]|| DL ||
|-
| Tunnel diode logic || TDL || Exactly the same as diode logic but can perform at a higher speed.{{failed verification|reason=Tunnel diodes have gain and state|date=December 2017}}
|-
| Neon logic || NL || Uses neon bulbs or 3-element neon trigger tubes to perform logic.
|-
| Core diode logic || CDL || Performed by semiconductor diodes and small ferrite toroidal cores for moderate speed and moderate power level.
|-
| 4Layer Device Logic || 4LDL || Uses thyristors and SCRs to perform logic operations where high current and or high voltages are required.
|-
| [[Direct-coupled transistor logic]] || DCTL || Uses transistors switching between saturated and cutoff states to perform logic. The transistors require carefully controlled parameters. Economical because few other components are needed, but tends to be susceptible to noise because of the lower voltage levels employed. Often considered to be the father to modern TTL logic.
|-
| [[Metal–oxide–semiconductor]] logic || MOS || Uses [[MOSFET]]s (metal–oxide–semiconductor field-effect transistors), the basis for most modern logic gates. The MOS logic family includes [[PMOS logic]], [[NMOS logic]], [[complementary MOS]] (CMOS), and [[BiCMOS]] (bipolar CMOS).
|-
| [[Current-mode logic]] || CML || Uses transistors to perform logic but biasing is from constant current sources to prevent saturation and allow extremely fast switching. Has high noise immunity despite fairly low logic levels.
|-
|[[Quantum dot cellular automaton|Quantum-dot cellular automata]]
|QCA
|Uses tunnelable q-bits for synthesizing the binary logic bits. The electrostatic repulsive force in between two electrons in the quantum dots assigns the electron configurations (that defines state 1 or state 0) under the suitably driven polarizations. This is a transistorless, currentless, junctionless binary logic synthesis technique allowing it to have very fast operation speeds.
|-
| Ferroelectric FET || FeFET || FeFET transistors can retain their state to speed recovery in case of a power loss.<ref>{{cite web | url=https://semiengineering.com/tapping-into-non-volatile-logic/ | title=Tapping into Non-Volatile Logic | date=21 April 2021 }}</ref>
|}

==== Three-state logic gates ====
[[File:Tristate buffer.svg|thumb|320px|right|A tristate buffer can be thought of as a switch. If ''B'' is on, the switch is closed. If B is off, the switch is open.]]
{{Main|Tri-state buffer}}

A three-state logic gate is a type of logic gate that can have three different outputs: high (H), low (L) and high-impedance (Z). The high-impedance state plays no role in the logic, which is strictly binary. These devices are used on [[Bus (computing)|buses]] of the [[CPU]] to allow multiple chips to send data. A group of three-states driving a line with a suitable control circuit is basically equivalent to a [[multiplexer]], which may be physically distributed over separate devices or plug-in cards.

In electronics, a high output would mean the output is sourcing current from the positive power terminal (positive voltage). A low output would mean the output is sinking current to the negative power terminal (zero voltage). High impedance would mean that the output is effectively disconnected from the circuit.

=== Non-electronic logic gates ===
Non-electronic implementations are varied, though few of them are used in practical applications. Many early electromechanical digital computers, such as the [[Harvard Mark I]], were built from [[relay logic]] gates, using electro-mechanical [[relay]]s. Logic gates can be made using [[pneumatic]] devices, such as the Sorteberg relay or mechanical logic gates, including on a molecular scale.<ref>{{cite web |author-link=Ralph C. Merkle |author-first=Ralph C. |author-last=Merkle |title=Two Types of Mechanical Reversible Logic |date=1993 |publisher=[[Xerox PARC]] |url=http://www.zyvex.com/nanotech/mechano.html}}</ref> Various types of fundamental logic gates have been constructed using molecules ([[molecular logic gate]]s), which are based on chemical inputs and spectroscopic outputs.<ref>{{Cite journal |last1=Erbas-Cakmak |first1=Sundus |last2=Kolemen |first2=Safacan |last3=Sedgwick |first3=Adam C. |last4=Gunnlaugsson |first4=Thorfinnur |last5=James |first5=Tony D. |last6=Yoon |first6=Juyoung |last7=Akkaya |first7=Engin U. |date=2018 |title=Molecular logic gates: the past, present and future |url=http://xlink.rsc.org/?DOI=C7CS00491E |journal=Chemical Society Reviews |language=en |volume=47 |issue=7 |pages=2228–2248 |doi=10.1039/C7CS00491E |pmid=29493684 |issn=0306-0012|hdl=11693/50034 |hdl-access=free }}</ref> Logic gates have been made out of [[DNA]] (see [[DNA nanotechnology]])<ref>{{cite journal |author-first1=Milan N. |author-last1=Stojanovic |author-first2=Tiffany E. |author-last2=Mitchell |author-first3=Darko |author-last3=Stefanovic |title=Deoxyribozyme-Based Logic Gates |journal=[[Journal of the American Chemical Society]] |volume=124 |issue=14 |pages=3555–3561 |date=2002 |doi=10.1021/ja016756v |pmid=11929243 |url=https://pubs.acs.org/doi/abs/10.1021/ja016756v}}</ref> and used to create a computer called MAYA (see [[MAYA-II]]). Logic gates can be made from [[quantum mechanical]] effects, see [[quantum logic gate]]. [[Photonic logic]] gates use [[nonlinear optical]] effects.


In principle any method that leads to a gate that is [[functionally complete]] (for example, either a NOR or a NAND gate) can be used to make any kind of digital logic circuit. Note that the use of 3-state logic for bus systems is not needed, and can be replaced by digital multiplexers, which can be built using only simple logic gates (such as NAND gates, NOR gates, or AND and OR gates).
=== Logic families ===
There are several [[logic family|logic families]] with different characteristics (power consumption, speed, cost, size) such as: [[diode logic|RDL]] (resistor–diode logic), [[resistor–transistor logic|RTL]] (resistor-transistor logic), [[diode–transistor logic|DTL]] (diode–transistor logic), [[transistor–transistor logic|TTL]] (transistor–transistor logic) and CMOS. There are also sub-variants, e.g. standard CMOS logic vs. advanced types using still CMOS technology, but with some optimizations for avoiding loss of speed due to slower PMOS transistors.


== See also ==
== See also ==
Line 372: Line 376:
* [[Flip-flop (electronics)]]
* [[Flip-flop (electronics)]]
* [[Functional completeness]]
* [[Functional completeness]]
* [[Integrated injection logic]]
* [[Karnaugh map]]
* [[Karnaugh map]]
* [[Combinational logic]]
* [[Combinational logic]]
Line 379: Line 384:
* [[Logic level]]
* [[Logic level]]
* [[Logical graph]]
* [[Logical graph]]
* [[Magnetic logic]]
* [[NMOS logic]]
* [[NMOS logic]]
* [[Parametron]]
* [[Processor design]]
* [[Processor design]]
* [[Programmable logic controller]] (PLC)
* [[Programmable logic controller]] (PLC)
* [[Programmable logic device]] (PLD)
* [[Programmable logic device]] (PLD)
* [[Propositional calculus]]
* [[Propositional calculus]]
* [[Quantum logic gate]]
* [[Race hazard]]
* [[Race hazard]]
* [[Reversible computing]]
* [[Reversible computing]]
* [[Superconducting computing]]
* [[Truth table]]
* [[Truth table]]
* [[Unconventional computing]]
{{div col end}}
{{div col end}}



Revision as of 22:18, 20 July 2024

A logic circuit diagram for a 4-bit carry lookahead binary adder design using only the AND, OR, and XOR logic gates.

A logic gate is a device that performs a Boolean function, a logical operation performed on one or more binary inputs that produces a single binary output. Depending on the context, the term may refer to an ideal logic gate, one that has, for instance, zero rise time and unlimited fan-out, or it may refer to a non-ideal physical device[1] (see ideal and real op-amps for comparison).

The primary way of building logic gates uses diodes or transistors acting as electronic switches. Today, most logic gates are made from MOSFETs (metal–oxide–semiconductor field-effect transistors).[2] They can also be constructed using vacuum tubes, electromagnetic relays with relay logic, fluidic logic, pneumatic logic, optics, molecules, acoustics,[3] or even mechanical or thermal[4] elements.

Logic gates can be cascaded in the same way that Boolean functions can be composed, allowing the construction of a physical model of all of Boolean logic, and therefore, all of the algorithms and mathematics that can be described with Boolean logic. Logic circuits include such devices as multiplexers, registers, arithmetic logic units (ALUs), and computer memory, all the way up through complete microprocessors,[5] which may contain more than 100 million logic gates.

Compound logic gates AND-OR-Invert (AOI) and OR-AND-Invert (OAI) are often employed in circuit design because their construction using MOSFETs is simpler and more efficient than the sum of the individual gates.[6]

History and development

The binary number system was refined by Gottfried Wilhelm Leibniz (published in 1705), influenced by the ancient I Ching's binary system.[7][8] Leibniz established that using the binary system combined the principles of arithmetic and logic.

In an 1886 letter, Charles Sanders Peirce described how logical operations could be carried out by electrical switching circuits.[9] Early electro-mechanical computers were constructed from switches and relay logic rather than the later innovations of vacuum tubes (thermionic valves) or transistors (from which later electronic computers were constructed). Ludwig Wittgenstein introduced a version of the 16-row truth table as proposition 5.101 of Tractatus Logico-Philosophicus (1921). Walther Bothe, inventor of the coincidence circuit, got part of the 1954 Nobel Prize in physics, for the first modern electronic AND gate in 1924. Konrad Zuse designed and built electromechanical logic gates for his computer Z1 (from 1935 to 1938).

From 1934 to 1936, NEC engineer Akira Nakashima, Claude Shannon and Victor Shestakov introduced switching circuit theory in a series of papers showing that two-valued Boolean algebra, which they discovered independently, can describe the operation of switching circuits.[10][11][12][13] Using this property of electrical switches to implement logic is the fundamental concept that underlies all electronic digital computers. Switching circuit theory became the foundation of digital circuit design, as it became widely known in the electrical engineering community during and after World War II, with theoretical rigor superseding the ad hoc methods that had prevailed previously.[13]

Metal–oxide–semiconductor (MOS) devices in the forms of PMOS and NMOS were demonstrated by Bell Labs engineers Mohamed M. Atalla and Dawon Kahng in 1960.[14] Both types were later combined and adapted into complementary MOS (CMOS) logic by Chih-Tang Sah and Frank Wanlass at Fairchild Semiconductor in 1963.[15]

Symbols

A synchronous 4-bit up/down decade counter symbol (74LS192) in accordance with ANSI/IEEE Std. 91-1984 and IEC Publication 60617-12.

There are two sets of symbols for elementary logic gates in common use, both defined in ANSI/IEEE Std 91-1984 and its supplement ANSI/IEEE Std 91a-1991. The "distinctive shape" set, based on traditional schematics, is used for simple drawings and derives from United States Military Standard MIL-STD-806 of the 1950s and 1960s.[16] It is sometimes unofficially described as "military", reflecting its origin. The "rectangular shape" set, based on ANSI Y32.14 and other early industry standards as later refined by IEEE and IEC, has rectangular outlines for all types of gate and allows representation of a much wider range of devices than is possible with the traditional symbols.[17] The IEC standard, IEC 60617-12, has been adopted by other standards, such as EN 60617-12:1999 in Europe, BS EN 60617-12:1999 in the United Kingdom, and DIN EN 60617-12:1998 in Germany.

The mutual goal of IEEE Std 91-1984 and IEC 617-12 was to provide a uniform method of describing the complex logic functions of digital circuits with schematic symbols. These functions were more complex than simple AND and OR gates. They could be medium-scale circuits such as a 4-bit counter to a large-scale circuit such as a microprocessor.

IEC 617-12 and its renumbered successor IEC 60617-12 do not explicitly show the "distinctive shape" symbols, but do not prohibit them.[17] These are, however, shown in ANSI/IEEE Std 91 (and 91a) with this note: "The distinctive-shape symbol is, according to IEC Publication 617, Part 12, not preferred, but is not considered to be in contradiction to that standard." IEC 60617-12 correspondingly contains the note (Section 2.1) "Although non-preferred, the use of other symbols recognized by official national standards, that is distinctive shapes in place of symbols [list of basic gates], shall not be considered to be in contradiction with this standard. Usage of these other symbols in combination to form complex symbols (for example, use as embedded symbols) is discouraged." This compromise was reached between the respective IEEE and IEC working groups to permit the IEEE and IEC standards to be in mutual compliance with one another.

In the 1980s, schematics were the predominant method to design both circuit boards and custom ICs known as gate arrays. Today custom ICs and the field-programmable gate array are typically designed with Hardware Description Languages (HDL) such as Verilog or VHDL.

Typ Distinctive shape
(IEEE Std 91/91a-1991)
Rectangular shape
(IEEE Std 91/91a-1991)
(IEC 60617-12:1997)
Boolean algebra between A and B Truth table
Single-input gates
Buffer

Buffer symbol

Buffer symbol

Input Output
A Q
0 0
1 1
NOT
(inverter)

NOT symbol

NOT symbol

oder
Input Output
A Q
0 1
1 0
In electronics a NOT gate is more commonly called an inverter. The circle on the symbol is called a bubble and is used in logic diagrams to indicate a logic negation between the external logic state and the internal logic state (1 to 0 or vice versa). On a circuit diagram it must be accompanied by a statement asserting that the positive logic convention or negative logic convention is being used (high voltage level = 1 or low voltage level = 1, respectively). The wedge is used in circuit diagrams to directly indicate an active-low (low voltage level = 1) input or output without requiring a uniform convention throughout the circuit diagram. This is called Direct Polarity Indication. See IEEE Std 91/91A and IEC 60617-12. Both the bubble and the wedge can be used on distinctive-shape and rectangular-shape symbols on circuit diagrams, depending on the logic convention used. On pure logic diagrams, only the bubble is meaningful.
Conjunction and disjunction
AND

AND symbol

AND symbol

oder
Input Output
A B Q
0 0 0
0 1 0
1 0 0
1 1 1
OR

OR symbol

OR symbol

oder
Input Output
A B Q
0 0 0
0 1 1
1 0 1
1 1 1
Alternative denial and joint denial
NAND

NAND symbol

NAND symbol

oder
Input Output
A B Q
0 0 1
0 1 1
1 0 1
1 1 0
NOR NOR symbol NOR symbol oder
Input Output
A B Q
0 0 1
0 1 0
1 0 0
1 1 0
Exclusive or and biconditional
XOR XOR symbol XOR symbol oder
Input Output
A B Q
0 0 0
0 1 1
1 0 1
1 1 0
The output of a two input exclusive-OR is true only when the two input values are different, and false if they are equal, regardless of the value. If there are more than two inputs, the output of the distinctive-shape symbol is undefined. The output of the rectangular-shaped symbol is true if the number of true inputs is exactly one or exactly the number following the "=" in the qualifying symbol.
XNOR XNOR symbol XNOR symbol oder
Input Output
A B Q
0 0 1
0 1 0
1 0 0
1 1 1

De Morgan equivalent symbols

By use of De Morgan's laws, an AND function is identical to an OR function with negated inputs and outputs. Likewise, an OR function is identical to an AND function with negated inputs and outputs. A NAND gate is equivalent to an OR gate with negated inputs, and a NOR gate is equivalent to an AND gate with negated inputs.

This leads to an alternative set of symbols for basic gates that use the opposite core symbol (AND or OR) but with the inputs and outputs negated. Use of these alternative symbols can make logic circuit diagrams much clearer and help to show accidental connection of an active high output to an active low input or vice versa. Any connection that has logic negations at both ends can be replaced by a negationless connection and a suitable change of gate or vice versa. Any connection that has a negation at one end and no negation at the other can be made easier to interpret by instead using the De Morgan equivalent symbol at either of the two ends. When negation or polarity indicators on both ends of a connection match, there is no logic negation in that path (effectively, bubbles "cancel"), making it easier to follow logic states from one symbol to the next. This is commonly seen in real logic diagrams – thus the reader must not get into the habit of associating the shapes exclusively as OR or AND shapes, but also take into account the bubbles at both inputs and outputs in order to determine the "true" logic function indicated.

A De Morgan symbol can show more clearly a gate's primary logical purpose and the polarity of its nodes that are considered in the "signaled" (active, on) state. Consider the simplified case where a two-input NAND gate is used to drive a motor when either of its inputs are brought low by a switch. The "signaled" state (motor on) occurs when either one OR the other switch is on. Unlike a regular NAND symbol, which suggests AND logic, the De Morgan version, a two negative-input OR gate, correctly shows that OR is of interest. The regular NAND symbol has a bubble at the output and none at the inputs (the opposite of the states that will turn the motor on), but the De Morgan symbol shows both inputs and output in the polarity that will drive the motor.

De Morgan's theorem is most commonly used to implement logic gates as combinations of only NAND gates, or as combinations of only NOR gates, for economic reasons.

Truth tables

Output comparison of various logic gates:

1-input logic gates
Input Output
A Buffer Inverter
0 0 1
1 1 0
2-input logic gates
Input Output
A B AND NAND OR NOR XOR XNOR
0 0 0 1 0 1 0 1
0 1 0 1 1 0 1 0
1 0 0 1 1 0 1 0
1 1 1 0 1 0 0 1

Universal logic gates

Charles Sanders Peirce (during 1880–1881) showed that NOR gates alone (or alternatively NAND gates alone) can be used to reproduce the functions of all the other logic gates, but his work on it was unpublished until 1933.[18] The first published proof was by Henry M. Sheffer in 1913, so the NAND logical operation is sometimes called Sheffer stroke; the logical NOR is sometimes called Peirce's arrow.[19] Consequently, these gates are sometimes called universal logic gates.[20]

type NAND construction NOR construction
NOT
AND
NAND
OR
NOR
XOR
XNOR

Data storage and sequential logic

Animation of how an SR NOR gate latch works.

Logic gates can also be used to hold a state, allowing data storage. A storage element can be constructed by connecting several gates in a "latch" circuit. Latching circuitry is used in static random-access memory. More complicated designs that use clock signals and that change only on a rising or falling edge of the clock are called edge-triggered "flip-flops". Formally, a flip-flop is called a bistable circuit, because it has two stable states which it can maintain indefinitely. The combination of multiple flip-flops in parallel, to store a multiple-bit value, is known as a register. When using any of these gate setups the overall system has memory; it is then called a sequential logic system since its output can be influenced by its previous state(s), i.e. by the sequence of input states. In contrast, the output from combinational logic is purely a combination of its present inputs, unaffected by the previous input and output states.

These logic circuits are used in computer memory. They vary in performance, based on factors of speed, complexity, and reliability of storage, and many different types of designs are used based on the application.

Fertigungsindustrie

Electronic gates

A functionally complete logic system may be composed of relays, valves (vacuum tubes), or transistors.

Electronic logic gates differ significantly from their relay-and-switch equivalents. They are much faster, consume much less power, and are much smaller (all by a factor of a million or more in most cases). Also, there is a fundamental structural difference. The switch circuit creates a continuous metallic path for current to flow (in either direction) between its input and its output. The semiconductor logic gate, on the other hand, acts as a high-gain voltage amplifier, which sinks a tiny current at its input and produces a low-impedance voltage at its output. It is not possible for current to flow between the output and the input of a semiconductor logic gate.

The 7400 chip, containing four NANDs. The two additional pins supply power (+5 V) and connect the ground.

For small-scale logic, designers now use prefabricated logic gates from families of devices such as the TTL 7400 series by Texas Instruments, the CMOS 4000 series by RCA, and their more recent descendants. Increasingly, these fixed-function logic gates are being replaced by programmable logic devices, which allow designers to pack many mixed logic gates into a single integrated circuit. The field-programmable nature of programmable logic devices such as FPGAs has reduced the 'hard' property of hardware; it is now possible to change the logic design of a hardware system by reprogramming some of its components, thus allowing the features or function of a hardware implementation of a logic system to be changed.

An important advantage of standardized integrated circuit logic families, such as the 7400 and 4000 families, is that they can be cascaded. This means that the output of one gate can be wired to the inputs of one or several other gates, and so on. Systems with varying degrees of complexity can be built without great concern of the designer for the internal workings of the gates, provided the limitations of each integrated circuit are considered.

The output of one gate can only drive a finite number of inputs to other gates, a number called the 'fan-out limit'. Also, there is always a delay, called the 'propagation delay', from a change in input of a gate to the corresponding change in its output. When gates are cascaded, the total propagation delay is approximately the sum of the individual delays, an effect which can become a problem in high-speed synchronous circuits. Additional delay can be caused when many inputs are connected to an output, due to the distributed capacitance of all the inputs and wiring and the finite amount of current that each output can provide.

Logic families

There are several logic families with different characteristics (power consumption, speed, cost, size) such as: RDL (resistor–diode logic), RTL (resistor-transistor logic), DTL (diode–transistor logic), TTL (transistor–transistor logic) and CMOS. There are also sub-variants, e.g. standard CMOS logic vs. advanced types using still CMOS technology, but with some optimizations for avoiding loss of speed due to slower PMOS transistors.

The simplest family of logic gates uses bipolar transistors, and is called resistor–transistor logic (RTL). Unlike simple diode logic gates (which do not have a gain element), RTL gates can be cascaded indefinitely to produce more complex logic functions. RTL gates were used in early integrated circuits. For higher speed and better density, the resistors used in RTL were replaced by diodes resulting in diode–transistor logic (DTL). Transistor–transistor logic (TTL) then supplanted DTL.

CMOS diagram of a NOT gate, also known as an inverter. MOSFETs are the most common way to make logic gates.

As integrated circuits became more complex, bipolar transistors were replaced with smaller field-effect transistors (MOSFETs); see PMOS and NMOS. To reduce power consumption still further, most contemporary chip implementations of digital systems now use CMOS logic. CMOS uses complementary (both n-channel and p-channel) MOSFET devices to achieve a high speed with low power dissipation.

Other types of logic gates include, but are not limited to:[21]

Logic family Abbreviation Description
Diode logic DL
Tunnel diode logic TDL Exactly the same as diode logic but can perform at a higher speed.[failed verification]
Neon logic NL Uses neon bulbs or 3-element neon trigger tubes to perform logic.
Core diode logic CDL Performed by semiconductor diodes and small ferrite toroidal cores for moderate speed and moderate power level.
4Layer Device Logic 4LDL Uses thyristors and SCRs to perform logic operations where high current and or high voltages are required.
Direct-coupled transistor logic DCTL Uses transistors switching between saturated and cutoff states to perform logic. The transistors require carefully controlled parameters. Economical because few other components are needed, but tends to be susceptible to noise because of the lower voltage levels employed. Often considered to be the father to modern TTL logic.
Metal–oxide–semiconductor logic MOS Uses MOSFETs (metal–oxide–semiconductor field-effect transistors), the basis for most modern logic gates. The MOS logic family includes PMOS logic, NMOS logic, complementary MOS (CMOS), and BiCMOS (bipolar CMOS).
Current-mode logic CML Uses transistors to perform logic but biasing is from constant current sources to prevent saturation and allow extremely fast switching. Has high noise immunity despite fairly low logic levels.
Quantum-dot cellular automata QCA Uses tunnelable q-bits for synthesizing the binary logic bits. The electrostatic repulsive force in between two electrons in the quantum dots assigns the electron configurations (that defines state 1 or state 0) under the suitably driven polarizations. This is a transistorless, currentless, junctionless binary logic synthesis technique allowing it to have very fast operation speeds.
Ferroelectric FET FeFET FeFET transistors can retain their state to speed recovery in case of a power loss.[22]

Three-state logic gates

A tristate buffer can be thought of as a switch. If B is on, the switch is closed. If B is off, the switch is open.

A three-state logic gate is a type of logic gate that can have three different outputs: high (H), low (L) and high-impedance (Z). The high-impedance state plays no role in the logic, which is strictly binary. These devices are used on buses of the CPU to allow multiple chips to send data. A group of three-states driving a line with a suitable control circuit is basically equivalent to a multiplexer, which may be physically distributed over separate devices or plug-in cards.

In electronics, a high output would mean the output is sourcing current from the positive power terminal (positive voltage). A low output would mean the output is sinking current to the negative power terminal (zero voltage). High impedance would mean that the output is effectively disconnected from the circuit.

Non-electronic logic gates

Non-electronic implementations are varied, though few of them are used in practical applications. Many early electromechanical digital computers, such as the Harvard Mark I, were built from relay logic gates, using electro-mechanical relays. Logic gates can be made using pneumatic devices, such as the Sorteberg relay or mechanical logic gates, including on a molecular scale.[23] Various types of fundamental logic gates have been constructed using molecules (molecular logic gates), which are based on chemical inputs and spectroscopic outputs.[24] Logic gates have been made out of DNA (see DNA nanotechnology)[25] and used to create a computer called MAYA (see MAYA-II). Logic gates can be made from quantum mechanical effects, see quantum logic gate. Photonic logic gates use nonlinear optical effects.

In principle any method that leads to a gate that is functionally complete (for example, either a NOR or a NAND gate) can be used to make any kind of digital logic circuit. Note that the use of 3-state logic for bus systems is not needed, and can be replaced by digital multiplexers, which can be built using only simple logic gates (such as NAND gates, NOR gates, or AND and OR gates).

See also

References

  1. ^ Jaeger (1997). Microelectronic Circuit Design. McGraw-Hill. pp. 226–233. ISBN 0-07-032482-4.
  2. ^ Kanellos, Michael (2003-02-11). "Moore's Law to roll on for another decade". CNET. From Integrated circuit
  3. ^ https://pubs.aip.org/aip/apl/article-abstract/106/11/113503/27163/Acoustic-logic-gates-and-Boolean-operation-based?redirectedFrom=fulltext
  4. ^ Wang, Lei; Li, Baowen (2007). "Thermal Logic Gates: Computation with Phonons". Physical Review Letters. 99 (17): 177208. arXiv:0709.0032. Bibcode:2007PhRvL..99q7208W. doi:10.1103/PhysRevLett.99.177208. PMID 17995368. S2CID 10934270.
  5. ^ Deschamps, Jean-Pierre; Valderrama, Elena; Terés, Lluís (2016-10-12). Digital Systems: From Logic Gates to Processors. Springer. ISBN 978-3-319-41198-9.
  6. ^ Tinder, Richard F. (2000). Engineering digital design (2nd ed.). Academic Press. pp. 317–319. ISBN 0-12-691295-5.
  7. ^ Nylan, Michael (2001). The Five "Confucian" Classics. Yale University Press. pp. 204–206. ISBN 978-0-300-08185-5. Retrieved 2010-06-08.
  8. ^ Perkins, Franklin (2004). "Exchange with China". Leibniz and China: A Commerce of Light. Cambridge University Press. p. 117. ISBN 9780521830249. ... one of the traditional orderings of the hexagrams, the xiantian tu ordering made by Shao Yong, was, with a few modifications, the same order found in Leibniz's binary arithmetic.
  9. ^ Peirce, C. S., "Letter, Peirce to A. Marquand", dated 1886, Writings of Charles S. Peirce, v. 5, 1993, pp. 420–423. See Burks, Arthur W. (1978). "Review: Charles S. Peirce, The new elements of mathematics". Bulletin of the American Mathematical Society. 84 (5): 913–918 [917]. doi:10.1090/S0002-9904-1978-14533-9.
  10. ^ Yamada, Akihiko (2004). "History of Research on Switching Theory in Japan". IEEJ Transactions on Fundamentals and Materials. 124 (8). Institute of Electrical Engineers of Japan: 720–726. Bibcode:2004IJTFM.124..720Y. doi:10.1541/ieejfms.124.720.
  11. ^ "Switching Theory/Relay Circuit Network Theory/Theory of Logical Mathematics". IPSJ Computer Museum. Information Processing Society of Japan.
  12. ^ Stanković, Radomir S.; Astola, Jaakko T.; Karpovsky, Mark G. (2007). Some Historical Remarks on Switching Theory. CiteSeerX 10.1.1.66.1248.
  13. ^ a b Stanković, Radomir S. [in German]; Astola, Jaakko Tapio [in Finnish], eds. (2008). Reprints from the Early Days of Information Sciences: TICSP Series On the Contributions of Akira Nakashima to Switching Theory (PDF). Tampere International Center for Signal Processing (TICSP) Series. Vol. 40. Tampere University of Technology, Tampere, Finland. ISBN 978-952-15-1980-2. ISSN 1456-2774. Archived from the original (PDF) on 2021-03-08.{{cite book}}: CS1 maint: location missing publisher (link) (3+207+1 pages) 10:00 min
  14. ^ Lojek, Bo (2007). History of Semiconductor Engineering. Springer. pp. 321–323. ISBN 978-3-54034258-8.
  15. ^ "1963: Complementary MOS Circuit Configuration is Invented". Computer History Museum. Retrieved 2019-07-06.
  16. ^ "Graphical Symbols for Logic Diagrams". ASSIST Quick Search. Defense Logistics Agency. MIL-STD-806. Retrieved 2021-08-27.
  17. ^ a b "Overview of IEEE Standard 91-1984 Explanation of Logic Symbols" (PDF). Texas Instruments Semiconductor Group. 1996. SDYZ001A.
  18. ^ Peirce, C. S. (manuscript winter of 1880–1881), "A Boolian Algebra with One Constant", published 1933 in Collected Papers v. 4, paragraphs 12–20. Reprinted 1989 in Writings of Charles S. Peirce v. 4, pp. 218–221, Google [1]. See Roberts, Don D. (2009). "7.12 The Graphical Analysis of Propositions". The Existential Graphs of Charles S. Peirce. De Gruyter. p. 131. ISBN 978-3-11022622-5.
  19. ^ Büning, Hans Kleine; Lettmann, Theodor (1999). Propositional logic: deduction and algorithms. Cambridge University Press. p. 2. ISBN 978-0-521-63017-7.
  20. ^ Bird, John (2007). Engineering mathematics. Newnes. p. 532. ISBN 978-0-7506-8555-9.
  21. ^ Rowe, Jim. "Circuit Logic – Why and How". No. December 1966. Electronics Australia.
  22. ^ "Tapping into Non-Volatile Logic". 2021-04-21.
  23. ^ Merkle, Ralph C. (1993). "Two Types of Mechanical Reversible Logic". Xerox PARC.
  24. ^ Erbas-Cakmak, Sundus; Kolemen, Safacan; Sedgwick, Adam C.; Gunnlaugsson, Thorfinnur; James, Tony D.; Yoon, Juyoung; Akkaya, Engin U. (2018). "Molecular logic gates: the past, present and future". Chemical Society Reviews. 47 (7): 2228–2248. doi:10.1039/C7CS00491E. hdl:11693/50034. ISSN 0306-0012. PMID 29493684.
  25. ^ Stojanovic, Milan N.; Mitchell, Tiffany E.; Stefanovic, Darko (2002). "Deoxyribozyme-Based Logic Gates". Journal of the American Chemical Society. 124 (14): 3555–3561. doi:10.1021/ja016756v. PMID 11929243.

Further reading