1 / 32

Escape Routing For Dense Pin Clusters In Integrated Circuits

Escape Routing For Dense Pin Clusters In Integrated Circuits. Mustafa Ozdal, Design Automation Conference , 2007 Mustafa Ozdal, IEEE Trans. on CAD , 2009. Motivation. Due to complexity of the problem, nets are routed one at a time Net ordering problem

dixie
Download Presentation

Escape Routing For Dense Pin Clusters In Integrated Circuits

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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

  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. o a D Routing Between Two Pins • Route from C/oto D/a • Metal3: vertical Metal2: horizontal Metal1: escape-only • Interlayer connection: “via” a o a o C D Metal3 b Metal2 Metal1 o a b C

  4. Net Ordering Problem • 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!

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

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

  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. Escape Routing - Example • Escape routing: Determine metal2 segments around a cluster of terminals

  9. Escape Routing - Example

  10. Problem Formulation – Define Segment Ranges • For each terminal, define [Lmin, Lmax], [Rmin, Rmax] ranges based on neighbors.

  11. Problem Formulation • Inputs: • A cluster of terminals on metal1 • A set of available metal2 tracks • [Lmin, Lmax], [Rmin, Rmax] ranges for each terminal • Preference function per terminal: gL(L) and gR(R). • gL(L): The preference value of a metal2 segment of whichleft endpoint is L • gR(R): The preference value of a metal2 segment of whichright endpoint is R • Objective: • Find L(Lmin ≤ L ≤ Lmax) and R (Rmin ≤ R ≤ Rmax) 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. 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. 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 Lmin or Rmax • Proposed algorithms can handle any arbitrary set of preference functions

  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. 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. 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 edgeto the negative of the “preference value”.

  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. Mapping Flow Solution To Escape Routing • Each unit flow corresponds to solution on one track • The edge from v2 to nB corresponds to the case where the left endpoint of the metal2 segment for B is at coord 2. • The edge from nB to v12 corresponds to the case where the right endpoint of the metal2 segment for B is at coord 11. • The edge from v1 to v2 corresponds to a wasted resource.

  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. 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. 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 ft can pass through edge vi,tvi+1,t • Create source (s) and sink (d) vertices in the network, and connect them to the leftmost and rightmost endpoints.

  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. 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. 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. 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. 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. 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. 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 vxmin,t to vxmax,t for each track t under the following constraint: The number of paths passing through each vertex nT corresponding to each terminal T is at most one. • We can use Lagrangian relaxation to model these constraints.

  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. 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. Experimental Results

  32. Conclusions • We propose an escape routing algorithm to route aset of nets around dense clusters of terminals in anear-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

More Related