Combinational Circuits
Introduction
Digital circuits can be classified into two types: → Combinational digital circuits
and
→ Sequential digital circuits.
Combinational Digital Circuits
• Combination Logic Circuits are made up from basic gates (AND, OR, NOT) or universal
gates (NAND, NOR) gates that are "combined" or connected together to produce more
complicated switching circuits. These logic gates are the building blocks of combinational
logic circuits. An example of a combinational circuit is a decoder, which converts the
binary code data present at its input into a number of different output lines, one at a time
producing an equivalent decimal code at its output. In these circuits “the outputs at any
instant of time depends on the inputs present at that instant only.”
• For the design of Combinational digital circuits Basic gates (AND, OR, NOT) or universal
gates (NAND, NOR) are used. Examples for combinational digital circuits are Half adder,
Full adder, Half subtractor, Full subtractor, Code converter, Decoder, Multiplexer,
Demultiplexer, Encoder, ROM, etc.
Fig.1 Combinational Digital Circuit
Classification of Combinational Logic
•
Fig.2 Combinational D igital Circuit
→ Half Adder: A half adder is a logical circuit that performs an addition operation on two
binary digits. The half adder produces a sum and a carry value which are both binary digits.
X Y Carry Sum
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
Sum =
Carry = XY
H. A. Y
Y Carry Sum = X Y
Carry = XY
X
Sum X
Fig. 3 Half Adder
→ Half Subtractor: The half-subtractor is a combinational circuit which is used to perform
subtraction of two bits. It has two inputs, X (minuend) and Y (subtrahend) and two outputs
Difference and Borrow.
X Y Borrow Diff. Diff. = X
0 0 0 0 = XY’ + X’Y X Diff. = X
0 1 1 1 Borrow = X’ Y Y
1 0 0 1 H.S.
1 1 0 0
X Borrow =X
Y
Fig. 4 Half Subtractor
X Y Z Ca Sum → Half adder can be
rr converted into half
subtractor with an
y
00 0 01 0 0 F.A.
0 0 0 0 1
0 1 1 0 1
1 1 0 1 0
1 0 1 0 1
1 01 0 00
1
1 1 1 1
1
1
additional inverter. X Y Z
→ Full adder: Full adder circuit adds three bit binary numbers (X,Y,Z) & outputs two nos. of
one bit binary numbers, Sum & Carry. Sum
X Y Sum
Z Carry
Carry
Fig. 5 Full Adder
→ Full adder can be implemented by using two half adders and an OR
gate.
Sum
H.A. H.A.
Z Carry
X
Y Sum
Z
Carry
X
Y
Fig. 6 Full Adder
→ Full subtractor: It subtracts one bit from the other by taking pervious borrow into
account and generates difference and borrow
X Diff.
H.S H.S
Y
Z Borrow
X
Y Diff.
Z
Borrow
Diff. =X
Borrow =
Fig. 8 Full Subtractor
• Full subtractor can be implemented by using two half- subtractors and an OR gate.
Fig. 8 Full Subtractor
• Full adder can be converted into full subtractor with an additional inverter.
• Four bit binary parallel adder can be constructed by using three full adders and one half
adder or by using four full adders with input carry for least significant bit full adder is zero.
Decoder: A decoder is a logic circuit that converts an n bit binary input code
into M (=2n) output lines such that each output line will be activated for only
one of the possible combinations of inputs. (OR)
A decoder is a Combinational circuit that converts binary information from ‘n’ input lines to a
maximum of 2n unique output lines.
E.g. 2 4 line Decoder (it is also called one four line decoder)
Decoders are available in two different types of output forms: (1) Active
high output type decoders and (2) Active low output type of decoders.
Active high output type of decoders are constructed with AND gates and
active low output type of decoders are constructed with NAND gates.
Truth table of active high output type of decoder is given below:
Fig. 9 Binary Decoder with Active High Output
Active low output types of decoders will give the output low for given input combination and
all other outputs are high.
Fig. 10 Binary Decoder with Active Low Output
3 to 8 line decoder is also called Binary-to-Octal decoder or converter. It is also called 1of
8 decoder, because only one of the 8 outputs is active at a time.
Decoders are widely used in the memory system of computer, where they respond to the
address code input from the CPU to activate the memory storage location specified by the
address code.
Decoders are also used to convert binary data to a form suitable for displaying on decimal
read outs.
Decoders can be used to implement combinational circuits, Boolean functions etc.
Example:
Implement full adder with a decoder.
Solution:
S(x, y, z) =
C(x, y, z) =
Y
decoder
Fig 5.15
Example:
Implement 3 decoder using decoder.
Solution:
Fig. 11
Demultiplexer: A decoder with enable input, acts as demultiplexer.” "Demultiplexer", is
a logical circuit that takes a single input source and sends it to one of several 2 n possible
output lines. The selection of specific output line is controlled by the bit values of ‘n’
selection lines.
A B
X X 0 0 0 0 E i/p
1
0 0 1 0 0 0
0 1 0 1 0 0
1 0 0 0 1 0
1 1 0 0 0 1
E 1
A B
Fig. 12 Binary Demultiplexer
Multiplexer
A multiplexer or mux is a device that selects one of several analog or digital input signals and
forwards the selected input into a single line. A multiplexer of 2 n inputs has n select lines,
which are used to select which input line to send to the output.”
Truth table
4 Y
Y 0 0
MUX 0 1
1 0
1 1
Fig.13 Binary Multiplexer
Multiplexers can be used for the implementation of Boolean functions, combinational
circuits. They can also used for parallel to serial conversion.
Multiplexer is also called data selector or universal circuit.
All three variable Boolean equations can be implemented by using 8 1 multiplexer without
using any additional gates. Some but not all three variable Boolean equations can also be
implemented with 4 1 mux without using any additional gates.
Example:
Implement Boolean function F(A, B, C) with = mux
Solution:
Truth table
A B C F
0 0 0 0 C
0 0 1 1 C
Y
C
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1 A B
1 1 0 1
1 1 1 0
Fig 5.19
When AB = 00, F is equal to C, similarly for all other combinations of AB, input to mux is
defined in terms of C.
Encoder: A decoder identifies a particular code present at the input terminals of the circuit.
The inverse process is called Encoding.”An Encoder has number of inputs (2 n) one and
only one of which is in the high state or active, and an n-bit code is generated upon which
of the inputs is excited. An encoder is a digital function that produces a reverse operation
from that of a decoder. An encoder has (2 n or less) input lines and n output lines. The
output lines generate the binary code for the input variables. An example of an encoder
shown in fig. The octal to binary encoder consists of eight inputs, one for each of the digits,
and three outputs that generate the corresponding binary number.
The encoder in figure below assumes that only one input line can be equal to 1 at any time;
otherwise the circuit has no meaning. Note that the circuit has eight inputs and could have
=256 possible input combinations. Only eight of these combinations have any meaning.
The other inputs combinations are don’t care conditions.
Fig.14 Octal to Binary Encoder
ROM (read Only Memory): ROM is nothing but the combination of decoder and Encoder.
It is a semi conductor memory and which is a permanent memory, ROM can also be
defined as a Simple Code conversion unit.
N inputs
M outputs
Fig. 15
ROM = Fixed AND, Programmable OR
PAL = Programmable AND, Fixed OR PLA = Programmable AND, Programmable OR.
Important Points
Two cross coupled inverters will form a basic latch which can store one bit of information.
Flip-flops: Flip-Flop is also called Bistable multivibrator. It can store one bit of
information. In a flip-flop one output is always complement of the other output. Flip-
flop has two stable states.