ICS 252 Introduction to Computer Design Routing Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI.

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.
Winter 2005ICS 252-Intro to Computer Design ICS 252 Introduction to Computer Design Lecture 5-Scheudling Algorithms Winter 2005 Eli Bozorgzadeh Computer.
EE 5301 – VLSI Design Automation I
38 th Design Automation Conference, Las Vegas, June 19, 2001 Creating and Exploiting Flexibility in Steiner Trees Elaheh Bozorgzadeh, Ryan Kastner, Majid.
VLSI Layout Algorithms CSE 6404 A 46 B 65 C 11 D 56 E 23 F 8 H 37 G 19 I 12J 14 K 27 X=(AB*CD)+ (A+D)+(A(B+C)) Y = (A(B+C)+AC+ D+A(BC+D)) Dr. Md. Saidur.
VLSI Layout Algorithms CSE 6404 A 46 B 65 C 11 D 56 E 23 F 8 H 37 G 19 I 12J 14 K 27 X=(AB*CD)+ (A+D)+(A(B+C)) Y = (A(B+C)+AC+ D+A(BC+D)) Dr. Md. Saidur.
ER UCLA UCLA ICCAD: November 5, 2000 Predictable Routing Ryan Kastner, Elaheh Borzorgzadeh, and Majid Sarrafzadeh ER Group Dept. of Computer Science UCLA.
2004/9/16EE VLSI Design Automation I 85 EE 5301 – VLSI Design Automation I Kia Bazargan University of Minnesota Part III: Partitioning.
ICS 252 Introduction to Computer Design winter 2005 Eli Bozorgzadeh Computer Science Department-UCI.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 21: April 15, 2009 Routing 1.
ICS 252 Introduction to Computer Design Lecture 14 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
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.
Fall 2003EE VLSI Design Automation I 37 EE 5301 – VLSI Design Automation I Kia Bazargan University of Minnesota Part II: Algorithms.
ICS 252 Introduction to Computer Design Lecture 15 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 19: April 9, 2008 Routing 1.
Fall 2006EE VLSI Design Automation I VI-1 EE 5301 – VLSI Design Automation I Kia Bazargan University of Minnesota Part VI: Routing.
ICS 252 Introduction to Computer Design Fall 2006 Eli Bozorgzadeh Computer Science Department-UCI.
Ryan Kastner ASIC/SOC, September Coupling Aware Routing Ryan Kastner, Elaheh Bozorgzadeh and Majid Sarrafzadeh Department of Electrical and Computer.
Fall 2003EE VLSI Design Automation I 149 EE 5301 – VLSI Design Automation I Kia Bazargan University of Minnesota Part V: Placement.
VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 18. Global Routing (II)
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.
General Routing Overview and Channel Routing
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.
ECE260B – CSE241A Winter 2005 Routing
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)
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.
Low-Power Gated Bus Synthesis for 3D IC via Rectilinear Shortest-Path Steiner Graph Chung-Kuan Cheng, Peng Du, Andrew B. Kahng, and Shih-Hung Weng UC San.
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.
BSG-Route: A Length-Matching Router for General Topology T. Yan and M. D. F. Wong University of Illinois at Urbana-Champaign ICCAD 2008.
New Modeling Techniques for the Global Routing Problem Anthony Vannelli Department of Electrical and Computer Engineering University of Waterloo Waterloo,
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.
Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.
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.
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.
1 ER UCLA ISPD: Sonoma County, CA, April, 2001 An Exact Algorithm for Coupling-Free Routing Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh.
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.
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.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 13: March 3, 2015 Routing 1.
Detailed Routing مرتضي صاحب الزماني.
Routing Topology Algorithms Mustafa Ozdal 1. Introduction How to connect nets with multiple terminals? Net topologies needed before point-to-point routing.
An Exact Algorithm for Difficult Detailed Routing Problems Kolja Sulimma Wolfgang Kunz J. W.-Goethe Universität Frankfurt.
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
Chapter 5 – Global Routing
CSE 144 Project Part 3.
Routing Algorithms.
EE4271 VLSI Design, Fall 2016 VLSI Channel Routing.
VLSI Physical Design Automation
ICS 252 Introduction to Computer Design
Under a Concurrent and Hierarchical Scheme
Presentation transcript:

