Presentation is loading. Please wait.

Presentation is loading. Please wait.

Global Routing. Global routing:  To route all the nets, should consider capacities  Sequential −One net at a time  Concurrent −Order-independent 2.

Similar presentations


Presentation on theme: "Global Routing. Global routing:  To route all the nets, should consider capacities  Sequential −One net at a time  Concurrent −Order-independent 2."— Presentation transcript:

1 Global Routing

2 Global routing:  To route all the nets, should consider capacities  Sequential −One net at a time  Concurrent −Order-independent 2

3 3 123 4 5 6 7 8 9 123 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Channel connectivity graph Switchbox connectivity graph Global Routing in a Connectivity Graph

4 4 Channel connectivity graph Switchbox connectivity graph

5 5  Combines switchboxes and channels, handles non- rectangular block shapes  Suitable for full-custom design and multi-chip modules Overview: Routing regions 123 4567 8 9 101112 B A B A Global Routing in a Connectivity Graph Graph-based path search 2,2 4,2 1,2 2,7 4,2 0,11,2 3,1 2,2 4,2 0,4 Graph representation 123 4 2,2 4,2 1,2 2,7 4,2 1,2 56 8 4,2 7 2,2 4,2 9 10 4,2 1,5 1112

6 6 Algorithm Overview 1.Define routing regions 2.Define connectivity graph 3.Determine net ordering 4.Assign tracks for all pin connections in Netlist 5.Consider each net a)Free corresponding tracks for net’s pins b)Decompose net into two-pin subnets c)Find shortest path for subnet connectivity graph d)Assign subnet to the nodes of shortest path and update routing capacities 6.If there are unrouted nets, goto Step 5, otherwise END Global Routing in a Connectivity Graph

7 7 Horizontal macro-cell edgesVertical macro-cell edges Defining the routing regions Global Routing in a Connectivity Graph +

8 8 2 3 4 5 6 7 8 9 10 1112 13 1415 16 17 18 19 20 21 22 23 24 25 26 27 1 2 3 4 5 6 7 8 9 10 11 12 1314 15 16 17 18 19 20 21 22 23 24 25 26 27 1 Defining the connectivity graph Global Routing in a Connectivity Graph

9 9 2 3 4 5 6 7 8 9 10 1112 13 1415 16 17 18 19 20 21 22 23 24 25 26 27 1 2 3 4 5 6 7 8 9 10 11 12 1314 15 16 17 18 19 20 21 22 23 24 25 26 27 1,21,2 Horizontal capacity of routing region 1 Vertical capacity of routing region 1 2 Tracks 1 Track 1 Defining Capacities

10 10 2 3 4 5 6 7 8 9 1112 13 1415 16 17 18 19 20 21 22 23 24 25 26 27 1 2 3 4 5 6 7 8 9 10 11 12 1314 15 16 17 18 19 20 21 22 23 24 25 26 27 1,2 2,2 3,2 1,2 2,1 3,1 1,3 2,3 1,1 2,1 3,1 1,1 2,1 4,1 3,1 1,1 6,1 3,1 1,1 1,4 3,4 1,8 1 Defining Capacities

11 11 Net Ordering Determine net ordering  A bad net ordering −  may increase total wire length, −  may even prevent completion of the routing (for some circuits which are indeed routable.). A A B B B First (Good Order) A A B B A First (Bad Order)

12 12 Criteria for Net Ordering  Criticality of net: −Critical nets first  Number of terminals: −Simple nets first, since they are less flexible  Estimated wire length: −Short nets first, since they are less flexible −Long nets first, since they may generate critical paths  Consider bounding rectangles: A A B B B terminal is inside A’s BR. A A B B So B First. A A B B If A First: But not always applicable!

13 Track Assignment for Pins Assign tracks for all pin connections in Netlist Connections.  For each pin, a horizontal track and a vertical track are reserved within pin’s routing region.  Ensures that pin can be connected  Major advantages: −If the pins are not accessible, then the placement of cells must be adjusted −Prevents nets that are routed first from blocking pin connections that are used later. 13

