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

Slides:



Advertisements
Similar presentations
Optimal Bus Sequencing for Escape Routing in Dense PCBs H.Kong, T.Yan, M.D.F.Wong and M.M.Ozdal Department of ECE, University of Illinois at U-C ICCAD.
Advertisements

Impact of Interference on Multi-hop Wireless Network Performance Kamal Jain, Jitu Padhye, Venkat Padmanabhan and Lili Qiu Microsoft Research Redmond.
ECE 667 Synthesis and Verification of Digital Circuits
ECE Longest Path dual 1 ECE 665 Spring 2005 ECE 665 Spring 2005 Computer Algorithms with Applications to VLSI CAD Linear Programming Duality – Longest.
A Routing Technique for Structured Designs which Exploits Regularity Sabyasachi Das Intel Corporation Sunil P. Khatri Univ. of Colorado, Boulder.
Introduction to Algorithms
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Label Placement and graph drawing Imo Lieberwerth.
1 Routing and Wavelength Assignment in Wavelength Routing Networks.
Global Flow Optimization (GFO) in Automatic Logic Design “ TCAD91 ” by C. Leonard Berman & Louise H. Trevillyan CAD Group Meeting Prepared by Ray Cheung.
Coupling-Aware Length-Ratio- Matching Routing for Capacitor Arrays in Analog Integrated Circuits Kuan-Hsien Ho, Hung-Chih Ou, Yao-Wen Chang and Hui-Fang.
Basic Feasible Solutions: Recap MS&E 211. WILL FOLLOW A CELEBRATED INTELLECTUAL TEACHING TRADITION.
Rajat K. Pal. Chapter 3 Emran Chowdhury # P Presented by.
MCFRoute: A Detailed Router Based on Multi- Commodity Flow Method Xiaotao Jia, Yici Cai, Qiang Zhou, Gang Chen, Zhuoyuan Li, Zuowei Li.
38 th Design Automation Conference, Las Vegas, June 19, 2001 Creating and Exploiting Flexibility in Steiner Trees Elaheh Bozorgzadeh, Ryan Kastner, Majid.
Placement of Integration Points in Multi-hop Community Networks Ranveer Chandra (Cornell University) Lili Qiu, Kamal Jain and Mohammad Mahdian (Microsoft.
Network Optimization Models: Maximum Flow Problems In this handout: The problem statement Solving by linear programming Augmenting path algorithm.
Maximum Flows Lecture 4: Jan 19. Network transmission Given a directed graph G A source node s A sink node t Goal: To send as much information from s.
Metal Layer Planning for Silicon Interposers with Consideration of Routability and Manufacturing Cost W. Liu, T. Chien and T. Wang Department of CS, NTHU,
Routing 2 Outline –Maze Routing –Line Probe Routing –Channel Routing Goal –Understand maze routing –Understand line probe routing.
1 CSC 6001 VLSI CAD (Physical Design) January
Introduction to Routing. The Routing Problem Apply after placement Input: –Netlist –Timing budget for, typically, critical nets –Locations of blocks and.
MGR: Multi-Level Global Router Yue Xu and Chris Chu Department of Electrical and Computer Engineering Iowa State University ICCAD
A Topology-based ECO Routing Methodology for Mask Cost Minimization Po-Hsun Wu, Shang-Ya Bai, and Tsung-Yi Ho Department of Computer Science and Information.
9/4/ VLSI Physical Design Automation Prof. David Pan Office: ACES Detailed Routing (I)
Area-I/O Flip-Chip Routing for Chip-Package Co-Design Progress Report 方家偉、張耀文、何冠賢 The Electronic Design Automation Laboratory Graduate Institute of Electronics.
Global Routing. Global routing:  To route all the nets, should consider capacities  Sequential −One net at a time  Concurrent −Order-independent 2.
CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science.
1 Coupling Aware Timing Optimization and Antenna Avoidance in Layer Assignment Di Wu, Jiang Hu and Rabi Mahapatra Texas A&M University.
CS774. Markov Random Field : Theory and Application Lecture 13 Kyomin Jung KAIST Oct
10/11/10 A. Smith; based on slides by E. Demaine, C. Leiserson, S. Raskhodnikova, K. Wayne Adam Smith Algorithm Design and Analysis L ECTURE 22 Network.
Solving Hard Instances of FPGA Routing with a Congestion-Optimal Restrained-Norm Path Search Space Keith So School of Computer Science and Engineering.
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig 1 EECS 527 Paper Presentation High-Performance.
Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.
New Modeling Techniques for the Global Routing Problem Anthony Vannelli Department of Electrical and Computer Engineering University of Waterloo Waterloo,
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 8 Lecture 8 Network Flow Based Modeling Mustafa Ozdal Computer Engineering Department,
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing © KLMH Lienig 1 What Makes a Design Difficult to Route Charles.
ARCHER:A HISTORY-DRIVEN GLOBAL ROUTING ALGORITHM Muhammet Mustafa Ozdal, Martin D. F. Wong ICCAD ’ 07.
A Negotiated Congestion based Router for Simultaneous Escape Routing Q.Ma, T.Yan and Martin D.F. Wong Department of Electrical and Computer Engineering.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
TSV-Constrained Micro- Channel Infrastructure Design for Cooling Stacked 3D-ICs Bing Shi and Ankur Srivastava, University of Maryland, College Park, MD,
1 A Min-Cost Flow Based Detailed Router for FPGAs Seokjin Lee *, Yongseok Cheon *, D. F. Wong + * The University of Texas at Austin + University of Illinois.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 13: February 20, 2002 Routing 1.
Timing-Driven Routing for FPGAs Based on Lagrangian Relaxation
CS223 Advanced Data Structures and Algorithms 1 Maximum Flow Neil Tang 3/30/2010.
15.082J and 6.855J March 4, 2003 Introduction to Maximum Flows.
Maze Routing Algorithms with Exact Matching Constraints for Analog and Mixed Signal Designs M. M. Ozdal and R. F. Hentschke Intel Corporation ICCAD 2012.
1 L25 : Crosstalk-Concerned Physical Design (2) Jun Dong Cho Sungkyunkwan Univ. Dept. ECE Homepage :
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 8 Lecture 8 Network Flow Based Modeling Mustafa Ozdal Computer Engineering Department,
Lagrangean Relaxation
Routing Topology Algorithms Mustafa Ozdal 1. Introduction How to connect nets with multiple terminals? Net topologies needed before point-to-point routing.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Exercise 6.1 Find the number of different shortest paths from point A to point B in a city with perfectly horizontal streets and vertical avenues as shown.
An Exact Algorithm for Difficult Detailed Routing Problems Kolja Sulimma Wolfgang Kunz J. W.-Goethe Universität Frankfurt.
Prof. Swarat Chaudhuri COMP 382: Reasoning about Algorithms Fall 2015.
CSE 144 Project. Overall Goal of the Project Implement a physical design tool for a two- row standard cell design
Approximation Algorithms Duality My T. UF.
1 Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
::Network Optimization:: Minimum Spanning Trees and Clustering Taufik Djatna, Dr.Eng. 1.
Impact of Interference on Multi-hop Wireless Network Performance
VLSI Physical Design Automation
VLSI Physical Design Automation
Multi-Commodity Flow Based Routing
Routing Algorithms.
Flow Networks and Bipartite Matching
EE5900 Advanced Embedded System For Smart Infrastructure
VLSI Physical Design Automation
Maximum Flow Neil Tang 4/8/2008
Fast Min-Register Retiming Through Binary Max-Flow
Under a Concurrent and Hierarchical Scheme
Presentation transcript:

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

- 9 - Escape Routing - Example

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

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.

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 L min or R max 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 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 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.

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

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

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.

Experimental Results

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