Global Routing Prof. Shiyan Hu Office: EERC 731
Global Routing Approaches Sequential Approach –Net ordering based approach Concurrent Approach –Integer Programming
Net Ordering In sequential approach, we need some net ordering. A bad net ordering will increase the total wire length, and may even prevent completion of routing for some circuits which are indeed routable. A A B B B first (Good order) A A B B A first (Bad order)
Criteria for Net Ordering Criticality of net - critical nets first. Estimated wire length - short nets first since they are less flexible. Consider bounding rectangles (BR): A A B B B is in A’s BR
Net Ordering (cont’d)
Concurrent Approach Consider all the nets simultaneously. Formulate as an integer program. Given: L ij = Total wire length of T ij C e = Capacity of edge e Determine variable x ij s.t. x ij = 1 if T ij is used x ij = 0 otherwise. T n1, T n2,..., T nk n net n :::: :::: T 11, T 12,......, T 1k 1 net 1 Set of possible routing treesNets
Integer Program Formulation
Concurrent Approach: Example Possible trees: net 1: 233 net 2: 233 net 3: Solution What are the constraints for edge capacity?
Integer Programming Approach Standard techniques to solve IP. No net ordering. Give global optimum. Can be extremely slow, especially for large problems. To make it faster, a fewer choices of routing trees for each net can be used. Determining a good set of choices of routing trees is a hard problem by itself.