GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route...
-
Upload
shauna-may -
Category
Documents
-
view
213 -
download
0
Transcript of GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route...
GLOBAL ROUTING
Anita Antony PR11EC1011
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
LINE PROBE ALGORITHM
• Gridless - store list of lines and obstructions -sorted lists of vertical and horizontal lines
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.
• 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
• 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
Mikami & Tabuchi’s Algorithm
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
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
• 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
Hightower’s Algorithm
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
Advantages
• small memory requirements - no grid• store sorted lists of vertical and horizontal
segments• fast
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.
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.
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
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
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
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.
Hierachical Approach: Example• Solving a 2xn routing problem
hierarchically.Level 1
Level 2
Level 3
Solution:
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