A recursive paradigm to solve Boolean relations - PowerPoint PPT Presentation

About This Presentation
Title:

A recursive paradigm to solve Boolean relations

Description:

Jordi Cortadella Univ. Polit cnica de Catalunya. Mike Kishinevsky Strategic CAD Lab., Intel Corp. ... Applications of Boolean Relations. Boolean matching ... – PowerPoint PPT presentation

Number of Views:76
Avg rating:3.0/5.0
Slides: 75
Provided by: jor53
Learn more at: https://www.cs.upc.edu
Category:

less

Transcript and Presenter's Notes

Title: A recursive paradigm to solve Boolean relations


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
Boolean relation example
3
Boolean relation example
x y z
b
c
a
f
01010?10
00110011
01010101
00001111

a
4
Boolean relation example
x y z
b
c
a
f
01010?10
00110011
01010101
00001111

x
0
?
y
z
5
Boolean relation example
x y z
b
c
a
f
01010?10
00110011
01010101
00001111
0?0 0?0 0?0 0?0
x
0
?
y
z
6
Boolean relation example
x y z
b
c
a
f
01010?10
00110011
01010101
00001111
0?0 0?0 0?0 0?0
?
x
0
y
z
7
Boolean relation example
x y z
b
c
a
f
01010?10
00110011
01010101
00001111
0?0 ?01 0?0 ?01 0?0 ?01 0?0 ?01
?
x
0
y
z
8
Boolean relation example
x y z
b
c
a
f
01010?10
00110011
01010101
00001111
0?0 ?01 0?0 ?01 0?0 ?01 0?0 ?01
x
1
?
y
z
9
Boolean relation example
x y z
b
c
a
f
01010?10
00110011
01010101
00001111
0?0 ?01 1?0 0?0 ?01 1?0 0?0 ?01 1?0 0?0
?01
x
1
?
y
z
10
Boolean relation example
x y z
b
c
a
f
01010?10
00110011
01010101
00001111
0?0 ?01 1?0 0?0 ?01 1?0 0?0 ?01 1?0 0?0
?01
?
x
1
y
z
11
Boolean relation example
x y z
b
c
a
f
01010?10
00110011
01010101
00001111
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
b
c
a
f
01010?10
00110011
01010101
00001111
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
b
c
a
f
01010?10
00110011
01010101
00001111
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
Boolean relation example
x y z
b
c
a
00110011
01010101
00001111
0?0 ?01 1?0 ?11 0?0 ?01 1?0 ?11 0?0
?01 ? ? ? 1?0 ?11 0?0 ?01
a
15
Boolean relation example
x y z
b
c
a
00110011
01010101
00001111
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
Boolean Relations
19
Boolean Relations
20
Boolean Relations
21
Solving Boolean Relations
Finding f and g suchthat ?R is a tautology
22
Solving Boolean Relations
Finding f and g suchthat ?R is a tautology
23
Solving Boolean Relations
Finding f and g suchthat ?R is a tautology
24
Solving Boolean Relations
Finding f and g suchthat ?R is a tautology
25
Solving Boolean Relations
Finding f and g suchthat ?R is a tautology
26
Solving Boolean Relations
Finding f and 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 xInitial Solution do REDUCE(x) E
XPAND(x) IRREDUNDANT(x) while (x is
improved)
29
f g
a b
Boolean relation
30
f g
a b
31
(No Transcript)
32
00 01 10 11
00 01 10 11
33
R?R
?
Semi-lattice
Functions
34
(Bn ? Bm)
35
Optimum-cost function
36
(Bn ? Bm)
Number of variables
Number of functions
? ( )
Size of the semi-lattice
37
Shortcut use 2-level minimizers ! (ESPRESSO,
Minato-Morreale, Scherzo)
38
Subclasses of Boolean relations
General Boolean Relations
Incompletely Specified Functions
Completely Specified Functions
ESPRESSO Minato-Morreale (BDDs) Scherzo (ZDDs) ...
39
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
Quick solver for Boolean Relations(initial
solution in Gyocro)
41
Quick solver for Boolean Relations(initial
solution in Gyocro)
f
42
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
43
GYOCRO xInitial Solution do REDUCE(x) E
XPAND(x) IRREDUNDANT(x) while (x is
improved)
10 00 11 01
10 11 11 10
44
Another example
x y
Quick solver (also Gyocro)
45
Quick solver for Boolean Relations
  • The solution is determined by theminimization
    order.
  • Solutions are typically unbalanced.
  • Difficult to escape from the local minimum.

46
The recursive approach(BREL)
47
Projections
48
Projections
f
49
Projections
f
f g
a b
00 01 10 11
10 ?? ?1 ??
merge
g
R
R
R is an incompletely specified function, but
has more flexibility than R (R ? R)
50
ISF
projection
BR
51
ISF
ISF minimizer
done !
52
ISF
ISF minimizer
incompatible !
53
The recursive paradigm
ISF with more flexibility
54
The recursive paradigm
ISF with more flexibility
55
ISF
ISF minimizer
incompatible !
56
The recursive paradigm
ISF with more flexibility
57
The recursive paradigm
58
ISF
ISF minimizer
incompatible !
59
BR1 BR2
60
The recursive paradigm
?
61
The recursive paradigm
f g
10 00 11 01
?
ISF
62
The recursive paradigm
f g
10 00 11 01
?
ISF
ISF
63
The recursive paradigm
f g
10 00 11 01
?
ISF
ISF
64
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
65
10 00 ?1 01 10
10 11 ?1 01 10
10 11 01 01 10
10 11 11 01 10
10 00 11 01
10 11 01 01
10 11 01 10
10 11 11 01
10 11 11 10
66
10 00 ?1 01 10
10 11 ?1 01 10
10 00 11 01
67
(No Transcript)
68
BREL (R,bestF ) R project (R) F
ISF-minimize (R) if cost(F) ? cost(bestF)
return if F ? R then bestF F else
x pick-one-conflict (F,R) (R1,R2) split
(R,x) BREL(R1,bestF) BREL(R2,bestF)
endif
69
Algorithmic engineering details
  • BDDs for the exploration of solutions
  • Efficient manipulation of characteristic
    functions
  • ISF minimizers (Minato-Morreale, Restrict, )
  • Intensive use of the cache (many identical
    sub-problems)
  • Store the best k solutions
  • ESPRESSO factorization (accurate cost
    estimation)
  • Hybrid exploration of the tree (BFS DFS quick
    solver)
  • Clever conflict selection (with many neighboring
    conflicts)
  • Highly customizable cost function, traversal
    strategy, best
    solution after timeout

70
BREL Configuration Cost function ? Sum of BDDs
sizes ISF Minimizer ? Minato-Morreale
explored relations 10
71
(No Transcript)
72
(No Transcript)
73
(No Transcript)
74
Recursive n-way decomposition
subsumes bi-decomposition
75
Recursive n-way decomposition
0
subsumes bi-decomposition
76
Recursive n-way decomposition
subsumes bi-decomposition
77
(No Transcript)
78
Conclusions
  • Boolean relations carry a huge space of
    solutions.
  • Easy to be trapped on sub-optimal local minima.
  • The semi-lattice is infested by ISFs !
  • BREL finds a path to the best ISF by
    recursivelysolving conflicts
  • Future work
  • Exploitation of symmetries
  • Boolean decomposition targeting at delay
    minimization
  • BREL publicly available (send e-mail)
Write a Comment
User Comments (0)
About PowerShow.com