escape routing for dense pin clusters in integrated circuits mustafa ozdal, design automation...

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

Upload: augustine-thompson

Post on 27-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

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

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

Page 2: 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 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

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

- 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

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

- 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

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

- 5 -

First, net B is ripped up, and net C is rerouted.

This time, net B is blocked!

Net Ordering Problem

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

- 6 -

Then, net A is ripped up, and net B is rerouted.

Net A is rerouted, leading to a clean solution

Net Ordering Problem

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

- 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

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

- 8 -

Escape routing: Determine metal2 segments around a cluster of terminals

Escape Routing - Example

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

- 9 -

Escape Routing - Example

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

- 10 -

Problem Formulation – Define Segment Ranges

For each terminal, define [Lmin, Lmax], [Rmin, Rmax] ranges based on neighbors.

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

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

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

- 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

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

- 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

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

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

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

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

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

- 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”.

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

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

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

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

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

- 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

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

- 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

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

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

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

- 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”.

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

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

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

- 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

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

- 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

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

- 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

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

- 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

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

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

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

- 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:

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

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

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

- 31 -

Experimental Results

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

- 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