13666_05-KarnaughMaps (2)

30
1 Karnaugh Maps for Simplification

Transcript of 13666_05-KarnaughMaps (2)

Page 1: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 1/30

1

Karnaugh Maps for

Simplification

Page 2: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 2/30

2

Karnaugh Maps

� Boolean algebra helps us simplify expressions and circuits

� Karnaugh Map: A graphical technique for simplifying a Boolean expressioninto either form:

² minimal sum of products (MSP)

² minimal product of sums (MPS)

� Goal of the simplification.

² There are a minimal number of product/sum terms

² Each term has a minimal number of literals

� Circuit-wise, this leads to a minimal two-level implementation

Page 3: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 3/30

3

Re-arranging the Truth Table

� A two-variable function has four possible minterms. We can re-arrange

these minterms into a Karnaugh map

� Now we can easily see which minterms contain common literals

² Minterms on the left and right sides contain y· and y respectively

² Minterms in the top and bottom rows contain x· and x respectively

x y minterm

0 0 x·y·

0 1 x·y

1 0 xy·

1 1 xy

Y

0 1

0 x·y· x·yX

1 xy· xy

Y0 1

0 x·y· x·yX

1 xy· xy

Y· Y

X· x·y· x·y

X xy· xy

Page 4: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 4/30

4

Karnaugh Map Simplifications

� Imagine a two-variable sum of minterms:

x·y· + x·y

� Both of these minterms appear in the top row of a Karnaugh map, which

means that they both contain the literal x·

� What happens if you simplify this expression using Boolean algebra?

x·y· + x·y = x·(y· + y) [ Distributive ]= x· y 1 [ y + y· = 1 ]= x· [ x y 1 = x ]

x·y· x·y

xy· xy

Page 5: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 5/30

5

More Two-Variable Examples

� Another example expression is x·y + xy² Both minterms appear in the right side, where y is uncomplemented

² Thus, we can reduce x·y + xy to just y

� How about x·y· + x·y + xy?

² We have x·y· + x·y in the top row, corresponding to x·

² There·s also x·y + xy in the right side, corresponding to y

² This whole expression can be reduced to x· + y

x·y· x·y

xy· xy

x·y· x·y

xy· xy

Page 6: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 6/30

6

A Three-Variable Karnaugh Map

� For a three-variable expression with inputs x, y, z, the arrangement of

minterms is more tricky:

� Another way to label the K-map (use whichever you like):

x·y·z· x·y·z x·yz x·yz·

xy·z· xy·z xyz xyz·

Z

m   m1 m3 m¡  

m4 m5 m7 m6

Z

Z

1 11 1

x·y·z· x·y·z x·yz x·yz·

1 xy·z· xy·z xyz xyz·

Z

1 11 1

m   m1 m3 m¡  

1 m4 m5 m7 m6

Page 7: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 7/30

7

Why the funny ordering?

� With this ordering, any group of 2, 4 or 8 adjacent squares on the map

contains common literals that can be factored out

� ´Adjacencyµ includes wrapping around the left and right sides:

� We·ll use this property of adjacent squares to do our simplifications.

x·y·z + x·yz= x·z(y· + y)= x·z y 1

= x·z

x·y·z· + xy·z· + x·yz· + xyz·= z·(x·y· + xy· + x·y + xy)= z·(y·(x· + x) + y(x· + x))= z·(y·+y)= z·

x·y·z· x·y·z x·yz x·yz·

xy·z· xy·z xyz xyz·

Z

x·y·z· x·y·z x·yz x·yz·

xy·z· xy·z xyz xyz·

Z

Page 8: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 8/30

8

K-maps From Truth Tables

� We can fill in the K-map directly from a truth table

² The output in row i of the table goes into square mi of the K-map² Remember that the rightmost columns of the K-map are ´switchedµ

m0 m1 m3 m2

m4

m5

m7

m6

Z

x y z f(x,y,z)

0 0 0 00 0 1 1

0 1 0 0

0 1 1 0

1 0 0 0

1 0 1 1

1 1 0 1

1 1 1 1

0 1 0 0

0 1 1 1Z

Page 9: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 9/30

9

Reading the MSP from the K-map

� ou can find the minimal SoP expression

² Each rectangle corresponds to one product term

² The product is determined by finding the common literals in that

rectangle

x·y·z· x·y·z x·yz x·yz·

X xy·z· xy·z xyz xyz·

0 1 0 0X 0 1 1 1

xyy·z

F(x,y,z)= y·z + xy

Page 10: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 10/30

10

Grouping the Minterms Together

� The most difficult step is grouping together all the 1s in the K-map

² Make rectangles around groups of one, two, four or eight 1s

² All of the 1s in the map should be included in at least one rectangle

