More complex combinational logic#

The two-input, single-output \(\tt AND\), \(\tt OR\), and \(\tt NOT\) operations we have looked at so far are the simplest logic functions. There are three ways that we can increase in complexity:

  • Using other basic logic functions

  • Increasing the number of inputs

  • Increasing both the number of inputs and the number of outputs

This chapter investigates each in turn.

Other basic logic functions#

XOR#

We can write this in shorthand as

\[ X = A\ {\tt XOR}\ B \]

or

\[ X = A \oplus B \]
Table 5 The logical \(\tt XOR\) operation.#

\(A\)

\(B\)

\(X\)

0

0

0

0

1

1

1

0

1

1

1

0

_images/xor.jpg

Fig. 3 \(\tt XOR\) function as circuit element.#

NOR#

We can write this in shorthand as

\[ X = A\ {\tt NOR}\ B \]

or

\[ X = \overline{A + B} \]
Table 6 The logical \(\tt NOR\) operation.#

\(A\)

\(B\)

\(X\)

0

0

1

0

1

0

1

0

0

1

1

0

_images/nor.jpg

Fig. 4 \(\tt NOR\) function as circuit element.#

NAND#

We can write this in shorthand as

\[ X = A\ {\tt NAND}\ B \]

or

\[ X = \overline{AB} \]
Table 7 The logical \(\tt NAND\) operation.#

\(A\)

\(B\)

\(X\)

0

0

1

0

1

1

1

0

1

1

1

0

_images/nand.jpg

Fig. 5 \(\tt NAND\) function as circuit element.#

Increasing the number of inputs#

Increasing both the number of inputs and the number of outputs#