VLSI Physical Design Automation

Slides:



Advertisements
Similar presentations
Wen-Hao Liu1, Yih-Lang Li, and Cheng-Kok Koh Department of Computer Science, National Chiao-Tung University School of Electrical and Computer Engineering,
Advertisements

Ch.7 Layout Design Standard Cell Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
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.
Rajat K. Pal. Chapter 3 Emran Chowdhury # P Presented by.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI Circuit Design Lecture 11 - Combinational.
ICS 252 Introduction to Computer Design Routing Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.
38 th Design Automation Conference, Las Vegas, June 19, 2001 Creating and Exploiting Flexibility in Steiner Trees Elaheh Bozorgzadeh, Ryan Kastner, Majid.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 21: April 15, 2009 Routing 1.
VLSI Routing. Routing Problem  Given a placement, and a fixed number of metal layers, find a valid pattern of horizontal and vertical wires that connect.
Routing 1 Outline –What is Routing? –Why Routing? –Routing Algorithms Overview –Global Routing –Detail Routing –Shortest Path Algorithms Goal –Understand.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 19: April 9, 2008 Routing 1.
VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 18. Global Routing (II)
Multi-Layer Channel Routing Complexity and Algorithm Rajat K. Pal.
7/13/ EE4271 VLSI Design VLSI Routing. 2 7/13/2015 Routing Problem Routing to reduce the area.
Routing 2 Outline –Maze Routing –Line Probe Routing –Channel Routing Goal –Understand maze routing –Understand line probe routing.
CDCTree: Novel Obstacle-Avoiding Routing Tree Construction based on Current Driven Circuit Model Speaker: Lei He.
Chih-Hung Lin, Kai-Cheng Wei VLSI CAD 2008
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.
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.
Global Routing. Global routing:  Sequential −One net at a time  Concurrent −Order-independent −ILP 2.
Global Routing.
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.
New Modeling Techniques for the Global Routing Problem Anthony Vannelli Department of Electrical and Computer Engineering University of Waterloo Waterloo,
Graph Algorithms. Definitions and Representation An undirected graph G is a pair (V,E), where V is a finite set of points called vertices and E is a finite.
Maze Routing مرتضي صاحب الزماني.
Massachusetts Institute of Technology 1 L14 – Physical Design Spring 2007 Ajay Joshi.
Modern VLSI Design 2e: Chapter 7 Copyright  1998 Prentice Hall PTR Topics n Block placement. n Global routing. n Switchbox routing.
AUTOMATIC BUS PLANNER FOR DENSE PCBS Hui Kong, Tan Yan and Martin D.F. Wong Department of Electrical and Computer Engineering, University of Illinois at.
Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.
ARCHER:A HISTORY-DRIVEN GLOBAL ROUTING ALGORITHM Muhammet Mustafa Ozdal, Martin D. F. Wong ICCAD ’ 07.
Modern VLSI Design 3e: Chapter 10 Copyright  1998, 2002 Prentice Hall PTR Topics n CAD systems. n Simulation. n Placement and routing. n Layout analysis.
GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider.
6/5/ VLSI Physical Design Automation Prof. David Pan Office: ACES Detailed Routing (III)
A Negotiated Congestion based Router for Simultaneous Escape Routing Q.Ma, T.Yan and Martin D.F. Wong Department of Electrical and Computer Engineering.
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.
ECE 260B – CSE 241A /UCB EECS Kahng/Keutzer/Newton Physical Design Flow Read Netlist Initial Placement Placement Improvement Cost Estimation Routing.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 13: February 20, 2002 Routing 1.
Detailed Routing مرتضي صاحب الزماني.
CSE 494: Electronic Design Automation LectureRouting.
Subject : CAD For VLSI (7CS4) 1 Unit 5 Floor-planning, Placement & Routing.
An Exact Algorithm for Difficult Detailed Routing Problems Kolja Sulimma Wolfgang Kunz J. W.-Goethe Universität Frankfurt.
مرتضي صاحب الزماني 1 Maze Routing. Homework 4 مهلت تحویل : 23 اردیبهشت پروژه 1 : انتخاب طرح : امروز مرتضي صاحب الزماني 2.
EE4271 VLSI Design VLSI Channel Routing.
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 21: November 28, 2005 Routing 1.
Parallel Algorithms for VLSI Routing 曾奕倫 Department of Computer Science & Engineering Yuan Ze University.
VLSI Physical Design Automation
Chapter 7 – Specialized Routing
VLSI Physical Design Automation
VLSI Physical Design Automation
I206: Lecture 15: Graphs Marti Hearst Spring 2012.
CSE 421: Introduction to Algorithms
Sheqin Dong, Song Chen, Xianlong Hong EDA Lab., Tsinghua Univ. Beijing
Chapter 5 – Global Routing
Topics Logic synthesis. Placement and routing..
Capabilities of Threshold Neurons
Routing Algorithms.
EE4271 VLSI Design, Fall 2016 VLSI Channel Routing.
Register-Transfer (RT) Synthesis
VLSI CAD Flow: Logic Synthesis, Placement and Routing Lecture 5
VLSI Physical Design Automation
ICS 252 Introduction to Computer Design
Under a Concurrent and Hierarchical Scheme
Presentation transcript:

