Routing ( Introduction to Computer-Aided Design) School of EECS Seoul National University

Similar documents
Chapter 3 Chip Planning

Zhan Chen and Israel Koren. University of Massachusetts, Amherst, MA 01003, USA. Abstract

Global and detailed routing

Very Large Scale Integration (VLSI)

Blockage and Voltage Island-Aware Dual-VDD Buffered Tree Construction

An Efficient Multilayer MCM Router Based on Four-Via Routing

10/5/2015. Constraint Satisfaction Problems. Example: Cryptarithmetic. Example: Map-coloring. Example: Map-coloring. Constraint Satisfaction Problems

Lecture 9: Cell Design Issues

(Lec19) Geometric Data Structures for Layouts

INTEGRATED CIRCUIT CHANNEL ROUTING USING A PARETO-OPTIMAL GENETIC ALGORITHM

Gateways Placement in Backbone Wireless Mesh Networks

Full-chip Multilevel Routing for Power and Signal Integrity

Layer Reassignment for Antenna Eect. Minimization in 3-Layer Channel Routing. Zhan Chen and Israel Koren. Abstract

BMT 2018 Combinatorics Test Solutions March 18, 2018

VLSI Physical Design Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Introduction to CMOS VLSI Design (E158) Lecture 9: Cell Design

Fast Placement Optimization of Power Supply Pads

Column Generation. A short Introduction. Martin Riedler. AC Retreat

Repeater Block Planning under Simultaneous Delay and Transition Time Constraints Λ

Methodologies for Tolerating Cell and Interconnect Faults in FPGAs

Post-Route Optimization for Improved Yield Using a Rubber-Band Wiring Model

A New Enhanced SPFD Rewiring Algorithm

DUE TO THE principle of electrowetting-on-dielectric

Problem Set 4 Due: Wednesday, November 12th, 2014

Dummy Fill as a Reduction to Chip-Firing

Final Practice Problems: Dynamic Programming and Max Flow Problems (I) Dynamic Programming Practice Problems

Transportation Timetabling

Learning objective Various Methods for finding initial solution to a transportation problem

Exploiting Regularity for Low-Power Design

ROUTING Global Routing

Disseny físic. Disseny en Standard Cells. Enric Pastor Rosa M. Badia Ramon Canal DM Tardor DM, Tardor

: Principles of Automated Reasoning and Decision Making Midterm

Noise Constraint Driven Placement for Mixed Signal Designs. William Kao and Wenkung Chu October 20, 2003 CAS IEEE SCV Meeting

Layout-Oriented Synthesis of High Performance Analog Circuits

Analog-aware Schematic Synthesis

CSE548, AMS542: Analysis of Algorithms, Fall 2016 Date: Sep 25. Homework #1. ( Due: Oct 10 ) Figure 1: The laser game.

Scheduling. Radek Mařík. April 28, 2015 FEE CTU, K Radek Mařík Scheduling April 28, / 48

CSE 573 Problem Set 1. Answers on 10/17/08

Twin Binary Sequences: A Nonredundant Representation for General Nonslicing Floorplan

Placement and Routing of RF Embedded Passive Designs In LCP Substrate

Checkerboard: A Regular Structure and its Synthesis

isudoku Computing Solutions to Sudoku Puzzles w/ 3 Algorithms by: Gavin Hillebrand Jamie Sparrow Jonathon Makepeace Matthew Harris

An Interconnect-Centric Approach to Cyclic Shifter Design

An Efficient PG Planning with Appropriate Utilization Factors Using Different Metal Layer

LESSON 2: THE INCLUSION-EXCLUSION PRINCIPLE

Design and implementation of LDPC decoder using time domain-ams processing

Autodesk Advance Steel. Drawing Style Manager s guide

CS 171, Intro to A.I. Midterm Exam Fall Quarter, 2016

Lower Bounds for the Number of Bends in Three-Dimensional Orthogonal Graph Drawings

Relay Placement in Sensor Networks

Distributed Collaborative Path Planning in Sensor Networks with Multiple Mobile Sensor Nodes

Analysis and Reduction of On-Chip Inductance Effects in Power Supply Grids

