Title: Speaker: Danai Chasaki
1Technology mapping using binate covering 1
- Speaker Danai Chasaki
- May 5th, 2009
1 Michal Z. SERVIT and Kang YI Technology
Mapping by Binate Covering
2Technology mapping based on structural mapping
- Input subject Boolean network (representation
of the network using a set of base functions
single logic cell from a given library) - Generate pattern graphs
- Cover the subject graph with patterns
- - DAG covering (tree covering/dynamic)
- - binate covering
- Binate Covering Problem extraction of a minimum
cost subset from a given set that satisfies
certain constraints expressed as a Boolean
formula in conjunctive normal form - NP-hard, heuristic methods used
3Outline
- Background
- Problem formulation
- Heuristics
- Example
- Comparison/Summary
- References
4Previous work on binate covering
- Heuristic methods/ backtracking
- - 1992, M. Servit, J. Zamazal (scoring function)
- - 1995, R. Murgai, R. Brayton (partition
networks efficiently) - - 1995, O. Coudert, J. Madre (covering matrix
reduction, pruning techniques) - Branch and bound Thelen
- Sort by length, literals, variables, reorder
- BDD-based Lin and Somenzi
5Binate covering problem formulation
- Subject network
- Nodes v1..vn (gates)
- Set of clusters C1..Cn (subnets)
- Nodes, clusters produce-consume a signal
- v1 produces signal s1
- v2 consumes signals s3 s4 sc
- Constraints
- Output
- Implication
- Task select optimum subset from all clusters C
P.O.
P.I.
With courtesy from reference paper by Servit,
1997
6Product of SUMs Boolean formula
P.O.
- Output constraints
- primary output node consuming signal s
- Signal s produced by set of clusters C1..Ck
- SUM clause (x1 x2 xk)
- Implication constraints
- signal s consumed by cluster C0, produced by
clusters C1..Ck - SUM clause (x0 x1 x2xk)
- Boolean formula T product of all SUM clauses
P.I.
- T1 (x6x7),T2 (x3x4x5),T3(x3x1)
- T4(x3x2), T5(x4x2), T6(x5x1)
- T7 (x6 x3x4x5), T8 (x7x2)
- T T1T2T3T4T5T6T7T8
7Heuristic algorithm for binate covering
- Problem Find assignment (set of clusters) that
satisfy T with the least sum of costs of all
selected clusters - Greedy algorithm combined with backtracking
- Simplify formula T by reduction select a
variable xi (cluster Ci) and assign the value
TRUE (accept) or FALSE (reject) to it, then
simplify and repeat - Several possibilities
- how to define a candidate set for variable
selection - how to select a variable from the candidate set
and - how to assign a value to the variable selected
8Orthogonal set of heuristics
- basic or enhanced set of constraints
- Basic output, implication constraints
- Enhanced covering constraints (each internal
node should be covered by at least one cluster) - complete or restricted candidate set
- Restricted consider only variables that appear
in positively unate clauses in the basic set of
constraints - Motivation traversal from P.O. to P.I. (avoid
redundant solutions) - accept or reject or accept-or-reject strategy
- Which variable out of the set to choose use
score functions - What value to assign true or false depending on
score
9Score functions
- Calculate weight of Tj - inversely proportional
to the number of literals it contains - Direct score of variable xi (DS) sum of weights
of all Ts that contain the literal xi - Indirect score of variable xi (IS) sum of
weights of all Ts that contain the literal xi - DIF DS IS
10Value assignment
- Value assignment based on scores
- Accept strategy assigns xi TRUE to the
variable xi that has the highest value of DS - Reject strategy assigns xi FALSE to the
variable xi that has the highest value of IS - Accept-or-Reject strategy assigns a value to the
variable that has the highest value of DIF, xi
TRUE if DIF gt 0, otherwise - xi FALSE
11Example CNF formulation
Covering constraints node 1 T8 (x1x6) node 2
T9 (x2x7) node 3 T10 (x3x6x7) node 4 T11
(x4x6x7) node 5 T12 (x5x6)
Implication constraints S1,C7 T2
(x7x1) S2,C6 T3 (x6x2) S4,C5 T4
(x5x4x7) S1,C4 T5 (x4x1) S3,C4 T6
(x4x3) S2,C3 T7 (x3x2)
Restricted candidate set x5, x6
Output constraints T1 (x5x6)
T T1T2T3T4T5T6T7T8T9T10T11T121
12Example - Solution
- Objective Assign values to variables xi so that
T is satisfied (TRUE) - When variable xi is assigned to TRUE it means
that cluster Ci is selected and inserted in the
final solution set - Look at restricted candidate set (x5, x6). Which
one do we pick? - DS(x6) gt DS(x5), so we pick x6. Which value do
we assign to x6?
Calculate weights of Ts w1w2w3w5w6w7w8w9
w121/2w4w10w111/3
Calculate DS, IS of x5, x6 DS(x5) w1w12 1,
IS(x5) w4 1/3 DS(x6) w1w8w10w11w12 7/3,
IS(x6)w31/2
- Accept strategy x6TRUE
- Notice It is sufficient to select just one of
the clusters producing the same signal gt
x5FALSE (from T1) and x2 TRUE (from T3) gt - x4x7FALSE (from T4) gt
- x1FALSE (from T5) and x3FALSE (from T6)
- Finally we have (x1, x2, x3, x4, x5, x6, x7)
(0,1,0,0,0,1,0) so clusters C2, C6 are selected
Solution set S C2, C6
13Experimental results
- Enhanced set of constraints gt basic
- Restricted candidate set gt complete
- Accept strategy gt accept-reject strategy gt reject
- Few redundancies appeared only if the complete
candidate set and accept or accept-or-reject
strategy were used - Backtracking was not needed
14Summary
- Binate covering problem formulation CNF
- Clauses for all constraints (output, implication,
covering) - Satisfy Boolean formula T, with minimum cost
- Value assignment (accept/reject) based on score
functions - Best bet Enhanced set of constraints /
Restricted candidate set / Accept strategy
15References
- 1 Michal Z. SERVIT and Kang YI Technology
Mapping by Binate Covering, 1997 - 2 M. Servit, J. Zamazal Heuristic Approach to
Binate Covering Problem, EDAC'92 Proc.,1992 - 3 R. Murgai, R. Brayton, A. Sangiovanni-Vincente
lli Logic Synthesis for Field-Programmable Gate
Arrays, 1995 - 4 O. Coudert, J. Madre New Ideas for Solving
Covering Problems, 31st DAC Proc., 1995 - 5 B.Lin, F.Somenzi Minimization of Symbolic
Relations, 1990 - 6 J. Bieganowski, A. Karatkevich, Heuristics
for Thelens Prime Implicant Method, 2004 -