570 likes | 1.93k Views
Lecture 7 Minimization with Karnaugh Maps. 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.
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