Seattle Pacific University EE Logic System DesignKMaps-1 Two-Level Simplification All Boolean expressions can be represented in two- level forms Sum-of-products Product-of-sums Canonical S.O.P. form Reduced S.O.P. form Canonical forms are very easy to produce Just read them off of a truth table But, they’re not the most efficient representation Reduced two-level forms are more efficient
Seattle Pacific University EE Logic System DesignKMaps-2 Venn Diagrams Consider a Venn Diagram for 2 sets, A and B AB’ A’B AB A’B’ B=0 B=1 A=0 A=1 A B A’B’ AB’ AB A’B
Seattle Pacific University EE Logic System DesignKMaps-3 Karnaugh maps 2-variable K-map A B F B A F(A,B) Space for A’B Space for AB Space for A’B’ Space for AB’
Seattle Pacific University EE Logic System DesignKMaps-4 Karnaugh maps K-maps can represent up to four variables easily 3-variable K-map 4-variable K-map Numbering Scheme: 00, 01, 11, 10 Gray Code — only a single bit changes from one number to the next A f(A,B,C) f(A,B,C,D) AB C B AB CD A B C D C m0m0 m1m1 m2m2 m3m3 m6m6 m7m7 m4m4 m5m5 m0m0 m1m1 m4m4 m5m5 m 12 m 13 m8m8 m9m9 m3m3 m2m2 m7m7 m6m6 m 15 m 14 m 11 m 10
Seattle Pacific University EE Logic System DesignKMaps-5 Filling in a K-map F(A,B,C,D) = ABC’D’ + AB’CD’ + ABC’D + AB’CD + A’BCD F (A,B,C) = A’B’C’ + ABC’ + A’B’C + AB’C 3-variable K-map 4-variable K-map f(A,B,C) AB C B C A AB CD A B C D
Seattle Pacific University EE Logic System DesignKMaps-6 Finding Combinations with K-maps F = A’B + AB = B G = A’B’ + A’B = A’ We can combine A’B and AB We can combine A’B’ and A’B With Karnaugh maps, adjacent 1’s mean we can combine them B A B A
Seattle Pacific University EE Logic System DesignKMaps-7 Adjacencies in the K-map Wrap from left to right Wrap from top to bottom Neighbors AB C B C A
Seattle Pacific University EE Logic System DesignKMaps-8 3-variable K-map examples F(C,B,A) = A’C’ + B’C In the K-map, adjacency wraps from left to right and from top to bottom F(C,B,A) = A’BC’ + AB’C + A’B’ Same function, alternative “circling” Note: Larger circles are better 0 1 F AB C B C A F AB C B C A
Seattle Pacific University EE Logic System DesignKMaps-9 3-variable K-map examples We can use the combining theorem on larger units as well. G(A,B,C) = A’BC’ + A’BC + ABC’ + ABC = A’B(C’ + C) + AB(C’ + C) = A’B + AB = B(A’ + A) = B What can we circle? Any rectangle that contains all ones As long as its size is a power of two 1, 2, 4, 8, 16,... No rectangles of 3, 5, 6,... Find the smallest number of the largest possible rectangles that cover all the 1’s at least once (overlapping circles are allowed) G AB C B C A
Seattle Pacific University EE Logic System DesignKMaps-10 4-variable K-map example F(A,B,C,D) = m(0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14) Find the smallest number of the largest possible rectangles that cover all the 1’s Start at upper left corner and search for 1’s: Circled? – Go to next ‘1’ Not circled? – Circle largest term that contains this ‘1’ and go to next ‘1’ Tie? – Skip this square for now and come back to it later... F(A,B,C,D) = AB CD A B C D F m0m0 m1m1 m4m4 m5m5 m 12 m 13 m8m8 m9m9 m3m3 m2m2 m7m7 m6m6 m 15 m 14 m 11 m 10 A’+ BC’D+ CD’+ B’D’+ B’C
Seattle Pacific University EE Logic System DesignKMaps-11 K-maps for XORs and XNORs B A F = A’B + AB’ = A B G = A’B’C + A’BC’ + ABC’ + AB’C = A B C P= A B C D Q= A B C D G AB C B C A AB CD A B C D Q AB CD A B C D P
Seattle Pacific University EE Logic System DesignKMaps-12 Product-of-Sums F(A,B,C,D) = m(0,1,5,8,10,12,14) We can circle 0’s to find a sum-of-products for the complement Circling 1’s gives S.O.P. for F Complementing S.O.P. of F gives P.O.S. for F’ Circling 0’s gives S.O.P. for F’ Complementing S.O.P. for F’ gives P.O.S. for F Product-of-Sums! F’ = AB CD A B C D F m0m0 m1m1 m4m4 m5m5 m 12 m 13 m8m8 m9m9 m3m3 m2m2 m7m7 m6m6 m 15 m 14 m 11 m A’C+ A’BD’+ AD F = A’C + A’BD’ + AD F = (A+C’)(A+B’+D)(A’+D’) DeMorgan’s Law
Seattle Pacific University EE Logic System DesignKMaps-13 K-maps and Don’t Cares F(A,B,C,D) = m (1,3,5,7,9) + d (6,12,13) Invalid Inputs (Don’t Cares) can be treated as 1's or 0's if it is advantageous to do so By treating this X as a "1", a larger rectangle can be formed F = assuming x’s are zero Tie! - Skip and come back AB CD A B C D F m0m0 m1m1 m4m4 m5m5 m 12 m 13 m8m8 m9m9 m3m3 m2m2 m7m7 m6m6 m 15 m 14 m 11 m x x 10 x A’D + B’C’D AB CD A B C D F m0m0 m1m1 m4m4 m5m5 m 12 m 13 m8m8 m9m9 m3m3 m2m2 m7m7 m6m6 m 15 m 14 m 11 m x x 10 x F = using don’t cares A’D + C’D
Seattle Pacific University EE Logic System DesignKMaps-14 Example: 2-bit Comparator Will need a 4- variable K-map for each of the 3 output functions =, >, < AB = CD AB < CD AB > CD A B C D N 1 N 2 F1F1 F2F2 F3F3 DC and BA are two-bit binary numbers F 1 F 2 F 3 D C B A
Seattle Pacific University EE Logic System DesignKMaps-15 K-maps for 2-bit comparator AB CD A B C D F1F1 m0m0 m1m1 m4m4 m5m5 m 12 m 13 m8m8 m9m9 m3m3 m2m2 m7m7 m6m6 m 15 m 14 m 11 m 10 AB CD A B C D F2F2 m0m0 m1m1 m4m4 m5m5 m 12 m 13 m8m8 m9m9 m3m3 m2m2 m7m7 m6m6 m 15 m 14 m 11 m 10 AB CD A B C D F3F3 m0m0 m1m1 m4m4 m5m5 m 12 m 13 m8m8 m9m9 m3m3 m2m2 m7m7 m6m6 m 15 m 14 m 11 m 10 F 1 = AB==CDF 2 = AB<CDF 3 = AB>CD F 1 =F 2 = F 3 = A’B’C’D’+ A’BC’D+ ABCD+ AB’CD’A’B’D+ A’C+ B’CD BC’D+ AC’+ ABD’ F 1 ’ = B’D+ A’C+ BD’+ AC’ F 1 = (B+D’)(A+C’)(B’+D)(A’+C) -OR-
Seattle Pacific University EE Logic System DesignKMaps-16 BCD Decrement by 1 BCD – Binary Coded Decimal Represents ‘0’ through ‘9’ in four bits Binary patterns for are invalid inputs Decrement by 1 function N2 = N1 – 1 0 – 1 = 9 (rolls over) ABCDWXYZ XXXX1011XXXX1100XXXX1101XXXX1110XXXX1111XXXXABCDWXYZ XXXX1011XXXX1100XXXX1101XXXX1110XXXX1111XXXX N1 N2
Seattle Pacific University EE Logic System DesignKMaps-17 BCD Decrement by One AB CD A B C D W m0m0 m1m1 m4m4 m5m5 m 12 m 13 m8m8 m9m9 m3m3 m2m2 m7m7 m6m6 m 15 m 14 m 11 m 10 AB CD A B C D X m0m0 m1m1 m4m4 m5m5 m 12 m 13 m8m8 m9m9 m3m3 m2m2 m7m7 m6m6 m 15 m 14 m 11 m 10 AB CD A B C D Y m0m0 m1m1 m4m4 m5m5 m 12 m 13 m8m8 m9m9 m3m3 m2m2 m7m7 m6m6 m 15 m 14 m 11 m 10 AB CD A B C D Z m0m0 m1m1 m4m4 m5m5 m 12 m 13 m8m8 m9m9 m3m3 m2m2 m7m7 m6m6 m 15 m 14 m 11 m 10 x x x x x x x x x x x x x x x x x x x x x x x x W = X = A’B’C’D’+ AD Y = Z = BD+ BC+ AD’ CD+ BC’D’+ AD’ D’