Lecture 6 n n Karnaugh maps Kmaps Kmaps

  • Slides: 18
Download presentation
Lecture 6 n n Karnaugh maps (K-maps) K-maps with “don’t cares” 1

Lecture 6 n n Karnaugh maps (K-maps) K-maps with “don’t cares” 1

Karnaugh map (K-map) n Flat representation of Boolean cubes ¡ ¡ ¡ Easy to

Karnaugh map (K-map) n Flat representation of Boolean cubes ¡ ¡ ¡ Easy to use for 2– 4 dimensions Harder for 5 – 6 dimensions Virtually impossible for >6 dimensions n n Use CAD tools Help visualize adjacencies ¡ On-set elements that have one variable changing are adjacent 2

Karnaugh map (K-map) 0 1 2 3 A 0 0 1 1 B 0

Karnaugh map (K-map) 0 1 2 3 A 0 0 1 1 B 0 1 F 1 0 A 0 B 0 1 1 0 1 2 3 1 F = B' 0 3

2, 3, and 4 dimensional K-maps Uses Gray code: Only one bit changes between

2, 3, and 4 dimensional K-maps Uses Gray code: Only one bit changes between cells n B A 0 B 1 00 01 10 Example: ¡ A 1 0 0 2 1 3 A AB C 00 01 11 10 0 C 1 A AB CD 00 01 11 10 00 0 2 6 4 01 1 3 7 5 11 B C 10 0 4 12 8 1 5 13 9 3 7 15 11 2 6 14 10 B D 4

Adjacencies n Wrap–around at edges First column to last column Top row to bottom

Adjacencies n Wrap–around at edges First column to last column Top row to bottom row ¡ ¡ AB C 0 A 00 01 11 011 10 000 010 100 0 C 1 1 2 6 4 001 011 101 3 7 B 5 111 001 B C 000 A 101 100 5

K-map minimization n Find the least number of subcubes, each as large as possible,

K-map minimization n Find the least number of subcubes, each as large as possible, that cover the ON-set. n Make sure subcubes contain 1, 2, 4, or 8 items (remember the Boolean cube) 6

Example 1 A 0 0 1 1 B 0 0 1 1 Cin 0

Example 1 A 0 0 1 1 B 0 0 1 1 Cin 0 1 0 1 Cout 0 0 0 1 1 1 A AB Cin 00 01 11 10 0 1 2 1 3 6 1 7 4 Cout = AB + BCin + ACin 1 5 B 111 B 000 Cin A 101 7

Example 2 A 0 0 1 1 B 0 0 1 1 C 0

Example 2 A 0 0 1 1 B 0 0 1 1 C 0 1 0 1 D 0 0 0 1 1 1 A AB 00 01 11 10 C 0 0 0 1 1 0 2 6 4 1 1 0 3 1 7 1 5 D = A + BC 1 B 111 B 000 Cin 101 A 8

Example 3 F(A, B, C) = m(0, 4, 5, 7) = B'C'+AC A AB

Example 3 F(A, B, C) = m(0, 4, 5, 7) = B'C'+AC A AB C 00 01 11 10 0 1 0 2 6 4 1 1 0 3 0 7 1 5 1 B 9

Finding the complement A AB C 00 01 11 10 0 1 0 2

Finding the complement A AB C 00 01 11 10 0 1 0 2 6 4 1 1 0 3 0 7 B 1 5 1 F(A, B, C) = m(0, 4, 5, 7) = B'C'+AC F'(A, B, C) = m(1, 2, 3, 6) = A’C + BC’ 10

Example: 4 variables n n Minimize F(A, B, C, D) = m(0, 2, 3,

Example: 4 variables n n Minimize F(A, B, C, D) = m(0, 2, 3, 5, 6, 7, 8, 10, 11, 14, 15) Answer: F = C+A'BD+B'D' A AB CD 00 01 11 10 00 1 0 01 C 11 10 1 3 2 0 1 1 4 5 7 6 0 1 1 1 0 12 0 13 1 15 1 14 B 8 9 1111 0111 1 0 1 11 D C D 0000 A B 1000 1 10 11

Exercise F(A, B, C) = m(0, 3, 6, 7) F(A, B, C) = F(A,

Exercise F(A, B, C) = m(0, 3, 6, 7) F(A, B, C) = F(A, B, C, D) = m(0, 3, 7, 8, 11, 15) F(A, B, C, D) = F’(A, B, C, D) = F'(A, B, C) = AB CD 00 01 11 10 00 AB C 00 01 11 10 0 1 01 11 10 12

6 -dimensions K-maps become 3 D for 5 & 6 variables CD 00 01

6 -dimensions K-maps become 3 D for 5 & 6 variables CD 00 01 11 10 00 0 0 01 0 0 1 1 10 0 0 EF AB = 00 CD CD EF 00 01 11 10 00 1 0 01 0 0 1 1 11 1 0 1 1 10 1 0 00 01 11 10 EF AB = 01 CD EF 00 OUTPUT = 00 0 0 0 0 A’BC’D’F’ + 01 0 0 1 1 11 0 0 1 1 10 0 0 CF + BC’D’E AB = 11 11 1 0 1 1 10 1 0 0 0 AB = 10 13

Incompletely specified functions n Functions of n inputs have 2 n possible configurations ¡

Incompletely specified functions n Functions of n inputs have 2 n possible configurations ¡ ¡ Some combinations may be unused Call unused combinations “don’t cares” Exploit don’t cares during logic minimization Don’t care no output n There will always be an output signal 14

Don't cares n Example: A BCD increment-by-1 ¡ Function F computes the next number

Don't cares n Example: A BCD increment-by-1 ¡ Function F computes the next number in a BCD sequence n ¡ If the input is 00102, the output is 00112 BCD encodes decimal digits 0– 9 as 00002– 10012 n Don’t care about binary numbers 10102– 11112 15

BCD increment-by-one A 0 0 0 0 1 1 1 1 INPUTS B C

BCD increment-by-one A 0 0 0 0 1 1 1 1 INPUTS B C 0 0 0 0 0 1 0 1 1 1 1 D 0 1 0 1 OUTPUTS W X Y Z 0 0 0 1 1 0 0 0 1 0 1 1 0 0 0 1 0 0 X X X X X X off-set for W: m 0–m 6, m 9 on-set for W: m 7 and m 8 Don't care set for W: We don't care about the output values 16

Don't care notation n Minterm expansion W = m 7+m 8+d 10+d 11+d 12+d

Don't care notation n Minterm expansion W = m 7+m 8+d 10+d 11+d 12+d 13+d 14+d 15 = m(7, 8) + d(10, 11, 12, 13, 14, 15) n Maxterm expansion W = M 0 • M 1 • M 2 • M 3 • M 4 • M 5 • M 6 • M 9 • D 10 • D 11 • D 12 • D 13 • D 14 • D 15 = PM(0, 1, 2, 3, 4, 5, 6, 9) • D(10, 11, 12, 13, 14, 15) n In K-maps, can treat ‘don't cares’ as 0 s or 1 s depending on which is more advantageous 17

Example F(A, B, C, D) = m(1, 3, 5, 7, 9) + d(6, 12,

Example F(A, B, C, D) = m(1, 3, 5, 7, 9) + d(6, 12, 13) n ¡ ¡ F = A'D + B'C'D F = A'D + C'D A AB CD 00 01 11 10 00 0 0 X 0 C 01 1 1 X 1 11 1 1 0 0 10 0 X 0 0 B without using don't cares Assign X == "1" allows a 2 -cube rather than a 1 -cube D 18