Créer une présentation
Télécharger la présentation

Télécharger la présentation
## Lecture 7 Minimization with Karnaugh Maps

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**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.**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**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.**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.**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**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.**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’.**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**K-Maps Cont………**Ex: Simplify the Boolean function F(W,X, Y, Z) = F =Y’ + W’Z’ + XZ’**K-Maps Cont………**• Simplify the Boolean function F = A’B’C’ + B’CD’ + AB’C’ + A’BCD’. F = B’D’ + B’C’ + A’CD’**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.**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.**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**Implicants**• Implicants with 2 1s with 4 1s • Prime Implicants • A’D • BD’ • A’B • Essential Prime Implicants • A’D • BD’**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**Multi-Output Minimization Using Maps**Simplification of multiple output functions**XOR & XNOR Patterns on the Map**• Inspect the K-map to detect XOR/XNOR patterns: • Kitty-corner adjacencies; • Offset adjacencies.**XOR & XNOR Patterns on the Map**offset adjacencies**XOR & XNOR Patterns on the Map**Kitty-corner**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+AB+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’+ABC+ABC +ABC + A’B’C + A’BC’**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**Boolean function simplification**Ex: Simplify the Boolean function Map of the example is**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**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**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+AB+AB F=A+B • Three variable maps. F=A+BC+BC F=AB’C’+ABC+ABC +ABC + A’B’C + A’BC’**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**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!**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**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**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**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**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**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**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**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**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!**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