Introduction to
Computer Systems
LECTURE 5.1: LOGIC CIRCUITS & SIMPLIFICATION
Objectives
After completing this module you will be
able to:
Understand what a logic circuit is.
Understand how to simplify the digital logic
circuits
Understand how to simplify the circuits
using Boolean Algebra
Understand how to simplify the circuits
using K-Map
Semiconductors to
Computers
Increasing level of complexity:
Transistors built from semiconductors
Logic gates built from transistors
Logic functions built from gates
Flip-flops built from logic gates
Counters and sequencers from flip-flops
Microprocessors from sequencers
Computers from microprocessors
3
Logic Gates
Logic Gates are the building blocks of Digital
Circuits
Logic Gate is an electronic circuit having one
or more than one input and only one output
The relationship between the input and the
output is based on a certain logic
Inputs and Outputs can be represented as binary
variables (logic variables, Boolean variables)
Logic Gates
Used algebraic or tabular forms to describe the
manipulation and processing of binary information.
Important advantages for two-valued Digital
Circuit:
Mathematical Model – Boolean Algebra
Can help design, analyse, simplify Digital Circuits.
Digital Logic Circuits
Digital Logic Circuits
7
Simplification of the
Digital Logic Circuits
Digital Logic Circuits
Simplification of the Digital Logic
Circuits
Why do we need simplification?
To reduce the number of gates required to build the
circuit and hence:
Reduce the cost
Reduce the power consumption
Reduce the space required
Reduce the propagation delay
Simplification of the Digital Logic
Circuits (Contd.)
Methods to Simplify the Digital Logic Circuits
Using Truth Table
Using Mathematical Method
Using Truth Table
The problem is analyzed
The truth table is developed
Using the truth table the circuit is built.
Simplification of Combinational Circuits
Using Mathematical Methods
There are two methods to simplify the
combinational Circuits
Boolean Algebraic method
K-map
Simplification of Combinational
Circuits
Simplification of Combinational
Circuits
K-Map to Simplify the
Digital Logic Circuits
Introduction : K-Map
The Karnaugh map was invented in 1952 by Edward W. Veitch.
It was further developed in 1953 by Maurice Karnaugh, a physicist
at Bell Labs, to help simplify digital electronic circuits.
While exploring the new field of digital logic and its application to
the design of telephone circuits, he invented a graphical way of
visualizing and then simplifying Boolean expressions.
This graphical representation, now known as a Karnaugh map, or
Kmap, is named in his honor.
16
Description of K-maps and
Terminology
A Kmap is a matrix consisting of rows and
columns that represent the output values of a
Boolean function.
The output values placed in each cell are derived
from the minterms of a Boolean function.
A minterm is a product term that contains all of the
function’s variables exactly once, either
complemented or not complemented.
17
Description of Kmaps and
Terminology
For example, the minterms for a function having the
inputs x and y are:
Consider the Boolean function,
Its minterms are:
A two-variable function, such as
f(x,y), has 22= 4 minterms:
18
Description of Kmaps and
Terminology
Similarly, a function
having three inputs, has
the minterms that are
shown in this diagram.
23 =8 miniterms
19
Description of Kmaps and
Terminology
A Kmap has a cell for each
minterm.
This means that it has a cell for
each line for the truth table of a
function.
The truth table for the function
F(x,y) = xy is shown at the right
along with its corresponding
Kmap.
20
Description of Kmaps and
Terminology
As another example, we give
the truth table and KMap for
the function, F(x,y) = x + y at
the right.
This function is equivalent to
the OR of all of the minterms
that have a value of 1. Thus:
21
Kmap Simplification for Two
Variables
Of course, the minterm function that we derived from
our Kmap was not in simplest terms.
That’s what we started with in this example.
We can, however, reduce our complicated expression to
its simplest terms by finding adjacent 1s in the Kmap
that can be collected into groups that are powers of two.
In our example, we have two
such groups.
Can you find them?
22
Kmap Simplification for Two
Variables
The best way of selecting two groups of 1s form
our simple Kmap is shown below.
We see that both groups are powers of two and
that the groups overlap.
23
Example -1
Consider the following map. Using algebraic simplification,
Z = AB + AB
Z = A(B+ B)
Z=A
B becomes redundant
Referring to the map, the two adjacent 1's
are grouped together. Through inspection
it can be seen that variable B has its true
and false form within the group. This
eliminates variable B leaving only
The function plotted is: variable A which only has its true form.
Z = f(A,B) = AB + AB The minimized answer therefore is Z = A.
24
Kmap Simplification for Two
Variables
The rules of K-map simplification are:
Groupings can contain only 1s; no 0s.
Groups can be formed only at right angles; diagonal
groups are not allowed.
The number of 1s in a group must be a power of 2 – even
if it contains a single 1.
The groups must be made as large as possible.
Groups can overlap and wrap around the sides of the
Kmap.
25
Karnaugh Maps – Rules
Group only elements containing 1
26
Karnaugh Maps – Rules
Only Horizontal and Vertical Grouping
Diagonal not allowed
27
Karnaugh Maps – Rules
Groups Powers of 2
28
Karnaugh Maps – Rules
Groups Power of 2
29
Karnaugh Maps – Rules
Each group should be large as possible
30
Karnaugh Maps – Rules
Groups may
overlap
31
Karnaugh Maps – Rules
Groups may wrap around the table
32
Karnaugh Maps – Rules
Should have few groups as possible
33
Example-2
Consider the following map. Pairs of 1's are grouped as shown above, and the
simplified answer is obtained by using the following
steps:
◦ Note that two groups can be formed for the example given above, bearing
in mind that the largest rectangular clusters that can be made consist of
two 1s.
◦ Notice that a 1 can belong to more than one group.
◦ The first group labelled I, consists of two 1s which correspond to A = 0, B =
0 and A = 1, B = 0.
◦ Put in another way, all squares in this example that correspond to the area
of the map where B = 0 contains 1s, independent of the value of A.
◦ So when B = 0 the output is 1.
◦ The expression of the output will contain the term B
For group labeled II corresponds to the area of the
map where A = 0.
The group can therefore be defined as A
The function plotted is:
This implies that when A = 0 the output is 1.
Z = f(A,B) =AB + AB + AB
The output is therefore 1 whenever B = 0 and A = 0
Hence the simplified answer is Z = A + B
34
Kmap Simplification for Three
Variables
A Kmap for three variables is constructed as shown in
the diagram below.
We have placed each minterm in the cell that will
hold its value.
Notice that the values for the yz combination at the top
of the matrix form a pattern that is not a normal binary
sequence.
35
Kmap Simplification for
Three Variables
Thus, the first row of the Kmap contains all minterms
where x has a value of zero.
The first column contains all minterms where y and z
both have a value of zero.
36
Kmap Simplification for
Three Variables
Consider the function:
Its Kmap is given below.
What is the largest group of 1s that is a power of
2?
37
Kmap Simplification for Three
Variables
This grouping tells us that changes in the variables x and
y have no influence upon the value of the function: They
are irrelevant.
This means that the function,
reduces to F(x) = z.
You could verify
this reduction
with identities or
a truth table.
38
Kmap Simplification for
Three Variables
Now for a more complicated Kmap. Consider the
function:
Its Kmap is shown below. There are (only) two
groupings of 1s.
Can you find them?
39
Kmap Simplification for
Three Variables
In this Kmap, we see an example of a group that wraps
around the sides of a Kmap.
This group tells us that the values of x and y are not
relevant to the term of the function that is encompassed
by the group.
What does this tell us about this term of the function?
What about the
green group in
the top row?
40
Kmap Simplification for
Three Variables
The green group in the top row tells us that only the
value of x is significant in that group.
We see that it is complemented in that row, so the other
term of the reduced function is .
Our reduced function is: F(x,y,z) = X + Z
Recall that we
had six minterms
in our original
function!
41
Kmap Simplification for Four
Variables
Our model can be extended to accommodate the 16
minterms that are produced by a four-input function.
This is the format for a 16-minterm Kmap.
42
Kmap Simplification for Four
Variables
We have populated the Kmap shown below with the
nonzero minterms from the function:
Can you identify (only) three groups in this Kmap?
Recall that
groups can
overlap.
43
Kmap Simplification for Four
Variables
Our three groups consist of:
A purple group entirely within the Kmap at the right.
A pink group that wraps the top and bottom.
A green group that spans the corners.
Thus we have three terms in our final function:
44
Kmap Simplification for Four
Variables
It is possible to have a choice as to how to pick
groups within a Kmap, while keeping the groups as
large as possible.
The (different) functions that result from the
groupings below are logically equivalent.
45
Don’t Care Conditions
In a Kmap, a don’t care condition is identified by an X
in the cell of the minterm(s) for the don’t care inputs,
as shown below.
In performing the simplification, we are free to include
or ignore the X’s when creating our groups.
46
Don’t Care Conditions
In one grouping in the Kmap below, we have the
function:
47
Don’t Care Conditions
A different grouping gives us the function:
48
Don’t Care Conditions
The truth table of:
is different from the truth table of:
However, the values for which they differ, are the
inputs for which we have don’t care conditions.
49
Summery
Recapping the rules of Kmap simplification:
Groupings can contain only 1s; no 0s.
Groups can be formed only at right angles; diagonal groups
are not allowed.
The number of 1s in a group must be a power of 2 – even if
it contains a single 1.
The groups must be made as large as possible.
Groups can overlap and wrap around the sides of the Kmap.
Use don’t care conditions when you can.
50
Thank You
End of Lecture 5.1
Lecture 5.2 : Combinational and
Sequential Circuits
51