VLSI Physical Design Automation Lecture 9. Introduction to Routing; Global Routing (I) Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434

Introduction to Routing

Routing in design flow Netlist Routing Floorplan/Placement A C B AND INV Floorplan/Placement Routing

The Routing Problem Apply it after floorplanning/placement Input: Netlist Timing budget for, typically, critical nets Locations of blocks and locations of pins Output: Geometric layouts of all nets Objective: Minimize the total wire length, the number of vias, or just completing all connections without increasing the chip area. Each net meets its timing budget.

The Routing Constraints Examples: Placement constraint Number of routing layers Delay constraint Meet all geometrical constraints (design rules) Physical/Electrical/Manufacturing constraints: Crosstalk Process variations, yield, or lithography issues?

Steiner Tree For a multi-terminal net, we can construct a spanning tree to connect all the terminals together. But the wire length will be large. Better use Steiner Tree: A tree connecting all terminals and some additional nodes (Steiner nodes). Rectilinear Steiner Tree: Steiner tree in which all the edges run horizontally and vertically. Steiner Node

Routing Problem is Very Hard Minimum Steiner Tree Problem: Given a net, find the Steiner tree with the minimum length. This problem is NP-Complete! May need to route tens of thousands of nets simultaneously without overlapping. Obstacles may exist in the routing region.

Kinds of Routing Global Routing Detailed Routing Others: Channel Switchbox Others: Maze routing Over the cell routing Clock routing

Approaches for Routing Sequential Approach: Route nets one at a time. Order depends on factors like criticality, estimated wire length, and number of terminals. When further routing of nets is not possible because some nets are blocked by nets routed earlier, apply ‘Rip-up and Reroute’ technique (or ‘Shove-aside’ technique). Concurrent Approach: Consider all nets simultaneously, i.e., no ordering. Can be formulated as integer programming.

Classification of Routing

General Routing Paradigm Two phases:

Extraction and Timing Analysis After global routing and detailed routing, information of the nets can be extracted and delays can be analyzed. If some nets fail to meet their timing budget, detailed routing and/or global routing needs to be repeated.

Global Routing Global routing is divided into 3 phases: 1. Region definition 2. Region assignment 3. Pin assignment to routing regions

Region Definition Divide the routing area into routing regions of simple shape (rectangular): Channel: Pins on 2 opposite sides. 2-D Switchbox: Pins on 4 sides. 3-D Switchbox: Pins on all 6 sides. Switchbox Channel

Routing Regions

Routing Regions in Different Design Styles Gate-Array Standard-Cell Full-Custom Feedthrough Cell

Region Assignment Assign routing regions to each net. Need to consider timing budget of nets and routing congestion of the regions.

Graph Modeling of Routing Regions Grid Graph Modeling Checker Board Graph Modeling Channel Intersection Graph Modeling

Grid Graph A terminal A node with terminals

Checker Board Graph capacity 1 1 1 2 2 1 1 1 1 1 A node with terminals A terminal

Channel Intersection Graph A terminal A node with terminals Routings along the channels

Approaches for Global Routing Sequential Approach: Route the nets one at a time. Order dependent on factors like criticality, estimated wire length, etc. If further routing is impossible because some nets are blocked by nets routed earlier, apply Rip-up and Reroute technique. This approach is much more popular.

Approaches for Global Routing Concurrent Approach: Consider all nets simultaneously. Can be formulated as an integer program.

Pin Assignment Assign pins on routing region boundaries for each net. (Prepare for the detailed routing stage for each region.)

Maze Routing

Maze Routing Problem Given: Objective: A planar rectangular grid graph. Two points S and T on the graph. Obstacles modeled as blocked vertices. Objective: Find the shortest path connecting S and T. This technique can be used in global or detailed routing (switchbox) problems.

