seattle pacific university ee 1210 - logic system designkmaps-1 two-level simplification all boolean...
DESCRIPTION
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’TRANSCRIPT
Seattle Pacific University EE 1210 - Logic System Design KMaps-1
Two-Level Simplification
• All Boolean expressions can be represented in two-level forms• Sum-of-products• Product-of-sums cbacbabcacbaf ),,(
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
f a b c abc ab c ab cf a b c abc ab c cf a b c abc ab
( , , )( , , ) ( )( , , )
Seattle Pacific University EE 1210 - Logic System Design KMaps-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 1210 - Logic System Design KMaps-3
Karnaugh maps
2-variable K-map
A 0 0 1 1
B 0 1 0 1
F 0 110
0
1
1
0
B A 0 1
0
1
00
10
01
11
F(A,B)
Space for A’B
Space for AB
Space for A’B’
Space for AB’
Seattle Pacific University EE 1210 - Logic System Design KMaps-4
Karnaugh maps
K-maps can represent up to four variables easily
3-variableK-map 4-variable
K-map
Numbering Scheme: 00, 01, 11, 10Gray Code — only a single bit changes from one number to the next
A
f(A,B,C)f(A,B,C,D)AB
C
00
01
11
10
0 1
000 001
010 011
110 111
100 101
B
ABCD
00 01 11 10
00
01
11
10
0000 0001
0100 0101
1100 1101
1000 1001
0011 0010
0111 0110
1111 1110
1011 1010A
B
C
D
C
m0 m1
m2 m3
m6 m7
m4 m5
m0 m1
m4 m5
m12 m13
m8 m9
m3 m2
m7 m6
m15 m14
m11 m10
Seattle Pacific University EE 1210 - Logic System Design KMaps-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-variableK-map
4-variableK-map
1 1
1
1
00
00
11
1 1
1
0 0 0
0
0
00
0
0 0
0
f(A,B,C)AB
C
00
01
11
10
0 1
B
C
A
ABCD
00 01 11 10
00
01
11
10 A
B
C
D
Seattle Pacific University EE 1210 - Logic System Design KMaps-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 0 1
0 1
0 1
0
1
BA 0 1
1 1
0 0
0
1
Seattle Pacific University EE 1210 - Logic System Design KMaps-7
Adjacencies in the K-map
Wrap from left to right
Wrap from top to bottom
Neighbors
ABC
00
01
11
10
0 1
B
C
A
Seattle Pacific University EE 1210 - Logic System Design KMaps-8
3-variable K-map examples
F(C,B,A) = A’C’ + B’C
In the K-map, adjacency wraps from left to rightand 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
FAB
C
00
01
11
10
0 1
B
C
A
1
1
1
0 0
0
0
1
FAB
C
00
01
11
10
0 1
B
C
A
1
1
1
0 0
0
Seattle Pacific University EE 1210 - Logic System Design KMaps-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)
GAB
C
00
01
11
10
0 1
B
C
A
1
0 0
0 0
1
1 1
Seattle Pacific University EE 1210 - Logic System Design KMaps-10
4-variable K-map example
0 0
0
1
1
1 1 1
1 1 1
1 1
1 1 1
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) =
ABCD
00 01 11 10
00
01
11
10
A
B
C
D
F
m0 m1
m4 m5
m12 m13
m8 m9
m3 m2
m7 m6
m15 m14
m11 m10
A’ + BC’D + CD’ + B’D’ + B’C
Seattle Pacific University EE 1210 - Logic System Design KMaps-11
K-maps for XORs and XNORsB
A 0 1
0 1
1 0
0
1
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
GAB
C
00
01
11
10
0 1
B
C
A
0
1
1
0
0 1
1
0
ABCD
00 01 11 10
00
01
11
10 A
B
C
D
0
1
1
0
0 1
1
0
0
1
1
0
0 1
1
0
Q
ABCD
00 01 11 10
00
01
11
10 A
B
C
D
0
1
1
0
0 1
1
0
0
1
1
0
0 1
1
0
P
Seattle Pacific University EE 1210 - Logic System Design KMaps-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
CD00 01 11 10
00
01
11
10
A
B
C
D
F
m0 m1
m4 m5
m12 m13
m8 m9
m3 m2
m7 m6
m15 m14
m11 m10
0
0
1
1
1
1
0 0
0
0
0 0
0
1
1
1
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 1210 - Logic System Design KMaps-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 largerrectangle can be formed
F = assuming x’s are zero
Tie! - Skip and come back
ABCD
00 01 11 10
00
01
11
10
A
B
C
D
F
m0 m1
m4 m5
m12 m13
m8 m9
m3 m2
m7 m6
m15 m14
m11 m10
0
1
1
1
x
0
0 1
0
x
1 0
x
0
0
0
A’D + B’C’D
ABCD
00 01 11 10
00
01
11
10
A
B
C
D
F
m0 m1
m4 m5
m12 m13
m8 m9
m3 m2
m7 m6
m15 m14
m11 m10
0
1
1
1
x
0
0 1
0
x
1 0
x
0
0
0 F = using don’t caresA’D + C’D
Seattle Pacific University EE 1210 - Logic System Design KMaps-14
Example: 2-bit Comparator
Will need a 4-variable K-map for each of the 3 output functions
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
0 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 0
=, >, <
AB = CD AB < CD AB > CD
AB
C D
N 1
N 2
F1
F2F3
DC and BA are two-bitbinary numbers
F 1 F 2 F 3 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
B 0 1 0 1
A 0 0 1 1
Seattle Pacific University EE 1210 - Logic System Design KMaps-15
K-maps for 2-bit comparator
ABCD 00 01 11 10
00
01
11
10
A
B
C
D
F1
m0 m1
m4 m5
m12 m13
m8 m9
m3 m2
m7 m6
m15 m14
m11 m10
ABCD 00 01 11 10
00
01
11
10
A
B
C
D
F2
m0 m1
m4 m5
m12 m13
m8 m9
m3 m2
m7 m6
m15 m14
m11 m10
ABCD 00 01 11 10
00
01
11
10
A
B
C
D
F3
m0 m1
m4 m5
m12 m13
m8 m9
m3 m2
m7 m6
m15 m14
m11 m10
F1 = AB==CD F2 = AB<CD F3 = AB>CD
1
1
1
1
0
0
0
0
0 0
0 0
0
0 0
0
1
1
1 1
1
1
00
0
0
0 0
0 0
0 0
1
1
1
1 1
1
0
0
0
0 0 0
0 0
0 0
F1 =
F2 =
F3 =
A’B’C’D’ + A’BC’D + ABCD + AB’CD’ A’B’D + A’C + B’CD
BC’D + AC’ + ABD’F1’ =
B’D + A’C + BD’ + AC’F1 = (B+D’)(A+C’)(B’+D)(A’+C)
-OR-
Seattle Pacific University EE 1210 - Logic System Design KMaps-16
BCD Decrement by 1
• BCD – Binary Coded Decimal• Represents ‘0’ through ‘9’
in four bits• Binary patterns for 10-15
are invalid inputs
• Decrement by 1 function• N2 = N1 – 1• 0 – 1 = 9 (rolls over)
A B C D W X Y Z0 0 0 0 1 0 0 10 0 0 1 0 0 0 00 0 1 0 0 0 0 10 0 1 1 0 0 1 00 1 0 0 0 0 1 10 1 0 1 0 1 0 00 1 1 0 0 1 0 10 1 1 1 0 1 1 01 0 0 0 0 1 1 11 0 0 1 1 0 0 01 0 1 0 X X X X1 0 1 1 X X X X1 1 0 0 X X X X1 1 0 1 X X X X1 1 1 0 X X X X1 1 1 1 X X X X
N1 N2
Seattle Pacific University EE 1210 - Logic System Design KMaps-17
BCD Decrement by One
ABCD 00 01 11 10
00
01
11
10
A
B
C
D
W
m0 m1
m4 m5
m12 m13
m8 m9
m3 m2
m7 m6
m15 m14
m11 m10
ABCD 00 01 11 10
00
01
11
10
A
B
C
D
X
m0 m1
m4 m5
m12 m13
m8 m9
m3 m2
m7 m6
m15 m14
m11 m10
ABCD 00 01 11 10
00
01
11
10
A
B
C
D
Y
m0 m1
m4 m5
m12 m13
m8 m9
m3 m2
m7 m6
m15 m14
m11 m10
ABCD 00 01 11 10
00
01
11
10
A
B
C
D
Z
m0 m1
m4 m5
m12 m13
m8 m9
m3 m2
m7 m6
m15 m14
m11 m10
x
x
x
x x x
1
1
0
0
0
0 0
0 0
0 x
x
x
x x x
1 1 1
1
0
0
0 0 0
0
x
x
x
x x x
1
1 1
1
0
0
0
0
0 0
x
x
x
x x x
1
1
1
1
1
0
0
0 0
0
W =
X =
A’B’C’D’+ AD
Y =
Z =
BD+ BC + AD’
CD+ BC’D’ + AD’
D’