THERE is a growing need for high-performance and. Static Leakage Reduction Through Simultaneous V t /T ox and State Assignment

Advance Steel. Drawing Style Manager s guide

Maze Solving Algorithms for Micro Mouse

Heuristic Search with Pre-Computed Databases

Surveillance strategies for autonomous mobile robots. Nicola Basilico Department of Computer Science University of Milan

The Classification of Quadratic Rook Polynomials of a Generalized Three Dimensional Board

Layout design III. Chapter 6. Layout generation MCRAFT BLOCPLAN LOGIC

MRN -4 Frequency Reuse

CROSS-COUPLING capacitance and inductance have. Performance Optimization of Critical Nets Through Active Shielding

Decoupling Capacitance

Games and Adversarial Search II

User2User The 2007 Mentor Graphics International User Conference

Studies of Timing Structural Properties for Early Evaluation of Circuit Design

Orthonormal bases and tilings of the time-frequency plane for music processing Juan M. Vuletich *

A Memory-Efficient Method for Fast Computation of Short 15-Puzzle Solutions

AI Plays Yun Nie (yunn), Wenqi Hou (wenqihou), Yicheng An (yicheng)

A Taxonomy of Parallel Prefix Networks

Developing the Model

Stanford University CS261: Optimization Handout 9 Luca Trevisan February 1, 2011

Solution Algorithm to the Sam Loyd (n 2 1) Puzzle

Electronic Design Automation at Transistor Level by Ricardo Reis. Preamble

A SIGNAL DRIVEN LARGE MOS-CAPACITOR CIRCUIT SIMULATOR

Signal Integrity for Gigascale SOC Design. Professor Lei He ECE Department University of Wisconsin, Madison

Graphs of Tilings. Patrick Callahan, University of California Office of the President, Oakland, CA

Tile Number and Space-Efficient Knot Mosaics

Quasi-Optimal Resource Allocation in Multi-Spot MFTDMA Satellite Networks

Energy Saving Routing Strategies in IP Networks

