Lecture 7 Minimization with Karnaugh Maps

# Lecture 7 Minimization with Karnaugh Maps

Télécharger la présentation

## Lecture 7 Minimization with Karnaugh Maps

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
##### Presentation Transcript

1. Lecture 7Minimization with Karnaugh Maps

2. Overview • K-maps: an alternate approach to representing Boolean functions • K-map representation can be used to minimize Boolean functions • Easy conversion from truth table to K-map to minimized SOP representation. • Simple rules (steps) used to perform minimization • Leads to minimized SOP representation. • Much faster and more more efficient than previous minimization techniques with Boolean algebra.

3. y 0 1 x x’y’ x’y 0 y x y F 0 0 1 0 1 1 1 0 0 1 1 0 1 x xy’ xy 0 1 x 1 1 0 1 0 0 Karnaugh maps • Alternate way of representing Boolean function • All rows of truth table represented with a square • Each square represents a minterm • Easy to convert between truth table, K-map, and SOP • Unoptimized 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’ y

4. Boolean Cubes and Boolean Functions

5. Boolean Cubes and Boolean Functions • A Boolean n-cube uniquely represents a Boolean function of n variables if each vertex is assigned a 1 (marked) or 0 (unmarked) • Each vertex of the n-cube represents a minterm (a row in the truth table) • Map Representation • Complexity of digital circuit (gate count) / complexity of algebraic expression (literal count). • A function’s truth-table representation is unique; its algebraic expression is not. Simplification by algebraic means is awkward (from algorithmic point of view). • A Karnaugh map (K-map) is an array of squares each representing one minterm. Simplification by the map method is straightforward.

6. Boolean cubes and corresponding Karnaugh maps • Each K-map defines a unique Boolean function • A Boolean function can be represented by a truth table, a Boolean expression, an n-cube, or a map.

7. K-Maps Ex: How do you transform a K-map into a truth table? Is it unique? How do you transform a K-map into an n-cube? Is it unique? Two- and Three-Variable Maps

8. K-Maps Cont……… • Minterms are arranged in the Gray-code sequence (Why?) • Any 2 (horizontally or vertically) adjacent squares differ by exactly 1 variable, which is complemented in one square and uncomplemented in the other. • Any 2 minterms in adjacent squares that are ORed together will cause a removal of the different variable, e.g., m5 +m7 = xy’z + xyz = xz(y’ + y) = xz, because y + y’ = 1.

9. K-Maps Cont……… • One square) a minterm of 4 literals. • Two adjacent squares) a term of 3 literals. • Four adjacent squares)a term of 2 literals. • Eight adjacent squares) a term of 1 literal. • Sixteen adjacent squares)the constant ‘1’.

10. K-Maps Cont……… EX: Show the region in the K-map that is represented by X’Z’ Flat and on a Torus to Show Adjacencies

11. K-Maps Cont……… Ex: Simplify the Boolean function F(W,X, Y, Z) = F =Y’ + W’Z’ + XZ’

12. K-Maps Cont……… • Simplify the Boolean function F = A’B’C’ + B’CD’ + AB’C’ + A’BCD’. F = B’D’ + B’C’ + A’CD’

13. K-Maps Cont……… Five-Variable Maps • Imagine that the 2 maps are superimposed on one another. • It is possible to construct a 6-variable map with four 4-variable maps by following a similar procedure. • Maps of 6 or more variables are hard to read, and thus are impractical. • Variable-entered maps (VEMs); (2) CAD programs. • Any 2k adjacent squares, k = 0, 1,……, n, in an n-variable map represent an area that gives a product term of n - k literals.

14. Simplification Using K-Maps • The complement of a function is represented in the map by the squares not marked by 1s (they usually are marked by 0s). The complement of f’ gives f in pos.

15. Simplification Using K-Maps Ex: Simplify the following function in sop & pos: • Mark the map with 1s and 0s according to the function. • Use the 1s to determine the EPIs of f, which immediately give the sop form: • Use the 0s to determine the EPIs of f’, and complement it to give the pos form

16. Implicants • Implicants with 2 1s with 4 1s • Prime Implicants • A’D • BD’ • A’B • Essential Prime Implicants • A’D • BD’

17. Simplification of Boolean Functions

18. Multi-Output Minimization Using Maps • Identify all possible PIs that cover each implicated minterms in each output expression, and search for a minimal cover by using shared terms • The Quine-McCluskey method also can be extended for this purpose

19. Multi-Output Minimization Using Maps Simplification of multiple output functions

20. XOR & XNOR Patterns on the Map • Inspect the K-map to detect XOR/XNOR patterns: • Kitty-corner adjacencies; • Offset adjacencies.

21. XOR & XNOR Patterns on the Map offset adjacencies

22. XOR & XNOR Patterns on the Map Kitty-corner

