© 2003-2008 BYU 07 KM Page 1 ECEn/CS 224 Karnaugh Maps.

Post on 01-Apr-2015

221 views 0 download

Tags:

Transcript of © 2003-2008 BYU 07 KM Page 1 ECEn/CS 224 Karnaugh Maps.

© 2003-2008BYU

07 KMPage 1

ECEn/CS 224

Karnaugh Maps

© 2003-2008BYU

07 KMPage 2

ECEn/CS 224

What are Karnaugh Maps?

A simpler way to handle most (but not all) jobs of manipulating logic functions.

Hooray !!

© 2003-2008BYU

07 KMPage 3

ECEn/CS 224

Karnaugh Map Advantages

• Minimization can be done more systematically

• Much simpler to find minimum solutions

• Easier to see what is happening (graphical)

Almost always used instead

of boolean minimization.

© 2003-2008BYU

07 KMPage 4

ECEn/CS 224

Gray Codes

• Gray code is a binary value encoding in which adjacent values only differ by one bit

2-bit Gray Code

00

01

11

10

© 2003-2008BYU

07 KMPage 5

ECEn/CS 224

Truth Table Adjacencies

A B F

0 0 10 1 11 0 01 1 0

F = A’

These are adjacent in a gray code sense - they differ by 1 bit

We can apply XY + XY’ = X

A’B’ + A’B = A’(B’+B) = A’(1) = A’A B F

0 0 00 1 11 0 01 1 1

F = B Same idea:

A’B + AB = B

Key idea:

Gray code adjacency allows use of simplification theorems

Problem:

Physical adjacency in truth table does not indicate gray code adjacency

© 2003-2008BYU

07 KMPage 6

ECEn/CS 224

2-Variable Karnaugh Map

A=0, B=0

A=0, B=1

A=1, B=0

A=1, B=1

A different way to draw a truth table: by folding it

A

B 0 1

0

1

A B F

0 0

0 1

1 0

1 1

© 2003-2008BYU

07 KMPage 7

ECEn/CS 224

Karnaugh Map

• In a K-map, physical adjacency does imply gray code adjacency

A

B 0 1

0 0 0

1 1 1

F = A’B + AB = B

A

B 0 1

0 1 0

1 1 0

F =A’B’ + A’B = A’

© 2003-2008BYU

07 KMPage 8

ECEn/CS 224

2-Variable Karnaugh Map

A B F

0 0 10 1 11 0 01 1 0

© 2003-2008BYU

07 KMPage 9

ECEn/CS 224

2-Variable Karnaugh Map

A B F

0 0 10 1 11 0 01 1 0

A

B 0 1

0

1

© 2003-2008BYU

07 KMPage 10

ECEn/CS 224

2-Variable Karnaugh Map

A B F

0 0 10 1 11 0 01 1 0

A

B 0 1

0 1

1 1

© 2003-2008BYU

07 KMPage 11

ECEn/CS 224

2-Variable Karnaugh Map

A

B 0 1

0 1 0

1 1 0

A B F

0 0 10 1 11 0 01 1 0

© 2003-2008BYU

07 KMPage 12

ECEn/CS 224

2-Variable Karnaugh Map

F = A’B’ + A’B = A’

A B F

0 0 10 1 11 0 01 1 0

A

B 0 1

0 1 0

1 1 0

© 2003-2008BYU

07 KMPage 13

ECEn/CS 224

2-Variable Karnaugh Map

A B F

0 0 10 1 11 0 01 1 0

A

B 0 1

0 1 0

1 1 0

A = 0

F = A’

© 2003-2008BYU

07 KMPage 14

ECEn/CS 224

A

B 0 1

0 0 1

1 1 1

Another Example

F = A’B + AB’ + AB = (A’B + AB) + (AB’ + AB) = A + B

A B F

0 0 00 1 11 0 11 1 1

© 2003-2008BYU

07 KMPage 15

ECEn/CS 224

A

B 0 1

0 0 1

1 1 1

F = A + B

Another Example

A B F

0 0 00 1 11 0 11 1 1 A = 1

B = 1

© 2003-2008BYU

07 KMPage 16

ECEn/CS 224

A

B 0 1

0 1 1

1 1 1

Yet Another Example

F = 1

A B F

0 0 10 1 11 0 11 1 1

Groups of more than two 1’s can be combined

© 2003-2008BYU

07 KMPage 17

ECEn/CS 224

3-Variable Karnaugh Map Showing Minterm Locations

Note the order ofthe B C variables:

0 0 0 1 1 1 1 0

A

BC 0 1

00

01

11

10

ABC = 010

ABC = 101

© 2003-2008BYU

07 KMPage 18

ECEn/CS 224

