24
GLOBAL ROUTING Anita Antony PR11EC1011

GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider

Embed Size (px)

Citation preview

Page 1: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider

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

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

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

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

• 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

• 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

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

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

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

• 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

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

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

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
Page 15: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider
Page 16: GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider

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

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

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

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

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

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

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

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