Global routing

advertisement
A Fast Crosstalk- and
Performance-Driven
Multilevel Routing System
Tsung-Yi Ho, Yao-Wen Chang, Sao-Jie Chen
D. T. Lee
Graduate Institute of Electronics Engineering
Department of Electrical Engineering
National Taiwan University
Taiwan
Institute of Information Science
Academia Sinica
Taiwan
1
Agenda
•
•
•
•
Introduction
Multilevel Routing Framework
Experimental Results
Conclusions
Performance-Driven
Routing Tree Construction
Crosstalk-Driven
Layer/Track Assignment
2
Agenda
•
•
•
•
Introduction
Multilevel Routing Framework
Experimental Results
Conclusions
3
Routing Trends
•
Billions of transistors may be fabricated in a
single chip with nanometer technology.
•
•
Need tools for very large-scale designs.
Framework evolution for CAD tools:
Multilevel
Hierarchical
Flat
Source: Intel at ISSCC-03
4
Two-Stage Routing
•
Global routing
Partition the routing area into tiles.
Find tile-to-tile paths for all nets.
Optimize given objectives.
•
Detailed routing
Assign actual tracks and vias for nets.
5
Flat and Hierarchical Routing
Frameworks
Flat
Drawback: hard to handle larger designs
Hierarchical
Drawback: lack the global information for the interaction
among subregions
6
Multilevel Framework
•
It has been successfully applied to
partitioning, floorplanning, placement and
routing in VLSI physical design and many
more.
•
Ingredients:
Bottom-up Coarsening: Iteratively groups a set
of circuit components.
Top-down Uncoarsening: Iteratively ungroups
clustered components and refines the solution.
7
First Multilevel Router
•
Cong, Fang and Zhang, ICCAD 2001.
Coarsening: Routing resource estimation
Initial global routing: Multicommodity flow algorithm
Uncoarsening: Refinement using constrained maze global
routing algorithm
…
…
8
Routability- and Performance-Driven
Multilevel Router
•
Lin and Chang, ICCAD 2002.
This framework integrates global routing, detailed routing and
resource estimation together at each level.
9
Our Multilevel Framework
•
An intermediate step (layer/track assignment) between
coarsening and uncoarsening stage is introduced to do
runtime and crosstalk optimization.
Already-routed net
To-be-routed net
G0
Coarsening
G1
Perform
congestion-driven
pattern routing for
local connections
and then estimate
routing congestion
for the next level.
Uncoarsening
G0
Coarsening Uncoarsening G
1
G2
G2
Use point-to-path
maze routing to
reroute failed nets
level by level.
Perform crosstalk-driven layer/track assignment for long
segments, and short segments are routed by a point-to-path
maze router.
10
Multilevel Routing Framework Comparison
Coarsening stage
Initial routing
Uncoarsening
stage
Cong et al. in
ICCAD 01
Resource estimation
Multicommodity
flow
Global maze
refinement
Lin and Chang
in ICCAD 02
Global routing
Detailed routing
Resource estimation
No initial
routing
Global and
detailed maze
refinement
Our Framework
Global routing
Resource estimation
Track/layer
assignment
Global and
detailed maze
refinement
11
Multilevel Routing Framework Comparison
Coarsening stage
Initial routing
Uncoarsening
stage
Cong et al. in
ICCAD 01
Resource estimation
Multicommodity
flow
Global maze
refinement
Lin and Chang
in ICCAD 02
Global routing
Detailed routing
Resource estimation
No initial
routing
Global and
detailed maze
refinement
Our Framework
Global routing
Resource estimation
Track/layer
assignment
Global and
detailed maze
refinement
•
Cong et al.’s framework
Focus on global routing
The precise relative positions of nets are not determined
Insufficient information for addressing nanometer electrical effects
(e.g., crosstalk)
12
Multilevel Routing Framework Comparison
Coarsening stage
Initial routing
Uncoarsening
stage
Cong et al. in
ICCAD 01
Resource estimation
Multicommodity
flow
Global maze
refinement
Lin and Chang
in ICCAD 02
Global routing
Detailed routing
Resource estimation
No initial
routing
Global and
detailed maze
refinement
Our Framework
Global routing
Resource estimation
Track/layer
assignment
Global and
detailed maze
refinement
•
Lin & Chang’s framework
Focus on routability-driven routing
Most of nets are detailed routed (fixed)
Not flexible to address nanometer electrical effects
13
Multilevel Routing Framework Comparison
Coarsening stage
Initial routing
Uncoarsening
stage
Cong et al. in
ICCAD 01
Resource estimation
Multicommodity
flow
Global maze
refinement
Lin and Chang
in ICCAD 02
Global routing
Detailed routing
Resource estimation
No initial
routing
Global and
detailed maze
refinement
Our Framework
Global routing
Resource estimation
Layer/Track
assignment
Global and
detailed maze
refinement
•
Our new framework
Fully utilizes the information of global router
Nets are routed in parallel
Suitable to address nanometer electrical effects
14
Agenda
•
•
•
•
Introduction
Multilevel Routing Framework
Experimental Results
Conclusions
Performance-Driven
Routing Tree Construction
Crosstalk-Driven
Layer/Track Assignment
15
Performance-Driven Routing Tree
• Minimum Spanning Tree (MST)
Has the smallest total wire length
c
May incur longer path length
• Shortest Path Tree (SPT)
SPT
MST
Has the shortest path length
May incur larger total wire length
c
c
Minimum Radius Minimum Cost Spanning Tree
(MRMCST) is proposed for performance-driven
routing tree construction.
16
Union of All MSTs
•
Construct union and intersection graphs of all MSTs to
preserve the minimum cost.
4
3
5
1
2
6
No
Only One
Component?
7
Yes
17
Union of All MSTs
•
Construct union and intersection graphs of all MSTs to
preserve the minimum cost.
4
3
5
1
2
6
7
Time complexity:
O(n lgn)
How to choose
the right optional
edges?
18
Preprocessing
• Every blue component should keep
Pseudo-center (pc): center of the longest path
Distance of every node to its pc
Radius from pc
Optional edges incident to the blue component
pc1
B2
B1
pc2
19
Locally Optimal Connection Strategy (LOCS)
• LOCS: Choose an edge e = (p, q) to minimize the cost
f(e, T) = dist(s, p) + cost(e) +
dist(q, pc(T)) + RT
• Prim-like algorithm
•
RT
O(n+moptlogmopt)
Number of nodes
needed to update
the distance from
the source s
Use a heap
structure to
choose optional
edges
s p
T
pc
q
20
Routing Model
•
•
Partition a chip into tiles
Multilevel routing graph G = (V, E)
Each node in V denotes a tile
Each edge in E denotes the boundary of
adjacent tiles
21
Global Routing
•
Pattern routing
Uses L-shaped and Z-shaped connections to
route nets.
Has lower time complexity than maze routing.
! "
" ! "
#! "
22
Resource Estimation
•
Global routing cost is the summation of
congestions of all routed edges.
•
The congestion, Ce, of an edge e is defined by
Ce =
1
2
( pe − d e )
,
where pe and de are the capacity and density, respectively.
•
We update the congestion of routed edges to
guide the subsequent global routing.
23
Agenda
•
•
•
•
Introduction
Multilevel Routing Framework
Experimental Results
Conclusions
Performance-Driven
Routing Tree Construction
Crosstalk-Driven
Layer/Track Assignment
24
Coupling Capacitance Induced Crosstalk
•
Coupling capacitance is more significant than self
capacitance in deep submicron era
Devices and wires are placed in closer proximity
Wire heights scale at a slower rate than widths
•
Coupling capacitance is proportional to coupling wire length
and inversely proportional to spacing distance.
smaller device sizes
Coupling can account for up to 70% of interconnect
Sylvester et al, in Proc. VLSI
capacitance even in .25 micron designs.
Symposium on Technology, 1998.
25
Coupling Capacitance Induced Crosstalk
•
Crosstalk
Caused by coupling capacitance
Leads to functional failure and wire delay
• Global routing
Precise net positions are not determined yet and thus
only some sort of estimation can be done.
• Detailed routing
Most nets are fixed and thus it is not flexible to handle
the wire coupling
A Desirable Intermediate Step:
Layer/Track Assignment
26
Crosstalk-Driven Layer Assignment
b
d
e
c
a
Chip Layout
To avoid two
segments with larger
overlap adjacent to
each other on the
same layer, we need
to separate them to
different layers.
f
1
2
3
4
a
1
1
2
Panel
b
2
3
2
f 2
Graph k-coloring
heuristic on MST
to separate
segments to k
layers
1
1 c
4
2
1
2
1
3
d
Interval Graph
Maximum spanning tree
heuristic to extract edges with
larger cost
e
27
Crosstalk-Driven Track Assignment
b
d
e
c
a
f
1
2
Extract the maximum
clique in the interval
graph
3
4
a
1
b
1
2
c
4
2
3
d
Interval graph
c
d
1
e
b
3
2
f
a
a
e
1
2
3
4
f
Bipartite assignment graph
b
1
c
2
d
3
e
4
f
Combined graph
28
Crosstalk-Driven Track Assignment
b
d
e
c
a
f
b
1
2
Select the segment
with the maximum
degree in the clique
as the starting point
3
4
a
1
b
1
2
c
4
2
3
d
Interval graph
c
d
1
e
b
3
2
f
a
a
e
1
2
3
4
f
Bipartite assignment graph
b
1
c
2
d
3
e
4
f
Combined graph
29
Crosstalk-Driven Track Assignment
b
d
e
c
a
f
b
1
Remove edges
corresponding to
segments that can be
allocated on track 1
but are overlapped
with segment b
2
3
4
a
1
b
1
2
c
4
2
3
d
Interval graph
c
d
1
e
b
3
2
f
a
a
e
1
2
3
4
f
Bipartite assignment graph
b
1
c
2
d
3
e
4
f
Combined graph
30
Crosstalk-Driven Track Assignment
b
d
e
c
a
f
b
1
f
2
e
3
Assign the remaining
segments in the
clique to tracks
d
4
a
1
b
1
2
c
4
2
3
d
Interval graph
c
d
1
e
b
3
2
f
a
a
e
1
2
3
4
f
Bipartite assignment graph
1
c
2
d
3
e
4
f
Combined graph
31
Crosstalk-Driven Track Assignment
b
d
e
c
a
f
b
1
c
a
2
Choose the next
maximum clique for
track assignment till
all segments are
assigned
f
e
3
d
4
a
1
b
1
2
c
4
2
3
d
Interval graph
c
d
1
e
b
3
2
f
a
a
e
1
2
3
4
f
Bipartite assignment graph
1
c
2
d
3
e
4
f
Combined graph
32
Our Multilevel Framework Recap
Already-routed net
To-be-routed net
G0
G0
Coarsening
G1
Perform congestiondriven pattern routing
for local connections
and then estimate
routing congestion for
the next level.
Coarsening
G2
Uncoarsening
Uncoarsening G1
G2
Use point-to-path
maze routing to
reroute failed
nets level by
level.
Perform crosstalk-driven layer/track assignment for long segments,
and short segments are routed by a point-to-path maze router.
33
Agenda
•
•
•
•
Introduction
Multilevel Routing Framework
Experimental Results
Conclusions
34
Experimental Settings
• Language: C++
• Platform: 1GHz Sun Blade 2000 with 1GB memory
• Library: STL, LEDA, LayoutDB (UCLA)
• Benchmarks taken from previous works:
Circuits
Size ( m)
#Layer
#Nets
#Pins
S5378
4330x2370
3
3124
4734
S9234
4020x2230
3
2774
4185
S13207
6590x3640
3
6995
10562
S15850
7040x3880
3
8321
12566
S38417
11430x6180
3
21035
32210
S38584
12940x6710
3
28177
42589
35
Routability and Running Time
• Obtained about the same routability
• Achieved about 6.7X speedup, used 2X memory
Circuits
Results of Lin and Chang
(ICCAD 2002)
Our Results
Time (s)
Memory
(MB)
#Failed
nets
Time (s)
Memory
(MB)
#Failed
nets
S5378
35
18
5
10.6
34
5
S9234
26.2
14
4
8.1
33
2
S13207
106.7
24
7
22.6
53
10
S15850
538.8
40
31
62.6
79
19
S38417
899.9
75
57
71.3
160
33
S38584
1953.7
496
59
255.6
977
54
Avg
6.7
1
1.4
1
2.1
1
36
Delay and Crosstalk
Circuits
Results of Lin and Chang (ICCAD 2002)
Our Results
Dmax
Davg
Cmax
Cavg
Dmax
Davg
Cmax
Cavg
S5378
37308
1403
507
25.4
27577
1258
342
20.2
S9234
25512
1072
579
21.7
23591
1009
426
17.8
S13207
55337
1262
1526
29.2
52034
1243
1211
22.7
S15850
76297
1302
2913
28.3
68317
1253
2274
22.9
S38417
121419
1170
5704
25.6
105575
1146
4732
20.9
S38584
150936
1208
23196
26.8
131877
1151
18810
22.6
avg
1.2
1.1
1.3
1.2
1
1
1
1
Dmax: Critical path delay (ps)
Davg: Average net delay (ps)
15 %
Reduced about
Coupling capacitance is
5 % not included in delay computation for fair comparison
Cmax: Maximum coupling length ()
30 %
Cavg: Average coupling length ()
24 %
37
Routing of s5378
Example of a routing result with GUI (s5378)
38
Agenda
•
•
•
•
Introduction
Multilevel Routing Framework
Experimental Results
Conclusions
39
Conclusions
$
We have proposed a novel multilevel routing
framework that is suitable to address nanometer
electrical effects.
$
Compared with the state-of-the-art previous work,
our approach achieved a 6.7X runtime speedup,
reduced the respective maximum and average
crosstalk by about 30% and 24%, reduced the
respective maximum and average delay by about
15% and 5%.
Future work lies in multilevel routing considering
other nanometer electrical effects such as
antenna effect.
$
40
Thank You !!
41
Download