Routing Topology Algorithms
Mustafa Ozdal
1
Routing Topology Algorithms Mustafa Ozdal 1 Introduction How to - - PowerPoint PPT Presentation
Routing Topology Algorithms Mustafa Ozdal 1 Introduction How to connect nets with multiple terminals? Net topologies needed before point-to-point routing between terminals. Several objectives: Minimum wirelength Best timing
Mustafa Ozdal
1
– Minimum wirelength – Best timing – Routability
2
: receiver : driver
3
: receiver : driver
4
: receiver : driver
5
6
7
the Manhattan distance of e
8
– W(ET) is minimum – T = (V, ET) is still connected
contain n vertices and n-1 edges.
9
1. Initialize T as empty set 2. Define a disjoint set corresponding to each vertex in V. 3. Sort edges in non-decreasing order of weights 4. For each e = (v1, v2) in the sorted edge list
1. If v1 and v2 belong to different sets 1. Add e to T 2. Merge the sets corresponding to v1 and v2
5. Return T
10
vertex is a disjoint set (different color)
edges from shortest to longest
11
shortest edge
connected are in different sets
MST
vertices
12
shortest edge.
connected are in different sets
MST
vertices
13
shortest edge.
connected are in different sets
MST
vertices
14
shortest edge.
connected are in different sets
MST
vertices
15
shortest edge.
connected are in the same set
16
shortest edge.
connected are in different sets
MST
vertices
17
connected
highlighted
18
1. Initialize VT and MST to be empty set 2. Pick a root vertex v in V (e.g. driver terminal) 3. Add v to VT 4. While VT is not equal to V
1. Find edge e = (v1, v2) such that 1. v1 is in VT 2. v2 is NOT in VT 3. weight of e is minimum 2. Add e to MST 3. Add v2 to VT
5. Return MST
19
contains the root vertex (e.g. driver)
20
edge between VT and V - VT
MST
21
edge between VT and V - VT
MST
22
edge between VT and V - VT
MST
23
edge between VT and V - VT
MST
24
edge between VT and V - VT
MST
25
edge between VT and V - VT
MST
26
included in VT
highlighted
27
– Kruskal’s algorithm – Prim’s algorithm
28
– Extra intermediate vertices can be added to reduce wirelength.
Steiner point
29
– i.e. The routing of the slanted edges are all pre-determined
30
– Most likely there’s no polynomial time optimal algorithm – Note: MST problem can be solved optimally in O(ElogE)
– Iteratively add Steiner points to an MST – Route each edge of MST allowing Steiner points be created in the process. – Exponential time algorithms: Based on ILP, SAT, SMT solvers – A popular and practical algorithm: FLUTE
for VLSI Design”, IEEE Trans. On CAD, Jan 2008.
31
from each side
32
terminal to the second leftmost one.
33
corresponding to pressing edge
at the new location
Steiner point
34
It is proven that pressing maintains optimality
35
36
37
38
the rectangle at the center.
4 Steiner (orange) points?
39
all Steiner tree solutions for such rectangles up to 10 terminals.
there are less than 10 nodes, returns the solution from database.
40
database, the best solution in the database is returned.
Canonical solutions stored in database
41
center rectangle is chosen from the database.
42
Steiner tree
43
44
: receiver : driver
45
: receiver : driver
46
: receiver : driver Large delay to receiver
47
: receiver : driver
48