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

A recursive paradigm to solve Boolean relations David Bañeres Univ. Politècnica de Catalunya Jordi Cortadella Univ. Politècnica de Catalunya Mike Kishinevsky

  • View
    233

  • Download
    0

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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
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

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

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

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

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

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

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

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

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

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

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

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)