Global Routing.

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.
Paul Falkenstern and Yuan Xie Yao-Wen Chang Yu Wang Three-Dimensional Integrated Circuits (3D IC) Floorplan and Power/Ground Network Co-synthesis ASPDAC’10.
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.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI Circuit Design Lecture 11 - Combinational.
Chapter 6 – Detailed Routing
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.
Chapter 2 – Netlist and System Partitioning
Chapter 6 – Detailed Routing
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 21: April 15, 2009 Routing 1.
Chapter 1 – Introduction
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: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig © 2011 Springer Verlag 1 Chapter 5 – Global Routing.
Metal Layer Planning for Silicon Interposers with Consideration of Routability and Manufacturing Cost W. Liu, T. Chien and T. Wang Department of CS, NTHU,
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.
Chapter 5 – Global Routing
Chip Planning 1. Introduction Chip Planning:  Deals with large modules with −known areas −fixed/changeable shapes −(possibly fixed locations for some.
1 ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical Verification and.
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.
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)
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 7 Global Routing Mustafa Ozdal Computer Engineering Department, Bilkent University.
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.
CAD for Physical Design of VLSI Circuits
Open Discussion of Design Flow Today’s task: Design an ASIC that will drive a TV cell phone Exercise objective: Importance of codesign.
ASIC Design Flow – An Overview Ing. Pullini Antonio
1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 2 Background and Introduction Mustafa Ozdal Computer Engineering Department, Bilkent.
New Modeling Techniques for the Global Routing Problem Anthony Vannelli Department of Electrical and Computer Engineering University of Waterloo Waterloo,
Efficient Multi-Layer Obstacle- Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Shih-Lun Huang, Kai-Chi Hsu,Meng-Xiang Li, Yao-Wen Chang.
Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010.
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.
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.
Fishbone: A Block-Level Placement and Routing Scheme Fan Mo and Robert K. Brayton EECS, UC Berkeley.
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.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 13: March 3, 2015 Routing 1.
Detailed Routing مرتضي صاحب الزماني.
Subject : CAD For VLSI (7CS4) 1 Unit 5 Floor-planning, Placement & Routing.
VLSI Floorplanning and Planar Graphs prepared and Instructed by Shmuel Wimer Eng. Faculty, Bar-Ilan University July 2015VLSI Floor Planning and Planar.
ECE 565 VLSI Chip Design Styles Shantanu Dutt ECE Dept. UIC.
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 7 Global Routing Mustafa Ozdal Computer Engineering Department, Bilkent University.
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
ECE 565 VLSI Chip Design Styles
Chapter 1 – Introduction
Chapter 7 – Specialized Routing
VLSI Physical Design Automation
Chapter 2 – Netlist and System Partitioning
Chapter 5 – Global Routing
Interconnect Architecture
EE4271 VLSI Design, Fall 2016 VLSI Channel Routing.
VLSI Physical Design Automation
ICS 252 Introduction to Computer Design
Presentation transcript:

Global Routing

ENTITY test is port a: in bit; end ENTITY test; System Specification Chip Planning Placement Signal Routing Partitioning Timing Closure Clock Tree Synthesis Architectural Design ENTITY test is port a: in bit; end ENTITY test; Functional Design and Logic Design Circuit Design Physical Design Physical Verification and Signoff DRC LVS ERC Fabrication Packaging and Testing Chip

Problem Definition Input: Output: Objectives: Constraints: Netlist Locations of blocks and locations of pins Technology information Timing budget for, typically, critical nets Output: Geometric layouts of all nets Objectives: Minimize the total wire length # of vias or just completing all connections without increasing the chip area Constraints: Design rules Routing resource capacities Timing budget of each net

Types of Routing Problems Fixed-die routing: Chip outline and routing resources are fixed. Variable-die routing: New routing tracks can be added as needed.

General Routing Problem Two phases: Global Routing Detailed Routing

Introduction Routing Multi-Stage Routing of Signal Nets Global Routing Detailed Routing Timing-Driven Routing Large Single- Net Routing Geometric Techniques Coarse-grain assignment of routes to routing regions Fine-grain assignment of routes to routing tracks considering critical nets Power & Ground routing clock routing

