Presentation is loading. Please wait.

Presentation is loading. Please wait.

Escape Routing For Dense Pin Clusters In Integrated Circuits Mustafa Ozdal, Design Automation Conference, 2007 Mustafa Ozdal, IEEE Trans. on CAD, 2009.

Similar presentations


Presentation on theme: "Escape Routing For Dense Pin Clusters In Integrated Circuits Mustafa Ozdal, Design Automation Conference, 2007 Mustafa Ozdal, IEEE Trans. on CAD, 2009."— Presentation transcript:

1 Escape Routing For Dense Pin Clusters In Integrated Circuits Mustafa Ozdal, Design Automation Conference, 2007 Mustafa Ozdal, IEEE Trans. on CAD, 2009 Mustafa Ozdal, Design Automation Conference, 2007 Mustafa Ozdal, IEEE Trans. on CAD, 2009

2 - 2 - Motivation Due to complexity of the problem, nets are routed one at a time Net ordering problem Earlier routed nets can block the nets to be routed later Routing is especially difficult around terminals on metal1 Scarce routing resources on metal1 Many terminals competing for limited routing resources We focus on the escape routing problem around terminals

3 - 3 - Routing Between Two Pins Route from C/o to D/a Metal3: vertical Metal2: horizontal Metal1: escape-only Interlayer connection: “via” Metal1 oab C oa D Metal2 Metal3 CD a b oao

4 - 4 - Adjacent terminals of 4 nets illustrated. Nets are routed in the order: A, D, B, C. The terminal of net C is blocked by other nets! Net Ordering Problem

5 - 5 - First, net B is ripped up, and net C is rerouted. This time, net B is blocked! Net Ordering Problem

6 - 6 - Then, net A is ripped up, and net B is rerouted. Net A is rerouted, leading to a clean solution Net Ordering Problem

7 - 7 - Objectives Rip-up and reroute (RNR) can improve routability, but: There is no guarantee it can route all nets Extra runtime to perform RNR iterations Quality of routing suffers (more bends, more vias) Our goal: Correct-by-construction routing around terminal clusters Close-to-optimal routing around these clusters can significantly simplify the rest of the routing. Determine metal2 segments around a cluster of metal1 terminals s.t.: No terminal is blocked Track fragmentation is minimal on metal2 Prefer long continuous wire segments Rest of the routing is made easy Routing to a long metal2 wire is much easier than routing to a small metal1 terminal

8 - 8 - Escape routing: Determine metal2 segments around a cluster of terminals Escape Routing - Example

9 - 9 - Escape Routing - Example

10 - 10 - Problem Formulation – Define Segment Ranges For each terminal, define [L min, L max ], [R min, R max ] ranges based on neighbors.

11 - 11 - Problem Formulation Inputs: A cluster of terminals on metal1 A set of available metal2 tracks [L min, L max ], [R min, R max ] ranges for each terminal Preference function per terminal: g L (L) and g R (R). g L (L): The preference value of a metal2 segment of which left endpoint is L g R (R): The preference value of a metal2 segment of which right endpoint is R Objective: Find L (L min ≤ L ≤ L max ) and R (R min ≤ R ≤ R max ) values for each terminal such that: The sum of all preference values is maximized Each metal2 segment [L,R] can be assigned to an available track.

12 - 12 - Problem Formulation - Example Given: 3 terminals : A, B, and C with [Lmin, Lmax], [Rmin, Rmax] ranges 2 routing tracks An arbitrary preference function for each L and R value Compute: Feasible escape routes that maximizes the preference function

13 - 13 - Preference Functions Choose preference functions such that Maximize utilization of routing tracks Obtain a balanced solution e.g. 2 segments of length L better than 1 segment of length 2L A simple function such as sqrt(L) can be sufficient For internal connections: Use step functions e.g. Non-zero preference value only for L min or R max Proposed algorithms can handle any arbitrary set of preference functions

14 - 14 - Algorithm For Uniform Tracks Uniform tracks: All terminals aligned with each other All tracks have identical routing resources We propose a polynomial-time optimal algorithm for uniform tracks Baseline for the heuristic algorithm for general cases. Basic idea: Represent the problem as a flow network Min-cost max-flow on this network leads to optimal escape routing.

15 - 15 - Network Flow Model (Uniform Tracks) Create a node for each coordinate x Create a zero-cost edge between neighboring nodes Create source (s) and sink (d) vertices Cap = # tracks Connect s and d to the leftmost and rightmost endpoints.

16 - 16 - Network Flow Model (Uniform Tracks) Create a node for each terminal in the cluster with capacity 1 Enumerate the left and right endpoints of feasible track locations for each terminal. Create an edge corresponding to each alternative. Set the cost of the edge to the negative of the “preference value”.

