0% found this document useful (0 votes)
8 views13 pages

Combinational Circuit

Dat

Uploaded by

Kanhaiya Mehra
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
8 views13 pages

Combinational Circuit

Dat

Uploaded by

Kanhaiya Mehra
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 13

Combinational Circuit:-

What is a Combinational Circuit: -

A combinational circuit is a type of digital logic circuit whose output depends on the present
input values only and does not depend on past input and output values. Therefore, a
combinational circuit is considered to not have a memory element in its circuit that stores
previous inputs and outputs. Instead, it consists of a certain number of input lines to apply
current input values and a certain number of output lines.

The most important characteristic of a combinational circuit is that it does not have any
feedback path between input and output. Therefore, the combinational circuits can be
categorized as open-loop systems.

Block Diagram of Combinational Circuit

The following figure depicts the block diagram of

+ a combinational logic circuit.

Here, we can see that there are only three key elements in the circuit diagram of a combinational
circuit, they are −

 Input Lines − The input lines are used to enter the input values into the combinational
circuit.
 Processing Unit − It is the main element that processes the input values depending on
the type of the circuit. For example, a full adder adds three binary bits.
 Output Lines − The output lines are used to take results generated by the circuit.

Characteristics of Combinational Circuits

The following are the main characteristics of combinational circuits −

 The output of a combinational circuit, at any instant of time, depends only on the present
input values at that instant of time.
 Combinational circuits do not use any kind of memory element in their circuits. Thus,
the previous state of input and output values do not have any effect on the present
operation of the circuit.
 The output of a combinational circuit can be entirely predicted using its logical
operation and input values.
 Combinational circuits produce an instantaneous output in response to any change in
its input values.
Types of Combinational Circuits

In digital electronics, the combinational circuits are important components of digital systems.
Depending on the functions performed, there are various types of combinational circuits. Some
common types of combinational circuits and their functions are explained below −

 Binary Adders
 Binary Subtractors
 Multiplexers (MUX)
 Demultiplexers (DEMUX)
 Encoders
 Decoders

In the following sections of this chapter, we will discuss briefly about each of these
combinational circuits along with their functions.

Binary Adders

A binary adder is a combinational circuit that performs the addition of binary digits or bits.
Depending on the design and configuration, there are two types of binary adders namely, Half
Adder and Full Adder.

Half Adder

The half adder is a combinational logic circuit with two inputs and two outputs. The half adder
circuit is designed to add two single-bit binary numbers A and B. It is the basic building block
for the addition of two single-bit numbers. This circuit has two outputs namely, sum and carry.

Half adder is a combinational circuit, which performs the addition of two binary numbers A
and B are of single bit. It produces two outputs sum, S & carry, C.

The Truth table of Half adder is shown below.

Inputs Outputs

A B C S

0 0 0 0

0 1 0 1

1 0 0 1

1 1 1 0
When we do the addition of two bits, the resultant sum can have the values ranging from 0 to
2 in decimal. We can represent the decimal digits 0 and 1 with single bit in binary. But, we
can’t represent decimal digit 2 with single bit in binary. So, we require two bits for representing
it in binary.

Let, sum, S is the Least significant bit and carry, C is the Most significant bit of the resultant
sum. For first three combinations of inputs, carry, C is zero and the value of S will be either
zero or one based on the number of ones present at the inputs. But, for last combination of
inputs, carry, C is one and sum, S is zero, since the resultant sum is two.

From Truth table, we can directly write the Boolean functions for each output as

S=A⊕BS=A⊕B
C=ABC=AB

We can implement the above functions with 2-input Ex-OR gate & 2-input AND gate.
The circuit diagram of Half adder is shown in the following figure.

In the above circuit, a two input Ex-OR gate & two input AND gate produces sum, S & carry,
C respectively. Therefore, Half-adder performs the addition of two bits.

Full Adder