Steiner Tree For a multi-terminal net Minimum spanning tree Large wire length Steiner tree A tree connecting all terminals and some additional nodes (Steiner nodes). Rectilinear Steiner Tree: Steiner tree such that all edges run horizontally and vertically Steiner Node

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

Formal Problem Definition For delay consideration: Minimize diameter of net 10 5 10 D= 30 L= 30 D = 20 L= 30

Formal Problem Definition 2 1 2 1 D = 6 L = 7 D= 6 L = 6

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

Region Definition

Region Assignment (Global Routing) Cell 1 2

Pin Assignment Assign pins on routing region boundaries for each net. - Prepare for the detailed routing of each routing region. Cell 1 2

Detailed Routing Goal: Cell The actual wires are routed in the channel Produce the shortest wires and consume the least amount of space Cell 1 2

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

Detailed Routing Types There are different detailed routers for different regions Switchbox router where the rectangle has pins on all four sides. Channel Router

Routing Regions 2D and 3D Switchboxes Bottom pin connection on 3D switchbox Metal5 Metal4 3D switchbox Top pin connection on cell Pin on channel boundary Horizontal channel 2D switchbox Metal3 Metal2 Metal1 Vertical channel

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

Channel in Standard Cell Style Standard cell layout (Two-layer routing)

Routing Regions Gcells (Tiles) with macro cell layout Metal3 Metal2 etc.

Routing Regions Gcells (Tiles) with standard cells Metal1 (Standard cells) Metal3 Metal2 (Cell ports) Metal4 etc.

Routing Regions Gcells (Tiles) with standard cells (back-to-back) Metal3 Metal2 (Cell ports) Metal4 Metal1 (Back-to-back- standard cells) etc.

Routing in Different Design Styles Full-custom design Layout is dominated by macro cells and routing regions are non-uniform B F A C D E H V A B F D C E 1 2 3 4 5 5 B F A C D E 1 2 3 4 B F A C D E (1) Types of channels 5 4 3 2 1 (2) Channel ordering

Routing in Different Design Styles Standard-cell design If number of metal layers is limited, feedthrough cells must be used to route across multiple cell rows Feedthrough cells A A Variable-die, standard cell design: Total height = ΣCell row heights + All channel heights A A A

Routing in Different Design Styles Standard-cell design Steiner tree solution with minimal wirelength Steiner tree solution with fewest feedthrough cells

Switchbox Routed

Routing in Different Design Styles Gate-array design Cell sizes and sizes of routing regions between cells are fixed Available tracks Key Task: - Find a routable solution Unrouted net

Graph Modeling of Routing Regions Routing context is captured using a graph, where Nodes: Routing regions Edges: Adjoining regions Capacities: can be associated with both edges and nodes

Representations of Routing Regions Grid graph model 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ggrid = (V,E), where the nodes v  V represent the routing grid cells (gcells) and the edges represent connections of grid cell pairs (vi,vj)

Representations of Routing Regions Channel connectivity graph 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 G = (V,E), where the nodes v  V represent channels, and the edges E represent adjacencies of the channels

Representations of Routing Regions Switchbox connectivity (channel intersection) graph 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4 5 6 7 8 9 10 11 12 13 14 G = (V, E), where the nodes v  V represent switchboxes and an edge exists between two nodes if the corresponding switchboxes are on opposite sides of the same channel

Formal Problem Definition

Horizontal Routing Channel Channel Capacity Capacity: Number of available routing tracks or columns Two-layer routing: Multilayer routing: Horizontal Routing Channel B B C D B C B h dpitch A C A B B C D w s dpitch = s + w

Channel Capacity In practice: Grid lines are the same for all layers l: number of layers in a direction dpitch: size of largest pitch Example: two horizontal layers minimum wire width = 3 minimum wire spacing = 3 42

Pitch Size Models

Routing in Different Design Styles

Global Router Typical algorithm steps: Creating global router mesh Introduction ATLAS Basics ATLAS Plug-in Global Router ATLAS UIs AtlasDB ATLAS Engines Typical algorithm steps: Creating global router mesh Reading nets and pins Finding global and local nets Routing nets Length of nets Capacity of edges (Noise of nets)