14 14 l 123 4567 8 9 101112 B A B A w 123 4 2,2 4,2 1,2 2,7 4,2 1,2 56 8 4,2 7 2,2 4,2 9 10 4,2 1,5 1112 Example Global routing of the nets A-A and B-B

15 15 l 123 4567 8 9 101112 B A B A w 123 4 2,2 4,2 1,2 2,7 4,2 1,2 56 8 4,2 7 2,2 4,2 9 10 4,2 1,5 1112 B A B A 0,1 3,1 0,4 123 4 2,2 4,2 1,2 2,7 4,2 1,2 56 8 7 2,2 4,2 9 10 4,2 1112 Example Global routing of the nets A-A and B-B

16 16 l 123 4567 8 9 101112 B A B A w 123 4 2,2 4,2 1,2 2,7 4,2 1,2 56 8 4,2 7 2,2 4,2 9 10 4,2 1,5 1112 B A B A B A B A 123 4 2,2 4,2 1,2 2,7 4,2 0,11,2 56 8 3,1 7 2,2 4,2 9 10 4,2 0,4 1112 1 4 1,20,1 56 4,2 0,4 23 1,1 3,1 1,7 4,1 1,1 8 2,1 7 1,1 3,1 9 10 1112 Example Global routing of the nets A-A and B-B

17 17 l 123 4567 8 9 101112 B A B A w B A B A Example Global routing of the nets A-A and B-B

18 18 123 3,13,43,3 1,41,11,41,3 3,43,13,3 4 567 8910 B A B A 457 8 6 9 123 Example Determine routability of a placement B A B A 4 5 7 8 6 910 123 ? 123 3,13,43,3 0,30,10,40,2 3,43,12,2 4 567 8910 B A B A 4 5 7 8 6 9 123 123 3,13,43,3 0,30,10,40,2 3,43,12,2 4 567 8910

19 19 123 3,13,43,3 1,41,11,41,3 3,43,13,3 4 567 8910 B A B A 457 8 6 9 123 B A B A 4 5 7 8 6 9 123 B A B A 4 5 7 8 6 9 123 123 3,13,43,3 0,30,10,40,2 3,43,12,2 4 567 8910 123 2,02,33,3 0,20,00,30,2 2,32,02,2 4 567 8910 Example Determine routability of a placement

20 20 Dijkstra Algorithm Initialize D Find min distance from u to each node (so far) Find shortest path by backtracing

21 21 Dijkstra’s Algorithm for horizontal/vertical weights Three groups of nodes:  Group 1 – nodes that have not yet been visited  Group 2 – nodes that have been visited but for which the shortest-path cost from s has not yet been found  Group 3 – nodes that have been visited and for which the shortest path cost from s has been found Once t is in Group 3, the algorithm finds the shortest path by backtracing Dijkstra’s Shortest Path Algorithm

22 22 1 4 7 2 5 8 3 6 9 s t 1,48,8 2,62,8 9,83,3 8,69,73,2 1,42,84,5 Find the shortest path from source s to target t where the path cost ∑w 1 + ∑w 2 is minimal Dijkstra’s Algorithm Example Note: weights on edges: cost -e.g., w1 = length, w2 = congestion/crosstalk/ …

23 23 1 4 7 2 5 8 3 6 9 s t 1,48,8 2,62,8 9,83,3 8,69,73,2 1,42,84,5 Group 2Group 3 (1)(1) Current node: 1

24 24 [1][1] N [2] 8,6 W [4] 1,4 parent of node [node name] ∑w 1 (s,node),∑w 2 (s,node) Group 2Group 3 1 4 7 2 5 8 3 6 9 1,48,8 2,62,8 9,83,3 8,69,73,2 1,42,84,5 Current node: 1 Neighboring nodes: 2, 4 Minimum cost in group 2: node 4 s t

