0% found this document useful (0 votes)
34 views26 pages

COE211 CH3 BooleanMinimization

Uploaded by

hm100hm100hm100
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views26 pages

COE211 CH3 BooleanMinimization

Uploaded by

hm100hm100hm100
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

COE211: Digital Logic Design

Simplification of Boolean
Functions
Overview
◼ Introduction to Karnaugh Maps
◼ Karnaugh Maps Rules and Methods
◼ Two and Three-Variable K-Maps
◼ Four-Variable K-Maps
◼ Simplification Techniques
◼ Don’t Cares Conditions

9/27/2020 COE211: Digital Logic Design 2


Karnaugh Maps
● Alternate way of representing Boolean functions
● Each row in the truth table is represented by a square
● Each square represents a minterm
● Easy to convert between truth table, K-map, and SOP
● Un-optimized form: number of 1’s in K-map equals number of
minterms (products) in SOP
● Optimized form: reduced number of minterms
F = Σ(m0,m1) = x’y + x’y’ x y F
y
y y 0 0 1
x 0 1 x 0 1
0 1 1
0 x’y’ x’y 0 1 1
1 0 0
x 1 xy’ xy 1 0 0 1 1 0

9/27/2020 COE211: Digital Logic Design 3


Karnaugh Maps (cont’d)
● A Karnaugh map is a graphical tool for assisting in the
general simplification procedure
● Two variable maps
B0 B0 1
1
A A
00 1 00 1 F=AB +AB +AB
F=AB+AB
11 0 11 1
A B C F
● Three variable maps 0 0 0 0
0 0 1 1
BC 0 1 0 1
00 01 11 10 0 1 1 0
A
00 1 0 1 1
1
0
0
0
1
1
1
11 1 1 1 1 1 0 1
+
1 1 1 1

F=ABC +ABC +ABC + ABC + ABC + ABC


9/27/2020 COE211: Digital Logic Design 4
Rules for K-Maps
● We can reduce functions by circling 1’s in the K-map
● Each circle represents minterm reduction
● After circling, deduce a minimized AND-OR form

Rules to consider
● Every cell containing a 1 must be included at least once
● The largest possible “power of 2 rectangle” should be used
● Use the smallest possible number of rectangles

9/27/2020 COE211: Digital Logic Design 5


Karnaugh Maps Examples
● Two variable maps
B0 1 B0 1
A A
0 0 1 F=AB+AB 00 1 F=AB +AB +AB
11 0 11 1 F=A+B

● Three variable maps


BC
00 01 11 10
A
00 1 0 1
11 1 1 1 F=A+BC +BC

F=ABC +ABC +ABC + ABC + ABC + ABC

9/27/2020 COE211: Digital Logic Design 6


Karnaugh Maps Examples (cont’d)

FIGURE 3.4 Map for Example 3.1,


F(x, y, z) = Σ(2, 3, 4, 5) = x’y + xy’

FIGURE 3.6 Map for Example 3.3, F(x, y, z)


= Σ(0, 2, 4, 5, 6) = z’ + xy’

9/27/2020 COE211: Digital Logic Design 7


Karnaugh Maps Examples (cont’d)

b b
0 1 0 1
a a
0 0 1 0 1 1
1 0 1 1 0 0

f=b g = a'

bc bc
a 00 01 11 10 a 00 01 11 10
0 0 0 1 0 0 0 0 1 1
1 0 1 1 1 1 0 0 1 1

cout = bc + ac + ab f=b

1. Circle the largest groups possible


2. Group dimensions must be a power of 2
3. Remember what circling means!

9/27/2020 COE211: Digital Logic Design 8


K-Maps of 3-variable XOR Function
● Odd function – odd number of inputs are 1
● Even function – even number of inputs are 1

9/27/2020 COE211: Digital Logic Design 9


Example using 1-bit Adder
Cin A B Cin S Cout
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0 How to use a Karnaugh
A 0 1 1 0 1
Adder S 1 0 0 1 0 Map instead of the
B 1 0 1 0 1 Algebraic simplification?
1 1 0 0 1
1 1 1 1 1
Cout +