17 - 17 - Min-Cost Max Flow Compute min-cost max- flow for this network. Optimality Theorems This flow solution can be mapped to a feasible escape routing solution. This is the optimal routing solution that maximizes the total preference value.

18 - 18 - Mapping Flow Solution To Escape Routing Each unit flow corresponds to solution on one track The edge from v 2 to n B corresponds to the case where the left endpoint of the metal2 segment for B is at coord 2. The edge from n B to v 12 corresponds to the case where the right endpoint of the metal2 segment for B is at coord 11. The edge from v 1 to v 2 corresponds to a wasted resource.

19 - 19 - Mapping Flow Solution To Escape Routing Each unit flow corresponds to solution on one track A wire segment is created corresponding to each unit flow passing through a terminal node

20 - 20 - Generalized Algorithm In general, individual tracks need to be distinguished Misaligned terminals Blockages on different tracks Use multi-commodity flow (MCF) instead of single-commodity flow. MCF is NP-complete. We propose Lagrangian relaxation (LR) based algorithm to solve it. Basic idea: Construct a flow network, but distinguish individual routing tracks Restrict each flow commodity to pass through a specific track only Compute MCF The MCF solution can be mapped to the optimal escape routing solution

21 - 21 - Multi-Commodity Flow Model Create a node for each (x,t) x: x-coordinate t: track id Create edges between adjacent nodes Set the capacity of each edge such that only flow type f t can pass through edge v i,t  v i+1,t Create source (s) and sink (d) vertices in the network, and connect them to the leftmost and rightmost endpoints.

22 - 22 - Multi-Commodity Flow Model Create a node for each terminal in the cluster with capacity 1 Enumerate the left and right endpoints of feasible track locations for each terminal. Create an edge corresponding to each alternative. Set the cost of the edge to the negative of the “preference value”.

23 - 23 - Min-Cost Max Flow Compute min-cost max- flow for this network. Optimality Theorems This flow solution can be mapped to a feasible escape routing solution. This is the optimal routing solution that maximizes the total preference value.

24 - 24 - Mapping Flow Solution To Escape Routing Each flow commodity corresponds to the solution on one track A wire segment is created corresponding to each unit flow passing through a terminal node

25 - 25 - Mapping Flow Solution To Escape Routing Each flow commodity corresponds to the solution on one track A wire segment is created corresponding to each unit flow passing through a terminal node

26 - 26 - Mapping Flow Solution To Escape Routing Each flow commodity corresponds to the solution on one track A wire segment is created corresponding to each unit flow passing through a terminal node

27 - 27 - Mapping Flow Solution To Escape Routing Each flow commodity corresponds to the solution on one track A wire segment is created corresponding to each unit flow passing through a terminal node

28 - 28 - MCF Problem Compared to the traditional MCF model for general routing, this model has two important advantages: The number of flow commodities is equal to the number of tracks, as opposed to the number of nets. The flow contention is possible only at the nodes corresponding to the terminals, as opposed to every individual routing resource. Theorem: The multi-commodity min-cost flow problem for the network defined is equivalent to the following problem: Find a set of min-cost paths from v xmin,t to v xmax,t for each track t under the following constraint: The number of paths passing through each vertex n T corresponding to each terminal T is at most one. We can use Lagrangian relaxation to model these constraints.

29 - 29 - Lagrangian Relaxation A general technique to solve optimization problems with difficult constraints. Main idea: Replace each complicating constraint with a penalty term in the objective function. Iteratively, update the penalty terms until all the constraints are satisfied. Problem: Relaxed objective function:

30 - 30 - Lagrangian Relaxation Basic idea: First, compute min-cost paths (in linear time) for all tracks without considering capacity constraints. After this step, some segments may be assigned to more than one track. Update the penalty terms based on the current solution. (e.g. If a terminal is assigned to more than one track, then it will be more costly to pass through this terminal in the next iteration). Continue iterations until all constraints are satisfied. Intuitively: Computing a min-cost path for a track corresponds to choosing the metal2 segments that will be created on that track. In the beginning, each track chooses the segments with the highest preference values. Later, the terminals that are selected by more than one track are made more costly. Iteratively, the tracks “negotiate” between each other to choose the most preferable metal2 segments.

31 - 31 - Experimental Results

32 - 32 - Conclusions We propose an escape routing algorithm to route a set of nets around dense clusters of terminals in a near-optimal way. This algorithm simplifies the rest of the routing, and enables correct-by-construction routing in the regions where routing is most challenging. Our experiments show: 64% reduction in the nets that need RNR 78% reduction in the final opens 34% reduction in execution times


Download ppt "Escape Routing For Dense Pin Clusters In Integrated Circuits Mustafa Ozdal, Design Automation Conference, 2007 Mustafa Ozdal, IEEE Trans. on CAD, 2009."

Similar presentations


Ads by Google