You are on page 1of 10

Discussion of Theory

In digital circuit theory, combinational logic circuit consists of logic gates


whose outputs at any time are determined from only the present combination of
inputs. A combinational circuit performs an operation that can be specified
logically by a set of Boolean functions. This is in contrast to sequential circuits
which employ storage elements in addition to logic gates.
A combinational circuit consists of an interconnection of logic gates.
Combinational logic gates react to the values of the signals at their inputs and
produce the value of the output signal, transforming binary information from the
given input data to a required output data. A block diagram of a combinational
circuit is shown in Fig.1. The n input binary variables come from an external
source; the m output variables are produced by the internal combinational logic
circuit and go to an external destination. Each input and output variable exists
physically as an analog signal whose values are interpreted to be a binary signal
that represents logic 1 and logic 0. For n input variables, there are 2n possible
combinations of the binary inputs. For each possible input combination, there is
one possible value for each output variable. Thus, a combinational circuit can be
specified with a truth table that lists the output values for each combination of
input variables. A combinational circuit also can be described by m Boolean
functions, one for each output variable. Each output function is expressed in terms
of the n input variables.

Figure 1: Block Diagram of Combinational circuit

Combinational logic is used in computer circuits to perform Boolean


algebra on input signals and on stored data. Practical computer circuits normally
contain a mixture of combinational and sequential logic. For example, the part of
an arithmetic logic unit, or ALU, that does mathematical calculations is constructed
using combinational logic. Some examples of typical combinational circuits are
binary adders, subtractors, comparators, decoders, encoders, multiplexers,
demultiplexers.
DESIGN OF COMBINATIONAL CIRCUITS

The design of combinational circuits starts from the verbal outline of the
problem and ends in a logic circuit diagram. The procedure involves the following
steps:
1. State the given problem completely and exactly
2. Interpret the problem, and determine the available input variables and
required output variables.
3. Assign a letter symbol to each input and output variables.
4. Design the truth table, which defines the required relations between
inputs and outputs.
5. Obtain the simplified Boolean expression for each output.
6. Draw the logic circuit diagram to implement the Boolean expression.
Binary Adder- Subtractor

The binary adder- subtractor is a combinational circuit that can perform the
operations of addition and subtraction with the binary numbers. The half adder
design is carried out first, from which the full-adder will be developed. The subtraction
circuit is included in a complementing circuit.

Half-Adder (HA) circuit

The combinational circuit that adds only two bits is called "half-adder". Figure 2
shows a block diagram of the half-adder.

Figure 2: Block diagram of half- adder

Since there are two inputs (x and y), only four possible combinations of inputs can
be applied. These four possibilities and the resulting sums are shown in following
truth table

X
Y

C
S

0
0
0
0

0
1
0
1

1
0
0
1

1
1
1
0

Table 1: Truth table of the Half-Adder

From the above truth table, we observe that:

S = x y = x' y + xy'

C = xy

Now, from these Boolean functions we can construct the logic circuit of the HalfAdder as shown in Figure 3.

Figure 3: Implementation of the Half Adder

Full-Adder (FA) circuit

To add numbers with more than one bit, we must provide a way for carries
between bit positions. This basic circuit for this operation is called a full adder. Full
adder is a combinational circuit that adds three bits and generates a sum and
carry. Figure 4 shows a block diagram of the full-adder.

Figure 4: Block diagram of full- adder

The truth table for the full-adder circuit is as follows:

x
y
z(Cin)
Cout
S

0
0
0
0
0

0
0
1
0
1

0
1
0
0
1

0
1
1
1
0

1
0
0
0
1

1
0
1
1
0

1
1
0
1
0

1
1
1
1
1

Table 2: Truth Table of the Full-Adder

From the truth table, we can obtain the Boolean expression of C out & S
outputs as follows:

S = x' y' z + x' yz'+xy' z'+xyz

C = x' yz + xy' z + xyz'+xyz

Using Map-simplification method, we can get the simplified forms as follows :

S=xyz
C = xy + yz + xz

Now, we can construct the full-adder circuit based on the simplified Boolean
expression of S and C outputs. Figure 5 shows the logic diagram of the full-adder.

Figure 5: Implementation of full-adder

Binary Adder-Subtractor Circuit

The subtraction of two binary numbers can be done by taking the 2s complement
of the subtrahend and adding it to the minuend. The 2s complement can be

obtained by taking the 1s complement and adding 1. To perform A - B, we


complement the four bits of B, add them to the four bits of A, and add 1 to the
input carry. XOR gate can be used as an inverter if placing a logic 1 at one of the
inputs. This helps in getting the 1s complement of the subtrahend; then we add
1 to get the 2s complement; which in turn is added to the minuend to get the
final result of the subtraction

Figure 6: Four bit adder-subtractor

You might also like