3-Variable Karnaugh Map Showing Minterm Locations

ABC = 010

ABC = 101

Note the order ofthe B C variables:

0 0 0 1 1 1 1 0

A

BC 0 1

00 m0 m4

01 m1 m5

11 m3 m7

10 m2 m6

© 2003-2008BYU

07 KMPage 19

ECEn/CS 224

Adjacencies

• Adjacent squares differ by exactly one variable

A

BC 0 1

00 AB'C'

01 A'B'C AB'C

11 ABC

10 ABC'

There is wrap-around: top and bottom rows are adjacent

© 2003-2008BYU

07 KMPage 20

ECEn/CS 224

Truth Table to Karnaugh Map

A

BC 0 1

00

01

11

10

A B C F

0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 11 1 0 01 1 1 1

0

0

1

1

0

1

1

0

© 2003-2008BYU

07 KMPage 21

ECEn/CS 224

A

BC 0 1

00 0 0

01 0 1

11 1 1

10 1 0

Minimization Example

A’BC+A’BC’ = A’B

AB’C+ABC = AC

F = A’B + AC

© 2003-2008BYU

07 KMPage 22

ECEn/CS 224

Another Example

A’B’C+A’BC = A’C AB’C’+ABC’ = AC’

F = A’C + AC’ = A C

A

BC 0 1

00 0 1

01 1 0

11 1 0

10 0 1

© 2003-2008BYU

07 KMPage 23

ECEn/CS 224

Minterm Expansion to K-Map

F = m( 1, 3, 4, 6 )

A

BC 0 1

00

01

11

10

A

BC 0 1

00 m0 m4

01 m1 m5

11 m3 m7

10 m2 m6

Minterms are the 1’s, everything else is 0

0

1

1

0

1

0

0

1

© 2003-2008BYU

07 KMPage 24

ECEn/CS 224

Maxterm Expansion to KMap

A

BC 0 1

00

01

11

10

A

BC 0 1

00 M0 M4

01 M1 M5

11 M3 M7

10 M2 M6

F = ПM( 0, 2, 5, 7 )

Maxterms are the 0’s, everything else is 1

0

1

1

0

1

0

0

1

© 2003-2008BYU

07 KMPage 25

ECEn/CS 224

Yet Another Example

A’B’C’+AB’C’+A’B’C+AB’C = B’

AB’C+ABC = AC

F = B’ + AC

2n 1’s can be circled at a time1, 2, 4, 8, … OK

3 not OK

The larger the group of 1’s the simpler the resulting product term

A

BC 0 1

00 1 1

01 1 1

11 0 1

10 0 0

© 2003-2008BYU

07 KMPage 26

ECEn/CS 224

A

BC 0 1

00

01

11

10

Boolean Algebra to Karnaugh Map

Plot: ab’c’ + bc + a’

© 2003-2008BYU

07 KMPage 27

ECEn/CS 224

Boolean Algebra to Karnaugh Map

A

BC 0 1

00 1

01

11

10

Plot: ab’c’ + bc + a’

© 2003-2008BYU

07 KMPage 28

ECEn/CS 224

A

BC 0 1

00 1

01

11 1 1

10

Boolean Algebra to Karnaugh Map

Plot: ab’c’ + bc + a’

© 2003-2008BYU

07 KMPage 29

ECEn/CS 224

Boolean Algebra to Karnaugh Map

Plot: ab’c’ + bc + a’

A

BC 0 1

00 1 1

01 1

11 1 1

10 1

© 2003-2008BYU

07 KMPage 30

ECEn/CS 224

A

BC 0 1

00 1 1

01 1 0

11 1 1

10 1 0

Boolean Algebra to Karnaugh Map

Remainingspaces are 0

Plot: ab’c’ + bc + a’

© 2003-2008BYU

07 KMPage 31

ECEn/CS 224

A

BC 0 1

00 1 1

01 1 0

11 1 1

10 1 0

Boolean Algebra to Karnaugh Map

F = B’C’ + BC + A’

This is a simpler equation thanwe started with.

Do you see how we obtained it?

Now minimize . . .

© 2003-2008BYU

07 KMPage 32

ECEn/CS 224

Mapping Sum of Product Terms

The 3-variable map has 12 possible groups of 2 spaces

These become terms with 2 literals

A

BC 0 1

00

01

11

10

A

BC 0 1

00

01

11

10

A

BC 0 1

00

01

11

10

© 2003-2008BYU

07 KMPage 33

ECEn/CS 224

A

BC 0 1

00

01

11

10

A

BC 0 1

00

01

11

10

Mapping Sum of Product Terms

The 3-variable map has 6 possible groups of 4 spaces

