Upload
augustine-thompson
View
214
Download
0
Tags:
Embed Size (px)
Citation preview
Escape Routing For Dense Pin Clusters In Integrated CircuitsEscape 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 -
Motivation
Due to complexity of the problem, nets are routed one at a time
Net ordering problemEarlier routed nets can block the nets to be routed later
Routing is especially difficult around terminals on metal1Scarce routing resources on metal1Many terminals competing for limited routing resources
We focus on the escape routing problem around terminals
- 3 -
Routing Between Two Pins
Route from C/o to D/a
Metal3: vertical
Metal2: horizontal
Metal1: escape-only
Interlayer connection: “via”
Metal1
o a b
C
o a
D
Metal2
Metal3 C Da
b
o a o
- 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 -
First, net B is ripped up, and net C is rerouted.
This time, net B is blocked!
Net Ordering Problem
- 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 -
Objectives
Rip-up and reroute (RNR) can improve routability, but:There is no guarantee it can route all netsExtra runtime to perform RNR iterationsQuality of routing suffers (more bends, more vias)
Our goal: Correct-by-construction routing around terminal clustersClose-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 blockedTrack fragmentation is minimal on metal2
Prefer long continuous wire segmentsRest 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: Determine metal2 segments around a cluster of terminals
Escape Routing - Example
- 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 metal1A set of available metal2 tracks [Lmin, Lmax], [Rmin, Rmax] ranges for each terminalPreference function per terminal: gL(L) and gR(R).
gL(L): The preference value of a metal2 segment of whichleft endpoint is LgR(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 maximizedEach 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] ranges2 routing tracksAn 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 thatMaximize utilization of routing tracksObtain 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 otherAll 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 networkMin-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,tvi+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