Download
a recursive paradigm to solve boolean relations n.
Skip this Video
Loading SlideShow in 5 Seconds..
A recursive paradigm to solve Boolean relations PowerPoint Presentation
Download Presentation
A recursive paradigm to solve Boolean relations

A recursive paradigm to solve Boolean relations

135 Vues Download Presentation
Télécharger la présentation

A recursive paradigm to solve Boolean relations

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky Strategic CAD Lab., Intel Corp.

  2. a b c f 0101010 00001111 00110011 01010101 a ? b x c f ? a y b z c ? a c b Boolean relation: example

  3. a ? b x c f ? y b z c ? a c b Boolean relation: example x y z a b c f 0101010 00001111 00110011 01010101 a

  4. 0 0 Boolean relation: example x y z a b c f 0101010 00001111 00110011 01010101 x 0  y z

  5. 0 0 Boolean relation: example x y z a b c f 0101010 00001111 00110011 01010101 00 00 00 00 x 0  y z

  6. 0 1 Boolean relation: example x y z a b c f 0101010 00001111 00110011 01010101 00 00 00 00  x 0 y z

  7. 0 1 Boolean relation: example x y z a b c f 0101010 00001111 00110011 01010101 00 | 01 00 | 01 00 | 01 00 | 01  x 0 y z

  8. 1 0 Boolean relation: example x y z a b c f 0101010 00001111 00110011 01010101 00 | 01 00 | 01 00 | 01 00 | 01 x 1  y z

  9. 1 0 Boolean relation: example x y z a b c f 0101010 00001111 00110011 01010101 00 | 01 10 00 | 01 10 00 | 01 10 00 | 01 x 1  y z

  10. 1 1 Boolean relation: example x y z a b c f 0101010 00001111 00110011 01010101 00 | 01 10 00 | 01 10 00 | 01 10 00 | 01  x 1 y z

  11. 1 1 Boolean relation: example x y z a b c f 0101010 00001111 00110011 01010101 00 | 01 10 | 11 00 | 01 10 | 11 00 | 01 10 | 11 00 | 01  x 1 y z

  12.   Boolean relation: example x y z a b c f 0101010 00001111 00110011 01010101 00 | 01 10 | 11 00 | 01 10 | 11 00 | 01 10 | 11 00 | 01 x  y z

  13.   Boolean relation: example x y z a b c f 0101010 00001111 00110011 01010101 00 | 01 10 | 11 00 | 01 10 | 11 00 | 01    10 | 11 00 | 01 x  y z

  14. a ? b x c f ? y b z c ? a c b Boolean relation: example x y z a b c 00001111 00110011 01010101 00 | 01 10 | 11 00 | 01 10 | 11 00 | 01    10 | 11 00 | 01 a

  15. a x x c f f f c y y b z z b x a a a b y z c Boolean relation: example x y z a b c 00001111 00110011 01010101 00 | 01 10 | 11 00 | 01 10 | 11 00 | 01    10 | 11 00 | 01

  16. Applications of Boolean Relations • Boolean matching techniques for library binding • L. Benini and G.D. Micheli, 1997 • FSM encoding • B. Lin and F.Somenzi, 1990 • Boolean decomposition • M. Damiani, J. Yang, and G.D. Micheli, 1995 • … and others

  17. Outline • Boolean Relations • The semi-lattice of solutions • The recursive paradigm • Experimental results

  18. f g a b 0011 0101 10 01 | 10 1   Boolean Relations

  19. f g a b 0011 0101 10 01 | 10 1   Boolean Relations

  20. f g a b 0011 0101 10 01 | 10 1   Boolean Relations

  21. f g a b 0011 0101 10 01 | 10 1   Solving Boolean Relations Finding fand g suchthat R is a tautology

  22. f g a b 0011 0101 10 01 | 10 1   Solving Boolean Relations Finding fand g suchthat R is a tautology

  23. f g a b 0011 0101 10 01 | 10 1   Solving Boolean Relations Finding fand g suchthat R is a tautology

  24. f g a b 0011 0101 10 01 | 10 1   Solving Boolean Relations Finding fand g suchthat R is a tautology

  25. f g a b 0011 0101 10 01 | 10 1   Solving Boolean Relations Finding fand g suchthat R is a tautology

  26. f g a b 0011 0101 10 01 | 10 1   10 00 11 01 Solving Boolean Relations Finding fand g suchthat R is a tautology

  27. Related work • Exact solvers • F. Somenzi and R.K. Brayton (1989) • Method similar to Quine-McCluskey • Extension of primes to c-primes • S. Jeong and F.Somenzi (1992) • Formulate the problem as a BCP

  28. Related work • Heuristic approaches (based on ESPRESSO) • A. Ghosh, S. Devadas and A. Newton (1992) • Y. Watanabe and R. K. Brayton (1993) GYOCRO x:=Initial Solution; do REDUCE(x); EXPAND(x); IRREDUNDANT(x); while (x is improved);

  29. 00 01 10 11 00 01 10 11 f g a b Boolean relation

  30. 00 01 10 11 00 01 10 11 f g a b

  31. 00 01 10 11 00 01 10 11

  32. 00 01 10 11 00 01 10 11

  33. 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 0110 0111 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 RR’  Semi-lattice Functions

  34. Maximum flexibility Less flexibility a b 0 0 0 1 1 0 1 1 f g        Functions (Bn Bm)

  35. a b 0 0 0 1 1 0 1 1 f g 10 00 | 11 1 1 | 1 a b 0 0 0 1 1 0 1 1 f g 1 0 0 0 1 1 0 1 a b 0 0 0 1 1 0 1 1 f g        Optimum-cost function

  36. Functions (Bn Bm) Number of variables Number of functions  ( ) Size of the semi-lattice

  37. Incompletely specified functions Shortcut: use 2-level minimizers ! (ESPRESSO, Minato-Morreale, Scherzo)

  38. f g f g f g a b a b a b 10 11 1  10 11 01 10 10 00 | 11 1 1 |1 00 01 10 11 00 01 10 11 00 01 10 11 2-level minimizers Sum-of-products Subclasses of Boolean relations General Boolean Relations Incompletely Specified Functions Completely Specified Functions ESPRESSO Minato-Morreale (BDDs) Scherzo (ZDDs) ...

  39. f g a b 10 00 | 11 1 01 |10 00 01 10 11 10 00 1 01 |10 10 11 1 01 |10 10 00 11 01 |10 10 00 01 01 |10 10 11 01 01 |10 10 11 11 01 |10 10 00 01 01 10 00 01 10 10 00 11 01 10 00 11 10 10 11 01 01 10 11 01 10 10 11 11 01 10 11 11 10

  40. f g a b 10 00 | 11 1 01 |10 00 01 10 11 Gyocro 10 00 1 01 |10 10 11 1 01 |10 10 00 11 01 |10 10 00 01 01 |10 10 11 01 01 |10 10 11 11 01 |10 10 00 01 01 10 00 01 10 10 00 11 01 10 00 11 10 10 11 01 01 10 11 01 10 10 11 11 01 10 11 11 10

  41. ? Impossible ! It’s a local minimum GYOCRO x:=Initial Solution; do REDUCE(x); EXPAND(x); IRREDUNDANT(x); while (x is improved); 10 00 11 01 10 11 11 10

  42. The recursive approach(BREL)

  43. f a b 1    00 01 10 11 f g a b f 10 00 | 11 1 01 |10 00 01 10 11 Projections

  44. g f a b a b 1    0  1  00 01 10 11 00 01 10 11 f g a b 10 00| 11 1 01|10 00 01 10 11 g Projections f

  45. g f a b a b 0  1  1    00 01 10 11 00 01 10 11 f g a b 10 00 | 11 1 01 |10 00 01 10 11 Projections f f g a b 10  1  00 01 10 11 merge g R R’ R’ is an incompletely specified function, but … has more flexibility than R (R  R’)

  46. ISF projection BR

  47. ISF ISF minimizer done !

  48. ISF ISF minimizer incompatible !

  49. f g a b f g f g f g 10 00 | 11 1 01 |10 00 01 10 11 10  1  10 10 11 11 10 00 | 11 1 01 |10 projection minimization compatible? The recursive paradigm ISF with more flexibility

  50. f g a b f g f g f g 10 00 | 11 1 01 |10 00 01 10 11 10  1  10 10 11 11 10 00 | 11 1 01 |10 projection minimization compatible? The recursive paradigm ISF with more flexibility