NOR logic
{{Short description|Making other gates using just NOR gates}}
{{about|NOR Logic in the sense of building other logic gates using just NOR gates|NOR gates|NOR gate|NOR in the purely logical sense|Logical NOR|logic gates in general|Logic gate}}
{{Refimprove|date=November 2014}}
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).
NOR
{{main|NOR gate}}
A NOR gate is logically an inverted OR gate. It has the following truth table:
align=center style="text-align:center" | ||
Image:NOR ANSI Labelled.svg | ||
colspan=2 align=center|
Q = A NOR B {| class='wikitable' style="text-align:center" align=center |+Truth Table ! Input A !! Input B !! Output Q | ||
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 0 |
|}
Making other gates by using NOR gates
A NOR gate is a universal gate, meaning that any other gate can be represented as a combination of NOR gates.
=NOT=
{{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.
style="margin:auto; text-align:center;"
!width=150|Desired NOT Gate!!width=150|NOR Construction | |
Image:NOT ANSI Labelled.svg | Image:NOT from NOR.svg |
Q = NOT( A ) | = A NOR A |
colspan="2" style="text-align:center;"|
{| class="wikitable" style="text-align:center; margin:auto;" |+Truth Table ! Input A !! Output Q | |
0 | 1 |
1 | 0 |
|}
=OR=
{{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.
style="margin:auto; text-align:center;"
!width=150|Desired OR Gate!!width=150|NOR Construction | ||
Image:OR ANSI Labelled.svg | Image:OR from NOR.svg | |
class="nowrap"
|Q = A OR B | = ( A NOR B ) NOR ( A NOR B ) | |
colspan=2 align=center|
{| class="wikitable" style="text-align:center; margin:auto;" |+Truth Table ! Input A !! Input B !! Output Q | ||
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
|}
=AND=
{{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.
style="margin:auto; text-align:center;"
!width=150|Desired AND Gate!!width=150|NOR Construction | ||
Image:AND ANSI Labelled.svg | Image:AND from NOR.svg | |
class="nowrap"
|Q = A AND B | = ( A NOR A ) NOR ( B NOR B ) | |
colspan=2 align=center|
{| class="wikitable" style="text-align:center; margin:auto;" |+Truth Table ! Input A !! Input B !! Output Q | ||
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
|}
=NAND=
{{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.
style="margin:auto; text-align:center;"
!width=150|Desired NAND Gate!!width=150|NOR Construction | ||
Image:NAND ANSI Labelled.svg | Image:NAND from NOR.svg | |
class="nowrap"
|Q = A NAND B | = [ ( A NOR A ) NOR ( B NOR B ) ] NOR [ ( A NOR A ) NOR ( B NOR B ) ] | |
colspan=2 align=center|
{| class="wikitable" style="text-align:center; margin:auto;" |+Truth Table ! Input A !! Input B !! Output Q | ||
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
|}
=XNOR=
{{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.
style="margin:auto; text-align:center;"
!width=150|Desired XNOR Gate!!width=150|NOR Construction | ||
Image:XNOR ANSI Labelled.svg | Image:XNOR from NOR.svg | |
class="nowrap"
|Q = A XNOR B | = [ A NOR ( A NOR B ) ] NOR [ B NOR ( A NOR B ) ] | |
colspan=2 align=center|
{| class="wikitable" style="text-align:center; margin:auto;" |+Truth Table ! Input A !! Input B !! Output Q | ||
0 | 0 | 1 |
625656
| 0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
|}
Alternatively, an XNOR gate is made by considering the conjunctive normal form , noting from de Morgan's Law that a NOR gate is an inverted-input AND gate. This construction uses five gates instead of four.
align=center style="text-align:center"
!width=150|Desired Gate!!width=150|NOR Construction | |
Image:XNOR ANSI Labelled.svg | Image:XNOR from NOR 2.svg |
class="nowrap"
|Q = A XNOR B | = [ B NOR ( A NOR A ) ] NOR [ A NOR ( B NOR B ) ] |
=XOR=
{{see also|XOR gate}}
An XOR gate is made by considering the conjunctive normal form , noting from de Morgan's Law that a NOR gate is an inverted-input OR gate. This construction entails a propagation delay three times that of a single NOR gate and uses five gates.
style="margin:auto; text-align:center;"
!width=150|Desired XOR Gate!!width=150|NOR Construction | ||
Image:XOR ANSI Labelled.svg | Image:XOR from NOR.svg | |
class="nowrap"
|Q = A XOR B | = [ ( A NOR A ) NOR ( B NOR B ) ] NOR ( A NOR B ) | |
colspan=2 align=center|
{| class="wikitable" style="text-align:center; margin:auto;" |+Truth Table ! Input A !! Input B !! Output Q | ||
0 | 0 | 0 |
625656
| 0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
|}
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.
align=center style="text-align:center"
!width=150|Desired Gate!!width=150|NOR Construction | |
Image:XOR ANSI Labelled.svg | Image:XOR from NOR 2.svg |
class="nowrap"
|Q = A XOR B | = { [ A NOR ( A NOR B ) ] NOR [ B NOR ( A NOR B ) ] } NOR { [ A NOR ( A NOR B ) ] NOR [ B NOR ( A NOR B ) ] } |
See also
- NAND logic — Like NOR gates, NAND gates are also universal gates.
- Functional completeness