New Modeling Techniques for the Global Routing Problem Anthony Vannelli Department of Electrical and Computer Engineering University of Waterloo Waterloo,

Slides:



Advertisements
Similar presentations
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Sequential Synthesis.
Advertisements

Optimization of Placement Solutions for Routability Wen-Hao Liu, Cheng-Kok Koh, and Yih-Lang Li DAC’13.
Wen-Hao Liu1, Yih-Lang Li, and Cheng-Kok Koh Department of Computer Science, National Chiao-Tung University School of Electrical and Computer Engineering,
Ripple: An Effective Routability-Driven Placer by Iterative Cell Movement Xu He, Tao Huang, Linfu Xiao, Haitong Tian, Guxin Cui and Evangeline F.Y. Young.
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.
Early Days of Circuit Placement Martin D. F. Wong Department of Electrical and Computer Engineering University of Illinois at Urbana-Champaign.
A Clustering Utility Based Approach for S. Areibi, M. Thompson, A. Vannelli uoguelph.ca September 2001 School of Engineering ASIC Design 14th.
Congestion Driven Placement for VLSI Standard Cell Design Shawki Areibi and Zhen Yang School of Engineering, University of Guelph, Ontario, Canada December.
MCFRoute: A Detailed Router Based on Multi- Commodity Flow Method Xiaotao Jia, Yici Cai, Qiang Zhou, Gang Chen, Zhuoyuan Li, Zuowei Li.
Multiobjective VLSI Cell Placement Using Distributed Simulated Evolution Algorithm Sadiq M. Sait, Mustafa I. Ali, Ali Zaidi.
Fuzzy Simulated Evolution for Power and Performance of VLSI Placement Sadiq M. Sait Habib Youssef Junaid A. KhanAimane El-Maleh Department of Computer.
38 th Design Automation Conference, Las Vegas, June 19, 2001 Creating and Exploiting Flexibility in Steiner Trees Elaheh Bozorgzadeh, Ryan Kastner, Majid.
Approximation Algorithms
Dynamic lot sizing and tool management in automated manufacturing systems M. Selim Aktürk, Siraceddin Önen presented by Zümbül Bulut.
Global Routing Prof. Shiyan Hu Office: EERC 731.
Jan 6-10th, 2007VLSI Design A Reduced Complexity Algorithm for Minimizing N-Detect Tests Kalyana R. Kantipudi Vishwani D. Agrawal Department of Electrical.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
Hard Optimization Problems: Practical Approach DORIT RON Tel Ziskind room #303
Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum.
CDCTree: Novel Obstacle-Avoiding Routing Tree Construction based on Current Driven Circuit Model Speaker: Lei He.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
Decoupling Capacitance Allocation for Power Supply Noise Suppression Shiyou Zhao, Kaushik Roy, Cheng-Kok Koh School of Electrical & Computer Engineering.
Chip Planning 1. Introduction Chip Planning:  Deals with large modules with −known areas −fixed/changeable shapes −(possibly fixed locations for some.
Approximation Algorithms: Bristol Summer School 2008 Seffi Naor Computer Science Dept. Technion Haifa, Israel TexPoint fonts used in EMF. Read the TexPoint.
General Routing Overview and Channel Routing
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.
Area-I/O Flip-Chip Routing for Chip-Package Co-Design Progress Report 方家偉、張耀文、何冠賢 The Electronic Design Automation Laboratory Graduate Institute of Electronics.
Authors: Jia-Wei Fang,Chin-Hsiung Hsu,and Yao-Wen Chang DAC 2007 speaker: sheng yi An Integer Linear Programming Based Routing Algorithm for Flip-Chip.
Escape Routing For Dense Pin Clusters In Integrated Circuits Mustafa Ozdal, Design Automation Conference, 2007 Mustafa Ozdal, IEEE Trans. on CAD, 2009.
Global Routing. Global routing:  To route all the nets, should consider capacities  Sequential −One net at a time  Concurrent −Order-independent 2.
Confidentiality Preserving Integer Programming for Global Routing Hamid Shojaei, Azadeh Davoodi, Parmesh Ramanathan Department of Electrical and Computer.
Global Routing.
1 Coupling Aware Timing Optimization and Antenna Avoidance in Layer Assignment Di Wu, Jiang Hu and Rabi Mahapatra Texas A&M University.
FPGA Switch Block Design Dr. Philip Brisk Department of Computer Science and Engineering University of California, Riverside CS 223.
TSV-Aware Analytical Placement for 3D IC Designs Meng-Kai Hsu, Yao-Wen Chang, and Valerity Balabanov GIEE and EE department of NTU DAC 2011.
Solving Hard Instances of FPGA Routing with a Congestion-Optimal Restrained-Norm Path Search Space Keith So School of Computer Science and Engineering.
1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.
Wen-Hao Liu 1, Yih-Lang Li 1, and Kai-Yuan Chao 2 1 Department of Computer Science, National Chiao-Tung University, Hsin-Chu, Taiwan 2 Intel Architecture.
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.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
Massachusetts Institute of Technology 1 L14 – Physical Design Spring 2007 Ajay Joshi.
Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.
IO CONNECTION ASSIGNMENT AND RDL ROUTING FOR FLIP-CHIP DESIGNS Jin-Tai Yan, Zhi-Wei Chen 1 ASPDAC.2009.
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.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 10: February 18, 2015 Architecture Synthesis (Provisioning, Allocation)
Resource Mapping and Scheduling for Heterogeneous Network Processor Systems Liang Yang, Tushar Gohad, Pavel Ghosh, Devesh Sinha, Arunabha Sen and Andrea.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
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.
Timing-Driven Routing for FPGAs Based on Lagrangian Relaxation
Simultaneous Analog Placement and Routing with Current Flow and Current Density Considerations H.C. Ou, H.C.C. Chien and Y.W. Chang Electronics Engineering,
ILP-Based Inter-Die Routing for 3D ICs Chia-Jen Chang, Pao-Jen Huang, Tai-Chen Chen, and Chien-Nan Jimmy Liu Department of Electrical Engineering, National.
Maze Routing Algorithms with Exact Matching Constraints for Analog and Mixed Signal Designs M. M. Ozdal and R. F. Hentschke Intel Corporation ICCAD 2012.
Routability-driven Floorplanning With Buffer Planning Chiu Wing Sham Evangeline F. Y. Young Department of Computer Science & Engineering The Chinese University.
1 An Arc-Path Model for OSPF Weight Setting Problem Dr.Jeffery Kennington Anusha Madhavan.
XGRouter: high-quality global router in X-architecture with particle swarm optimization Frontiers of Computer Science, 2015, 9(4):576–594 Genggeng LIU,
1 Chapter 6 Reformulation-Linearization Technique and Applications.
1 Chapter 5 Branch-and-bound Framework and Its Applications.
EE4271 VLSI Design VLSI Channel Routing.
RTL Design Flow RTL Synthesis HDL netlist logic optimization netlist Library/ module generators physical design layout manual design a b s q 0 1 d clk.
VLSI Physical Design Automation
VLSI Quadratic Placement
Multi-Commodity Flow Based Routing
EE5780 Advanced VLSI Computer-Aided Design
EE4271 VLSI Design, Fall 2016 VLSI Channel Routing.
ICS 252 Introduction to Computer Design
Presentation transcript:

New Modeling Techniques for the Global Routing Problem Anthony Vannelli Department of Electrical and Computer Engineering University of Waterloo Waterloo, Ontario November 2, 2004

Outline Introduction Optimization Techniques Modeling Techniques Global Routing Summary and Conclusions 2

Major Contributions Development of route construction techniques based on congestion. Development of congestion estimation techniques. Development of flexible and powerful multi-objective formulations. Enhancement of numerical techniques to solve the global routing problem. 41

Introduction Today’s ICs contain millions of transistors. VLSI: “Very Large Scale Integration”. Performance criteria:  Delay  Power  Size Routing is one of the most important factors in VLSI design. 3

Intel Microprocessors microprocessorDate of introduction Number of transistors Feature size (microns) , , ,200, Pentium19933,100, Pentium Pro19955,500, Pentium ,000, Why Is Routing Important? 4

VLSI Design Architectural design Logic design Circuit design Physical design Fabrication Input-Output Memory Data Path Control Unit 5

VLSI Design Architectural design Logic design Circuit design Physical design Fabrication 5

VLSI Design A A BB C C Sum A C C B C out C B A A AA Architectural design Logic design Circuit design Physical design Fabrication 5

VLSI Design Architectural design Logic design Circuit design Physical design Fabrication 5

VLSI Design Architectural design Logic design Circuit design Physical design Fabrication 5

Circuit Layout  Places the modules.  Runs the wires that connect them. L L B H E J A E T H A 6

Circuit Layout  Places the modules.  Runs the wires that connect them. L L HEA BJEHAT L L B H E J A E T H A 6

Circuit Layout  Places the modules.  Runs the wires that connect them. Typical Objectives:  Minimize the wire length  Minimize the delay  Minimize the power L L HEA BJEHAT L L B H E J A E T H A 6

Circuit Layout Normally divided into steps Partitioning Placement Routing 7

Circuit Layout Normally divided into steps Partitioning Placement Routing 8

Circuit Layout Normally divided into steps Partitioning Placement Routing 8

Circuit Layout Normally divided into steps Partitioning Placement Routing 8 Global Routing

Circuit Layout Normally divided into steps Partitioning Placement Routing 8 Detailed Routing

Global Routing Global routing is used to find an approximate path for the wires connecting the modules. NP-hard problem (i.e. difficult to solve for large problems). Solution quality can effect the performance of the circuit. 9

Illustrative Example Net 1 terminals: Objective: Minimize the total wire length Net 2 terminals: 10

Illustrative Example Net 1 terminals: Objective: Minimize the total wire length Net 2 terminals: 10 Total wire length= 8

Global Routing Techniques Two main techniques:  Sequential Routing technique: Nets are routed sequentially.  Mathematical Programming technique: All nets are routed at the same time. 11

Sequential Routing  Nets are ordered according to importance.  Each net is routed separately. 1.Net 1 2.Net 2 Priority List 12

Sequential Routing  Nets are ordered according to importance.  Each net is routed separately. 1.Net 1 2.Net 2 Length of net 1 = 4 Priority List 12

Sequential Routing  Nets are ordered according to importance.  Each net is routed separately. 1.Net 1 2.Net 2 Length of net 1 = 4 Length of net 2 = 5 Priority List 12

Sequential Routing Total wire length: 9 The solution is dependent on net ordering Drawback: 13

Mathematical Programming  A set of routes is made for each net.  Each route is assigned a binary variable. Route 2 Route 1 Route 3 Route 1: Y 1 Route 2: Y 2 Route 3: Y 3 Net 1 Routes: Y = 1 - Route selected 0 - Otherwise { 14

Mathematical Programming  An Integer Linear Programming (ILP) problem is written: min   L y i Subject to: For each net only one route can be chosen. Number of routes passing through a channel can not exceed the maximum channel capacity. Binary constraints on routes. 15

Drawbacks  The total number of possible routes can be very large.  Each route is a binary variable in the optimization problem.  Optimization problem becomes very large and hard to solve. Example:MCNC Fract Test Circuit 147 nets  more than 28,000 possible routes 16

Modeling Techniques  Develop congestion estimation techniques to construct an optimal set of routes: Least number of routes possible. Least amount of congestion.  Develop multi-objective modeling techniques. 17

Route Construction Initial approach:  Limit the number of routes considered by making only minimum-length minimum-bend routes. Can result in sub-optimal and infeasible solutions. 18

Route Construction Proposed enhancement:  Use congestion techniques to estimate where additional possible routes should be generated. Limits the size of the problems. Gives feasible and optimal solutions. 19

Congestion Definition : In the final solution, there are too many routes in a given channel. Congested areas can cause:  Infeasibility  Hotspots 20

Example: MCNC BIO Test Circuit Vertical Channels Horizontal Channels 21

Example: MCNC BIO Test Circuit Vertical Channels Horizontal Channels 21

Congestion Estimation Model Data:  Number of routes produced for each net.  Which edge each route passes through. Objective:  To estimate the number of routes that might pass through each edge. 22

Routing Demand Definition: The probability of each route to be chosen: Routing Demand, r(e), of each edge is the sum of the probabilities of the routes that pass through the edge. 23

Proposed Approach Calculated routing demands are used to identify congested areas; 1.Generate additional routes for the nets in the areas where congestion is most likely to occur. 2.Construct additional routes through areas where congestion is less likely to occur. 24

Set of Possible Routes 25 Set of all possible routes Produced based on congestion Minimum length routes

Proposed Route Construction Congestion Based Route Construction Construct minimum length routes Estimate congestion Construct additional routes for congested nets 26

Illustrative Example Net 1: Route Y 1 p(Y 1 ) = 1 Net 2: Route Y 2, p(Y 2 ) = 1/2 Route Y 3, p(Y 3 ) = 1/2 e1e1 e3e3 e2e2 27

Illustrative Example Routing Demands: r(e 1 ) = p(Y 2 )=1/2 r(e 2 ) = p(Y 1 )+p(Y 3 ) = 3/2 r(e 3 ) = 0 27 e1e1 e3e3 e2e2

Illustrative Example Additional Trees: For net 1 Y 4 p(Y 4 ) p(Y1) = 1/2 p(Y4) = 1/2 27 e1e1 e3e3 e2e2

Illustrative Example 27 e1e1 e3e3 e2e2 Routing Demands: r(e 1 ) = p(Y 2 )=1/2 r(e 2 ) = p(Y 1 )+p(Y 3 ) = 1/2+1/2=1 r(e 3 ) = p(Y 4 ) = 1/2

Test Circuits 28 Name# netsGrid sizes Case 1bio574246x46 Case 2ind x27 Case 3ind x71 Case 4ind x54 Case 5avq.small x66 Case 6avq.large x66

Numerical Results 29

Numerical Results 30

Numerical Results 31 Before constructing additional trees After constructing additional trees Routing demand

Modeling Formulations Traditional Approaches:  Consider only wire length Proposed Multi-Objective Approaches:  Wire length  Congestion  Number of bends  Channel Capacity 32

Numerical Results 33

Numerical Results 34

Optimization Techniques Global routing problem is formulated as a Linear Programming (LP) problem. Number of constraints is very high. 35 min w T x Subject to: A x  b 0  x

Interior Point Methods Interior Point methods are used to solve the global routing LP problem. 36 One step in the Newton direction is taken at each iteration. The bottleneck of the IP method is in solving the Newton step. Feasible region Central path Initial solution Optimal solution

Matrix Re-ordering Objective: Find a faster solution to the Newton equations by reordering the constraint matrix of the LP problem. Proposed Approach: Apply an eigenvalue based reordering technique to the constraint matrix. Constraint matrix is only reordered at the start of the Interior Point solution. 37

Matrix Re-ordering 38 Before reorderingAfter reordering The constraint matrix of the global routing problem is a 0/1 matrix.

Programs Developed C Program to convert placement results to routing grid model. C ++ program to produce routes. C ++ program to estimate congestion. C ++ program to produce objective function and constraint matrix of the global routing problem. Matlab program to perform matrix reordering. Matlab program to for rounding. Matlab program for visual illustration of channel capacities. 40

Numerical Results 39

Conclusions and Summary Incorporating congestion in global routing leads to compact problems that give high quality solutions. Results obtained from benchmarks show the multi-objective formulation results in less congestion and reduces the wire length. Matrix reordering is effective in reducing the solution time of the LP problem. 40