25 25 1 4 7 2 5 8 3 6 9 1,48,8 2,62,8 9,83,3 8,69,73,2 1,42,84,5 Group 2Group 3 [1][1] N [2] 8,6 W [4] 1,4 N [5] 10,11 W [7] 9,12 N [2] 8,6 Current node: 4 Neighboring nodes: 1, 5, 7 Minimum cost in group 2: node 2 s t parent of node [node name] ∑w 1 (s,node),∑w 2 (s,node)

26 26 1 4 7 2 5 8 3 6 9 1,48,8 2,62,8 9,83,3 8,69,73,2 1,42,84,5 Group 2Group 3 [1][1] N [2] 8,6 W [4] 1,4 N [5] 10,11 W [7] 9,12 N [2] 8,6 N [3] 9,10 W [5] 10,12 N [3] 9,10 Current node: 2 Neighboring nodes: 1, 3, 5 Minimum cost in group 2: node 3 s t parent of node [node name] ∑w 1 (s,node),∑w 2 (s,node)

27 27 1 4 7 2 5 8 3 6 9 1,48,8 2,62,8 9,83,3 8,69,73,2 1,42,84,5 Group 2Group 3 [1][1] N [2] 8,6 W [4] 1,4 N [5] 10,11 W [7] 9,12 N [2] 8,6 N [3] 9,10 W [5] 10,12 N [3] 9,10 W [6] 18,18 N [5] 10,11 Current node: 3 Neighboring nodes: 2, 6 Minimum cost in group 2: node 5 s t parent of node [node name] ∑w 1 (s,node),∑w 2 (s,node)

28 28 1 4 7 2 5 8 3 6 9 1,48,8 2,62,8 9,83,3 8,69,73,2 1,42,84,5 Group 2Group 3 [1][1] N [2] 8,6 W [4] 1,4 N [5] 10,11 W [7] 9,12 N [2] 8,6 N [3] 9,10 W [5] 10,12 N [3] 9,10 W [6] 18,18 N [5] 10,11 N [6] 12,19 W [8] 12,19 W [7] 9,12 Current node: 5 Neighboring nodes: 2, 4, 6, 8 Minimum cost in group 2: node 7 s t parent of node [node name] ∑w 1 (s,node),∑w 2 (s,node)

29 29 1 4 7 2 5 8 3 6 9 1,48,8 2,62,8 9,83,3 8,69,73,2 1,42,84,5 Group 2Group 3 (1)(1) N (2) 8,6 W (4) 1,4 N (5) 10,11 W (7) 9,12 N (2) 8,6 N (3) 9,10 W (5) 10,12 N (3) 9,10 W (6) 18,18 N (5) 10,11 N (6) 12,19 W (8) 12,19 W (7) 9,12 N (8) 12,14 Current node: 7 Neighboring nodes: 4, 8 Minimum cost in group 2: node 8 s t parent of node [node name] ∑w 1 (s,node),∑w 2 (s,node)

30 30 1 7 2 5 8 3 6 9 1,48,8 2,62,8 9,83,3 8,69,73,2 1,42,84,5 Group 2Group 3 (1)(1) N (2) 8,6 W (4) 1,4 N (5) 10,11 W (7) 9,12 N (2) 8,6 N (3) 9,10 W (5) 10,12 N (3) 9,10 W (6) 18,18 N (5) 10,11 N (6) 12,19 () W (8) 12,19 W (7) 9,12 () N (8) 12,14 N (8) 12,14 Retrace from t to s s t 4

31 31 1 4 7 2 5 8 3 6 9 1,49,12 12,14 Optimal path 1-4-7-8 from s to t with accumulated cost (12,14) s t


Download ppt "Global Routing. Global routing:  To route all the nets, should consider capacities  Sequential −One net at a time  Concurrent −Order-independent 2."

Similar presentations


Ads by Google