coe 202: digital logic design combinational logic part 3
Post on 24-Feb-2016
50 Views
Preview:
DESCRIPTION
TRANSCRIPT
KFUPM
COE 202: Digital Logic DesignCombinational Logic
Part 3
Courtesy of Dr. Ahmad Almulhem
Objectives• Karnaugh Maps (K-Maps)• Learn to minimize a function using K-Maps
• 2-Variables• 3-Variables• 4-Variables
• Don’t care conditions• Important Definitions• 5-Variables K-Maps
KFUPM
KFUPM
Simplification using AlgebraF = X’YZ + X’YZ’ + XZ = X’Y(Z+Z’) + XZ (id 14) = X’Y.1 + XZ (id 7) = X’Y + XZ (id 2)
• Simplification may mean different things• here it means less number of literals
Simplification Revisited• Algebraic methods for minimization is limited:
• No formal steps (id 10 first, then id 4, etc?), need experience.• No guarantee that a minimum is reached• Easy to make mistakes
• Karnaugh maps (k-maps) is an alternative convenient way for minimization:• A graphical technique• Introduced by Maurice Karnaugh in 1953
• K-maps for up to 4 variables are straightforward to build• Building higher order K-maps (5 or 6 variable) are a bit more
cumbersome• Simplified expression produced by K-maps are in SOP or POS
forms
KFUPM
Gray Codes (review)•Only one bit changes with each number increment
•Build using recursive reflection
•To translate a binary value into the corresponding Gray code, each bit is inverted if the next higher bit of the input value is set to one.
KFUPM
src: wikipedia.org
Truth Table AdjacenciesA B F
0 0 1
0 1 1
1 0 0
1 1 0
KFUPM
These minterms are adjacent in a gray code sense – they differ by only one bit.
We can apply XY+XY’=X
F = A’B’ + A’B = A’(B’+B) = A’ (1) = A’
A B F
0 0 0
0 1 1
1 0 0
1 1 1
Same idea:
F = A’B + AB = B
Keep common literal only!
K-MapA B F
0 0 0
0 1 1
1 0 0
1 1 1
KFUPM
A different way to draw a truth table !
Take advantage of adjacency
B A
0
1
0 0 A’ B’
1 A’ B
1 0 A B’
1 A B
B
A
F = A’B + AB = B
Keep common literal only!
Minimization with K-maps
1. Draw a K-map2. Combine maximum number of 1’s following rules:
1. Only adjacent squares can be combined2. All 1’s must be covered3. Covering rectangles must be of size 1,2,4,8, … 2n
3. Check if all covering are really needed4. Read off the SOP expression
KFUPM
2-variable K-mapGiven a function with 2 variables: F(X,Y), the total
number of minterms are equal to 4:m0, m1, m2, m3
The size of the k-map is always equal to the total number of minterms. X
Y
01
0 1m0 m1
m2 m3
Each entry of the k-map corresponds to one minterm for the function:
Row 0 represents: X’Y’, X’Y
Row 1 represents: XY’, XY’
KFUPM
XY
01
0 1 0 1
2 3
Example 1For a given function F(X,Y) with the following truth table,
minimize it using k-maps
X Y F0 0 00 1 01 0 11 1 1
X
01
0 10 01 1
Combining all the 1’s in only the adjacent squares
The final reduced expression is given by the common literals from the combination: Therefore, since for the combination, Y has different values (0, 1), and X has a fixed value of 1, The reduced function is: F(X,Y) = X
Y
KFUPM
Example 2Q. Simplify the function F(X,Y) = ∑m(1,2,3)Sol. This function has 2 variables, and three 1-squares
(three minterms where function is 1)F = m1 + m2 + m3 X
01
0 10 11 1
Y
X is the common literal
Y is the common literal in the adjacent 1-
squares
Minimized expression: F = X + Y
Note: The 1-squares can be combined more
than once
KFUPM
2 variable K-Maps (Adjacency)In an n-variable k-map, each square is adjacent to exactly n
other squares
KFUPM
Q: What if you have 1 in all squares?
3-variable K-mapsFor 3-variable functions, the k-maps are larger and look
different. Total number of minterms that need to be
accommodated in the k-map = 8
ABC
01
00 01 11 10
To maintain adjacency neighbors don’t have more than 1 different bit
m0 m1 m3 m2
m4 m5 m7 m6
KFUPM
B
C
A
3-variable K-maps
ABC
01
00 01 11 10m0 m1 m3
m2
m4 m5 m7 m6
ABC
01
00 01 11 10m0 m1 m3
m2
m4 m5 m7 m6
Minterms mo, m2, m4, m6 can be combined as m0 and m2 are adjacent to each other, m4 and m6 are adjacent to each other
mo and m4 are also adjacent to each other, m2 and m6 are also adjacent to each other
Note: You can only combine a power of 2 adjacent 1-squares. For e.g. 2, 4, 8, 16 squares. You cannot combine 3, 7 or 5 squares
KFUPM
Example 1Simplify F = ∑m(1, 3, 4, 6) using K-map
KFUPM
B
C
A
BC A
00
01 11 10
0
0 1
1 3
1 2
1
4
1 5 7 6
1
Example 1Simplify F = ∑m(1, 3, 4, 6) using K-map
KFUPM
B
C
A
BC A
00
01 11 10
0
0 1
1 3
1 2
1
4
1 5 7 6
1
F = A’C + AC’
Example 2Simplify F = ∑m(0,1, 2, 4, 6) using K-map
KFUPM
B
C
A
BC A
00
01 11 10
0
0
1 1
1 3
2
1 1
4
1 5 7 6
1
Example 2Simplify F = ∑m(0,1, 2, 4, 6) using K-map
KFUPM
B
C
A
BC A
00
01 11 10
0
0
1 1
1 3
2
1 1
4
1 5 7 6
1
F = A’ B’ + C’
3 variable K-Maps (Adjacency)
KFUPM
00 01 11 10
0
1
A 3-variable map has 12 possible groups of 2 minterms
They become product terms with 2 literals
00 01 11 10
0
1
00 01 11 10
0
1
3 variable K-Maps (Adjacency)
KFUPM
00 01 11 10
0
1
A 3-variable map has 6 possible groups of 4 minterms
They become product terms with 1 literals
00 01 11 10
0
1
00 01 11 10
0
1
4-variable K-mapsA 4-variable function will consist of 16 minterms and therefore a size 16 k-map is
neededEach square is adjacent to 4 other squaresA square by itself will represent a minterm with 4 literalsCombining 2 squares will generate a 3-literal outputCombining 4 squares will generate a 2-literal outputCombining 8 squares will generate a 1-literal output
ABCD
00011110
00 01 11 10m0 m1 m3 m2
m4 m5 m7 m6m12 m13 m15 m14
m8 m9 m11 m10
KFUPM
C
D
A
B
4-variable K-maps (Adjacency)
ABCD
00011110
00 01 11 10m0 m1 m3 m2
m4 m5 m7 m6m12 m13 m15 m14
m8 m9 m11 m10
KFUPM
Right column and left column are adjacent; can be combinedTop row and bottom column are adjacent; can be combinedMany possible 2, 4, 8 groupings
Note: You can only combine a power of 2 adjacent 1-squares. For e.g. 2, 4, 8, 16 squares. You cannot combine 3, 7 or 5 squares
ExampleMinimize the function F(A,B,C,D)=∑m(1,3,5,6,7,8,9,11,14,15)
ABCD
00011110
F = CD + A’D + BC + AB’C’
KFUPM
C
D
A
B
00 01 11 101 11 1 1
11111
ExampleF(A,B,C,D) = Sm(0,1,2,5,8,9,10)
CD AB 00 01 11 10
00 1 1 1
01 1
11
10 1 1 1A=1
C=1
D=1
B=1
KFUPM
ExampleF(A,B,C,D) = Sm(0,1,2,5,8,9,10)
Solution: F = B’ D’ + B’ C’ + A’ C’ D
CD AB 00 01 11 10
00 1 1 1
01 1
11
10 1 1 1A=1
C=1
D=1
B=1
KFUPM
Example (POS)F(A,B,C,D) = Sm(0,1,2,5,8,9,10)Write F in the simplified product of sums (POS)
Two methods?You already know one!
CD AB 00 01 11 10
00 1 1 1
01 1
11
10 1 1 1A=1
C=1
D=1
B=1
KFUPM
Example (POS)F(A,B,C,D) = Sm(0,1,2,5,8,9,10)Write F in the simplified product of sums (POS)
Method 2: Follow same rule as before but for the ZEROs
F’ = AB + CD + BD’ Therefore, F’’ = F = (A’+B’)(C’+D’)(B’+D)
CD AB 00 01 11 10
00 1 1 1
01 1
11
10 1 1 1A=1
C=1
D=1
B=1
KFUPM
Don’t Cares• In some cases, the output of the function (1 or 0) is not
specified for certain input combinations either because• The input combination never occurs (Example BCD codes), or• We don’t care about the output of this particular combination
• Such functions are called incompletely specified functions• Unspecified minterms for these functions are called don’t
cares• While minimizing a k-map with don’t care minterms, their
values can be selected to be either 1 or 0 depending on what is needed for achieving a minimized output.
KFUPM
ExampleF = ∑m(1, 3, 7) + ∑d(0, 5)
KFUPM
B
C
A
BC A
00
01 11 10
0
0
X 1
1 3
1 2
1
4
5
X 7
1 6
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 help.
ExampleF = ∑m(1, 3, 7) + ∑d(0, 5)
KFUPM
B
C
A
BC A
00
01 11 10
0
0
X 1
1 3
1 2
1
4
5
X 7
1 6
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 help.
F = C
Example 2F(A, B, C, D) = ∑ m(1, 3, 7, 11, 15) + ∑ d(0, 2, 5)
KFUPM
Src: Mano’s Textbook
- Two possible solutions!
- Both acceptable.
- All 1’s covered
Definitions
• An implicant is a product term of a function• Any group of 1’s in a K-Map
• A prime implicant is a product term obtained by combining the maximum possible number of adjacent 1’s in a k-map• Biggest groups of 1’s • Not all prime implicants are needed!
• If a minterm is covered by exactly one prime implicant then this prime implicant is called an essential prime implicant
KFUPM
ExampleConsider F(X,Y,Z) = Sm(1,3,4,5,6)
List all implicants, prime implicants and essential prime implicantsSolution: Implicants: XY’Z’, XZ’, XY’, XY’Z, X’Y’Z, Y’Z, …P.Is: XY’, XZ’, Y’Z, X’ZEPIs: X’Z, XZ’
YZ X 00 01 11 10
0 1 11 1 1 1
Y=1
Z=1
X=1
YZ X 00 01 11 10
0 1 11 1 1 1
Y=1
Z=1
X=1The simplest expression is NOT unique!
KFUPM
Finding minimum SOP1. Find each essential prime implicant and
include it in the solution2. If any minterms are not yet covered,
find minimum number of prime implicants to cover them (minimize overlap).
KFUPM
Example 2Simplify F(A, B, C, D) = ∑ m(0, 1, 2, 4, 5, 10,11,13, 15)
Note:-Only A’C’ is E.P.I-For the remaining minterms:
-Choose 1 and 2 (minimize overlap)-For m2, choose either A’B’D’ or B’CD’
F = A’C’ + ABD + AB’C + A’B’D’
KFUPM
Src: Mano’s Textbook
5-variable K-mapsBC
DE
00011110
00 01 11 10m0 m1 m3
m2
m4 m5 m7 m6m12 m13 m15 m14
m8 m9 m11 m10
m16 m17 m19 m18
m20 m21 m23 m22m28 m29 m31 m30
m24 m25 m27 m26
A=0 A=100 01 11 10
• 32 minterms require 32 squares in the k-map• Minterms 0-15 belong to the squares with variable A=0, and minterms 16-32
belong to the squares with variable A=1• Each square in A’ is also adjacent to a square in A (one is above the other)• Minterm 4 is adjacent to 20, and minterm 15 is to 31
KFUPM
Conclusion• A K-Map is simply a folded truth table,
where physical adjacency implies logical adjacency
• K-Maps are most commonly used hand method for logic minimization.
KFUPM
top related