330 likes | 459 Views
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
E N D
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 • 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
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
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!
Net Ordering Problem • First, net B is ripped up, and net C is rerouted. • This time, net B is blocked!
Net Ordering Problem • Then, net A is ripped up, and net B is rerouted. • Net A is rerouted, leading to a clean solution
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
Escape Routing - Example • Escape routing: Determine metal2 segments around a cluster of terminals
Problem Formulation – Define Segment Ranges • For each terminal, define [Lmin, Lmax], [Rmin, Rmax] ranges based on neighbors.
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.
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
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
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.
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.
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”.
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.
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.
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
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
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,tvi+1,t • Create source (s) and sink (d) vertices in the network, and connect them to the leftmost and rightmost endpoints.
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”.
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.
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
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
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
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
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.
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:
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.
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