Presentation is loading. Please wait.

Presentation is loading. Please wait.

Routing 1 Outline –What is Routing? –Why Routing? –Routing Algorithms Overview –Global Routing –Detail Routing –Shortest Path Algorithms Goal –Understand.

Similar presentations


Presentation on theme: "Routing 1 Outline –What is Routing? –Why Routing? –Routing Algorithms Overview –Global Routing –Detail Routing –Shortest Path Algorithms Goal –Understand."— Presentation transcript:

1 Routing 1 Outline –What is Routing? –Why Routing? –Routing Algorithms Overview –Global Routing –Detail Routing –Shortest Path Algorithms Goal –Understand routing problem –Understand overview of routing algorithms –Understand shortest path algorithms

2 What is Routing? Determination of component wiring –assignment of wires to routing areas »restricted routing problems »e.g. routing channel –detailed wiring within areas »layer assignment »vias Goal –minimize routing area »minimize wiring length »minimize channel height –minimize lengths of critical paths –100% completion in allocated space »fixed wiring areas »e.g. gate arrays, FPGAs –minimize crosstalk A BC D EA BC D E

3 Why Routing? Hand routing impractical –1k-100k nets in large chip designs –prone to error –example »IBM TCM has 26 routing layers »how to use layers? Multi-goal optimization –routing area –delay –cross-talk –clock and power routing –manufacturing yield

4 Objective Functions Minimize routing cost according to function –want fast but reasonably accurate metrics –wiring area »channel area = channel density * channel length –wire length »minimum spanning tree »Steiner tree »half-perimeter of bounding box –wiring congestion »track density along channels 12431 peak density 4 average 2.2 peak/avg 1.82 area = h*L h L

5 Types of Routers Global routers –function »determine routing areas »assign net to routing areas »minimize global routing area, path lengths –consider congestion, approximate path length Detail routers –goal »route actual wires »minimize routing area, path lengths –general-purpose - maze, line probe –restricted - channel, switchbox, river routers Specialized –power, clock routers

6 Example: Global Routing A BC D EA BC D E A BC D EA BC D E

7 Example: Detailed Routing 1 11 222 22 3 3 3 34 4

8 Shortest Path Algorithms Find shortest path between two vertices in weighted graph –graph with edge weights –weight is distance, congestion, etc. –search graph from source to destination –backtrace to source once destination is found Used especially in global routing 1 3 3 1 10 2 5 1 2 3 1 4 S D

9 Shortest Path Algorithms Single Pair Shortest Path –given graph (V, E) with edge weights –find lowest weight path between vertex S and D –actually shortest paths from S to all others Application to Global Routing –routing areas are edges –module and area boundaries are vertices –set weight as combination of routing distance and wire congestion –route critical wires first »critical to circuit timing –edge weights steer wires away from congested areas

10 Dijkstra’s Algorithm Idea –put neighbors of vertex on list along with cost »edge cost to get to vertex –from list mark least-cost next vertex with cost –add neighbors of new vertex to vertex list –stop when destination vertex is marked –time O(E) for E edges, O(V 2 ) for complete graph Definitions –n - number of vertices –u - source –wt(v,w) - edge weight betwee v and w

11 Code for i = 1 to n do if ((u,i) exists) D[1] = wt(u,i) else D[i] = INF P[i] = u V’ = V - u; D[u] = 0 while (|V’| > 0) select v such that D[v] is min of D[w] for w in V’ V’ = V’ - v for w in V’ if (D[w] > D[v] + wt(v,w)) D[w] = D[v] + wt(v,w) /* D[w] is len of shortest path from u to w */ P[w] = v /* P[w] is parent of w */ for w in V /* list shortest path from w to u */ q = w print q while (q != u) q = P[q] print q

12 Example 1 3 3 1 10 2 5 1 2 3 1 4 S D 0 1 3 3 1 3 3 1 2 5 1 2 3 1 4 S D 0 1 3 3 2 1 3 3 1 2 5 1 2 3 1 4 S D 0 1 3 3 2 4 12 1 3 3 1 10 2 5 1 2 3 1 4 S D 0 1 3 3 2 4 5 5 1 3 3 1 2 5 1 2 3 1 4 S D 0 1 3 3 2 4 5 12


Download ppt "Routing 1 Outline –What is Routing? –Why Routing? –Routing Algorithms Overview –Global Routing –Detail Routing –Shortest Path Algorithms Goal –Understand."

Similar presentations


Ads by Google