Lec18 Steiner

Embed Size (px)

Citation preview

  • 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