ICS 252 Introduction to Computer Design Routing Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI

2 Fall 2007ICS 252-Intro to Computer Design References and Copyright Textbooks referred (none required) –[Mic94] G. De Micheli “Synthesis and Optimization of Digital Circuits” McGraw-Hill, –[CLR90] T. H. Cormen, C. E. Leiserson, R. L. Rivest “Introduction to Algorithms” MIT Press, –[Sar96] M. Sarrafzadeh, C. K. Wong “An Introduction to VLSI Physical Design” McGraw-Hill, –[She99] N. Sherwani “Algorithms For VLSI Physical Design Automation” Kluwer Academic Publishers, 3 rd edition, 1999.

3 Fall 2007ICS 252-Intro to Computer Design References and Copyright (cont.) Slides: –Slides used: (Modified by Kia when necessary) [©Sarrafzadeh] © Majid Sarrafzadeh, 2001; Department of Computer Science, UCLA [©Sherwani] © Naveed A. Sherwani, 1992 (companion slides to [She99]) [©Keutzer] © Kurt Keutzer, Dept. of EECS, UC-Berekeley [©Gupta] © Rajesh Gupta UC-Irvine [©Kang] © Steve Kang UIUC

4 Fall 2007ICS 252-Intro to Computer Design Routing Problem –Given a placement, and a fixed number of metal layers, find a valid pattern of horizontal and vertical wires that connect the terminals of the nets –Levels of abstraction: Global routing Detailed routing Objectives –Cost components: Area (channel width) – min congestion in prev levels helped Wire delays – timing minimization in previous levels Number of layers (less layers  less expensive) Additional cost components: number of bends, vias

5 Fall 2007ICS 252-Intro to Computer Design Routing Anatomy SymbolicLayout Metal layer 1 Via Top view 3D view Metal layer 2 Metal layer 3 Note: Colors used in this slide are not standard

6 Fall 2007ICS 252-Intro to Computer Design Global vs. Detailed Routing Global routing –Input: detailed placement, with exact terminal locations –Determine “channel” (routing region) for each net –Objective: minimize area (congestion), and timing (approximate) Detailed routing –Input: channels and approximate routing from the global routing phase –Determine the exact route and layers for each net –Objective: valid routing, minimize area (congestion), meet timing constraints –Additional objectives: min via, power Figs. [©Sherwani]

7 Fall 2007ICS 252-Intro to Computer Design Routing Environment Routing regions –Channel Fixed height ? (  fixed number of tracks) Fixed terminals on top and bottom More constrained problem: switchbox. Terminals on four sides fixed –Area routing Wires can pass through any region not occupied by cells (exception: over-the-cell routing) Routing layers –Could be pre-assigned (e.g., M1 horizontal, M2 vert.) –Different weights might be assigned to layers ,34,5

8 Fall 2007ICS 252-Intro to Computer Design Routing Environment Chip architecture –Full-custom: No constraint on routing regions –Standard cell: Variable channel height? Feed-through cells connect channels –FPGA: Fixed channel height Limited switchbox connections Prefabricated wire segments have different weights Failed net Channel Feedthroughs Figs. [©Sherwani] Tracks Failed connection

9 Fall 2007ICS 252-Intro to Computer Design Taxonomy of VLSI Routers [©Keutzer] Graph Search Steiner Iterative Hierarchical Greedy Left-Edge River Switchbox Channel Maze Line Probe Line Expansion Restricted General Purpose Clock Specialized Power/Gnd Routers DetailedGlobal Maze

