a recursive paradigm to solve boolean relations david bañeres univ. politècnica de catalunya jordi...
Post on 20-Dec-2015
233 views
TRANSCRIPT
![Page 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](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/1.jpg)
A recursive paradigm to A recursive paradigm to solve Boolean relationssolve Boolean relations
David Bañeres David Bañeres Univ. Politècnica de Catalunya Univ. Politècnica de Catalunya
Jordi Cortadella Jordi Cortadella Univ. Politècnica de Catalunya Univ. Politècnica de Catalunya
Mike Kishinevsky Strategic CAD Lab., Intel Corp. Mike Kishinevsky Strategic CAD Lab., Intel Corp.
![Page 2: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/2.jpg)
Boolean relation: exampleBoolean relation: example
0000111100001111
b
0101010101010101
c
0000000011111111
a f
01010101001010
cabcaf
fx
y
z
??
??
??
abc
b ca
bc
a
![Page 3: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/3.jpg)
Boolean relation: exampleBoolean relation: example
0000111100001111
b
0101010101010101
c
0000000011111111
a f
01010101001010
cabcaf
fx
y
z
??
??
??
x y z
abc
abc
b ca
![Page 4: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/4.jpg)
Boolean relation: exampleBoolean relation: example
0000111100001111
b
0101010101010101
c
0000000011111111
a f
00110011001100
cabcaf
x
y
z
x y z
0000
00
![Page 5: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/5.jpg)
0000
0000
0000
0000
Boolean relation: exampleBoolean relation: example
0000111100001111
b
0101010101010101
c
0000000011111111
a f
00110011001100
cabcaf
x
y
z
x y z
0000
00
![Page 6: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/6.jpg)
0000
0000
0000
0000
Boolean relation: exampleBoolean relation: example
0000111100001111
b
0101010101010101
c
0000000011111111
a f
00110011001100
cabcaf
x
y
z
x y z
00
11
00
![Page 7: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/7.jpg)
000 | 0 | 0101
000 | 0 | 0101
000 | 0 | 0101
000 | 0 | 0101
Boolean relation: exampleBoolean relation: example
0000111100001111
b
0101010101010101
c
0000000011111111
a f
00110011001100
cabcaf
x
y
z
x y z
00
11
00
![Page 8: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/8.jpg)
000 | 0 | 0101
000 | 0 | 0101
000 | 0 | 0101
000 | 0 | 0101
Boolean relation: exampleBoolean relation: example
0000111100001111
b
0101010101010101
c
0000000011111111
a f
00110011001100
cabcaf
x
y
z
x y z
1111
00
![Page 9: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/9.jpg)
000 | 0 | 01011100000 | 0 | 01011100000 | 0 | 0101
1100000 | 0 | 0101
Boolean relation: exampleBoolean relation: example
0000111100001111
b
0101010101010101
c
0000000011111111
a f
00110011001100
cabcaf
x
y
z
x y z
1111
00
![Page 10: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/10.jpg)
000 | 0 | 01011100000 | 0 | 01011100000 | 0 | 0101
1100000 | 0 | 0101
Boolean relation: exampleBoolean relation: example
0000111100001111
b
0101010101010101
c
0000000011111111
a f
00110011001100
cabcaf
x
y
z
x y z
11
11
11
![Page 11: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/11.jpg)
000 | 0 | 0101110 | 0 | 1111000 | 0 | 0101110 | 0 | 1111000 | 0 | 0101
110 | 0 | 1111000 | 0 | 0101
Boolean relation: exampleBoolean relation: example
0000111100001111
b
0101010101010101
c
0000000011111111
a f
00110011001100
cabcaf
x
y
z
x y z
11
11
11
![Page 12: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/12.jpg)
000 | 0 | 0101110 | 0 | 1111000 | 0 | 0101110 | 0 | 1111000 | 0 | 0101
110 | 0 | 1111000 | 0 | 0101
Boolean relation: exampleBoolean relation: example
0000111100001111
b
0101010101010101
c
0000000011111111
a f
01010101001010
cabcaf
x
y
z
x y z
![Page 13: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/13.jpg)
000 | 0 | 0101110 | 0 | 1111000 | 0 | 0101110 | 0 | 1111000 | 0 | 0101
110 | 0 | 1111000 | 0 | 0101
Boolean relation: exampleBoolean relation: example
0000111100001111
b
0101010101010101
c
0000000011111111
a f
01010101001010
cabcaf
x
y
z
x y z
![Page 14: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/14.jpg)
000 | 0 | 0101110 | 0 | 1111000 | 0 | 0101110 | 0 | 1111000 | 0 | 0101
110 | 0 | 1111000 | 0 | 0101
Boolean relation: exampleBoolean relation: example
0000111100001111
b
0101010101010101
c
0000000011111111
a x y z
fx
y
z
??
??
??
abc
abc
b ca
![Page 15: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/15.jpg)
Boolean relation: exampleBoolean relation: example
fx
y
z
c
b
a
fx
y
z
c
a
b
fx
y
z
a b
a
c
000 | 0 | 0101110 | 0 | 1111000 | 0 | 0101110 | 0 | 1111000 | 0 | 0101
110 | 0 | 1111000 | 0 | 0101
0000111100001111
b
0101010101010101
c
0000000011111111
a x y z
![Page 16: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/16.jpg)
Applications of Boolean RelationsApplications of Boolean Relations
Boolean matching techniques for library bindingBoolean matching techniques for library binding L. Benini and G.D. Micheli, 1997L. Benini and G.D. Micheli, 1997
FSM encodingFSM encoding B. Lin and F.Somenzi, 1990B. Lin and F.Somenzi, 1990
Boolean decompositionBoolean decomposition M. Damiani, J. Yang, and G.D. Micheli, 1995M. Damiani, J. Yang, and G.D. Micheli, 1995
… … and othersand others
![Page 17: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/17.jpg)
OutlineOutline
Boolean RelationsBoolean Relations
The semi-lattice of solutionsThe semi-lattice of solutions
The recursive paradigmThe recursive paradigm
Experimental resultsExperimental results
![Page 18: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/18.jpg)
Boolean RelationsBoolean Relations
0101
b10
01 | 10 1
0011
f g amn BBR
BBB mnR :
abgbagfbagfbaR )(
![Page 19: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/19.jpg)
Boolean RelationsBoolean Relations
0101
b10
01 | 10 1
0011
f g amn BBR
BBB mnR :
abgbagfbagfbaR )(
![Page 20: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/20.jpg)
Boolean RelationsBoolean Relations
0101
b10
01 | 10 1
0011
f g amn BBR
BBB mnR :
abgbagfbagfbaR )(
![Page 21: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/21.jpg)
Solving Boolean RelationsSolving Boolean Relations
0101
b10
01 | 10 1
0011
f g a
abgbagfbagfbaR )(
Finding f and g suchthat
R is a tautology
agf 1
![Page 22: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/22.jpg)
Solving Boolean RelationsSolving Boolean Relations
0101
b10
01 | 10 1
0011
f g a
ababaabaabaR )1(1
agf 1
Finding f and g suchthat
R is a tautology
![Page 23: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/23.jpg)
Solving Boolean RelationsSolving Boolean Relations
0101
b10
01 | 10 1
0011
f g a
abbababaR
agf 1
Finding f and g suchthat
R is a tautology
![Page 24: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/24.jpg)
Solving Boolean RelationsSolving Boolean Relations
0101
b10
01 | 10 1
0011
f g a
1R
agf 1
Finding f and g suchthat
R is a tautology
![Page 25: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/25.jpg)
Solving Boolean RelationsSolving Boolean Relations
0101
b10
01 | 10 1
0011
f g a
abgbagfbagfbaR )(
agbf
Finding f and g suchthat
R is a tautology
![Page 26: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/26.jpg)
10001101
Solving Boolean RelationsSolving Boolean Relations
0101
b10
01 | 10 1
0011
f g a
ababaabbaabbaR )(
agbf
abbabaR baR
Finding f and g suchthat
R is a tautology
![Page 27: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/27.jpg)
Related workRelated work
Exact solversExact solvers
F. Somenzi and R.K. Brayton (1989)F. Somenzi and R.K. Brayton (1989)Method similar to Quine-McCluskeyMethod similar to Quine-McCluskey
Extension of primes to c-primes Extension of primes to c-primes
S. Jeong and F.Somenzi (1992)S. Jeong and F.Somenzi (1992)Formulate the problem as a BCPFormulate the problem as a BCP
![Page 28: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/28.jpg)
Related workRelated work
Heuristic approaches (based on ESPRESSO)Heuristic approaches (based on ESPRESSO) A. Ghosh, S. Devadas and A. Newton (1992)A. Ghosh, S. Devadas and A. Newton (1992) Y. Watanabe and R. K. Brayton (1993)Y. Watanabe and R. K. Brayton (1993)
GYOCROGYOCRO
x:=Initial Solution;x:=Initial Solution;dodo
REDUCE(x);REDUCE(x);EXPAND(x);EXPAND(x);
IRREDUNDANT(x);IRREDUNDANT(x);whilewhile (x is improved); (x is improved);
![Page 29: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/29.jpg)
0000010110101111
0000010110101111
a ba b f gf g
Boolean relationBoolean relation
![Page 30: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/30.jpg)
0000010110101111
0000010110101111
a ba b f gf g
bagbf
![Page 31: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/31.jpg)
0000010110101111
0000010110101111
![Page 32: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/32.jpg)
0000010110101111
0000010110101111
![Page 33: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/33.jpg)
0000010110101111
0000010110101111
0000010110101111
0000010110101111
0110
0000010110101111
0000010110101111
0111
0000010110101111
0000010110101111
0000010110101111
0000010110101111
0000010110101111
0000010110101111
0000010110101111
0000010110101111
0000010110101111
0000010110101111
0000010110101111
0000010110101111
0000010110101111
0000010110101111
0000010110101111
0000010110101111
0000010110101111
0000010110101111
0000010110101111
0000010110101111
0000010110101111
0000010110101111
0000010110101111
0000010110101111
agbaf
bagbf
agbaf
bagbaf
bagbaf
bag
bf
bagbaf
bagbaf
RRR’R’
FunctionsFunctions
0000010110101111
0000010110101111
0000010110101111
0000010110101111
![Page 34: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/34.jpg)
Maximumflexibility
Lessflexibility
FunctionsFunctions
(Bn Bm)a ba b0 00 00 10 11 01 01 11 1
f gf g
![Page 35: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/35.jpg)
Optimum-costfunction
a ba b0 00 00 10 11 01 01 11 1
f gf g1010
00 | 1100 | 1111
1 | 11 | 1
a ba b0 00 00 10 11 01 01 11 1
f gf g1 01 00 00 01 11 10 10 1
a ba b0 00 00 10 11 01 01 11 1
f gf g
![Page 36: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/36.jpg)
FunctionsFunctions
(Bn Bm)
Size of the semi-lattice
mn22 ( )
Number offunctions
Number ofvariables
![Page 37: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/37.jpg)
Incompletely specified functions
Shortcut: use 2-level minimizers !Shortcut: use 2-level minimizers !(ESPRESSO, Minato-Morreale, Scherzo)(ESPRESSO, Minato-Morreale, Scherzo)
![Page 38: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/38.jpg)
Subclasses of Boolean relationsSubclasses of Boolean relations
0000010110101111
101000 00 | | 1111
111 1 || 11
a b f g0000010110101111
10 10 11 11 1 1
a b f g0000010110101111
10 10 11 11 01 01
10 10
a b f g
GeneralBooleanRelations
IncompletelySpecifiedFunctions
CompletelySpecifiedFunctions
Sum-of-products
2-level minimizers
ESPRESSOMinato-Morreale (BDDs)Scherzo (ZDDs) ...
![Page 39: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/39.jpg)
0000010110101111
101000 00 | | 1111
1101 01 || 1010
a b f g
1010000011
01 01 || 1010
1010111111
01 01 || 1010
101000000101
01 01 || 1010
101000001111
01 01 || 1010
101011110101
01 01 || 1010
101011111111
01 01 || 1010
1010000001010101
1010000001011010
1010000011110101
1010000011111010
1010111101010101
1010111101011010
1010111111110101
1010111111111010
agbaf
baba
ab
baba
baa ba
ba
baba
ba 1
![Page 40: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/40.jpg)
0000010110101111
101000 00 | | 1111
1101 01 || 1010
a b f g
1010000011
01 01 || 1010
1010111111
01 01 || 1010
101000000101
01 01 || 1010
101000001111
01 01 || 1010
101011110101
01 01 || 1010
101011111111
01 01 || 1010
1010000001010101
1010000001011010
1010000011110101
1010000011111010
1010111101010101
1010111101011010
1010111111110101
1010111111111010
agbaf
baba
ab
baba
baa ba
ba
baba
ba 1
GyocroGyocro
![Page 41: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/41.jpg)
1010000011110101
1010111111111010
ab
ba 1
GYOCROGYOCRO
x:=Initial Solution;x:=Initial Solution;dodo
REDUCE(x);REDUCE(x);EXPAND(x);EXPAND(x);
IRREDUNDANT(x);IRREDUNDANT(x);whilewhile (x is improved); (x is improved);
Impossible !It’s a local minimum
?
![Page 42: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/42.jpg)
The recursive approachThe recursive approach(BREL)(BREL)
![Page 43: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/43.jpg)
0000010110101111
1100000 0 | | 1111
11001 1 || 1100
a b f g
ProjectionsProjections
0000010110101111
11
a b f
ff
![Page 44: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/44.jpg)
0000010110101111
11000000 | | 1111
110011 || 1100
a b f g
0000010110101111
11
a b f ProjectionsProjections
ff
0000010110101111
0011
a b g
gg
![Page 45: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/45.jpg)
0000010110101111
101000 00 | | 1111
1101 01 || 1010
a b f g
0000010110101111
11
a b f ProjectionsProjections
ff
0000010110101111
0011
a b g
gg
0000010110101111
101011
a b f g
merge
RR R’R’
R’ is an incompletely specified function, but …R’ is an incompletely specified function, but …has more flexibility than R (R has more flexibility than R (R R’) R’)
![Page 46: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/46.jpg)
BRBR
ISFISF
projectionprojection
![Page 47: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/47.jpg)
ISFISF
done !done !
ISF minimizerISF minimizer
![Page 48: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/48.jpg)
ISFISF
incompatible !incompatible !
ISF minimizerISF minimizer
![Page 49: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/49.jpg)
The recursive paradigmThe recursive paradigm
0000010110101111
101000 00 | | 1111
1101 01 || 1010
a b f g101011
f g
projection
1010101011111111
f g
minimization
agf1
101000 00 | | 1111
1101 01 || 1010
f g
compatible?compatible?
ISFwith moreflexibility
![Page 50: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/50.jpg)
The recursive paradigmThe recursive paradigm
0000010110101111
101000 00 | | 1111
1101 01 || 1010
a b f g101011
f g
projection
1010101011111111
f g
minimization
agf1
101000 00 | | 1111
1101 01 || 1010
f g
compatible?compatible?
ISFwith moreflexibility
![Page 51: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/51.jpg)
ISFISF
incompatible !incompatible !
ISF minimizerISF minimizer
![Page 52: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/52.jpg)
The recursive paradigmThe recursive paradigm
0000010110101111
101000 00 | | 1111
1101 01 || 1010
a b f g101011
f g
projection
1010101011111111
f g
minimization
agf1
101000 00 | | 1111
1101 01 || 1010
f g
compatible?compatible?
pick oneconflict
ISFwith moreflexibility
![Page 53: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/53.jpg)
The recursive paradigmThe recursive paradigm
0000010110101111
101000 00 | | 1111
1101 01 || 1010
a b f g
1010000011
01 01 || 1010
f g
1010111111
01 01 || 1010
f gsplit
![Page 54: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/54.jpg)
ISFISF
incompatible !incompatible !
ISF minimizerISF minimizer
![Page 55: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/55.jpg)
BRBR11 BR BR22
![Page 56: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/56.jpg)
The recursive paradigmThe recursive paradigm
0000010110101111
101000 00 | | 1111
1101 01 || 1010
a b f g
1010000011
01 01 || 1010
f g
1010111111
01 01 || 1010
f gsplit
1010000011110101
f g1010
00 00 | | 111111
01 01 || 1010
f g
1010000011
f g
ISFISF
![Page 57: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/57.jpg)
The recursive paradigmThe recursive paradigm
0000010110101111
101000 00 | | 1111
1101 01 || 1010
a b f g
1010000011
01 01 || 1010
f g
1010111111
01 01 || 1010
f gsplit
1010000011
f g1010000011110101
f g
agbf
1010111111111111
f g
incompatible
split ?
ISFISF
1010111111
f g
ISFISF
![Page 58: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/58.jpg)
The recursive paradigmThe recursive paradigm
0000010110101111
101000 00 | | 1111
1101 01 || 1010
a b f g
1010000011
01 01 || 1010
f g
1010111111
01 01 || 1010
f gsplit
1010000011
f g1010000011110101
f g
1010111111
f g1010111111111111
f g
incompatible
bagf
1
costcost
agbf
ISFISF
ISFISF
![Page 59: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/59.jpg)
The recursive paradigmThe recursive paradigm
0000010110101111
101000 00 | | 1111
1101 01 || 1010
a b f g
1010000011
01 01 || 1010
f g
1010111111
01 01 || 1010
f gsplit
1010000011
f g1010000011110101
f g
1010111111
f g1010111111111111
f g
incompatible
agbf
ISFISF
ISFISF
![Page 60: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/60.jpg)
0000010110101111
101000 00 | | 1111
1101 01 || 1010
a b f g
1010000011
01 01 || 1010
1010111111
01 01 || 1010
101000000101
01 01 || 1010
101000001111
01 01 || 1010
101011110101
01 01 || 1010
101011111111
01 01 || 1010
1010000001010101
1010000001011010
1010000011110101
1010000011111010
1010111101010101
1010111101011010
1010111111110101
1010111111111010
agbaf
baba
ab
baba
baa ba
ba
baba
ba 1
split
![Page 61: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/61.jpg)
0000010110101111
101000 00 | | 1111
1101 01 || 1010
a b f g
1010000011
01 01 || 1010
1010111111
01 01 || 1010
101011110101
01 01 || 1010
101011111111
01 01 || 1010
1010000011110101
1010111101010101
1010111101011010
1010111111110101
1010111111111010
agbf
baa ba
ba
baba
ba 1
splitbag
f
1
incompatible
![Page 62: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/62.jpg)
0000010110101111
101000 00 | | 1111
1101 01 || 1010
a b f g
1010000011
01 01 || 1010
1010111111
01 01 || 1010
1010000011110101
splitbag
f
1
incompatible
agbf
![Page 63: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/63.jpg)
![Page 64: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/64.jpg)
BRELBREL (RR,bestF bestF ) R’ R’ := project (RR) FF := ISF-minimize (R’R’) ifif cost(FF) cost(bestFbestF) returnreturn
ifif F F RR thenthen bestFbestF := FF elseelse xx := pick-one-conflict (FF,RR) (RR11,RR22):= split (RR,xx) BRELBREL(RR11,bestFbestF) BRELBREL(RR22,bestFbestF) endifendif
![Page 65: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/65.jpg)
Algorithmic engineering detailsAlgorithmic engineering detailsBDDs for the exploration of solutionsBDDs for the exploration of solutions
Efficient manipulation of characteristic functionsEfficient manipulation of characteristic functions ISF minimizers (Minato-Morreale, Restrict, …)ISF minimizers (Minato-Morreale, Restrict, …) Intensive use of the cache (many identical sub-problems)Intensive use of the cache (many identical sub-problems)
Store the best Store the best kk solutions solutions ESPRESSO + factorization (accurate cost estimation)ESPRESSO + factorization (accurate cost estimation)
Hybrid exploration of the tree (BFS + DFS + quick solver)Hybrid exploration of the tree (BFS + DFS + quick solver)
Clever conflict selection (with many neighboring conflicts)Clever conflict selection (with many neighboring conflicts)
Highly customizable: cost function, traversal strategy,Highly customizable: cost function, traversal strategy, best solution after timeout best solution after timeout
![Page 66: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/66.jpg)
BREL Configuration: Cost function Sum of BDDs sizesISF Minimizer Minato-Morreale# explored relations: 10
GyocroGyocro BRELBREL
PIPI POPO LITLIT AREAAREA CPUCPU LITLIT AREAAREA CPUCPU
int1int1 44 33 88 92809280 0.030.03 99 83528352 0.010.01
int10int10 66 44 3232 4454444544 0.080.08 3434 4129641296 0.020.02
c17ic17i 55 33 3434 3433634336 0.040.04 3030 3201632016 0.010.01
she1she1 55 33 1616 1624016240 0.040.04 1515 1763217632 0.000.00
she2she2 55 55 3131 3062430624 0.090.09 2424 2648826488 0.010.01
she3she3 66 44 2323 2459224592 0.080.08 2121 2134421344 0.010.01
she4she4 55 66 5656 6217662176 0.140.14 4040 4686446864 0.030.03
grgr 1414 1111 318318 346608346608 3.433.43 313313 322016322016 6.796.79
b9b9 1616 55 321321 382336382336 4.684.68 256256 306240306240 0.190.19
int15int15 2222 1414 506506 525248525248 21.9421.94 459459 472352472352 19.1419.14
vtxvtx 2222 66 117117 151728151728 30.1030.10 101101 9465694656 0.580.58
Normalized sumNormalized sum 1.001.00 1.001.00 1.001.00 0.890.89 0.860.86 0.440.44
![Page 67: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/67.jpg)
GyocroGyocro BRELBREL
PIPI POPO LITLIT AREAAREA CPUCPU LITLIT AREAAREA CPUCPU
int1int1 44 33 88 92809280 0.030.03 99 83528352 0.010.01
int10int10 66 44 3232 4454444544 0.080.08 3434 4129641296 0.020.02
c17ic17i 55 33 3434 3433634336 0.040.04 3030 3201632016 0.010.01
she1she1 55 33 1616 1624016240 0.040.04 1515 1763217632 0.000.00
she2she2 55 55 3131 3062430624 0.090.09 2424 2648826488 0.010.01
she3she3 66 44 2323 2459224592 0.080.08 2121 2134421344 0.010.01
she4she4 55 66 5656 6217662176 0.140.14 4040 4686446864 0.030.03
grgr 1414 1111 318318 346608346608 3.433.43 313313 322016322016 6.796.79
b9b9 1616 55 321321 382336382336 4.684.68 256256 306240306240 0.190.19
int15int15 2222 1414 506506 525248525248 21.9421.94 459459 472352472352 19.1419.14
vtxvtx 2222 66 117117 151728151728 30.1030.10 101101 9465694656 0.580.58
Normalized sumNormalized sum 1.001.00 1.001.00 1.001.00 0.890.89 0.860.86 0.440.44
![Page 68: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/68.jpg)
GyocroGyocro BRELBREL
PIPI POPO LITLIT AREAAREA CPUCPU LITLIT AREAAREA CPUCPU
int1int1 44 33 88 92809280 0.030.03 99 83528352 0.010.01
int10int10 66 44 3232 4454444544 0.080.08 3434 4129641296 0.020.02
c17ic17i 55 33 3434 3433634336 0.040.04 3030 3201632016 0.010.01
she1she1 55 33 1616 1624016240 0.040.04 1515 1763217632 0.000.00
she2she2 55 55 3131 3062430624 0.090.09 2424 2648826488 0.010.01
she3she3 66 44 2323 2459224592 0.080.08 2121 2134421344 0.010.01
she4she4 55 66 5656 6217662176 0.140.14 4040 4686446864 0.030.03
grgr 1414 1111 318318 346608346608 3.433.43 313313 322016322016 6.796.79
b9b9 1616 55 321321 382336382336 4.684.68 256256 306240306240 0.190.19
int15int15 2222 1414 506506 525248525248 21.9421.94 459459 472352472352 19.1419.14
vtxvtx 2222 66 117117 151728151728 30.1030.10 101101 9465694656 0.580.58
Normalized sumNormalized sum 1.001.00 1.001.00 1.001.00 0.890.89 0.860.86 0.440.44
![Page 69: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/69.jpg)
GyocroGyocro BRELBREL
PIPI POPO LITLIT AREAAREA CPUCPU LITLIT AREAAREA CPUCPU
int1int1 44 33 88 92809280 0.030.03 99 83528352 0.010.01
int10int10 66 44 3232 4454444544 0.080.08 3434 4129641296 0.020.02
c17ic17i 55 33 3434 3433634336 0.040.04 3030 3201632016 0.010.01
she1she1 55 33 1616 1624016240 0.040.04 1515 1763217632 0.000.00
she2she2 55 55 3131 3062430624 0.090.09 2424 2648826488 0.010.01
she3she3 66 44 2323 2459224592 0.080.08 2121 2134421344 0.010.01
she4she4 55 66 5656 6217662176 0.140.14 4040 4686446864 0.030.03
grgr 1414 1111 318318 346608346608 3.433.43 313313 322016322016 6.796.79
b9b9 1616 55 321321 382336382336 4.684.68 256256 306240306240 0.190.19
int15int15 2222 1414 506506 525248525248 21.9421.94 459459 472352472352 19.1419.14
vtxvtx 2222 66 117117 151728151728 30.1030.10 101101 9465694656 0.580.58
Normalized sumNormalized sum 1.001.00 1.001.00 1.001.00 0.890.89 0.860.86 0.440.44
![Page 70: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/70.jpg)
Recursive n-way decompositionRecursive n-way decompositionff11
ff22
ff33
ff44
ff11
ff22
ff33ff44
ff11
ff22
ff11
ff22
ff33
ff
subsumessubsumesbi-decompositionbi-decomposition
![Page 71: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/71.jpg)
Recursive n-way decompositionRecursive n-way decompositionff11
ff22
ff33
ff44
ff11
ff22
ff33ff44
ff11
ff22
ff22
ff33
ff
subsumessubsumesbi-decompositionbi-decomposition
00
![Page 72: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/72.jpg)
Recursive n-way decompositionRecursive n-way decompositionff11
ff22
ff33
ff44
ff11
ff22
ff33ff44
ff11
ff22
ff22
ff33
ff
subsumessubsumesbi-decompositionbi-decomposition
![Page 73: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/73.jpg)
ALGEBR + SPEEDALGEBR + SPEED BREL-DECOMPOSITIONBREL-DECOMPOSITION
PIPI POPO AREAAREA DELAYDELAY AREAAREA DELAYDELAY CPUCPU
9symml9symml 99 11 293712293712 9.799.79 149872 7.85 192.34192.34
majoritymajority 5 1 8352 3.06 7424 2.86 3.32
b1b1 33 44 12528 2.86 10672 2.81 0.97
cm150acm150a 2121 11 63568 7.25 63568 5.96 46.02
cm85acm85a 1111 33 68208 5.57 57072 4.82 30.42
cm162acm162a 14 5 83520 5.93 75632 5.37 42.26
cm163acm163a 16 5 61248 6.19 63104 5.44 29.26
frg1frg1 28 3 139664 9.07 68672 5.67 679.48
c8c8 2828 1818 150800 6.99 198128 6.01 84.92
cccc 2121 2020 87696 5.98 89088 5.16 29.20
ttt2ttt2 24 21 232464 8.66 271904 7.29 162.19
chtcht 4747 3636 174000 6.08 270976 5.16 40.67
i5i5 133133 6666 447296 8.20 600880 6.99 503.50
i7i7 199 67 724304 8.71 817568 7.29 283.52
x3x3 135 99 832416 11.10 1215680 7.50 1082.86
Normalized sumNormalized sum 1.001.00 1.001.00 1.171.17 0.810.81
![Page 74: A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky](https://reader036.vdocument.in/reader036/viewer/2022081506/56649d445503460f94a212cf/html5/thumbnails/74.jpg)
ConclusionsConclusionsBoolean relations carry a huge space of solutions.Boolean relations carry a huge space of solutions.
Easy to be trapped on sub-optimal local minima.Easy to be trapped on sub-optimal local minima.
The semi-lattice is “infested” by ISFs !The semi-lattice is “infested” by ISFs !
BREL: finds a path to the best ISF by recursivelyBREL: finds a path to the best ISF by recursivelysolving conflictssolving conflicts
Future work:Future work: Exploitation of symmetriesExploitation of symmetries Boolean decomposition targeting at delay minimizationBoolean decomposition targeting at delay minimization
BREL publicly available (send e-mail)BREL publicly available (send e-mail)