Download presentation
Presentation is loading. Please wait.
Published byNathaniel Paul Modified over 9 years ago
1
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect15: Heuristic Two Level Logic Minimization Dr. Yaser Khalifa Electrical and Computer Engineering Department State University of New York at New Paltz
2
Unate Function Definition : If, in the minimum sum-of-product form of a switching function, each variable appears either in its true form or its complemented form, but not both, then the function is called a unate function. Ex) f 1 (x 1 x 2 x 3 )= x 1 + x 2 x 3 ’ : unate f 1 (x 1 x 2 x 3 )= x 1 + x 1 ’ x 2 x 3 ’ : ≠ unate due to x 1 & x 1 ’ Th A switching function is unate if and only if it can be expressed as a sum of essential prime cubes, all intersecting at a common subcube.
3
Heuristic Logic Minimization Heuristic Logic Minimization (cube-based) ② Unate recursive paradigm : ESPRESSO (or in English; Divide-and-Conquer!) i.e. Decomposition Make use of Shannon’s expansion to recursively operate on subsets of logic cover until cover has unate property. Why looking for the unate property recursively? Every prime of a unate function is essential. Minimum form is given as the union of all EPIs. Note that min form = EPIs + minimum PIs in general. If F is a unate function, min form = EPIs : this is good to find min. form. In ESPRESSO, used for complementation and tautology checking.
4
(b) Shannon Expansion where Complementation
5
How to determine if a function is unate : The definition on prev. page requires the min. form of the function. But we are looking for it. Thus, we need another method. A function is unate if it is unate in all its variables. A function is unate in x j if it is monotone in x j. Thus, a function is unate if it is monotone in all its variables Monotone in x j ? x j change causes all changing outputs to change in the same direction. If x j of 0 1 causes all changing outputs to change from 0 1 : monotone increasing in x j from 1 0 : monotone decreasing in x j
6
ABCDF=C’D +ABD F1=C’D +ABD+A’B’C’ 00001 000111 0010 0011 0100 010111 0110 0111 1000 100111 1010 1011 1100 110111 1110 111111 Both OK for D: 0 1
7
ABDCF=C’D +ABD F1=C’D +ABD+A’B’C’ 00001 0001 001011 0011 0100 0101 011011 0111 1000 1001 101011 1011 1100 1101 111011 111111 Both OK for C: 0 1
8
ABCDF=C’D +ABD F1=C’D +ABD+A’B’C’ 00001 1000 000111 100111 0010 1010 0011 1011 0100 1100 010111 110111 0110 1110 0111 111111 F1 NOT OK for A: 0 1
9
Heuristic Minization Operators Expand –Make implicants prime –Remove covered implicants Reduce –Reduce size of each implicant while preserving cover Reshape –Modify implicant pairs: enlarge one implicant enabling the reduction of another Irredendant –Make cover irredundant
10
Example On-set: 0000 1 0010 1 0100 1 0110 1 1000 1 1010 1 0101 1 0111 1 1001 1 1011 1 1101 1 Prime implicants: | 0**0 1 | *0*0 1 | 01** 1 | 10** 1 | 1*01 1 | *101 1
11
Example Expand 0000 to = 0**0 –Drop 0100, 0010. 0110 from the cover Expand 1000 to = *0*0 –Drop 1010 from the cover Expand 0101 to = 01** –Drop 0111 from the cover Expand 1001 to = 10** –Drop 1011 from the cover Expand 1101 to = 1*01 Cover is { }
12
Example reduction Reduce 0**0 to nothing. Reduce = *0*0 to = 00*0 Reduce = 1*01 to = 1101 Cover is { }
13
Example reshape Reshape { to { Where = 10*1 Cover is { }
14
Example second expansion Expand = 10*1 = 10** Expand = 1101 to = *101 Cover is { }
15
Summary of Example Expansion: –Cover: { } –Prime, redundant, minimal w.r.t single cube containment Reduction: – eliminated –B = *0*0 reduced to b = 00*0 –E = 1*01 reduced to e = 1101 –Cover: { } Reshape: –{ } reshaped to { } where d = 10*1 Second expansion –Cover: { } –Prime, irredundant (= minimal)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.