Title: Floorplan Evaluation with Timing-Driven Global Wireplanning, Pin Assignment and Buffer / Wire Sizing
1Floorplan Evaluation with Timing-Driven Global
Wireplanning, Pin Assignment and Buffer / Wire
Sizing
Christoph Albrecht Synopsys, Inc., Mountain
View formerly Research Institute for
Discrete Mathematics, Bonn, Germany Andrew B.
Kahng, Ion Mandoiu UC San Diego, La
Jolla Alexander Zelikovsky Georgia State
University, Atlanta
ASPDAC 2002, Bangalore
2Outline
- Previous Work
- Buffer Block-/ Site-Methodologies
- Floorplan Evaluation Problem
- Key Ingredient Gadgets
- Multicommodity Flow Approximation
- Algorithm / Randomized Rounding
- Experimental Results
3Previous Work
- Floorplan
- Chen et al. BBL VLSI83, Dai et al.
TCAD87, - Cong TCAD91
- Buffer Block Methodology
- Cong et al. ICCAD99, TangWong ISPD00
- Buffer Site Methodolgy
- Alpert et al. DAC01
- Multicommodity Flow Approximation Algorithm
- Garg and Konemann FOCS98
- Fleischer SIDMA00
- Application to Global Routing
- Albrecht ISPD00 TCAD01
- Application to Buffer Block Methodology
- Dragan et al. ICCAD00 ASPDAC01 WADS01
4Buffer-Block Methodology
Cong et al. ICCAD99, TangWong
ISPD00, Dragan et al. ICCAD00 ASPDAC01
- Buffers inserted in blocks located within
available free space - Simplifies design by isolating buffer insertion
from circuit block implementations
5Buffer-Site Methodology
Alpert et al. DAC01
- Block designers leave holes in circuit blocks
to be used for buffer insertion - Alleviates congestion problems of buffer blocks
6Buffer-Site Methodology
Alpert et al. DAC01
- Block designers leave holes in circuit blocks
to be used for buffer insertion - Alleviates congestion problems of buffer blocks
7Buffer-Site Methodology
Alpert et al. DAC01
- Block designers leave holes in circuit blocks
to be used for buffer insertion - Alleviates congestion problems of buffer blocks
8Floorplan Evaluation Problem
Given
- Tile graph G to model congestion
- wire capacity w(u,v) number of free routing
channels between tile u and v. - buffer capacity b(v) possible number of
buffers in tile v. - Netlist (source and sink pins given as sets of
tiles) - Maximum wireload of buffers / sources U
9Floorplan Evaluation Problem
Given
- Tile graph G to model congestion
- wire capacity w(u,v) number of free routing
channels between tile u and v. - buffer capacity b(v) possible number of
buffers in tile v. - Netlist (source and sink pins given as sets of
tiles) - Maximum wireload of buffers / sources U
Find
Pin assignment and feasible buffered routing for
nets, subject to buffer and wire congestion
constraints and minimizing the total routing
area, ?(buffers) ?(total wirelength),
where ?, ? ? 0 are given scaling constants
10Key Ingredient Gadgets
Tile graph G
11Key Ingredient Gadgets
12Key Ingredient Gadgets
13Key Ingredient Gadgets
Lemma 1-to-1 correspondence between feasible
buffered paths for net N in G and s t
paths in H.
i
i
i
14Integer Program
(
)
å
å
å
a
Ç
Ç
b
x
E
p
E
p
min
p
v
u
v
,
p
v
u
v
)
,
(
å
Î
"
Ç
G
V
v
v
b
x
E
p
)
(
),
(
µ
s.t.
p
v
0
p
å
Î
"
Ç
G
E
v
u
v
u
w
x
E
p
)
(
)
,
(
),
,
(
?
p
v
u
0
,
p
å
"
x
net
,
1
p
p
"
Î
p
x
path
feasible
0,1,
p
15Integer Program
(
)
å
å
å
a
Ç
Ç
b
x
E
p
E
p
min
p
v
u
v
,
p
v
u
v
)
,
(
å
Î
"
Ç
G
V
v
v
b
x
E
p
)
(
),
(
µ
s.t.
p
v
0
p
å
Î
"
Ç
G
E
v
u
v
u
w
x
E
p
)
(
)
,
(
),
,
(
?
p
v
u
0
,
p
å
"
x
net
,
1
p
p
"
Î
p
x
path
feasible
0,1,
p
Linear Relaxation
³
x
0
p
16Dual Linear Program
å
l
max
i
i
å
å
v
b
y
)
(
µ
s.t.
v
u
w
)
,
(
?
D u
1
v
0
0
v
u,v
(
)
å
a
u
Ç
y
E
p
v
v
v
(
)
å
z
³
u
b
Ç
l
E
p
u,v
i
v
u
,
v
u
,
"
p
path
Î
"
G
V
v
)
(
³
y
0
v
Î
"
³
G
E
v
u
)
(
)
,
(
z
0
u,v
17Solution
Linear Relaxation Multicommodity flow with set
constraints Garg and Konemann
FOCS98 Fleischer SIDMA00 Randomized
Rounding Raghavan Thomson COMB87
18Approximation Algorithm
xp0, yv?/?0b(v), ze?/?0w(e), u?/D, pi? While
?v b(v)yv ?e w(e)ze Du lt 1 For i 1,,
nets do If pi ? or weight(pi) gt (1??) li
Find path pi with min weight li among
si-ti paths End If xpi xpi 1 For
every v?V(G) and e?E(G) yv yv( 1 ? pi?Ev
/ ?0b(v) ) ze ze( 1 ? pi?Ee / ?0w(e) ) u
u( 1 ? (? ?vpi?Ev ? ?epi?Ee) / D )
End For End For End While Output x scaled by
the number of While iterations
19Extensions
- Sink delay upper bounds
- (Elmore-Delay)
- Buffer-wire sizing and layer assignment
- Multi-pin nets
20Experimental Results
Testcase Algo Wirelen. LB Gap Buffers LB Gap W_congest B_congest CPU
ami49 RABID 7592 11.87 1339 21.51 0.93 0.36 167
324 nets
a9c3 RABID 30723 5.64 4225 11.95 0.60 0.44 502
1526 nets
playout RABID 27601 6.38 3840 15.04 0.45 0.64 813
1663 nets
xc5 RABID 27060 8.35 4410 23.25 0.84 0.81 694
2149 nets
21Experimental Results
Testcase Algo Wirelen. LB Gap Buffers LB Gap W_congest B_congest CPU
ami49 RABID 7592 11.87 1339 21.51 0.93 0.36 167
324 nets MCF 6792 0.07 1135 2.99 1.00 0.47 314
a9c3 RABID 30723 5.64 4225 11.95 0.60 0.44 502
1526 nets MCF 29082 0.00 3801 0.72 0.63 0.31 1082
playout RABID 27601 6.38 3840 15.04 0.45 0.64 813
1663 nets MCF 25946 0.00 3428 2.70 0.51 0.32 1393
xc5 RABID 27060 8.35 4410 23.25 0.84 0.81 694
2149 nets MCF 25155 0.73 3841 7.35 0.96 0.60 1641
22Experimental Results
Testcase Algo Wirelen. LB Gap Buffers LB Gap W_congest B_congest CPU
ami49 RABID 7592 11.87 1339 21.51 0.93 0.36 167
324 nets MCF 6792 0.07 1135 2.99 1.00 0.47 314
MCFPA 6041 0.01 991 4.87 1.00 0.50 304
a9c3 RABID 30723 5.64 4225 11.95 0.60 0.44 502
1526 nets MCF 29082 0.00 3801 0.72 0.63 0.31 1082
MCFPA 26057 0.00 3376 0.75 0.58 0.30 1079
playout RABID 27601 6.38 3840 15.04 0.45 0.64 813
1663 nets MCF 25946 0.00 3428 2.70 0.51 0.32 1393
MCFPA 23138 0.00 3004 4.12 0.40 0.32 1386
xc5 RABID 27060 8.35 4410 23.25 0.84 0.81 694
2149 nets MCF 25155 0.73 3841 7.35 0.96 0.60 1641
MCFPA 22265 0.05 3340 4.87 0.98 0.50 1644
23Conclusions
- First coherent approach to floorplan definition,
timing and congestion-driven buffered global
route planning, wire/buffer sizing, layer
assignment and pin assignment. - Provably good results by multicommodity flow
approximation algorithms and randomized rounding.