² Do not include any of the 0s

² Each group corresponds to one product term

Y

0 1 0 0

X 0 1 1 1

Page 11: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 11/30

11

For the Simplest Result

� Make as few rectangles as possible, to minimize the number of productsin the final expression.

� Make each rectangle as large as possible, to minimize the number ofliterals in each term.

� Rectangles can be overlapped, if that makes them larger.

Page 12: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 12/30

12

K-map Simplification of SoP Expressions

� Let·s consider simplifying f(x,y,z) = xy + y·z + xz

� ou should convert the expression into a sum of minterms form,

² The easiest way to do this is to make a truth table for the function, andthen read off the minterms

² ou can either write out the literals or use the minterm shorthand

� Here is the truth table and sum of minterms for our example:

x y z f(x,y,z)

0 0 0 0

0 0 1 1

0 1 0 00 1 1 0

1 0 0 0

1 0 1 1

1 1 0 1

1 1 1 1

f(x,y,z) = x·y·z + xy·z + xyz· + xyz= m1 + m5 + m6 + m7

Page 13: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 13/30

13

Unsimplifying Expressions

� ou can also convert the expression to a sum of minterms with Booleanalgebra

² Apply the distributive law in reverse to add in missing variables.

² Very few people actually do this, but it·s occasionally useful.

� In both cases, we·re actually ´unsimplifyingµ our example expression

² The resulting expression is larger than the original one!

² But having all the individual minterms makes it easy to combine them

together with the K-map

xy + y·z + xz = (xy y 1) + (y·z y 1) + (xz y 1)

= (xy y (z· + z)) + (y·z y (x· + x)) + (xz y (y· + y))= (xyz· + xyz) + (x·y·z + xy·z) + (xy·z + xyz)= xyz· + xyz + x·y·z + xy·z= m1 + m5 + m6 + m7

Page 14: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 14/30

14

Making the Example K-map

� In our example, we can write f(x,y,z) in two equivalent ways

� In either case, the resulting K-map is shown below

x·y·z· x·y·z x·yz x·yz·

xy·z· xy·z xyz xyz·

Z

f(x,y,z) = x·y·z + xy·z + xyz· + xyz

m0 m1 m3 m2

m4 m5 m7 m6

Z

f(x,y,z) = m1 + m5 + m6 + m7

Y

0 1 0 0

0 1 1 1

Z

Page 15: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 15/30

15

Practice K-map 1

� Simplify the sum of minterms m1 + m3 + m5 + m6

Y

X

Y

m¢  

m1 m3 m£  

X m4 m5 m7 m6

Z

Page 16: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 16/30

16

Solutions for Practice K-map 1

� Here is the filled in K-map, with all groups shown

² The magenta and green groups overlap, which makes each of them as

large as possible

² Minterm m6 is in a group all by its lonesome

� The final MSP here is x·z + y·z + xyz·

Y

1 1X 1 1

Z

Page 17: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 17/30

17

K-maps can be tricky!

� There may not necessarily be a unique MSP. The K-map below yields two

valid and equivalent MSPs, because there are two possible ways toinclude minterm m7

� Remember that overlapping groups is possible, as shown above

Y

1 1

X 1 1 1

Z

y·z + yz· + xy y·z + yz· + xz

Y

1 1

X 1 1 1

Z

Y

1 1

X 1 1 1

Z

Page 18: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 18/30

18

Four-v ariable K-maps ² f(W,X,Y,Z)

� We can do four-variable expressions too!

² The minterms in the third and fourth columns, and in the third andfourth rows, are switched around.

² Again, this ensures that adjacent squares have common literals

� Grouping minterms is similar to the three-variable case, but:

² You can have rectangular groups of 1, 2, 4, 8 or 16 minterms

² You can wrap around all four sides

Page 19: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 19/30

19

Four-v ariable K-maps

Y¤  

1 3 ¥  

4 5 7 6

1¥  

13 15 14

X

¦   9 m11 m1¤  

Z

Y

· · ·z· · · ·z · · z · · z·

· ·z· · ·z · z · z··z· ·z z z·

X

· ·z· · ·z · z · z·

Z

Page 20: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 20/30

20

Example: Simplify m0+m2+m5+m8+m10+m13

� The expression is already a sum of minterms, so here·s the K-map:

� We can make the following groups, resulting in the MSP x·z· + xy·z

Y

1 0 0 1

0 1 0 0

0 1 0 0W

1 0 0 1

Z

Y

m0 m1 m3 m2

m4 m5 m7 m6

m12 m13 m15 m14W

m§  

m9 m11 m10

Z

Y

1 0 0 1

0 1 0 00 1 0 0

W1 0 0 1

Z

Y