The full adder is designed to overcome the drawback of a half adder which is the ability to add
only two bits. Therefore, the full adder is a three-input and two-output combinational circuit.
Where, the inputs are two one-bit numbers A and B, and a carry C from the previous addition.
The outputs are sum and carry output.

Full adder is a combinational circuit, which performs the addition of three bits A, B and Cin.
Where, A & B are the two parallel significant bits and Cin is the carry bit, which is generated
from previous stage. This Full adder also produces two outputs sum, S & carry, Cout, which are
similar to Half adder.
The Truth table of Full adder is shown below.

Inputs Outputs

A B 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

When we do the addition of three bits, the resultant sum can have the values ranging from 0 to
3 in decimal. We can represent the decimal digits 0 and 1 with single bit in binary. But, we
can’t represent the decimal digits 2 and 3 with single bit in binary. So, we require two bits for
representing those two decimal digits in binary.

Let, sum, S is the Least significant bit and carry, Cout is the Most significant bit of resultant
sum. It is easy to fill the values of outputs for all combinations of inputs in the truth table. Just
count the number of ones present at the inputs and write the equivalent binary number at
outputs. If Cin is equal to zero, then Full adder truth table is same as that of Half adder truth
table.

We will get the following Boolean functions for each output after simplification.

S=A⊕B⊕CinS=A⊕B⊕Cin
cout=AB+(A⊕B)cincout=AB+(A⊕B)cin

The sum, S is equal to one, when odd number of ones present at the inputs. We know that Ex-
OR gate produces an output, which is an odd function. So, we can use either two 2input Ex-
OR gates or one 3-input Ex-OR gate in order to produce sum, S. We can implement carry,
Cout using two 2-input AND gates & one OR gate. The circuit diagram of Full adder is shown
in the following figure.
This adder is called as Full adder because for implementing one Full adder, we require two
Half adders and one OR gate. If Cin is zero, then Full adder becomes Half adder. We can verify
it easily from the above circuit diagram or from the Boolean functions of outputs of Full adder.

Binary Subtractors

A binary subtractor is a combinational logic circuit used to subtract one binary number from
another. Similar to binary adder, there are two types of binary subtractors namely, half-
subtractor and full-subtractor.

Half Subtractor

A half subtractor is a combination circuit with two inputs (A and B) and two outputs (difference
and borrow). It produces the difference between the two binary bits at the input and also
produces an output (Borrow) to indicate if a 1 has been borrowed. In binary subtraction (A-B),
A is called a Minuend bit and B is called a Subtrahend bit.

Full Subtractor

The full subtractor is also a combinational circuit with three inputs A, B, and Bin, and two
outputs D and Bout.

Here, A is the minuend bit, B is the subtrahend bit, Bin is the previous borrow bit produced by
the previous stage, D is the difference output and Bout is the borrow output.

Multiplexers (MUX)

A multiplexer is a special type of combinational logic circuit. It consists of n-data input lines,
one output, and m-select lines. For a multiplexer, n = 2m.
A multiplexer is a digital circuit that selects one of the n data inputs and routes it to the output
line. The selection of one of the n data inputs is done by the select lines. Depending on the
digital code applied at the select lines, one out of "n" data inputs is selected and transmitted to
the output line.

In some multiplexers, there is also an enable input E which is useful in cascading of multiple
multiplexers.

Depending on the number of input lines, there can be several types of multiplexers. Some
common types of multiplexers include 2:1 Multiplexer, 4:1 Multiplexer, 16:1 Multiplexer, and
32:1 Multiplexer.

Demultiplexers (DEMUX)

A demultiplexer performs a distribution operation i.e., it receives one data input and distributes
it over several output lines.

A demultiplexer has only one input line, "n" output lines, and "m" select lines. At a time, only
one output line is selected by the digital code applied to the select lines and the data input is
transmitted to the selected output line.

Demultiplexers can be classified into various types depending on the number of output lines.
Some commonly used types of demultiplexers include: 1:2 Demultiplexer, 1:4 Demultiplexer,
1:16 Demultiplexer, and 1:32 Demultiplexer.

