Digital logic circuit schematics are made up of logic gates - small collections of transistors that implement boolean functions. Since they represent boolean operators, logic gates have one or more inputs and one output. A group of logic gates that forms a logical unit is called a macrofunction. Here is a table showing the basic boolean operators and their equivalent logic gate symbols:
Operator | NOT | AND | OR |
---|---|---|---|
Bool. Alg. | \(\bar{x}\) | \(xy\) | \(x+y\) |
Symbol | |||
Truth values | 1-0 | 0-0-0-1 | 0-1-1-1 |
In addition to the three simple gates above, several more are commonly given symbols of their own. The XOR (exclusive-OR) gate is a new gate, combining all three simple gates to achieve a new function. x XOR y is equivalent to \( x \bar{y} + \bar{x} y\). The other gates are all inverted versions of gates already shown.
Operator | NAND | NOR | XOR | XNOR |
---|---|---|---|---|
Bool. Alg. | \(\overline{xy}\) | \(\overline{x+y}\) | \(x \oplus y\) | \(\overline{x \oplus y}\) |
Symbol | ||||
Truth values | 1-1-1-0 | 1-0-0-0 | 0-1-1-0 | 1-0-0-1 |
Most of the operators and corresponding gates shown have had two inputs. Although it is possible to build gates with more than two inputs, it is not necessary to represent them in formal logic because any n-input gate may be built using n-1 two-input gates. This approach can lead to high gate delay in real circuits, so it is worth considering farther down in the design process how best to physically construct logic functions. Here are three equivalent versions of the same function:
\[a b c d \Longleftrightarrow a (b (c d)) \Longleftrightarrow (a b)(c d)\]
\[a b c d \Longleftrightarrow a (b (c d)) \Longleftrightarrow (a b)(c d)\]