Title: Introduction to Logic
Minimization
Logic Minimization
A process of finding an equivalent representation of the specified logic
circuit under one or more specified constraints
Every Boolean function in the form of a product of maxterms or a sum of
minterms
Since the total number of literals present in a expressions is usually pretty
high, it is preferable that we simplify the given algebraic expression to its
most simplified form.
The process of simplifying the algebraic expression of a boolean function is
called minimization.
Importance of Logic Minimization-
Minimizing logic reduces the number of gates required to implement a function. This
leads to simpler circuit designs. For example, The function F = x’y’z +x’yz + xy’ can
be minimized to F = x’y + xy’
Importance of Logic Minimization-
Cheaper to manufacture as they require fewer components and less material
Lead to quicker design cycles, reducing overall development time and costs
Reduces the critical path length, leading to faster signal propagation and higher
operating speeds
Simpler interconnections result in lower dynamic and static power consumption
and minimizes risks of unexpected cross-talk
Makes it easier to understand and modify the design, allowing for more flexible
and adaptable systems
Quine-McCluskey
Method
Quine-McCluskey Method
• An useful and convenient method for simplification of the
Boolean functions
• Also known as tabulation method
• Suitable for a large number of inputs(n>4) for which K-map
construction is a tedious task
• Simplifies boolean expression into the simplified form using
prime implicants
• One can translate Quine-McCluskey method into a computer
program to perform minimization
Two Basic Steps:
• Finding all prime implicants of a given Boolean function
• Select a minimal set of prime implicants that cover this
function
prime implicant is a product or sum term, which can’t be
further reduced by combining with any other product or sum
terms of the given Boolean function.
Example: Quine-McCluskey Method
Simplify using tabulation method : F(A,B,C,D) =∑
m(0,1,3,7,8,9,11,15)
Step 1: Convert the given minterms into their binary representation and
arrange them according to the number of ones
present in the binary Minterm
Group representation.A B C D
G-0 (0) 0 0 0 0
G-1 (1) 0 0 0 1
(8) 1 0 0 0
G-2 (3) 0 0 1 1
(9) 1 0 0 1
G-3 (7) 0 1 1 1
(11) 1 0 1 1
G-4 (15) 1 1 1 1
Simplify using tabulation method : F(A,B,C,D) =∑ m(0,1,3,7,8,9,11,15)
Step2:
Compare the min terms present in successive groups
If there is a change in only one-bit position, then take the
pair of those two min terms.
Place this symbol ‘_’ in the differed bit position and keep the
remaining bits as it is.
Step 3:
• Repeat step 2 with newly formed terms till we get
all prime implicants
Simplify using tabulation method : F(A,B,C,D) =∑
m(0,1,3,7,8,9,11,15)
Group Pair A B C D
G-0 (0,1) 0 0 0 –
(0,8) – 0 0 0
G-1 (1,3) 0 0 – 1
(1,9) – 0 0 1
(8,9) 1 0 0 –
G-2 (3,7) 0 – 1 1
(3,11) – 0 1 1
(9,11) 1 0 – 1
G-3 (7,15) – 1 1 1
(11,15) 1 – 1 1
Simplify using tabulation method : F(A,B,C,D) =∑ m(0,1,3,7,8,9,11,15)
Group Pair A B C D
G-0 (0,1,8,9) – 0 0 –
(0,8,1,9) – 0 0 –
G-1 (1,3,9,11) – 0 – 1
(1,9,3,11) – 0 – 1
G-2 (3,7,11,15) – – 1 1
(3,11,7,15) – – 1 1
There is no Possibility of one bit difference
Simplify using tabulation method : F(A,B,C,D) =∑ m(0,1,3,7,8,9,11,15)
A B C D
(0,1,8,9) – 0 0 –
(0,8,1,9) – 0 0 –
(1,3,9,11) – 0 – 1
(1,9,3,11) – 0 – 1
(3,7,11,15) – – 1 1
(3,11,7,15) – – 1 1
Unchecked terms are prime implicants
Simplify using tabulation method : F(A,B,C,D) =∑ m(0,1,3,7,8,9,11,15)
A B C D
(0,1,8,9) – 0 0 – = B’C’
(0,8,1,9) – 0 0 – = B’C’
(1,3,9,11) – 0 – 1 = B’D
(1,9,3,11) – 0 – 1 = B’D
(3,7,11,15) – – 1 1 = CD
(3,11,7,15) – – 1 1 = CD
Unchecked terms are prime implicants
Simplify using tabulation method : F(A,B,C,D) =∑ m(0,1,3,7,8,9,11,15)
Step 4:
Formulate the prime implicant table. It consists of set of rows
and columns.
Prime implicants can be placed in row wise and min terms
can be placed in column wise
An is placed at the intersection of a row and column if the
corresponding prime implicant includes the corresponding
product (term)
Simplify using tabulation method : F(A,B,C,D) =∑ m(0,1,3,7,8,9,11,15)
PI Minterms 0 1 3 7 8 9 11 15
B’C’ (0,1,8,9) X X X X
B’D (1,3,9,11) X X X X
CD (3,7,11,15) X X X X
Prime Implicant Table
Simplify using tabulation method : F(A,B,C,D) =∑ m(0,1,3,7,8,9,11,15)
Step 5:
• Find the essential prime implicants by observing each column.
• If the min term is covered only by one prime implicant, then it
is essential prime implicant.
• Those essential prime implicants will be part of the simplified
Boolean function.
Step 6:
• Repeat step 5 for Reduced prime implicant table.
• Find non-essential prime implicants to cover the rest of minterms
• Stop this process when all min terms of given Boolean function
are over.
• Form the SOP function with the prime implicants selected, which is the
minimal representation
Simplify using tabulation method : F(A,B,C,D) =∑ m(0,1,3,7,8,9,11,15)
PI Minterms 0 1 3 7 8 9 11 15
B’C’ (0,1,8,9) X X X X
B’D (1,3,9,11) X X X X
CD (3,7,11,15) X X X X
Simplify using tabulation method : F(A,B,C,D) =∑ m(0,1,3,7,8,9,11,15)
PI Minterms 0 1 3 7 8 9 11 15
B’C’ (0,1,8,9) X X X X
B’D (1,3,9,11) X X X X
CD (3,7,11,15) X X X X
• Select (0,1,8,9)
Simplify using tabulation method : F(A,B,C,D) =∑ m(0,1,3,7,8,9,11,15)
PI Minterms 0 1 3 7 8 9 11 15
B’C’ (0,1,8,9) X X X X
B’D (1,3,9,11) X X X X
CD (3,7,11,15) X X X X
• Select (0,1,8,9)
Simplify using tabulation method : F(A,B,C,D) =∑ m(0,1,3,7,8,9,11,15)
PI Minterms 0 1 3 7 8 9 11 15
B’C’ 0,1,8,9 X X X X
B’D 1,3,9,11 X X X X
CD 3,7,11,15 X X X X
• Select (0,1,8,9), (3,7,11,15)
Simplify using tabulation method : F(A,B,C,D) =∑ m(0,1,3,7,8,9,11,15)
PI Minterms 0 1 3 7 8 9 11 15
B’C’ 0,1,8,9 X X X X
B’D 1,3,9,11 X X X X
CD 3,7,11,15 X X X X
Already Selected
Select (0,1,8,9), (3,7,11,15)
Simplify using tabulation method : F(A,B,C,D) =∑ m(0,1,3,7,8,9,11,15)
PI Minterms 0 1 3 7 8 9 11 15
B’C’ (0,1,8,9) X X X X
B’D (1,3,9,11) X X X X
CD (3,7,11,15) X X X X
Already Selected
Select (0,1,8,9), (3,7,11,15)
Simplify using tabulation method : F(A,B,C,D) =∑ m(0,1,3,7,8,9,11,15)
PI Minterms 0 1 3 7 8 9 11 15
B’C’ (0,1,8,9) X X X X
B’D (1,3,9,11) X X X X
CD (3,7,11,15) X X X X
Select (0,1,8,9), (3,7,11,15)
Now all the minterms are covered by selected prime
implicants
Simplify using tabulation method : F(A,B,C,D) =∑ m(0,1,3,7,8,9,11,15)
PI Minterms 0 1 3 7 8 9 11 15
B’C’ (0,1,8,9) X X X X
B’D (1,3,9,11) X X X X
CD (3,7,11,15) X X X X
Select (0,1,8,9), (3,7,11,15)
Now all the minterms are covered by selected prime implicants
Note that B’D, a non-essential prime implicant, is not needed
Q-M Method Result
PI Minterms 0 1 3 7 8 9 11 15
B’C’ (0,1,8,9) X X X X
B’D (1,3,9,11) X X X X
CD (3,7,11,15) X X X X
F(A,B,C,D) =∑ m(0,1,3,7,8,9,11,15)
= (0,1,8,9)+(1,3,9,11)
= B’C’+CD
Binary Decision
Diagram
Binary Decision Diagram
• A Binary Decision Diagram (BDD) is a set of an Acyclic, Rooted
Graph with Directed Edges(Top-to-Bottom)
• A BDD consist of Decision Node and 2-Terminal Nodes and have a
special Node Called ROOT.
• Each Decision node
• labeled by a boolean variable
• has two child nodes, referred to as low child and high
child
• The edges from a node to a low child represent, an assignment of
variable 0 and for high as 1.
Representation of BDD
a
0 1
f
b b
0 1 0 1
Graph representation
c c c c
of a Boolean function 0 1 0 1 0 1 0 1
0 0 1 0 0 1 1 1
Leaf Node
Binary Decision
Tree
Binary Decision Diagram
• A BDD is said to be ORDERED if different variables appear in
the same order on all paths from the root.
• A BDD is said to be REDUCED if the following two rules have
been applied to its graph:
Merge any isomorphic subgraph
Eliminate any node whose two children are
isomorphic.
Binary Decision Diagram
ROBDD FLOW
Truth Table
Binary Decision
Tree
Binary Decision Diagram
(BDD)
Ordered Binary Decision Diagram
(OBDD)
Reduced Ordered Binary Decision Diagram
(ROBDD)
OBDD to
ROBDD
ROBDD can be obtain from OBDD by repeatedly applying following
reduction rule-
Merge equivalent leaves
Merge isomorphic nodes
Eliminate redundant nodes
Example - 01 OBDD to
ROBDD
x1 x2 x3 f
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1
Truth Decision Tree
Table
OBDD to
ROBDD
Merge equivalent leaves
0 0 0
x1
x2 x2
x3 x3 x3 x3
0 1
OBDD to
ROBDD
Merge isomorphic nodes
x x
x x x x
y z y z
y z
x1
x1
x2 x2 x2 x2
x3 x3 x3 x3 x3 x3
0 1 0 1
OBDD to
ROBDD
Eliminate Redundant Tests
y
y
x1
x1
x2 x2 x2
x3 x3 x3
0 1 0 1
OBDD to
ROBDD
x1
x2
x3
0 1
Initial Graph Reduced Graph
OBDD to
Example - 02 ROBDD
Initial Tree
OBDD to
ROBDD
OBDD to
ROBDD
OBDD ROBDD
Properties of
ROBDD
• The 0- and 1- successor of any node should not be identical
• ROBDDs provide canonical representation of switching functions
• ROBDDs can be manipulated efficiently
• ROBDDs representations are small for many important switching
functions
• Isomorphic graph should not be there i.e. sub-graphs that yields
same information about function several times.
Thank You