Introduction to Digital Design
Chapter 2: Combinational Logic Circuits 2-5 Map Manipulation
Map Manipulation
When combining squares in a map:
1. 2. Ensure that all minterms are included. Minimize the number of terms, and the number of literalsper-term, in the resulting simplified function by:
Selecting the minimum number of largest possible rectangles
3. In this lecture, we will learn systematic procedures for avoiding redundant term.
Definition of Terms for Two-Level Simplification
Any single 1 or group of 1s in the Karnaugh map of a function F is an implicant of F. A group that is as large as possible is a prime implicant.
AB CD 00 01 00 01 11 A 10
0 0 1 1
0 1 1 1
B
0 0 0 0
1 1
D
11 C 10
0 0
Implicants
Prime Implicants Single cells can be prime implicants if they cannot be grouped with any other cell.
3
Definition of Terms for Two-Level Simplification
If a function F is represented by this Karnaugh Map. Which of the following terms are implicants of F, and which ones are prime implicants of F?
CD AB 1 1 1 C 1 1 1 B A 1 1 D (a) ACD (b) BD (c) ABCD (d) AC (e) BCD Implicants: (a),(c),(d),(e) Prime Implicants: (d),(e)
Example:
Definition of Terms for Two-Level Simplification
A prime implicant is a product term obtained by combining the maximum possible number of adjacent squares in the map. If a prime implicant has at least one cell that is not covered by any other prime implicant, it is an essential prime implicant. The prime implicants of a function can be obtained from the map by combining all possible maximum number of squares. Objective:
Grow implicant into prime implicants (minimize literals per term) Cover the K-map with as few prime implicants as possible
Example of Prime Implicants
Find ALL Prime Implicants
BD
1 BD A 1 1 1 1
CD C 1 1 1 1 1 1 B
ESSENTIAL Prime Implicants
BD
1 1 1 1 A 1 1 D 1 1 1
C 1 B 1
BD
AB
D AD
BC
Minterms covered by single prime implicant
6
Simplification Using Prime Implicants
b3 b2 b1 b0 00 b3 01 11 10
b3 b2 b0*
00 01 11 b1
0 0 0 0
0 1 1 1
b2
0 0 0 0
1 1
b0
We want a sum of b3 b2 b1* products expression so we circle 1s. * PIs are essential; no implicants remain.
0 0
b3 b2 b1*
10
The minimal expression is:
X 0=b0 b0 b0 b0 b0 b0 b0 + b0 + b0
7
Simplification Using Prime Implicants
AB CD 00 01 11 C 10 00 01 11 A 10
0 0 1 0
0 0 1 0
B
1 1 1 0
1 1
D
AC *
We want a sum of products expression so we circle 1s. * PIs are essential.
0 0
ABD
ACD *
BCD
The minimal expressions are:
F =A C + C D + C D A B F =A C + C D + B D A A
8
Prime Implicant Selection Rule
Minimize the overlap among prime implicants as much as possible. In particular, in the final solution, make sure that each prime implicant selected includes at least one minterm not included in any other prime implicant selected.
Prime Implicant Selection Rule Example
Simplify: G(A,B,C,D) V=0 (0,2,3,5,7,8,9,10,11,13,15) Essential Prime Implicants Remaining Prime Implicants =
1 1 1
1 1 1 1
1 1
1 1 1 1
B
1
B
1
Prime Implicants are CD, B, AD, AB, BD, BD. Essential PIs are: BD and BD Possible ways to simplify F: F= BD +BD + CD + AD F= BD +BD + CD + AB F= BD +BD + BC + AD F= BD +BD + BC + AB
10
Product of Sums Optimization
E.g. Simplify the following Boolean function in product-of-sums form F(A,B,C,D)= m(0,1,2,5,8,9,10) 1. 2. 3. 4. Mark with 1s the minterms of F. Mark the remaining squares with 0s. These represent F. Find the simplified F = AB + CD + BD F.
Complement 3 to obtain a simplified F in a product-of-sums form: F = (A + B)(C + D) (B + D)
11
Product of Sums Optimization Example 1
AB CD 00 00 01 11 C 10 01 11 A 10
A+ * C
0 0 1 0
0 0 1 0
B
1 1 1 0
1 1 0 0
We want a product of A+ + * B C sums expression so we circle 0s. D * PIs are essential.
C+ * D
A+ D
The minimal expression is:
F =(A + C) (C + D) (A + + ) B C
12
Product of Sums Optimization Example 2
Simplify F= (3,4,6,7,11,12,13,14,15) in Product-of-Sums Form 1. 2. 3. Mark with 0s the Maxterms of F Combine 0s to obtain a simplified F in SOP. Complement 3 to obtain a simplified F in POS.
CD AB 00 00 01 11
10
0 0 0 0 0 0 0 0 0
F = AB + CD + BD F = (A+B)(C+D)(B+D)
01
11
A
10
13
Dont Care Conditions
So far we have dealt with functions that were always either 0 or 1. Sometimes we have some conditions where we dont care what result is.
In this case the function table or map contains entries for which it is known:
the input values for the minterm will never occur, or The output value for the minterm is not used.
In these cases, the output value need not be defined Instead, the output value is defined as a don't care By placing don't cares ( an x entry) in the function table or map, the cost of the logic circuit may be lowered. Example 1: A logic function having the binary codes for the BCD digits as its inputs. Only the codes for 0 through 9 are used. The six codes, 1010 through 1111 never occur, so the output values for these codes are x to represent dont cares.
14
Dont Care Conditions (Cont.)
Ultimately, each x entry may take on either a 0 or 1 value in resulting solutions. For example, an x may take on value 0 in an SOP solution and value 1 in a POS solution, or vice-versa. Any minterm with value x needs not be covered by a prime implicant. Basic dont care rule for K-maps is: include the dc (x) in a group if it helps to form a larger group; else leave it out.
15
K-map Minimization with Dont Cares Example (1)
We want a sum of products expression so we circle 1s and xs (dont cares).
AB CD 00 01 11 A 10
BD
00 01 11 C
0 0 0 0
0 1 1 1
B
x x x x
1 1
D
x x
BC
10
The minimal expression is: X= A + BC + BD
16
K-map Minimization with Dont Cares Example (2)
K-maps of four literals considered
YZ WX 00 01 11 00 01 11
y 10
YZ WX 00 01 11 10 00 01 11
y 10
00 01 03 02 04 15 17 16 012 0 13 015 014 1 8 1 9 011 0 10 z x
00 01 03 02 04 15 17 16 X X13 X X 12 15 14 1 8 1 9 X X10 11 z x
w 10
F= wxz + wxy + wxy
F= xz + xy + w
much lower in cost
17
K-map Minimization with Dont Cares Example (4)
Which one is better? CD 00 01 11 10 AB
00 01 11 10
0 x 1 x
1 x 1 0
0 x 1 1
0 1 x 1
F=A C D+B+AC
Alternative covering. CD 00 01 11 10 AB
00 01 11 10
0 x 1 x
1 x 1 0
0 x 1 1
0 1 x 1
F=A B C D+ABC +BC+AC
18
K-map Minimization with Dont Cares Example (5)
What would we have if Xs were 0s?
F= CD + A B
F= CD + A D
19
Summary
Result of minimization is minimal sum-of-products. Result contains prime implicants. Essential prime implicants are required in the implementation. Dont care conditions help minimize functions.
Output for dont cares are undefined.
20