Post on 02-Jan-2016
description
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 1010
A
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
0
0
11
1 1
1
0 0 0
0
0
00
0
0 0
0
f(A,B,C)
ABC
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
F
ABC
00
01
11
10
0 1
B
C
A
1
1
1
0 0
0
0
1
F
ABC
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)
G
ABC
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 XNORs
B 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
G
ABC
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
F2
F3
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’