X X X X Grid Graph S T S S T T Area Routing Grid Graph (Maze) Simplified Representation

Maze Routing S T

Lee’s Algorithm “An Algorithm for Path Connection and its Application”, C.Y. Lee, IRE Transactions on Electronic Computers, 1961.

Basic Idea A Breadth-First Search (BFS) of the grid graph. Always find the shortest path possible. Consists of two phases: Wave Propagation Retrace

An Illustration S 1 3 2 5 4 T 6

Wave Propagation At step k, all vertices at Manhattan-distance k from S are labeled with k. A Propagation List (FIFO) is used to keep track of the vertices to be considered next. S S S 1 2 3 1 2 3 1 2 3 1 2 3 3 3 4 5 T T T 5 4 5 6 After Step 0 After Step 3 After Step 6

Retrace 1 2 3 1 2 3 3 4 5 5 4 5 6 Trace back the actual route. Starting from T. At vertex with k, go to any vertex with label k-1. S 1 2 3 1 2 3 3 4 5 T 5 4 5 6 Final labeling

How many grids visited using Lee’s algorithm? 13 12 11 10 7 6 7 7 9 10 12 11 10 9 6 5 6 7 8 9 10 11 12 11 10 9 8 7 6 5 4 7 8 9 10 11 10 9 8 7 6 5 4 3 6 7 8 9 10 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 6 5 4 3 2 1 S 1 2 3 4 5 6 7 8 9 8 7 6 3 2 1 2 3 4 5 6 7 8 9 10 9 8 7 3 5 6 7 8 9 10 11 10 9 8 9 10 7 6 7 8 9 10 11 12 11 10 11 12 11 10 9 8 9 10 11 12 13 12 11 12 13 12 11 10 9 10 11 12 13 12 13 13 12 11 10 11 12 13 13 13 12 11 12 13 13 12 T 13 13

Time and Space Complexity For a grid structure of size w  h: Time per net = O(wh) Space = O(wh log wh) (O(log wh) bits are needed to store each label.) For a 4000  4000 grid structure: 24 bits per label Total 48 Mbytes of memory!

Improvement to Lee’s Algorithm Improvement on memory: Aker’s Coding Scheme Improvement on run time: Starting point selection Double fan-out Framing Hadlock’s Algorithm Soukup’s Algorithm

Aker’s Coding Scheme to Reduce Memory Usage

Aker’s Coding Scheme For the Lee’s algorithm, labels are needed during the retrace phase. But there are only two possible labels for neighbors of each vertex labeled i, which are, i-1 and i+1. So, is there any method to reduce the memory usage?

Aker’s Coding Scheme One bit (independent of grid size) is enough to distinguish between the two labels. Sequence: ...… (what sequence?) (Note: In the sequence, the labels before and after each label must be different in order to tell the forward or the backward directions.) S T

Schemes to Reduce Run Time 1. Starting Point Selection: 2. Double Fan-Out: 3. Framing: T S S T S S T T

Hadlock’s Algorithm to Reduce Run Time

shortest Manhattan distance Detour Number For a path P from S to T, let detour number d(P) = # of grids directed away from T, then L(P) = MD(S,T) + 2d(P) So minimizing L(P) and d(P) are the same. length shortest Manhattan distance D D D: Detour d(P) = 3 MD(S,T) = 6 L(P) = 6+2x3 = 12 D S T

Hadlock’s Algorithm Label vertices with detour numbers. Vertices with smaller detour number are expanded first. Therefore, favor paths without detour. 2 3 2 2 2 2 1 1 S 1 T 1

Soukup’s Algorithm to Reduce Run Time

Basic Idea Soukup’s Algorithm: BFS+DFS May get Sub-Optimal solution. 2 Explore in the direction towards the target without changing direction. (DFS) If obstacle is hit, search around the obstacle. (BFS) May get Sub-Optimal solution. 2 1 S T

How many grids visited using Hadlock’s?

How many grids visited using Soukup’s?

Multi-Terminal Nets For a k-terminal net, connect the k terminals using a rectilinear Steiner tree with the shortest wire length on the maze. This problem is NP-Complete. Just want to find some good heuristics.

Multi-Terminal Nets This problem can be solved by extending the Lee’s algorithm: Connect one terminal at a time, or Search for several targets simultaneously, or Propagate wave fronts from several different sources simultaneously.

Extension to Multi-Terminal Nets 1st Iteration 2nd Iteration S T S 1 3 2 1 T T 2