Lec18 Steiner
-
Upload
prattysreedhar -
Category
Documents
-
view
232 -
download
0
Transcript of Lec18 Steiner
-
8/3/2019 Lec18 Steiner
1/12
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
c S h e r w a n i 9 2
3 . 6
D a t a S t r u c t u r e s a n d B a s i c A l g o r i t h m s
S p a n n i n g T r e e
~
P r o b l e m F o r m u l a t i o n :
G i v e n a g r a p h G = ( V E ) , s e l e c t a s u b s e t V
0
V ,
s u c h t h a t V
0
h a s p r o p e r t y P .
~
M i n i m u m S p a n n i n g T r e e
~
P r o b l e m F o r m u l a t i o n :
G i v e n a n e d g e - w e i g h t e d g r a p h G = ( V E ) , s e l e c t a s u b s e t
o f e d g e s E
0
E s u c h t h a t E
0
i n d u c e s a t r e e a n d t h e
t o t a l c o s t o f e d g e s
P
e
i
2 E
0
w t ( e
i
) , i s m i n i m u m o v e r
a l l s u c h t r e e s , w h e r e w t ( e
i
) i s t h e c o s t o r w e i g h t o f
t h e e d g e e
i
.
{ U s e d i n r o u t i n g a p p l i c a t i o n s .
-
8/3/2019 Lec18 Steiner
2/12
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
c S h e r w a n i 9 2
3 . 1 3
D a t a S t r u c t u r e s a n d B a s i c A l g o r i t h m s
S t e i n e r T r e e s
~
1 . P r o b l e m f o r m u l a t i o n :
G i v e n a n e d g e w e i g h t e d g r a p h G = ( V E ) a n d a s u b s e t D V ,
s e l e c t a s u b s e t V
0
V , s u c h t h a t D V
0
a n d V
0
i n d u c e s a t r e e o f m i n i m u m c o s t o v e r a l l s u c h t r e e s .
T h e s e t D i s r e f e r r e d t o a s t h e s e t o f d e m a n d p o i n t s a n d
t h e s e t V
0
; D i s r e f e r r e d t o a s S t e i n e r p o i n t s .
U s e d i n t h e g l o b a l r o u t i n g o f m u l t i - t e r m i n a l n e t s .
Demand Point
B
CD
FJ
H
7
7
5
4
9
5 6
12
8
6 5 5
2 3
5
6
6
6
A
I
E
G
(a) (b)
-
8/3/2019 Lec18 Steiner
3/12
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
c S h e r w a n i 9 2
3 . 1 4
D a t a S t r u c t u r e s a n d B a s i c A l g o r i t h m s
U n d e r l y i n g G r i d G r a p h
~
T h e u n d e r l y i n g g r i d g r a p h i s d e n e d b y t h e i n t e r s e c t i o n s o f t h e
h o r i z o n t a l a n d v e r t i c a l l i n e s d r a w n t h r o u g h t h e d e m a n d p o i n t s .
Hanan's Thm (69'):
There exists an optimal
RST with all Steiner
points (set S) chosen
from the intersection points of horizontal
and vertical lines
drawn from points of D.
-
8/3/2019 Lec18 Steiner
4/12
j
A l g o r i t h m s f o r V L S I P h y s i c a l D e s i g n A u t o m a t i o n
c S h e r w a n i 9 2
3 . 1 5
D a t a S t r u c t u r e s a n d B a s i c A l g o r i t h m s
D i e r e n t S t e i n e r t r e e s c o n s t r u c t e d f r o m a M S T
(a) (b)
(c) (d)
(e)
Hwang's Thm (76'):The ratio of the cost of
a rectilinear MST to
that of an optimal RST
is no greater than 3/2.
-
8/3/2019 Lec18 Steiner
5/12
Rectilinear Steiner TreesGiven a set of points on the planeDetermine a Steiner tree using only horizontal and vertical
wires( lines)
Manhattan distance:
cost(v1,v2) =|x1-x2|+|y1-y2|
v1=(x1,y1), v2=(x2,y2)
Steiner pointsDraw a horizontal and a vertical line through each point.
Need to consider only grid points as steiner points
Prim-based algorithm:
Grow a connected subtree by iteratively adding the closest
points
It gives 3/2-approximation, i.e. cost(T)3/2cost(Topt)
v1=(x1,y1)
v2=(x2,y2)
-
8/3/2019 Lec18 Steiner
6/12
Steiner Tree Heuristics Observation: MST approximation can be easily improved
Difficulty: where to add Steiner points??
cost(T)=6 cost(T)=4
-
8/3/2019 Lec18 Steiner
7/12
L-Shaped MST approach Ho, Vijayan and Wong, A new approach to the rectilinear steiner tree problem, DAC89, pp161-166
Basic Idea: Each on-degenerated edge in MST has two possible
L-shaped layouts, choose one for each edge in MST to maximizeoverlap.
degenerate edges non-degenerate edge two L-shaped layouts
MST one L-shaped mapping another L-shaped
mapping
Problem: Compute the best L-shaped mapping
-
8/3/2019 Lec18 Steiner
8/12
Key Ideas in L-RST ApproachSeparable MST: bounding boxes of every two non-adjacent edges dont intersect or overlap
Theorem: Every point set has a separable MSTTheorem: Each node is adjacent to at most 8 edges
(6 non-degenerate edges) in a rectilinear MST
Theorem: We can compute an optimal L-shaped
implementation of an MST in O(2dn) time.
( Dynamic Programming Approach).
Note that d6
non-separable MST separable MST
-
8/3/2019 Lec18 Steiner
9/12
Compute a Separable MSTWeight (i,j) of each edge is a 4-tuplew(i,j)= (dij, -|yi-yj|, -max(yi,yj), -max(xi,xj))
Weights are compared underlexicographic ordering
Use Prims algorithm to compute a MST based on
the weight function
we obtain a rectilinear MST since the 1st
component of w(i,j) is dij
This MST is separable since the next threecomponents in w(i,j) help break ties
Run time O(n2)
dij
i (xi,yi)
j (xj,yj)
-
8/3/2019 Lec18 Steiner
10/12
Compute an Optimal L-shaped Mapping
Choose an arbitrary node as root
Using dynamic programming
Compute at each node v the following
l(vi): min cost of Ti with (v,vi) using lower L-shapeu(vi): min cost of Ti with (v, vi) using upper L-shape
Ti Ti
-
8/3/2019 Lec18 Steiner
11/12
Compute an Optimal L-shaped Mapping(Contd)
l(v) (or u(v) ) can be computed by examining 2dcombinations ofl(vi) and u(vi) (1id) with (pv,v) takingupper (or lower) L
T1 T2 Td
v
pv
T1 T2 Td
v
pv
-
8/3/2019 Lec18 Steiner
12/12
Applying Spanning/Steiner Tree Algorithms General cell design: channel intersection graphs
Standard cell/Gate array/Sea-of-gate designrectilinear steiner/spanning trees or grid graphs