These become terms with 1 literal

A

BC 0 1

00

01

11

10

© 2003-2008BYU

07 KMPage 34

ECEn/CS 224

AB

CD 00 01 11 10

00 0 0 0 1

01 1 1 1 1

11 1 1 1 1

10 0 1 0 0

4-Variable Karnaugh Map

Note the rowand column orderings.

Required for adjacency

AB

CD 00 01 11 10

00 m0 m4 m12 m8

01 m1 m5 m13 m9

11 m3 m7 m15 m11

10 m2 m6 m14 m10

DA’BC

AB’C’

F = A’BC + AB’C’ + D

© 2003-2008BYU

07 KMPage 35

ECEn/CS 224

AB

CD 00 01 11 10

00 1 0 0 1

01 0 0 0 0

11 1 1 1 1

10 1 1 1 0

Find a POS Solution

Find solutions to groups of 0’s to find F’Invert to get F then use DeMorgan’s

C’D

F’ = C’D + BC’ + AB’CD’F = (C+D’)(B’+C)(A’+B+C’+D)

AB’CD’

BC’

© 2003-2008BYU

07 KMPage 36

ECEn/CS 224

A

BC 0 1

00

01

11

10

Dealing With Don’t Cares

F = m(1, 3, 7) + d(0, 5)

© 2003-2008BYU

07 KMPage 37

ECEn/CS 224

A

BC 0 1

00 x 0

01 1 x

11 1 1

10 0 0

Dealing With Don’t Cares

A’B’C+AB’C+A’BC+ABC = C

F = C

Circle the x’s that help get bigger groups of 1’s (or 0’s if POS)Don’t circle the x’s that don’t

F = m(1, 3, 7) + d(0, 5)

© 2003-2008BYU

07 KMPage 38

ECEn/CS 224

Minimal K-Map Solutions

Some Terminologyand

An Algorithm to Find Them

© 2003-2008BYU

07 KMPage 39

ECEn/CS 224

Prime Implicants

• A group of one or more 1’s which are adjacent and can be combined on a Karnaugh Map is called an implicant.

• The biggest group of 1’s which can be circled to cover a given 1 is called a prime implicant.

– They are the only implicants we care about.

© 2003-2008BYU

07 KMPage 40

ECEn/CS 224

Prime Implicants

Prime Implicants Non-prime Implicants

Are there any additional prime implicants in the map that are not shown above?

AB

CD 00 01 11 10

00 0 0 0 1

01 0 0 1 1

11 0 1 1 1

10 0 1 1 1

© 2003-2008BYU

07 KMPage 41

ECEn/CS 224

All The Prime Implicants

Prime Implicants

When looking for a minimal solution – only circle prime implicants…

A minimal solution will never contain non-prime implicants

AB

CD 00 01 11 10

00 0 0 0 1

01 0 0 1 1

11 0 1 1 1

10 0 1 1 1

© 2003-2008BYU

07 KMPage 42

ECEn/CS 224

Essential Prime Implicants

Not all prime implicants are required…

A prime implicant which is the only cover of some 1 is essential – a minimal solution requires it.

Essential Prime Implicants Non-essential Prime Implicants

AB

CD 00 01 11 10

00 0 0 0 1

01 0 0 1 1

11 0 1 1 1

10 0 1 1 1

© 2003-2008BYU

07 KMPage 43

ECEn/CS 224

A Minimal Solution Example

Minimum

Not required…

AB

CD 00 01 11 10

00 0 0 0 1

01 0 0 1 1

11 0 1 1 1

10 0 1 1 1

F = AB’ + BC + AD

© 2003-2008BYU

07 KMPage 44

ECEn/CS 224

AB

CD 00 01 11 10

00 1 0 0 1

01 1 1 0 0

11 1 1 1 0

10 1 0 0 1

Another Example

© 2003-2008BYU

07 KMPage 45

ECEn/CS 224

Another Example

Minimum

A’B’ is not required…

Every one one of itslocations is covered by multiple implicants

After choosing essentials, everything is covered…

AB

CD 00 01 11 10

00 1 0 0 1

01 1 1 0 0

11 1 1 1 0

10 1 0 0 1

F = A’D + BCD + B’D’

© 2003-2008BYU

07 KMPage 46

ECEn/CS 224

Finding the Minimum Sum of Products

1. Find each essential prime implicant and include it in the solution.

2. Determine if any minterms are not yet covered.

3. Find the minimal # of remaining prime implicants which finish the cover.

© 2003-2008BYU

07 KMPage 47

ECEn/CS 224

AB

CD 00 01 11 10

00 1 1 0 0

01 0 0 1 1

11 1 1 1 1

10 1 1 0 0

