Combinational Circuits

Externally, a logic circuit is a simple input-output device:

Of course there can be any number of input wires and any number of output wires.

The input and output values are always either 0 (low voltage) or 1 (high voltage).

Internally, a logic circuit is implemented as a network of logic gates connected by wires.

Logic circuits divide into two neat categories: combinational circuits and sequential circuits.

A combinational circuit has no memory of previous inputs, while a sequential circuit does. The memory capacity of a sequential circuit (measured in bits, bytes, kilobytes, etc.) determines how far back its memory stretches.

Since a combinational circuit has no memory of previous inputs, the output at time t is completely determined by the input at time t. In other words, given the same input on two different occasions, we would expect the same output.

This is not true for a sequential circuit because the output at time t depends on the input at time t and the contents of memory. In other words, the output at time t depends on the inputs at times t, t � 1, t � 2, etc.

Boolean Logic

The inputs to a combinational circuit above (D) are x, y, and z and the outputs are a, b, and c.There are eight possible inputs to D:

xyz
000
001
010
011
100
101
110
111

If we focus on just one output, say b, then each of these inputs will cause the value of b to be either 0 or 1. For example:

xyz=> abc
000������� 1
001������� 1
010������� 1
011������� 0
100������� 1
101������� 0
110������� 1
111������� 0

We can think of b as a function of x, y, and z:

b = F(x, y, z)

If we identify 0 with the Boolean value FALSE and 1 with the Boolean value TRUE, then it turns out that F can be represented by a Boolean expression.

We can quickly develop a Boolean expression from a table by forming a disjunction of all combinations of rows that produce a value of 1:

(!x && !y && !z) || (!x && !y && z) || (!x && y && !z) || (x && !y && !z) || (x && y && !z)

After simplifying the expression:

(!x && !y || !z)

We can build a circuit:

Examples