Upload
lonna
View
34
Download
0
Embed Size (px)
DESCRIPTION
Chapter 4. Function Minimization Algorithms. Techniques other than K-map. Particularly useful for larger problems. Quine-McCluskey Method for Generating Prime Implicants. Write minterms using binary values. Group minterms by the number of 1’s - PowerPoint PPT Presentation
Citation preview
Chapter 4
Function Minimization Algorithms
Techniques other than K-map.Particularly useful for larger problems.
Quine-McCluskey Method for Generating Prime Implicants
1. Write minterms using binary values.
2. Group minterms by the number of 1’s
3. Apply adjacency (a b´ + a b = a) to each pair of terms, forming a second list.
4. Check those terms in the first list that are covered by the new terms. Note that only terms in adjacent groups (that differ by one 1) need be paired.
5. Repeat process with second list (and again if multiple terms are formed on a third list).
Prime ImplicantsL = 010- w’xy’O = 01-0 w’xzP = -111 xyzQ = 1-11 wyzR = --00 y’z’
Don’t cares must be included in first column.
Prime implicants are the combined terms that remain,And have not been checked
A + B = JA + C = KB + D = LB + C = MC + E = ND + F = OF + H = PG + H = QThenJ + N =RK + M = R
The iterated consensus algorithm for single functions is as follows:
1. Find a list of product terms (implicants) that cover the function. Make sure that no term is equal to or included in any other term on the list. (These terms could be prime implicants or minterms or any other set of implicants. However, the rest of the algorithm proceeds more quickly if we start with prime implicants.)
2. For each pair of terms, ti and tj (including terms added to the list in step 3), compute ti ¢ tj.
3. If the consensus is defined, and the consensus term is not equal to or included in a term already on the list, add it to the list.
4. Delete all terms that are included in the new term added to the list.
5. The process ends when all possible consensus operations have been performed. The terms remaining on the list are ALL of the prime implicants.
$=# gates= # literals + OR
OBJ: find min # rows so all cols has at least 1 X; minterms covered
1.Find essential PI – only 1 X in colThis is C & E, they are shaded2.Check off all other mins that arecovered by those terms3.Make reduced table of cols notcoveredThis is the don’t cares after PI used
PI D covers all the remain non-used
A row is dominated if anotherrow covers the minterm at no more cost.
MAKE A PI TABLE.
F = C + D + E = wyz + y’z’ + w’xz
Construct a table of all PI
Remove essential PI & all minterms (cols) coveredEach row has 2 x’sEach col has 2 x’sB & C are cheaper, so try to use them
A is essentialE (or F) covers 4, pick E & get 12Then C dominates D to get 13 & 15 The G covers 6 & 7F = A + E + C + G
F(a,b,c,d) = Σm(1,3,4,6,7,9,11,12,13,15)Get PI from k-map or QM
A + C + E + G A + F + B + D
EX 4.5F = Σm(1,3,4,6,7,9,11,12,13,15)Use k-map, QM, iterated consensus to find PI and make PI table.
√ √ √ √
$ 1 3 4 6 7 9 11 12 13 15
b’d* -0-1 3 A x x x x
cd --11 3 B x x x x
ad 1—1 3 C x x x x
abc’ 110- 4 D x x
bc’d’
-100 4 E x x
a’bd’
01-0 4 F x x
a’bc 011- 4 G x x
$ 4 6 7 12 13 15
3 B x x
3 C x x
4 D x x
4 E x x
4 F x x
4 G x x
Reduced table has2 x in each row2 x in each column
need 3 termsUse B & C if possibleThey cost less.
Two different waysEach use less cost term
Petrick’s Method
(E + F )(F + G)(B + G)(D + E)(C + D)(B + C)
= (F + EG)(B + CG)(D + CE)
= (BF + BEG + CFG + CEG)(D + CE)
= BDF + BDEG + CDFG + CDEG + BCEF + BCEG + CEFG + CEG
A third tool for reducing a function.1. Use reduced table after essential PI, but before dominated rows.2. Create a POS expression by using 1 term for each column in the reducedtable.3.Combine the terms to get a SOP form.4.Select any term that has less literals as the PI to be used.5.Add the essential PI to get the result.
$ 4 6 7 12 13 15
3 B x x
3 C x x
4 D x x
4 E x x
4 F x x
4 G x x
Same result as before.F = A + C & E & G)F = A + (B & D & F)
A + C + E + G
A + F + B + D
f(a, b, c) = ∑m(2, 3, 7)
g(a, b, c) = ∑m(4, 5, 7)
m literals tag binary f g2 a´ b c´ g´ 0 1 0 – 03 a´ b c g´ 0 1 1 – 04 a b´ c´ f´ 1 0 0 0 –5 a b´ c f´ 1 0 1 0 –7 a b c 1 1 1 – –
Sec 4.4: Q-M for multiple outputs
a b c1 1 1
Tag for multiple outputsf g- if included0 if not included
Convert the decimal to binaryAlso note the literal equivalentAdd a column for the output using a tag
Create Q-M chart from the rows.Reduce the chart to get data for a PI table
f = a´b + abc
g = ab´ + abc
4.6Found all product terms-Create PI table w/ section for each output
F=Σ(2,3,7)G=Σ(4,5,7)
X only in column for implicantEssential is only one in columnCover all possible implicantsShown in brown in equations
Create reduced table of uncoveredFind term that covers mostA →abc term
The two outputs share the termSo have minimum total cost
f(a, b, c, d) = ∑m(2, 3, 4, 6, 9, 11, 12) + ∑d(0, 1, 14,
15)
g(a, b, c, d) = ∑m(2, 6, 10, 11, 12) + ∑d(0, 1, 14, 15)
Ex 4.8
Two functionsFind terms that can be shared.
List all minterms, with tags
Group by number of 1’sCheck terms that differ by only 1
The terms that can be shared do not have a check at the end
a’b’c’, a’b’d’, a’cd’, bcd’, abd’, acd, abc
The PI is found from the tagsf PI has a blank in first colg PI has a blank in second col
Tag for multiple outputsf g- if included0 if not included
f PI = a’b’, a’d’, b’d, bd’g PI = cd’, ac
f(a, b, c, d) = ∑m(2, 3, 4, 6, 9, 11, 12) + ∑d(0, 1, 14, 15)
g(a, b, c, d) = ∑m(2, 6, 10, 11, 12) + ∑d(0, 1, 14, 15)
EX 4.10Same problem, but use k-Map
Two functionsFind terms that can be shared.
K-map fg, list all minterms of both functionsK-map f, list minterms of f, with DCK-map g, same thing
Group minterms of k-map to find product terms for the 2 functionsUse common terms where possibleUse product terms to make PI table
f(a, b, c, d) = ∑m(2, 3, 4, 6, 9, 11, 12) + ∑d(0, 1, 14, 15)
g(a, b, c, d) = ∑m(2, 6, 10, 11, 12) + ∑d(0, 1, 14, 15)
4.12Continue multiple output
Create 2 sectionsFor f & g
X if function is usedFind essential PICover other PI with itCheck col
Make reduced PI Next page
f(a, b, c, d) = ∑m(2, 3, 4, 6, 9, 11, 12) + ∑d(0, 1, 14, 15)
g(a, b, c, d) = ∑m(2, 6, 10, 11, 12) + ∑d(0, 1, 14, 15)
4.12Reduced PI table
For g, select NIt covers 11 & 10
Create another reducedTable w/o these tersm
f = b´d + abd´ + a´d´
g = ac + abd´ + cd´
f(a, b, c, d) = ∑m(2, 3, 4, 6, 9, 11, 12) + ∑d(0, 1, 14, 15)
g(a, b, c, d) = ∑m(2, 6, 10, 11, 12) + ∑d(0, 1, 14, 15)
4.12Reduced Reduced PI table
Continue to select terms to cover2 & 6 covers both f & gUse that term, CThen cover the remaining PI