Yet Another Example(Use of non-essential primes)

© 2003-2008BYU

07 KMPage 48

ECEn/CS 224

Yet Another Example(Use of non-essential primes)

AD

CDA’C

A’D’

AB

CD 00 01 11 10

00 1 1 0 0

01 0 0 1 1

11 1 1 1 1

10 1 1 0 0

Essentials: A’D’ and ADNon-essentials: A’C and CDSolution: A’D’ + AD + A’C or A’D’ + AD + CD

© 2003-2008BYU

07 KMPage 49

ECEn/CS 224

K-Map Solution Summary

• Identify prime implicants

• Add essentials to solution

• Find a minimum # non-essentials required to cover rest of map

© 2003-2008BYU

07 KMPage 50

ECEn/CS 224

5- and 6-Variable K-Maps

© 2003-2008BYU

07 KMPage 51

ECEn/CS 224

5-Variable Karnaugh Map

The planes are adjacent to one another (one is above the other in 3D)

BC

DE 00 01 11 10

00 m0 m4 m12 m8

01 m1 m5 m13 m9

11 m3 m7 m15 m11

10 m2 m6 m14 m10

BC

DE 00 01 11 10

00 m16 m20 m28 m24

01 m17 m21 m29 m25

11 m19 m23 m31 m27

10 m18 m22 m30 m26

This is the A=0 plane This is the A=1 plane

© 2003-2008BYU

07 KMPage 52

ECEn/CS 224

D’E’

Some Implicants in a 5-Variable KMap

A=0 A=1

AB’C’DA’BCD

B’C’DE’

ABC’DE

Some of these are not prime…

BC

DE 00 01 11 10

00 1 1 1 1

01 0 0 0 0

11 1 0 0 1

10 1 0 0 0

BC

DE 00 01 11 10

00 1 1 1 1

01 0 0 0 0

11 0 0 1 0

10 1 0 1 0

© 2003-2008BYU

07 KMPage 53

ECEn/CS 224

BC

DE 00 01 11 10

00

01

11

10

BC

DE 00 01 11 10

00

01

11

10

5-Variable KMap Example

A=0 A=1

Find the minimum sum-of-products for:F = m (0,1,4,5,11,14,15,16,17,20,21,30,31)

© 2003-2008BYU

07 KMPage 54

ECEn/CS 224

5-Variable KMap Example

A=0 A=1

Find the minimum sum-of-products for:F = m (0,1,4,5,11,14,15,16,17,20,21,30,31)

BC

DE 00 01 11 10

00 1 1 0 0

01 1 1 0 0

11 0 0 1 0

10 0 0 1 0

BC

DE 00 01 11 10

00 1 1 0 0

01 1 1 0 0

11 0 0 1 1

10 0 0 1 0

F = B’D’ + BCD + A’BDE

© 2003-2008BYU

07 KMPage 55

ECEn/CS 224

6-Variable Karnaugh MapCD

EF 00 01 11 10

00 m0 m4 m12 m8

01 m1 m5 m13 m9

11 m3 m7 m15 m11

10 m2 m6 m14 m10

AB=00

CD

EF 00 01 11 10

00 m32 m36 m44 m40

01 m33 m37 m45 m41

11 m35 m39 m47 m43

10 m34 m38 m46 m42

CD

EF 00 01 11 10

00 m16 m20 m28 m24

01 m17 m21 m29 m25

11 m19 m23 m31 m27

10 m18 m22 m30 m26

CD

EF 00 01 11 10

00 m48 m52 m60 m56

01 m49 m53 m61 m57

11 m51 m55 m63 m59

10 m50 m54 m62 m58

AB=01

AB=10

AB=11

© 2003-2008BYU

07 KMPage 56

ECEn/CS 224

CD

EF 00 01 11 10

00 0 0 0 0

01 0 0 0 0

11 0 0 1 0

10 0 0 0 0

CD

EF 00 01 11 10

00 1 0 0 0

01 1 0 0 0

11 1 0 1 0

10 1 0 0 0

CD

EF 00 01 11 10

00 1 0 0 0

01 1 0 0 0

11 1 0 1 0

10 1 0 0 0

CD

EF 00 01 11 10

00 0 0 0 0

01 0 0 0 0

11 0 0 1 0

10 0 0 0 0

AB=00

AB=01

AB=10

AB=11

= CDEF= AC’D’Solution = AC’D’ + CDEF

© 2003-2008BYU

07 KMPage 57

ECEn/CS 224

KMap Summary

• A Kmap is simply a folded truth table– where physical adjacency implies logical

adjacency

• KMaps are most commonly used hand method for logic minimization

• KMaps have other uses for visualizing Boolean equations– you may see some later.