S = A’B’Cin + A’BCin’ + A’BCin + ABCin


Cout = A’BCin + A B’Cin + ABCin’ + ABCin
= A’BCin + ABCin + AB’Cin + ABCin + ABCin’ + ABCin
= (A’ + A)BCin + (B’ + B)ACin + (Cin’ + Cin)AB
= 1·BCin + 1· ACin + 1· AB
= BCin + ACin + AB

9/27/2020 COE211: Digital Logic Design 10


Example using 1-bit Adder (cont’d)

Cin
A B Cin S Cout
0 0 0 0 0
0 0 1 1 0
A 0 1 0 1 0
Adder S 0 1 1 0 1
B 1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
Cout 1 1 1 1 1
B
+

0 0 1 0 Now we have to cover all the 1s in the


Karnaugh Map using the largest
A 0 1 1 1 rectangles and as few rectangles
as we can.
Cin
Karnaugh Map for Cout

9/27/2020 COE211: Digital Logic Design 11


Example using 1-bit Adder (cont’d)

Cin
A B Cin S Cout
0 0 0 0 0
0 0 1 1 0
A 0 1 0 1 0
Adder S 0 1 1 0 1
B 1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
Cout +
1 1 1 1 1

B
Now we have to cover all the 1s in the
0 0 1 0 Karnaugh Map using the largest
rectangles and as few rectangles
A 0 1 1 1
as we can.
Cin Cout = BCin + AB + ACin
Karnaugh Map for Cout

9/27/2020 COE211: Digital Logic Design 12


Example using 1-bit Adder (cont’d)

Can you draw the circuit diagrams?


Cin
A B Cin S Cout
0 0 0 0 0
0 0 1 1 0
A 0 1 0 1 0
Adder S 0 1 1 0 1
B 1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
Cout +
1 1 1 1 1

B
0 1 0 1
A 1 0 1 0

Cin S = A B Cin + A B Cin + ABCin + ABCin


Karnaugh Map for S No Possible Reduction!

9/27/2020 COE211: Digital Logic Design 13


Karnaugh Maps for 4-Input Functions
● Represent functions of 4 inputs with 16 minterms
● Use same rules developed for 3-input functions

9/27/2020 COE211: Digital Logic Design 14


Karnaugh Map: 4-Variable Example
F(A,B,C,D) = m(0, 2, 3, 5, 6, 7, 8, 10, 11, 14, 15)

C
1 0 1 1

0 1 1 1
B
0 0 1 1
A
1 0 1 1
D
F = C + A’BD + B’D’
9/27/2020 COE211: Digital Logic Design 15
Design Examples
C C C

0 1 1 1 1 0 0 0 0 0 0 0

0 0 1 1 0 1 0 0 1 0 0 0
B B B

0 0 0 0 0 0 1 0 1 1 0 1
A A A

0 0 1 0 0 0 0 1 1 1 0 0

D D
D

K-map for LT K-map for EQ K-map for GT

LT = A' C + A' B' D + B' C D


EQ = A'B'C'D' + A'BC'D + ABCD + AB'CD’
GT = A C' + B C' D' + A B D'
Can you draw the truth table for these examples?

9/27/2020 COE211: Digital Logic Design 16


Physical Implementation
A BC D Step 1: Truth table
Step 2: K-map
Step 3: Minimized sum-of-products
Step 4: Physical implementation with gates

EQ C

1 0 0 0

0 1 0 0
B

0 0 1 0
A
0 0 0 1

K-map for EQ
9/27/2020 COE211: Digital Logic Design 17
Karnaugh Maps: Don’t Cares
● In some cases, outputs are undefined
● We “don’t care” if the circuit produces a ‘0’ or a ‘1’
● This knowledge can be used to simplify functions

A
AB
CD 00 01 11 10
00 0 0 X 0 - Treat X’s like either 1’s or 0’s
01 1 1 X 1 D
- Very useful
11 1 1 0 0 - OK to leave some X’s uncovered
C

