A NOR gate or a NOT OR gate is a logic gate which gives a positive output only when both inputs are negative.
Like NAND gates, NOR gates are so-called "universal gates" that can be combined to form any other kind of logic gate. For example, the first embedded system, the Apollo Guidance Computer, was built exclusively from NOR gates, about 5,600 in total for the later versions. Today, integrated circuits are not constructed exclusively from a single type of gate. Instead, EDA tools are used to convert the description of a logical circuit to a netlist of complex gates (standard cells) or transistors (full custom approach).
See main article: NOR gate. A NOR gate is logically an inverted OR gate. It has the following truth table:
A NOR gate is a universal gate, meaning that any other gate can be represented as a combination of NOR gates.
See also: NOT gate. This is made by joining the inputs of a NOR gate. As a NOR gate is equivalent to an OR gate leading to NOT gate, joining the inputs makes the output of the "OR" part of the NOR gate the same as the input, eliminating it from consideration and leaving only the NOT part.
width=150 | Desired NOT Gate! | width=150 | NOR Construction | ||||
---|---|---|---|---|---|---|---|
Q = NOT(A) | = A NOR A | ||||||
|
See also: OR gate. An OR gate is made by inverting the output of a NOR gate. Note that we already know that a NOT gate is equivalent to a NOR gate with its inputs joined.
width=150 | Desired OR Gate! | width=150 | NOR Construction | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Q = A OR B | = (A NOR B) NOR (A NOR B) | |||||||||||||
|
See also: AND gate. An AND gate gives a 1 output when both inputs are 1. Therefore, an AND gate is made by inverting the inputs of a NOR gate. Again, note that a NOR gate is equivalent to a NOT with its inputs joined.
width=150 | Desired AND Gate! | width=150 | NOR Construction | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Q = A AND B | = (A NOR A) NOR (B NOR B) | |||||||||||||
|
See also: NAND gate. A NAND gate is made by inverting the output of an AND gate. The word NAND means that it is not AND. As the name suggests, it will give 0 when both the inputs are 1.
width=150 | Desired NAND Gate! | width=150 | NOR Construction | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Q = A NAND B | = [('''A''' NOR '''A''') NOR ('''B''' NOR '''B''') ] NOR [('''A''' NOR '''A''') NOR ('''B''' NOR '''B''') ] | |||||||||||||
|
See also: XNOR gate. An XNOR gate is made by connecting four NOR gates as shown below. This construction entails a propagation delay three times that of a single NOR gate.
width=150 | Desired XNOR Gate! | width=150 | NOR Construction | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Q = A XNOR B | = ['''A''' NOR ('''A''' NOR '''B''') ] NOR ['''B''' NOR ('''A''' NOR '''B''') ] | |||||||||||||
|
(A+\overline{B}) ⋅ (\overline{A}+B)
width=150 | Desired Gate! | width=150 | NOR Construction |
---|---|---|---|
Q = A XNOR B | = ['''B''' NOR ('''A''' NOR '''A''') ] NOR ['''A''' NOR ('''B''' NOR '''B''') ] |
(A+B) ⋅ (\overlineA+\overlineB)
width=150 | Desired XOR Gate! | width=150 | NOR Construction | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Q = A XOR B | = [('''A''' NOR '''A''') NOR ('''B''' NOR '''B''') ] NOR (A NOR B) | |||||||||||||
|
Alternatively, the 4-gate version of the XNOR gate can be used with an inverter. This construction has a propagation delay four times (instead of three times) that of a single NOR gate.
width=150 | Desired Gate! | width=150 | NOR Construction |
---|---|---|---|
Q = A XOR B | = NOR |