1 / 74

A recursive paradigm to solve Boolean relations

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. a. b. c. f. 01010  10. 00001111. 00110011. 01010101. a. ?. b. x.

tamal
Download Presentation

A recursive paradigm to solve Boolean relations

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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

More Related