Logic gate
{{#invoke:Hatnotehatnote}}Template:Main other
In electronics, a logic gate is an idealized or physical device implementing a Boolean function; that is, it performs a logical operation on one or more logical inputs, and produces a single logical output. Depending on the context, the term may refer to an ideal logic gate, one that has for instance zero rise time and unlimited fanout, or it may refer to a nonideal physical device^{[1]} (see Ideal and real opamps for comparison).
Logic gates are primarily implemented using diodes or transistors acting as electronic switches, but can also be constructed using vacuum tubes, electromagnetic relays (relay logic), fluidic logic, pneumatic logic, optics, molecules, or even mechanical elements. With amplification, 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, which may contain more than 100 million gates. In modern practice, most gates are made from fieldeffect transistors (FETs), particularly MOSFETs (metal–oxide–semiconductor fieldeffect transistors).
Compound logic gates ANDORInvert (AOI) and ORANDInvert (OAI) are often employed in circuit design because their construction using MOSFETs is simpler and more efficient than the sum of the individual gates.^{[2]}
In reversible logic, Toffoli gates are used.
Contents
Electronic gates
{{#invoke:mainmain}} To build a functionally complete logic system, relays, valves (vacuum tubes), or transistors can be used. The simplest family of logic gates using bipolar transistors is called resistortransistor 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 diodetransistor logic (DTL). Transistortransistor logic (TTL) then supplanted DTL. As integrated circuits became more complex, bipolar transistors were replaced with smaller fieldeffect 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 nchannel and pchannel) MOSFET devices to achieve a high speed with low power dissipation.
For smallscale 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 fixedfunction logic gates are being replaced by programmable logic devices, which allow designers to pack a large number of mixed logic gates into a single integrated circuit. The fieldprogrammable nature of programmable logic devices such as FPGAs has removed 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.
Electronic logic gates differ significantly from their relayandswitch 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 highgain voltage amplifier, which sinks a tiny current at its input and produces a lowimpedance 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 'fanout 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 highspeed circuits. Additional delay can be caused when a large number of 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.
Symbols
There are two sets of symbols for elementary logic gates in common use, both defined in ANSI/IEEE Std 911984 and its supplement ANSI/IEEE Std 91a1991. The "distinctive shape" set, based on traditional schematics, is used for simple drawings, and derives from MILSTD806 of the 1950s and 1960s. 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.^{[3]} The IEC standard, IEC 6061712, has been adopted by other standards, such as EN 6061712:1999 in Europe and BS EN 6061712:1999 in the United Kingdom.
The mutual goal of IEEE Std 911984 and IEC 6061712 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 4bit counter to a large scale circuit such as a microprocessor.
IEC 61712 and its successor IEC 6061712 do not explicitly show the "distinctive shape" symbols, but do not prohibit them.^{[3]} These are, however, shown in ANSI/IEEE 91 (and 91a) with this note: "The distinctiveshape symbol is, according to IEC Publication 617, Part 12, not preferred, but is not considered to be in contradiction to that standard." IEC 6061712 correspondingly contains the note (Section 2.1) "Although nonpreferred, 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.
A third style of symbols was in use in Europe and is still preferred by some, see the column "DIN 40700" in the table in the German Wikipedia.
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 fieldprogrammable gate array are typically designed with Hardware Description Languages (HDL) such as Verilog or VHDL.
Type  Distinctive shape (IEEE Std 91/91a1991) 
Rectangular shape (IEEE Std 91/91a1991 IEC 6061712 : 1997) 
Boolean algebra between A & B  Truth table  

AND  or & 
 
OR 
 
NOT  or ~ 
 
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 high voltage level = 0, respectively). The wedge is used in circuit diagrams to directly indicate an activelow (high voltage level = 0) 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 6061712. Both the bubble and the wedge can be used on distinctiveshape and rectangularshape symbols on circuit diagrams, depending on the logic convention used. On pure logic diagrams, only the bubble is meaningful.  
NAND  or 
 
NOR  or 
 
XOR 
 
XNOR  or 

Two more gates are (1) the exclusiveOR or XOR function and (2) its complement, the exclusiveNOR or XNOR or EQV (equivalent) function. The two input exclusiveOR is true only when the two input values are different, false if they are equal, regardless of the value. If there are more than two inputs, the gate generates a true at its output if the number of trues at its input is odd ([1]). In practice, these gates are built from combinations of simpler logic gates.
Universal logic gates
Charles Sanders Peirce (winter of 1880–81) 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.^{[4]} 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.^{[5]} Consequently, these gates are sometimes called universal logic gates.^{[6]}
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 viceversa. Any connection that has logic negations at both ends can be replaced by a negationless connection and a suitable change of gate or viceversa. 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 twoinput 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 negativeinput 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
{{#invoke:mainmain}}
Logic gates can also be used to store data. A storage element can be constructed by connecting several gates in a "latch" circuit. More complicated designs that use clock signals and that change only on a rising or falling edge of the clock are called edgetriggered "flipflops". The combination of multiple flipflops in parallel, to store a multiplebit 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).
These logic circuits are known as 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.
Threestate logic gates
{{#invoke:mainmain}}
A threestate logic gate is a type of logic gate that can have three different outputs: high (H), low (L) and highimpedance (Z). The highimpedance 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 threestates driving a line with a suitable control circuit is basically equivalent to a multiplexer, which may be physically distributed over separate devices or plugin 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.
History and development
The binary number system was refined by Gottfried Wilhelm Leibniz (published in 1705) and he also established that by using the binary system, the principles of arithmetic and logic could be combined. In an 1886 letter, Charles Sanders Peirce described how logical operations could be carried out by electrical switching circuits.^{[7]} Eventually, vacuum tubes replaced relays for logic operations. Lee De Forest's modification, in 1907, of the Fleming valve can be used as AND logic gate. Ludwig Wittgenstein introduced a version of the 16row truth table as proposition 5.101 of Tractatus LogicoPhilosophicus (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–38). Claude E. Shannon introduced the use of Boolean algebra in the analysis and design of switching circuits in 1937. Active research is taking place in molecular logic gates.
Implementations
{{#invoke:mainmain}}
Since the 1990s, most logic gates are made in CMOS technology (i.e. NMOS and PMOS transistors are used). Often millions of logic gates are packaged in a single integrated circuit.
There are several logic families with different characteristics (power consumption, speed, cost, size) such as: RDL (resistordiode logic), RTL (resistortransistor logic), DTL (diodetransistor logic), TTL (transistortransistor logic) and CMOS (complementary metal oxide semiconductor). There are also subvariants, 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.
Nonelectronic 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 electromechanical relays. Logic gates can be made using pneumatic devices, such as the Sorteberg relay or mechanical logic gates, including on a molecular scale.^{[8]} Logic gates have been made out of DNA (see DNA nanotechnology)^{[9]} and used to create a computer called MAYA (see MAYA II). Logic gates can be made from quantum mechanical effects (though quantum computing usually diverges from boolean design). 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 3state logic for bus systems is not needed, and can be replaced by digital multiplexers.
See also
 Andinverter graph
 Boolean algebra topics
 Boolean function
 Digital circuit
 Espresso heuristic logic minimizer
 Fanout
 Flipflop (electronics)
 Functional completeness
 Karnaugh map
 Combinational logic
 Logic family
 Logical graph
 NMOS logic
 Programmable Logic Controller (PLC)
 Programmable Logic Device (PLD)
 Propositional calculus
 Quantum gate
 Race hazard
 Reversible computing
 Truth table
References
 ↑ Jaeger, Microelectronic Circuit Design, McGrawHill 1997, ISBN 0070324824, pp. 226233
 ↑ {{#invoke:citation/CS1citation CitationClass=book }}
 ↑ ^{3.0} ^{3.1} Overview of IEEE Standard 911984 Explanation of Logic Symbols, Doc. No. SDYZ001A, Texas Instruments Semiconductor Group, 1996
 ↑ Peirce, C. S. (manuscript winter of 1880–81), "A Boolean 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. 21821, Google Preview. See Roberts, Don D. (2009), The Existential Graphs of Charles S. Peirce, p. 131.
 ↑ {{#invoke:citation/CS1citation CitationClass=book }}
 ↑ {{#invoke:citation/CS1citation CitationClass=book }}
 ↑ Peirce, C. S., "Letter, Peirce to A. Marquand", dated 1886, Writings of Charles S. Peirce, v. 5, 1993, pp. 541–3. Google Preview. See Burks, Arthur W., "Review: Charles S. Peirce, The new elements of mathematics", Bulletin of the American Mathematical Society v. 84, n. 5 (1978), pp. 913–18, see 917. PDF Eprint.
 ↑ Mechanical Logic gates (focused on molecular scale)
 ↑ DNA Logic gates
Further reading
 {{#invoke:citation/CS1citation
CitationClass=book }}
 {{#invoke:citation/CS1citation
CitationClass=book }}
 {{#invoke:citation/CS1citation
CitationClass=book }}