13666_05-KarnaughMaps (2)
-
Upload
deepak-sharma -
Category
Documents
-
view
217 -
download
0
Transcript of 13666_05-KarnaughMaps (2)
![Page 1: 13666_05-KarnaughMaps (2)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/1.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/2.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/3.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/4.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/5.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/6.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/7.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/8.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/9.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/10.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/11.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/12.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/13.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/14.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/15.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/16.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/17.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/18.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/19.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/20.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/21.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/22.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/23.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/24.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/25.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/26.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/27.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/28.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/29.jpg)
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)](https://reader030.fdocuments.net/reader030/viewer/2022021214/577d2c631a28ab4e1eac1201/html5/thumbnails/30.jpg)
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