Encoders

An encoder is a combinational circuit that is designed to convert a piece of information into a


binary code. An encoder has n number of input lines and m number of output lines, where n =
2m.
An encoder generates an m-bit binary code corresponding to the digital input applied to it. In
other words, an encoder accepts an n-input digital word and converts it into an m-bit another
digital word.

Examples of encoder include 4-to-2 encoder, octal-to-binary encoder, hexadecimal-to-binary


encoder, priority encoder, etc.

Decoders

A decoder is a combinational circuit that converts a binary code into a normal word like a
decimal digit. A decoder typically consists of n input lines and m output lines, where the m =
2n.

Decoders are widely used in display drivers, data distribution systems, etc.

Some of the commonly used types of decoders are 2 to 4 decoder, 3 to 8 decoder, 4 to 16


decoder, BCD to seven segment decoder, etc.

Applications of Combinational Circuits

Combinational circuits are the fundamental building blocks in various digital devices and
systems. They are widely used in several digital devices in which combinational circuits are
used −

 Microprocessors and Microcontrollers


 Digital Computers
 Calculators
 Digital Communication Systems
 Keyboards
 Smartphones and Digital Watches, etc.

Conclusion

A combinational logic circuit is a key component in various digital devices and systems. It can
be defined as an interconnected system of digital components whose output depends only on
the present states of inputs and it does not depend on past input and output values.
What is a Sequential Circuit?
A sequential circuit is a logic circuit that consists of a memory element to
store history of past operation of the circuit. Therefore, the output of a
sequential circuit depends on present inputs as well as past outputs of the
circuit.

The block diagram of a typical sequential circuit is shown in the following figure

Here, it can be seen that a sequential circuit is basically a combination of


a combinational circuit and a memory element. The combinational circuit
performs the logical operations specified, while the memory element
records the history of operation of the circuit. This history is then used to
perform various logical operations in future.

The sequential circuits are named so because they use a series of latest
and previous inputs to determine the new output.

A flip-flop is a sequential digital electronic circuit having two stable states


that can be used to store one bit of binary data. Flip-flops are the
fundamental building blocks of all memory devices.

Types of Flip-Flops
 S-R Flip-Flop
 J-K Flip-Flop
 D Flip-Flop
 T Flip-Flop

S-R Flip-Flop

This is the simplest flip-flop circuit. It has a set input (S) and a reset input (R). When in this
circuit when S is set as active, the output Q would be high and the Q' will be low. If R is set
to active then the output Q is low and the Q' is high. Once the outputs are established, the
results of the circuit are maintained until S or R get changed, or the power is turned off.
Truth Table of S-R Flip-Flop

S R Q State

0 0 0 No Change

0 1 0 Reset

1 0 1 Set

1 1 X

J-K Flip-Flop

Because of the invalid state corresponding to S=R=1 in the SR flip-flop, there is a need of
another flip-flop. The JK flip-flop operates with only positive or negative clock transitions.
The operation of the JK flip-flop is similar to the SR flip-flop. When the input J and K are
different then the output Q takes the value of J at the next clock edge.

When J and K both are low then NO change occurs at the output. If both J and K are high,
then at the clock edge, the output will toggle from one state to the other.

Truth Table of JK Flip-Flop

J K Q State

0 0 0 No Change

0 1 0 Reset

1 0 1 Set

1 1 Toggles Toggle
D- Flip-Flop

In a D flip-flop, the output can only be changed at positive or negative clock transitions, and
when the inputs changed at other times, the output will remain unaffected. The D flip-flops
are generally used for shift-registers and counters. The change in output state of D flip-flop
depends upon the active transition of clock. The output (Q) is same as input and changes only
at active transition of clock

Truth Table of D Flip-Flop

D Q

0 0

1 1

T Flip-Flop

A T flip-flop (Toggle Flip-flop) is a simplified version of JK flip-flop. The T flop is obtained