w·x·y·z· w·x·y·z w·x·yz w·x·yz·

w·xy·z· w·xy·z w·xyz w·xyz·wxy·z· wxy·z wxyz wxyz·

Wwx·y·z· wx·y·z wx·yz wx·yz·

Z

Page 21: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 21/30

21

Five-v ariable K-maps ² f(V,W,X,Y,Z)

V= 0 V= 1

Y

m0 m1 m3 m2

m4 m5 m7 m6

m12 m13 m15 m14

X

Wm8 m9 m11 m10

Z

Y

m16 m17 m19 m8

m20 m21 m23 m22

m28 m29 m31 m30

X

Wm24 m25 m27 m26

Z

Page 22: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 22/30

22

Simplify f(V,W,X,Y,Z)=m(0,1,4,5,6,11,12,14,16,20,22,28,30,31)

V= 0 V= 1

1 1

1 1 1

1

1 1

1

1 1

1 11

f = XZ· m(4,6,12,14,20,22,28,30)+ V·W·Y· m(0,1,4,5)+ W·Y·Z· m(0,4,16,20)+ VWXY m(30,31)+ V·WX·YZ m11

Page 23: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 23/30

23

PoS Optimization

� Maxterms are grouped to find minimal PoS expression

x +y+z x+y+z· x+y·+z· x+y·+z

x· +y+z x·+y+z· x·+y·+z· x·+y·+z

00 01 11 10

0

1

x

yz

Page 24: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 24/30

24

PoS Optimization

� F(W,X

,Y

,Z)= � M(0,1,2,4

,5

)

x +y+z x+y+z· x+y·+z· x+y·+z

x· +y+z x·+y+z· x·+y·+z· x·+y·+z

00 01 11 10

0

1x

yz

0 0 1 0

0 0 1 1

00 01 11 10

0

1

x

yz

F(W,X,Y,Z)= Y . (X + Z)

Page 25: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 25/30

25

PoS Optimization from SoP

F(W,X,Y,Z)= m(0,1,2,5,8,9,10)= � M(3,4,6,7,11,12,13,14,15)

0

0 00

0

0 0 0 0

F(W,X

,Y

,Z)= (W· +X

·)(Y

· + Z·)(X

· + Z)Or,

F(W,X,Y,Z)= X·Y· + X·Z· + W·Y·Z

Which one is the minimal one?

Page 26: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 26/30

26

SoP Optimization from PoS

F(W,X

,Y

,Z)= � M(0,2,3

,4

,5

,6

)= m(1,7,8,9,10,11,12,13,14,15)

1

1

1 1 1 1

1 1 1 1

F(W,X,Y,Z)= W + XYZ + X·Y·Z

Page 27: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 27/30

27

I don·t care!

� You don·t always need all 2n input combinations in an n-variable function

² If you can guarantee that certain input combinations never occur² If some outputs aren·t used in the rest of the circuit

� We mark don·t-care outputs in truth tables and K-maps with Xs.

� Within a K-map, each X can be considered as either 0 or 1. You should pickthe interpretation that allows for the most simplification.

y z f( ,y,z)

0 0 0 0

0 0 1 1

0 1 0 X

0 1 1 0

1 0 0 0

1 0 1 11 1 0 X

1 1 1 1

Page 28: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 28/30

28

Y

1 1

1 1

1 1X

1Z 

Practice K-map

� Find a MSP forf(w,x,y,z) = 7m(0,2,4,5,8,14,15), d(w,x,y,z) = 7m(7,10,13)

This notation means that input combinations wxyz = 0111, 1010 and 1101

(corresponding to minterms m7, m10 and m13) are unused.

Page 29: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 29/30

29

Solutions for Practice K-map

� Find a MSP for:f(w,x,y,z) = 7m(0,2,4,5,8,14,15), d(w,x,y,z) = 7m(7,10,13)

Y

1 1

1 1 xx 1 1

X

W1 x

Z

f(w,x,y,z)= x·z· + w·xy· + wxy

Page 30: 13666_05-KarnaughMaps (2)

8/7/2019 13666_05-KarnaughMaps (2)

http://slidepdf.com/reader/full/1366605-karnaughmaps-2 30/30

30

K-map Summary

� K-maps are an alternative to algebra for simplifying expressions

² The result is a MSP/MPS, which leads to a minimal two-level circuit² It·s easy to handle don·t-care conditions² K-maps are really only good for manual simplification of small

expressions...

� Things to keep in mind:

² Remember the correct order of minterms/maxterms on the K-map² When grouping, you can wrap around all sides of the K-map, and your

groups can overlap² Make as few rectangles as possible, but make each of them as large as

possible. This leads to fewer, but simpler, product terms² There may be more than one valid solution