23. B 0 1 A 0 0 1 F=AB+A’B 1 1 0 BC 00 01 11 10 A 0 0 1 0 1 1 1 1 1 1 Karnaugh Maps • A Karnaugh map is a graphical tool for assisting in the general simplification procedure. • Two variable maps. B 0 1 A 0 0 1 F=AB+AB+AB 1 1 1 A B F C • Three variable maps. 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 + F=AB’C’+ABC+ABC +ABC + A’B’C + A’BC’

24. Boolean function simplification Ex: Simplify the Boolean function x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z 0 1 0 1 0 1 0 1 F 0 0 1 1 1 1 0 0 Map of the example is

25. Boolean function simplification Ex: Simplify the Boolean function Map of the example is

26. Boolean function simplification Ex:Let the Boolean function be A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F 0 1 1 1 0 1 0 1

27. Rules for K-Maps • We can reduce functions by circling 1’s in the K-map • Each circle represents minterm reduction • Following circling, we can deduce 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” must be enclosed. • The 1’s must be enclosed in the smallest possible number of rectangles. Example

28. B B 0 1 0 1 A A 0 0 1 0 0 1 F=AB+A’B 1 1 0 1 1 1 BC 00 01 11 10 A 0 0 1 0 1 1 1 1 1 1 Karnaugh Maps • A Karnaugh map is a graphical tool for assisting in the general simplification procedure. • Two variable maps. F=AB+AB+AB F=A+B • Three variable maps. F=A+BC+BC F=AB’C’+ABC+ABC +ABC + A’B’C + A’BC’

29. G(A,B,C) = A A A 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 F(A,B,C) = m(0,4,5,7) C C = AC + B’C’ A AB B B 11 10 00 01 C 0 1 C B Karnaugh maps • Numbering scheme based on Gray–code • e.g., 00, 01, 11, 10 • Only a single bit changes in code for adjacent map cells • This is necessary to observe the variable transitions

30. More Karnaugh Map Examples • Examples a a 0 1 b 0 1 0 0 1 b 0 1 1 1 0 1 1 0 0 f = a g = b' ab ab c 00 01 11 10 c 00 01 11 10 0 0 0 1 0 0 0 1 1 0 0 1 1 1 1 0 0 1 1 1 cout = ab + bc + ac f = a 1. Circle the largest groups possible. 2. Group dimensions must be a power of 2. 3. Remember what circling means!

31. Cin Adder S B A Cout Application of Karnaugh Maps: The One-bit Adder A B Cin S Cout 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 How to use a Karnaugh Map instead of the Algebraic simplification? 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 + 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

32. Cin A Adder 0 0 1 0 S 0 1 1 1 B A B Cin Cout Application of Karnaugh Maps: The One-bit Adder Now we have to cover all the 1s in the Karnaugh Map using the largest rectangles and as few rectangles as we can. Karnaugh Map for Cout

33. Cin A Adder 1 0 S 1 1 B A B Cin Cout Application of Karnaugh Maps: The One-bit Adder Now we have to cover all the 1s in the Karnaugh Map using the largest rectangles and as few rectangles as we can. 0 0 0 1 Cout = ACin Karnaugh Map for Cout

34. Cin A Adder 1 0 S 1 1 B A B Cin Cout Application of Karnaugh Maps: The One-bit Adder Now we have to cover all the 1s in the Karnaugh Map using the largest rectangles and as few rectangles as we can. 0 0 0 1 Cout = Acin + AB Karnaugh Map for Cout

35. Cin A Adder 1 0 S 1 1 B A B Cin Cout Application of Karnaugh Maps: The One-bit Adder Now we have to cover all the 1s in the Karnaugh Map using the largest rectangles and as few rectangles as we can. 0 0 0 1 Cout = ACin + AB + BCin Karnaugh Map for Cout

36. Cin A Adder S B B A Cin Cout Application of Karnaugh Maps: The One-bit Adder 0 1 0 1 1 0 1 0 S = A’BCin’ Karnaugh Map for S

37. Cin A Adder S B B A Cin Cout Application of Karnaugh Maps: The One-bit Adder 0 1 0 1 1 0 1 0 S = A’BCin’ + A’B’Cin Karnaugh Map for S

38. Cin A Adder S B B A Cin Cout Application of Karnaugh Maps: The One-bit Adder 0 1 0 1 1 0 1 0 S = A’BCin’ + A’B’Cin + ABCin Karnaugh Map for S

39. Cin A Adder S B B A Cin Cout Application of Karnaugh Maps: The One-bit Adder Can you draw the circuit diagrams? 0 1 0 1 1 0 1 0 S = A’BCin’ + A’B’Cin + ABCin + AB’Cin’ Karnaugh Map for S No Possible Reduction!

40. 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 • Each circle represents an application of: • Distributive rule -- x(y + z) = xy + xz • Complement rule – x + x’ = 1