by connecting the J and K inputs together. The flip-flop has one input terminal and clock
input. These flip-flops are said to be T flip-flops because of their ability to toggle the input
state. Toggle flip-flops are mostly used in counters.
Truth Table of T Flip-Flop

T Q(t) Q(t+1)

0 0 0

0 1 1

1 0 1

1 1 0

Registers:-
A Register is a collection of flip flops. A flip flop is used to store single bit digital data. For
storing a large number of bits, the storage capacity is increased by grouping more than
one flip flops. If we want to store an n-bit word, we have to use an n-bit register containing
n number of flip flops.

The register is used to perform different types of operations. For performing the
operations, the CPU use these registers. The faded inputs to the system will store into the
registers. The result returned by the system will store in the registers. There are the
following operations which are performed by the registers:

Fetch:
It is used

o To take the instructions given by the users.


o To fetch the instruction stored into the main memory.

Decode:
The decode operation is used to interpret the instructions. In decode, the operation
performed on the instructions is identified by the CPU. In simple words, the decode
operation is used to decode the instructions.

Execute:
The execution operation is used to store the result produced by the CPU into the memory.
After storing this result, it is displayed on the user screen.

Types of Registers
There are various types of registers which are as follows:
MAR or Memory Address Register
The MAR is a special type of register that contains the memory address of the data and
instruction. The main task of the MAR is to access instruction and data from memory in
the execution phase. The MAR stores the address of the memory location where the data
is to be read or to be stored by the CPU.

Program Counter
The program counter is also called an instruction address register or instruction pointer.
The next memory address of the instruction, which is going to be executed after
completing the execution of current instruction is contained in the program counter. In
simple words, the program counter contains the memory address of the location of the
next instruction.

Accumulator Register
The CPU mostly uses an accumulator register. The accumulator register is used to store
the system result. All the results will be stored in the accumulator register when the CPU
produces some results after processing.

MDR or Memory Data Register


Memory Data Register is a part of the computer's control unit. It contains the data that we
want to store in the computer storage or the data fetched from the computer storage. The
MDR works as a buffer that contains anything for which the processor is ready to use it.
The MDR contains the copied data of the memory for the processor. Firstly the MDR holds
the information, and then it goes to the decoder.

The data which is to be read out or written into the address location is contained in
the Memory Data Register.

The data is written in one direction when it is fetched from memory and placed into the
MDR. In write instruction, the data place into the MDR from another CPU register. This
CPU register writes the data into the memory. Half of the minimal interface between the
computer storage and the microprogram is the memory data address register, and the
other half is the memory data register.
Index Register
The Index Register is the hardware element that holds the number. The number adds to
the computer instruction's address to create an effective address. In CPU, the index
register is a processor register used to modify the operand address during the running
program.

Memory Buffer Register


Memory Buffer Register is mostly called MBR. The MBR contains the Metadata of the data
and instruction written in or read from memory. In simple words, it adds is used to store
the upcoming data/instruction from the memory and going to memory.

Data Register
The data register is used to temporarily store the data. This data transmits to or from a
peripheral device.

Shift Register
A group of flip flops which is used to store multiple bits of data and the data is moved from
one flip flop to another is known as Shift Register. The bits stored in registers shifted
when the clock pulse is applied within and inside or outside the registers. To form an n-bit
shift register, we have to connect n number of flip flops. So, the number of bits of the
binary number is directly proportional to the number of flip flops. The flip flops are
connected in such a way that the first flip flop's output becomes the input of the other flip
flop.

A Shift Register can shift the bits either to the left or to the right. A Shift Register, which
shifts the bit to the left, is known as "Shift left register", and it shifts the bit to the right,
known as "Right left register".

The shift register is classified into the following types:

o Serial In Serial Out


o Serial In Parallel Out
o Parallel In Serial Out
o Parallel In Parallel Out
o Bi-directional Shift Register
o Universal Shift Register

You might also like