NextGIn( Connec&on'to'the'Next'Level' Application note // DRAFT Fan-out 0,50mm stapitch BGA using VeCS. Joan Tourné NextGIn Technology BV

UNIVERSITY OF CALIFORNIA College of Engineering Department of Electrical Engineering and Computer Sciences

CS 6135 VLSI Physical Design Automation Fall 2003

On-demand high-capacity ride-sharing via dynamic trip-vehicle assignment - Supplemental Material -

Lecture 13: Interconnects in CMOS Technology

PROGRAMMABLE ASIC INTERCONNECT

OI14: Crossing-Aware Channel Routing for Integrated Optics

Optimal Module and Voltage Assignment for Low-Power

Power-conscious High Level Synthesis Using Loop Folding

Second Annual University of Oregon Programming Contest, 1998

Localization (Position Estimation) Problem in WSN

EE141-Spring 2007 Digital Integrated Circuits

Approches basées sur les métaheuristiques pour la gestion de flotte en temps réel

Tiago Reimann Cliff Sze Ricardo Reis. Gate Sizing and Threshold Voltage Assignment for High Performance Microprocessor Designs

A Novel Approach for EMI Design of Power Electronics

Leakage Power Minimization in Deep-Submicron CMOS circuits

Multitree Decoding and Multitree-Aided LDPC Decoding

Worst Case RLC Noise with Timing Window Constraints

AUTOMATIC IMPLEMENTATION OF FIR FILTERS ON FIELD PROGRAMMABLE GATE ARRAYS

Part VII: VRP - advanced topics

VLSI System Testing. Outline

Transcription:

Routing (454.554 Introduction to Computer-Aided Design) School of EECS Seoul National University

Introduction Detailed routing Unrestricted Maze routing Line routing Restricted Switch-box routing: fixed pins on four sides Channel routing: fixed pins on two sides River routing: Single layer (no crossing) Global routing (or loose routing) Channel definition and ordering Power and ground routing Clock routing Introduction general routing area switchbox channel

Detailed Routing Problem definition Detailed Routing Given a region with pins on its sides and possibly in the middle, and a net list, determine the interconnection geometry Objective functions Minimize overall wire length Minimize maximum wire length --> minimize maximum signal delay Minimize number of tracks --> minimize area occupied by routing Minimize number of vias yield, resistance/capacitance, area Minimize (maximize) use of particular layers

Unrestricted Routing Lee-Moore Algorithm (Maze Routing) Fixed grid, Manhattan One net at a time Problems Dependency on net ordering Large memory requirement <-- one storage element (2 bits) for every cell Long search time <-- (connection length) 2 Unrestricted Routing Improvement by rip-up and re-route 4 4 3 4 4 3 2 3 4 4 3 2 2 3 4 4 3 2 s 2 3 4 4 3 2 4 3 4 d

Rip-up and Re-route Unrestricted Routing H.Shin and A.Sangiovanni-Vincentelli, "Mighty: A 'rip-up and re-route' detailed router," Proc. ICCAD, 986 Incremental router Path finder Maze routing is used to find the minimum cost path between two pins Build a list of nets with the order of ascending cost Vertical (horizontal) wire on horizontal (vertical) layer is penalized Changing a layer is penalized to minimize the number of vias Path conformer After all paths have been found, implement the path according to the order If the path is not feasible, call path finder If no path is found or cost is too high, call weak modifier

Weak modifier Pushes existing wires to make space No solution --> call strong modifier Unrestricted Routing x x x x

Strong modifier Removes blocking nets to make space Post processing All the nets are re-routed from the longest net Unrestricted Routing Vertical (horizontal) wires on horizontal (vertical) layer are less penalized Example 76 sec on VAX /785 3 weak modification 9 strong modification

Line Routing Unrestricted Routing D.W.Hightower, "A solution to line routing problems on the continuous plane," Proc. 6th Design Automation Workshop, 969 Gridless (often implemented on a grid) Manhattan Definitions Escape line: pair of orthogonal lines passing through a point Cover: Blockage of a point. Intersects with an escape line. Escape point: A point on an escape line that is not covered by a horizontal (vertical) cover

Unrestricted Routing Algorithm Starting from the source and sink, generate escape lines and determine escape points until escape lines intersect

Switch-Box Routing Weaver Switch-Box Routing R.Joobbani and D.Siewiorek, "Weaver: a knowledgebased routing expert," IEEE Design and Test of Computers, Feb. 986 Switch-box + channel routing Knowledge-based expert system Algorithmic part(c) + 7 rules(ops5) experts (including user) Interactive User can override system decision Pre-route or delete wiring segments Long running time

Weaver architecture Switch-Box Routing constraint propagation wire length vert/horiz constraint blackboard problem representation partition current state expert priority merging congestion common sense focus of attention decision representation partition nets to be routed next / can be modified accessed by all experts via pattern router user scratch pad partition private section MRST Experts

Constraint propagation Switch-Box Routing 5 2 4 2 7 6 9 5 8 3 5 4 5 2 2 2 9 8 4 3 24 9 2 7 2 6 4 3 5 3 9 24 2 8 2 2 8 23 2 22 8 24 7 6 4 7 6 5 9 8 9 2 5 24 5 23 22 8

Pattern router Switch-Box Routing 5 2 4 2 7 6 9 5 8 3 5 4 5 2 2 2 9 8 4 3 24 9 2 7 2 6 4 3 5 3 9 24 2 8 2 2 8 23 2 22 8 24 7 6 4 7 6 5 9 8 9 2 5 24 5 23 22 8

Channel Routing Problem Formulation Assumption (original formulation) Rectangular routing region with no obstructions Fixed pins on two opposite sides Floating pins on the other two sides Two layers for interconnections Pins are placed on a regular grid Channels are subdivided into rows (tracks) Minimize number of tracks and number of vias terminal top track trunk Channel Routing branch dogleg bottom terminal

Algorithms Channel Routing Left edge algorithm At most one trunk per net Compute intervals for each net Sort the intervals in ascending order of left edge's location Assign intervals to available tracks Overlap problem a b a de d a b c a b a de d d e a c b c e e a c b c e e a b a de e a b a de e a c b c d e a c b c d e

Constrained left edge algorithm VCG (Vertical Constraint Graph) Vertex: net Channel Routing Edge (directed): from a net connecting a top terminal to a net connecting a bottom terminal on the same column A D G J E C B F H I A D J H E C I G F B

HCG (Horizontal Constraint Graph) Vertex: Net Edge: Intersection between two intervals Interval: Leftmost and rightmost column of a net Channel Routing Density: Maximum number of intervals crossing a column --> size of the largest clique in HCG Density can be used as a lower bound on number of tracks Interval graph 2 2 4 5 8 9 9 6 7 3 2 3 6 3 7 4 5 6 8 2 4 5 8 8 9 7 6 3 3 9 7 9 2 4 8 5

netlist netlist Channel Routing Branch and bound B.W.Kernighan, D.G.Schweikert, and G.Persky, "An optimum channel-routing algorithm for polycell layouts of integrated circuits," Proc. th Design Automation Workshop, 973 Select a leftmost net that satisfies the vertical constraint If the current track t is filled, compute the lower bound b If t+b V (V is the best solution seen so far), replace the most recently placed net by the next unplaced net s=; t=; V=n; place: do while track t is not full & last net is not placed place next leftmost legal net on track t; s=s+; netlist(s)=net placed; if track t is full compute b=lower bound on tracks needed for remaining nets; if t+b < V t=t+; goto place; unplace netlist(s); goto place; if n-th net is placed record new solution; V=t; unplace netlist(s); unplace netlist(s); goto place;

Computation of lower bound Channel Routing In the vertical constraint graph, static lower bound s of a net is computed by (largest lower bound of the net s children) + 2 3 4 5 6 7 8 9 2 d e a f b c 2 b 3 d e 2 a c f Dynamic lower bound b is computed considering the static bound and overlap of unassigned nets (matrix is used) If a net spanning from column L to R has static bound of s, then add to matrix components M(s,L),...,M(s,R) Algorithm for j =, max_column b(j) = ; for i =, max_s b(j) = max(i, b(j)+m(i,j)); end for; end for; s 2 b = max j b(j); column 2 3 4 5 6 7 8 9 2 3 2 2 2 2 2

Channel Routing The dynamic lower bound is not exact since it is computed column-wise. 2 3 4 5 6 7 a b c d a 3 b c 2 d column 2 3 4 5 6 7 2 3 4 5 6 7 a c b d a 3 b s 2 2 3 2 2 c d

Zone Channel Routing 2 3 4 5 6 7 8 9 2 d e a f b c zones 2 3 4 2 3 4 5 6 7 8 9 2 d e a f b c a zones 2 3 4 d b c e f

Channel Routing Speed improvement to branch and bound algorithm T.Yoshimura and E.S.Kuh, "Efficient algorithms for channel routing," IEEE Trans. on CAD of ICAS, Jan. 982 Branch and bound technique gives the optimum solution to the restricted (no dogleg) channel routing problem which is NP-complete --> long runtime Net merging (merged nets --> same track) simplifies the problem (smaller VCG) Candidate nets (i,j) for merging i No overlap between i and j --> No edge (i,j) in HCG There is no path from i to j in VCG i i Algorithm: k k Select and merge nets iteratively j j Assign merged nets to tracks Separate nets Heuristic merge Select nets to be merged so that longest path in reduced VCG is minimal i j j length=2 length=3

Dogleg channel router D.N.Deutsch, "A 'dogleg' channel router," 3th Design Automation Conf., June 976 Doglegs are allowed Channel Routing Observations Usually a few crucial nets such as clock lines are heavily connected to both sides of the channel --> long constraint chain --> require many tracks

Channel Routing Doglegs are introduced only at terminal positions of the net Divide long connections into a series of two-pin connections To avoid generating too many doglegs, 'range' concept is used Range: Number of consecutive trunk segments that must be assigned to the same track

Jog insertion Channel Routing J.Reed, A.Sangiovanni-Vincentelli, and M.Santomauro,"A new symbolic channel router: YACR2," IEEE Trans. on CAD, July 985 Allows horizontal jogs on vertical layer and vertical jogs on horizontal layer Algorithm Horizontal track assignment --> Uses modified LEA to assign nets to tracks minimizing number of vertical constraint violations (allows vertical constraint violations) Maze routing If routing fails, add a track and restart Preprocessor translates pin locations into a symbolic grid. Postprocessor translates the symbolic routing to geometry.

Maze routing Channel Routing i j j i vertical constraint violation i j i more complex example j j i after maze routing j i

Maze2, Maze3 routing Channel Routing i i j j j i j i i i j j j i j i

Channel Definition and Ordering Routing Region Definition and Ordering Channel Definition and Ordering W.M.Dai, T.Asano, and E.S.Kuh, "Routing region definition and ordering scheme for building-block layout," IEEE Trans. on CAD, July, 985 Channel routers are the most effective detailed routers Tasks Partition layout area into module area and routing area Identify channels for routing Determine order of channels to be routed

Supports non-slicing structures Define tiles Block tiles (for modules) Space tiles (for routing) Define maximal space tiles Horizontal tile plane Vertical tile plane Replace dominant tiles by walls --> Floor plan graph Channel Definition and Ordering block tile space tile subordinate tile external junction internal junction dominant tile Horizontal tile plane 'T' type junction empty room wall '+' type junction wall segment Floor plan graph Vertical tile plane

Wall segments: channels Wall precedence relation --> ordering Channel Definition and Ordering external junction internal junction 'T' type junction empty room wall '+' type junction wall segment Floor plan graph T junction: vertical segment before horizontal segment

Requirements for channel routing Channel Definition and Ordering Pin definition requirement: Positions of all pins along the two edges of a channel must be fixed Rigidity requirement: A channel already routed cannot be altered in its channel direction 2 channel direction Channel must be routed first Cycle in the precedence relation --> L-shaped channel to break the cycle 2 4 3

Channel Definition and Ordering Width of L-shaped channels can be adjusted without destroying previously routed channels (how about switchbox?) '+' type junction Needs normalization Slicing structure provides acyclic precedence relation non-slicing structure slicing structure

Algorithm Wall slicing and Corner cutting Channel definition stack Channel Definition and Ordering external junction F G D E A C B G F E D C B A external junction G j B H I D C A F E

Corner dependency Channel Definition and Ordering b B e A a c C d D D C B A Empty room One of the four wall segments adjacent to an empty room is ignored 2 5 4 3

Global Routing Goal Distribute nets over channels Minimize Total net length Critical net lengths Congestion Approaches One net at a time Depends on order Cost function C = al + b / c T+ L: channel length T: Tracks available All nets at once - linear program Simulated annealing Hierarchical routing Global Routing

Integer (-) linear programming Assume two-terminal nets (can be generalized) P a x n c np np Minimize cost C : Set of paths for net n if path p in Pn uses channel c = otherwise if net n uses path p in Pn = otherwise N P n Lc c= n= p= a c np Subject to constraints x np Global Routing x P p= N np n, n =,2,...,N, p =,2,..., P x P np n n= p= a =, n =,2,...,N c np x np T, c =,2,...,C c n

Power and Ground Routing Special Routing Usually on a single layer (no vias) --> planar routing Usually much wider (more current) MOSAICO Power and Ground Routing Macrocell place and route system Assume power and ground rings around the chip Before placement, decompose power and ground nets into smaller nets Merge the nets after global routing Find power requirement After symbolic detailed routing, find the sub-net (power and ground) widths merge

Cross-Coupling Problem Routing in deep sub-micron design Thin wire Large interconnect delay delay (wire length) 2 --> Al --> Cu H > W Delay due to larger edge (horizontal) capacitance Cross-talk with neighboring wires --> Permutation of signal wires or Interleaving with power and ground wires Cross-Coupling

Reduction of Cross-Coupling Cross-Coupling Joon-Seo Yim and Chong-Min Kyung, "Reducing crosscoupling among interconnect wires in deep-submicron datapath design," Proc. 36th Design Automation Conf., June 999 Miller effect C 2C C Control signal ordering order order2 order3 s sb s2 s2b s3 s3b s s2 s3 sb s2b s3b s s2b s3 sb s2 s3b

Cross-Coupling s s2 s2b s3 s3b sb s s3 sb s2b s3b s2 s s3 sb s2 s3b s2b ->2 ->3 selection signal change 2-> 2->3 3-> 3->2 total # of opposite transitions 2 8