global routing anita antony pr11ec1011. approaches for global routing sequential approach: – route...
TRANSCRIPT
![Page 1: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider](https://reader036.vdocuments.net/reader036/viewer/2022070401/56649f1b5503460f94c3033f/html5/thumbnails/1.jpg)
GLOBAL ROUTING
Anita Antony PR11EC1011
![Page 2: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider](https://reader036.vdocuments.net/reader036/viewer/2022070401/56649f1b5503460f94c3033f/html5/thumbnails/2.jpg)
Approaches for Global Routing
Sequential Approach:– Route the nets one at a time.
Concurrent Approach:– Consider all nets simultaneously.– Can be formulated as an integer program
![Page 3: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider](https://reader036.vdocuments.net/reader036/viewer/2022070401/56649f1b5503460f94c3033f/html5/thumbnails/3.jpg)
LINE PROBE ALGORITHM
• Gridless - store list of lines and obstructions -sorted lists of vertical and horizontal lines
![Page 4: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider](https://reader036.vdocuments.net/reader036/viewer/2022070401/56649f1b5503460f94c3033f/html5/thumbnails/4.jpg)
Mikami+Tabuchi’s algorithm
Let S and T denote a pair of terminals to be connected.
Step 1:
•Generate four lines (two horizontal and two vertical)
passing through S and T.• Extend these lines till they hit obstructions or the boundary
of the layout.• If a line generated from S intersects a line generated from
T, then a connecting path is found.
![Page 5: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider](https://reader036.vdocuments.net/reader036/viewer/2022070401/56649f1b5503460f94c3033f/html5/thumbnails/5.jpg)
• If they do not intersect, they are identified as trial lines of level zero.
• Stored in temporary storage for further processingStep i of Iteration:• Pick up trial lines of level i, one at a timeo Along the trial line, all its grid points are
tracedo Starting from these grid points to the trial
line of level I,i+1 levels are generated perpendicular to the trial line of level i
![Page 6: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider](https://reader036.vdocuments.net/reader036/viewer/2022070401/56649f1b5503460f94c3033f/html5/thumbnails/6.jpg)
• If a trial line of level i+1 intersects a trial line (of any level)from the other terminal point, the connecting path can be found.
o By back tracing from the intersection point to S and T.
o Otherwise, all trial lines of level (i+1) are added to temporary storage, and the procedure repeated
![Page 7: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider](https://reader036.vdocuments.net/reader036/viewer/2022070401/56649f1b5503460f94c3033f/html5/thumbnails/7.jpg)
Mikami & Tabuchi’s Algorithm
![Page 8: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider](https://reader036.vdocuments.net/reader036/viewer/2022070401/56649f1b5503460f94c3033f/html5/thumbnails/8.jpg)
Line Probing• Keep two lists of line segments, slist and tlist,
for the source and the target respectively.• If a line segment from slist intersects with one
from tlist, a route is found; else, new line segments are generated from the escape points.
S
Tslist
tlist
Intersection
![Page 9: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider](https://reader036.vdocuments.net/reader036/viewer/2022070401/56649f1b5503460f94c3033f/html5/thumbnails/9.jpg)
Line Probing• We can use all the grid vertices on the line segments
as escape points:
• Always find a path but may not be optimal.
S
T 0
0
1
1
1 1
1
1111
11
1 1
0
0
Escape point
Iteration number
![Page 10: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider](https://reader036.vdocuments.net/reader036/viewer/2022070401/56649f1b5503460f94c3033f/html5/thumbnails/10.jpg)
• Will find the path if it exists, not guaranteed to find the shortest path
• Time and space complexity: O(L), where L
is the number of line segments
![Page 11: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider](https://reader036.vdocuments.net/reader036/viewer/2022070401/56649f1b5503460f94c3033f/html5/thumbnails/11.jpg)
Hightower’s Algorithm
![Page 12: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider](https://reader036.vdocuments.net/reader036/viewer/2022070401/56649f1b5503460f94c3033f/html5/thumbnails/12.jpg)
Line Probing• We can pick just one escape point from each line
segment.
• May fail to find a path even if one exists.
S
T
1
1
0
0
1
0
0
Escape point
Iteration number
![Page 13: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider](https://reader036.vdocuments.net/reader036/viewer/2022070401/56649f1b5503460f94c3033f/html5/thumbnails/13.jpg)
Advantages
• small memory requirements - no grid• store sorted lists of vertical and horizontal
segments• fast
![Page 14: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider](https://reader036.vdocuments.net/reader036/viewer/2022070401/56649f1b5503460f94c3033f/html5/thumbnails/14.jpg)
![Page 15: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider](https://reader036.vdocuments.net/reader036/viewer/2022070401/56649f1b5503460f94c3033f/html5/thumbnails/15.jpg)
![Page 16: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider](https://reader036.vdocuments.net/reader036/viewer/2022070401/56649f1b5503460f94c3033f/html5/thumbnails/16.jpg)
Shortest Path Based Algorithms
• For 2-terminal nets only.• Use Dijkstra’s algorithm to find the shortest
path between the source s and the sink t of a net.
• Different from Maze Routing:– The graph need not be a rectangular grid.– The edges need not be of unit length.
![Page 17: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider](https://reader036.vdocuments.net/reader036/viewer/2022070401/56649f1b5503460f94c3033f/html5/thumbnails/17.jpg)
Dijkstra’s Shortest Path Algorithm• Label of vertices = Shortest distance from S.• Let P be the set of permanently labeled vertices.
• Initially, – P = Empty Set.– Label of S = 0, Label of all other vertices = infinity.
• While (T is not in P) do– Pick the vertex v with the min. label among all
vertices not in P.– Add v to P.– Update the label for all neighbours of v.
![Page 18: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider](https://reader036.vdocuments.net/reader036/viewer/2022070401/56649f1b5503460f94c3033f/html5/thumbnails/18.jpg)
Dijkstra’s Algorithm: Example
0
88
88
10
52
2 3 4 6
1
9
7S
B T
A C
0
10
5
88
10
52
2 3 4 6
1
9
7S
B T
A C
0
8
5
14
7
10
52
2 3 4 6
1
9
7S
B T
A C
0
8
5
9
7
10
52
2 3 4 6
1
9
7S
B T
A C
0
8
5
9
7
10
52
2 3 4 6
1
9
7S
B T
A C
0
8
5
13
7
10
52
2 3 4 6
1
9
7S
B T
A
C
P (Permanently Labeled) Min. Label Vertex
![Page 19: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider](https://reader036.vdocuments.net/reader036/viewer/2022070401/56649f1b5503460f94c3033f/html5/thumbnails/19.jpg)
Concurrent Approach• Consider all the nets simultaneously.• Formulate as an integer program.• Given:
Lij = Total wire length of Tij
Ce = Capacity of edge e xi j = No of nets which are routed using Tij
• Determine variable xij s.t. xij = 1 if Tij is used xij = 0 otherwise.
Tn1, Tn2, ... , Tnknnet n
::
::
T11, T12, ...... , T1k1net 1
Set of possible routing treesNets
![Page 20: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider](https://reader036.vdocuments.net/reader036/viewer/2022070401/56649f1b5503460f94c3033f/html5/thumbnails/20.jpg)
Integer Program Formulation
jix
eCx
nix
xL
ij
eijTeji ij
ik
j ij
n
i
ik
j
ijij
,1or 0
edge allfor
,,1 allfor 1 s.t.
Min.
s.t. ,
1
1 1
![Page 21: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider](https://reader036.vdocuments.net/reader036/viewer/2022070401/56649f1b5503460f94c3033f/html5/thumbnails/21.jpg)
Hierarchical Approach• Large Integer Programs are difficult to solve.• Decompose recursively in a top-down fashion.• Those 2x2 routing problems can be solved
optimally by integer programming formulation.
![Page 22: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider](https://reader036.vdocuments.net/reader036/viewer/2022070401/56649f1b5503460f94c3033f/html5/thumbnails/22.jpg)
Hierachical Approach: Example• Solving a 2xn routing problem
hierarchically.Level 1
Level 2
Level 3
Solution:
![Page 23: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider](https://reader036.vdocuments.net/reader036/viewer/2022070401/56649f1b5503460f94c3033f/html5/thumbnails/23.jpg)
Types of 2x2 Routing ProblemsType 1 Type 7
Type 2
Type 3
Type 4
Type 5
Type 6
Type 8
Type 9
Type 10
Type 11
![Page 24: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider](https://reader036.vdocuments.net/reader036/viewer/2022070401/56649f1b5503460f94c3033f/html5/thumbnails/24.jpg)