Presentation is loading. Please wait.

Presentation is loading. Please wait.

State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect15: Heuristic Two Level Logic.

Similar presentations


Presentation on theme: "State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect15: Heuristic Two Level Logic."— Presentation transcript:

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)


Download ppt "State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect15: Heuristic Two Level Logic."

Similar presentations


Ads by Google