p2-ispd2009 robust layer assignment for via optimization ... · # nets processed routing ......
TRANSCRIPT
Robust Layer Assignment for Via Optimization in Multi-layer Global Routing
Tsung-Hsien LeeInst. of Information Science
Academia Sinica
Ting-Chi WangDept. of Computer Science
National Tsing Hua University
1
OutlineIntroduction
Motivation
Algorithm
Experimental results
Conclusions
Problem Formulation
2
Introduction to Layer AssignmentLayer assignment is a major step in multi-layer global routing
3
ProjectionProjection
2D Routing
2D Routing
LayerLayerAssignmentAssignment
p1
p3
p2
p1′ p2′
p3′
p1′ p2′
p3′
p1
p3
p2
ProjectionProjection
2D Routing
2D Routing
LayerLayerAssignmentAssignment
p1
p3
p2
p1′p1′ p2′p2′
p3′p3′
p1′p1′ p2′p2′
p3′p3′
p1
p3
p2
Introduction to Layer AssignmentLayer assignment determines the final routing result⎯ A bad layer assignment devastates all the previous
efforts
BadBad Layer
Layer
Assignment
Assignment
Additional wire overflowlonger wirelength
p1
p3
p2
p1′ p2′
p3′
4
Introduction to Layer AssignmentLayer assignment determines the final routing result⎯ A good layer assignment keeps all the previous efforts
GoodGood Layer
Layer
Assignment
Assignment
p3
p2
p1
No additional wire overflowMinimal wirelengthp1′ p2′
p3′
5
MotivationISPD’07 and ISPD’08 Global Routing Contest did not limit # of vias placed in a tile
Routing result without considering via capacity is not practical !
Allowablein the contest
Still allowablein the contest
6
MotivationA better layer assignment should take the via capacity into account
Better
Better LayerLayer
Assignment
Assignment
GoodGood Layer
Layer
Assignment
Assignment
Via overflow
net A
net B
7
Previous Work for Via Capacity[Hsu et al., ICCAD’08]“Multi-layer Global Routing Considering Via and Wire Capacities”⎯ Considering via capacity for each tile⎯ No detailed information of its layer assignment step
Via capacity of a tile= remaining_area / via_area= (tile_area – preoccupied_area) / via_area
Obstaclesand
Pre-routed wiresDidn’t specify
in the benchmarks8
Problem Formulation“Congestion is modeled by including capacity adjustments. In the global routing benchmarks, there may be obstacles, or pre-routed wires.” -quoted from “details of file formats” of ISPD’08 Global Routing Contest rules
routing track
routing track
routing track
tile width
pre-routedwire obstacle
tile width
tile
heig
ht capacity
TransformTransform
9
Problem FormulationVia capacity of a tile= (tile_area – preoccupied_area) / via_area= (capacity × tile_width) / via_area
routing track
routing track
routing track
tile width
pre-routedwire obstacle
tile width
tile
heig
ht capacity
TransformTransform
10
Problem FormulationGiven a 2D routing result, finds a 3D counterpart through layer assignment⎯ Minimize via overflow, and wirelength⎯ Keep the same wire overflow from 2D routing result
LayerLayerAssignmentAssignment
p3
p2
p1
No additional wire overflowMinimal via overflowMinimal wirelength
p1′ p2′
p3′
11
AlgorithmOur algorithm contains 3 steps
Single-net Layer Assignment
12
Net O
rder
Refinement
Net O
rderNet Order
Determination
Net Order DeterminationDue to the limited routing resources, a net processed earlier has larger solution space
# nets processed
Routingresources
# nets processed
Solutionspace for a net
Net order should maximize resource utilization
13
Net Order DeterminationFor each 2D net T, we use 3 parameters to determine its order - Score(T)⎯ Length(T) : # of edges in T⎯ PinNum(T) : # of pins in T⎯ Bends(T) : # of bends in T
Net Order derived from sorting Score(T) for each net T decreasingly
14
net B
net A A has 4 edges, 3 pins, and 1 bend
B has 2 edges, 2 pins, and 0 bend
net A
net B
net A
net B
net B
net A A has 4 edges, 3 pins, and 1 bend
B has 2 edges, 2 pins, and 0 bend
net A
net B
net A
net B
net A
net B
net A
net B
Net Order Determination — LengthA net with longer length will occupy more routing resources⎯ Length(T) ↑, Score(T) ↓
net A
net B
net A
net B
15
Net Order Determination — PinNumThe role of pin in global routing, just like the role of checkpoints in race⎯ PinNum(T) ↑, Score(T) ↑
net A
net B
3 pins = 3 checkpoints
2 pins = 2 checkpoints
net A
net B
16
Net Order Determination — BendsChanging routing direction needs vias, so bend is similar to pin⎯ Bends(T) ↑, Score(T) ↑
net A
net B
1 bend at least needs an via
0 bend may not need vias
net A
net B
17
Net Order DeterminationScore(T)’s relationships with Length(T), PinNum(T), and Bends(T).⎯ Length(T) ↑, Score(T) ↓⎯ PinNum(T) ↑, Score(T) ↑⎯ Bends(T) ↑, Score(T) ↑
Score(T)= (α× Bends(T) +β× PinNum(T)) / Length(T)
18
Single-net Layer Assignment[Lee et al., TCAD’08]“Congestion-Constrained Layer Assignment for Via Minimization in Global Routing”⎯ COLA finds a layer assignment result with minimum via
count for a 2D net
COLACOLA
p3
p2
p1
p2′
19
Via countp1′
p3′
Single-net Layer Assignment[Lee et al., TCAD’08]“Congestion-Constrained Layer Assignment for Via Minimization in Global Routing”⎯ COLA finds a layer assignment result with minimum via
count for a 2D netExtends from COLA, our algorithm can deal with via overflow and via count
ExtendedExtendedCOLACOLA
p3
p1
p2
20
Via count
Via overflow
p2′p1′
p3′
Single-net Layer AssignmentDP-based layer assignment method⎯ Minimize increase on via overflow, and via count
For a net, assign one edge at a time
21
2D view
3D view
a bz
Assign a
a bA
ssign b
Single-net Layer AssignmentVias are placed after edges are assigned⎯ Vias are determined by edges and pins
Since vias on different tiles are independent, the via overflow increase on each tile can be calculated independently
22
a b
I II III IV
Single-net Layer AssignmentMemorize the minimum via overflow one on each stage and propagate it to the next stage
23
a b
I II III IV
In the end, the optimal result is the one with minimum total via overflow increase
If there is a tie on via overflow increase, choose the one with minimum via count
Single-net Layer Assignment
24
Optimal result
Refinement
net A
net B
Can’t pass2D view 3D view
Refinement can improve the via overflow of the original layer assignment result⎯ Rip-up and re-layer assignment for each net
Enhance the net order
25
RefinementNet A assigned first, and net B assigned second⎯ Net A has 2 choices with the same via overflow increase
and via count
I II
26
RefinementIf net A chooses improperly, net B will generate via overflow inevitably⎯ It is impossible for net A to know how to choose before net
B is assigned
Via overflow
27
Net BNet B’’ss LayerLayerAssignmentAssignment
RefinementWith refinement, the via overflow will be improved by the re-layer assignment of net A⎯ The re-layer assignment will not generate worse result
than pervious
Via overflow No via overflow
28
Net ANet A’’s s rere--layerlayerAssignmentAssignment
Experiment Flow
29
2D routing results
COLA
3D routing results
Compression
Ours
Layer Assignment3D results
Experimental Results without RefinementWithout refinement, our algorithm induced 23~35%via overflow with 1~3% WL increase compared with COLA [1]
30
[1] Lee et al., TCAD’08, “Congestion-Constrained Layer Assignment for Via Minimization in Global Routing”
Experimental Results with RefinementWith refinement, our algorithm induced 5~15% via overflow with 4~6% WL increase compared with COLA [1]
31
[1] Lee et al., TCAD’08, “Congestion-Constrained Layer Assignment for Via Minimization in Global Routing”
ConclusionsDevelop a layer assignment algorithm considering via overflow and via countFuture work: a more effective net order and layer assignment method
32
Q & A
Thank You!and
33