CAD for Physical Design - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

CAD for Physical Design

Description:

How to construct the initial spanning tree? ... Review Kruskal's algorithm to construct MST. Given G(V, E), find MST of G: Sort the edges ... – PowerPoint PPT presentation

Number of Views:57
Avg rating:3.0/5.0
Slides: 26
Provided by: cad104
Category:
Tags: cad | construct | design | how | physical | to

less

Transcript and Presenter's Notes

Title: CAD for Physical Design


1
CAD for Physical Design
  • Tutorial 4
  • Feb 25th, 2009

2
Outline
  • H. Zhou, Efficient Steiner Tree Construction
    Based on Spanning Graphs. ACM International
    Symposium on Physical Design, Monterey, CA, 2003.

3
Rectilinear Steiner tree
Steiner points
  • NP-hard
  • but efficient heuristic are critical in modern
    VLSI design

4
Spanning tree as a starting point
  • L(MST)
  • Shorten tree length by modification

5
Edge-based approach
  • Borah, Owens, and Irwin (TCAD 94)

6
Questions
  • How to construct the initial spanning tree?
  • How to find the edge point pair candidates for
    connection?
  • How to find the longest edge on the formed cycle?

7
Answer spanning graphs
8
Answer spanning graphs
  • Definition Given a set of points on the plane, a
    spanning graph is a graph on the points that
    contains at least one minimal spanning tree
  • Spanning graph also represent geometrical
    proximity information
  • it also provides candidates for point-edge
    connection
  • It is a sparse graph O(n) number of edges

9
Construct Spanning Graph - Octal partition
R1
p
R1
R8
q
R2
R7
s
R3
R6
R4
R5
s
  • pq
  • Only the closest point in each region needs to be
    connected to s
  • So, connections will form a spanning graph of
    cardinality O(n)

10
Find closest points in R1
  • In order to find the closest points in regions R1
    and R2 for all points, the points will be sorted
    in nondecreasing order of x y.
  • Sweep points in increase xy. In this way, after
    each point p is swept, the next point seen in its
    R1 or R2 region will be the closest point in that
    region
  • Keep points waiting for closest point in A
    (active set)
  • Checking current point with A
  • make connections
  • delete connected points
  • add current point in A

4
2
3
1
xy
11
Active set
  • Active set can be linearly order
  • Use a binary search tree
  • Finding insertion place O(log n)
  • Deleting each point O(log n)
  • Inserting a point O(log n)
  • Each point is inserted and deleted at most once
    O(n log n)

12
Rectilinear Spanning Graph Alg.
13
Spanning graph for point-edge candidates
  • (p,a) or (p,b) is usually in the spanning graph
    if nothing blocks p from (a,b)

a
e
p
b
  • For each edge e in the current tree, all points
    that are neighbors of either of the end points of
    e will be considered to form point-edge pairs
    with e

14
Spanning graph for point-edge candidates
  • (p,a) or (p,b) is usually in the spanning graph
    if nothing blocks p from (a,b)

a
e
p
b
  • For each edge e in the current tree, all points
    that are neighbors of either of the end points of
    e will be considered to form point-edge pairs
    with e

15
Finding longest edge on cycle
  • When connecting a point to an edge, the longest
    edge on the formed cycle needs to be deleted
  • Review Kruskals algorithm to construct MST
  • Given G(V, E), find MST of G
  • Sort the edges
  • T ?
  • Consider the edges in ascending order of their
    weights until T contains n-1 edges
  • Add an edge e to T iff adding e to T does not
    create cycle in T

16
Finding longest edge on cycle
  • The structure of these connecting operations in
    Kruskals algorithm can be represented by a
    merging binary tree
  • Leaves represent the points
  • Internal nodes represent edges
  • When an edge is added, a node is created
    representing the edge and has its two children
    representing the two components connected by this
    edge

17
Finding longest edge on cycle
  • The longest edge between two points is the least
    common ancestor of the two points in the binary
    tree
  • To find the longest edge on the cycle formed by a
    point-edge pair (p, e), we need to find the
    longest edge between p and the one end point of e
    that is in the same component before adding e

18
Algorithm RST
  • construct a rectilinear spanning graph
  • sort the edges in the graph
  • use Kruskal to build MST, at the same time
  • build the merging binary tree and
  • possible point-edge candidates (by spanning
    graph)
  • use least common ancestors on merging binary tree
    to find the longest edges in cycles
  • iteratively update point-edge connections

19
RST Algorithm
20
Spanning Graph
21
Minimal Spanning Tree
22
Steiner Tree
23
Performance
24
Running times
25
Summary
  • Besides generating spanning trees, spanning
    graphs also provide proximity information
  • Use for Steiner tree improvements
  • RST efficient O(nlog n) heuristic
Write a Comment
User Comments (0)
About PowerShow.com