10 0 X 0 0
B

9/27/2020 COE211: Digital Logic Design 18


Don’t Care Conditions
● In some situations, we don’t care about the value of a
function for certain combinations of the variables
● these combinations may be impossible in certain contexts
● or the value of the function may not matter when the
combinations occur
● In such situations we say the function is incompletely
specified and there are multiple (completely specified)
logic functions that can be used in the design
● so we can select a function that gives the simplest circuit
● When constructing the terms in the simplification
procedure, we can choose to either cover or not cover the
don’t care conditions

9/27/2020 COE211: Digital Logic Design 19


Don’t Cares Examples
CD
00 01 11 10
AB
00 0 1 0 0
01 x x x 1 F=ACD+B+AC
11 1 1 1 x
10 x 0 1 1
Alternative covering:
CD
00 01 11 10
AB
00 0 1 0 0
01 x x x 1 F=ABCD+ABC+BC+AC
11 1 1 1 x
10 x 0 1 1
9/27/2020 COE211: Digital Logic Design 20
Don’t Cares Examples (cont’d)
f(A,B,C,D) =  m(1,3,5,7,9) + d(6,12,13)
● f = A'D + B'C'D without don't cares
● f = A‘ D + C‘ D with don't cares

by using don't care as a "1"


0 1 1 0
a 2-cube can be formed
0 1 1 X
rather than a 1-cube to cover
B this node
X X 0 0
A

0 1 0 0 don't cares can be treated as


1s or 0s
D
depending on which is more
advantageous

9/27/2020 COE211: Digital Logic Design 21


Definition of Terms
● Implicant
● Single product term of the ON-set (terms that create a logic 1)
● Prime implicant
● Implicant that can't be combined with another to form an implicant
with fewer literals
● Essential prime implicant
● Prime implicant is essential if it alone covers a minterm in the K-
map
● Remember that all squares marked with 1 must be covered
● Objective:
● Grow implicants into prime implicants (minimize literals per term)
● Cover the K-map with as few prime implicants as possible
(minimize number of product terms)
9/27/2020 COE211: Digital Logic Design 22
Examples to Illustrate Terms
C

0 X 1 0
6 prime implicants:
ABD', A'D, AC, A‘BC', CD, BC'D'
1 1 1 0
B
essential
1 0 1 1
A

0 0 1 1 minimum cover: AC + A‘D + BC'D'


D

5 prime implicants: 0 0 1 0

BD, ABC, AC'D, A'BC', A'CD


1 1 1 0
B

essential A
0 1 1 1

minimum cover: 4 essential implicants


0 1 0 0

9/27/2020 COE211: Digital Logic Design 23


Prime Implicants
Any single 1 or group of 1s in the Karnaugh map of a
function F is an implicant of F.

A product term is called a prime implicant of F if it


cannot be combined with another term to eliminate a
variable.
If a function F is represented by
C this Karnaugh Map. Which of the
following terms are implicants of
Example: 1 1 1 F, and which ones are prime
implicants of F?
1 1
B (a) A’B’C Implicants:
1 (b) BD (a),(c),(d),(e)
A
1 1 (c) A’B’C’D’
(d) A’C Prime Implicants:
(d),(e)
D (e) A’B’D’

9/27/2020 COE211: Digital Logic Design 24


Essential Prime Implicants
A product term is an essential prime implicant if there is a
minterm that is only covered by that prime implicant
The minimal sum-of-products form of F must include
all the essential prime implicants of F
Summary
● Karnaugh map allows us to represent functions with new notation
● Representation allows for logic reduction
● Implement same function with less logic
● Each square represents one minterm
● Each circle leads to one product term
● Not all functions can be reduced
● K-maps of four literals were considered (Larger examples exist)
● Don’t care conditions help minimize functions
● Result of minimization is a minimal sum-of-products
● Result contains prime implicants
● Essential prime implicants are required in the implementation

9/27/2020 COE211: Digital Logic Design 26

You might also like