10 Fall 2007ICS 252-Intro to Computer Design Global Routing Stages –Routing region definition –Routing region ordering –Steiner-tree / area routing Grid –Tiles super-imposed on placement –Regular or irregular –Smaller problem to solve, higher level of abstraction –Terminals at center of grid tiles Edge capacity –Number of nets that can pass a certain grid edge (aka congestion) –On edge E ij, – Capacity(E ij )  Congestion(E ij ) M1 M2 M3 [©Sarrafzadeh]

11 Fall 2007ICS 252-Intro to Computer Design Grid Graph Coarse or fine-grain Vertices: routing regions, edges: route exists? Weights on edges –How costly is to use that edge –Could vary during the routing (e.g., for congestion) –Horizontal / vertical might have different weights [©Sherwani] t1 t2t3 t4 t1 t2t3 t t1 t3 t4 t2

12 Fall 2007ICS 252-Intro to Computer Design Global Routing – Graph Search Good for two-terminal nets Build grid graph (Coarse? Fine?) Use graph search algorithms, e.g., Dijkstra Iterative: route nets one by one How to handle: –Congestion? –Critical nets? Order of the nets to route? –Net criticality –Half-perimeter of the bounding box –Number of terminals

13 Fall 2007ICS 252-Intro to Computer Design Global Routing – Maze Routing Similar to breadth-first search –Very simple algorithm –Works on grid graph –Time complexity: grid size (NxN) Algorithm –Propagate a “wave” from source until hit the sink (implemented using a queue) –Trace back to find the path Guaranteed to find the optimal solution –Usually multiple optimal solutions exist More than two terminals? –For the third terminal, use the path between the first two as the source of the wave s t

14 Fall 2007ICS 252-Intro to Computer Design Maze Routing Key to popularity: –Simplicity –Guaranteed to find the optimal solution –Can realize more complex cost functions too (e.g., number of bends in a path) Weakness: –Multiple terminals not handled efficiently –Dependent on grid, a two dimensional data structure Different variations exist –Soukup’s alg: First use DFS, when get to an obstacle, use BFS to get around No guarantee to find the shortest path

15 Fall 2007ICS 252-Intro to Computer Design Multiple Terminal Nets: Steiner Tree Steiner tree (aka Rectilinear Steiner Tree – RST): –A tree connecting multiple terminals Original points: “demand points” – set D Added points: “Steiner points” – set S –Edges horizontal or vertical only Steiner Minimum Tree (SMT) –Similar to minimum spanning tree (MST) –But finding SMT is NP-complete –Many good heuristics introduced to find SMT Algorithm –Find MST –Pass horizontal and vertical lines from each terminal to get the Hannan grid (optimal solution is on this grid) –Convert each edge of the MST to an L-shaped route on Hannan grid (add a Steiner point at the corner of L)

16 Fall 2007ICS 252-Intro to Computer Design Steiner Tree Hannan grid reduces solution space (smaller grid) –For min length RST, Steiner points always on Hannan grid Convert MST to rectilinear paths –Length bounded by 1.5 times optimal SMT length Use alternate “L” routes to find the minimum tree MSP (length=11) [©Sherwani] Steiner tree (len=13) Steiner point

17 Fall 2007ICS 252-Intro to Computer Design Steiner Tree Routing Can apply different costs to different regions (or horizontal/vertical preference) Order of the nets –Sequential Use # of terminals, criticality, etc. to determine order –Parallel Divide the chip into large regions, perform the routing in parallel Key to popularity –Fast (not theoretically, but practically) –Bounded solution quality Shortcomings –Difficult to predict or avoid congestion

18 Fall 2007ICS 252-Intro to Computer Design Global Routing Approaches A combination of different approaches might be used in chip-level routing –Route simple nets (2-3 pins in local area) directly (e.g., L-shaped or Z-shaped) –Use a “close to optimal” Steiner Tree algorithms to route nets of intermediate length –Route remaining “big” nets using a maze router Ordering –Some ordering is chosen, if can route all, then done, otherwise: –Rip-up and Re-route [©Keutzer ]