VLSI Physical Design Automation

Slides:



Advertisements
Similar presentations
Chapter 4 Partition I. Covering and Dominating.
Advertisements

VLSI DESIGN & COMPARABILITY GRAPHS By Deepak Katta.
An Introduction to Channel Routing
A Graph-Partitioning-Based Approach for Multi-Layer Constrained Via Minimization Yih-Chih Chou and Youn-Long Lin Department of Computer Science, Tsing.
Approximations of points and polygonal chains
Ch.7 Layout Design Standard Cell Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
5-1 Chapter 5 Tree Searching Strategies. 5-2 Satisfiability problem Tree representation of 8 assignments. If there are n variables x 1, x 2, …,x n, then.
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.
Chapter 3 The Greedy Method 3.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI Circuit Design Lecture 11 - Combinational.
Multi-Layer Channel Routing Complexity and Algorithm - Rajat K. Pal Md. Jawaherul Alam # P Presented by Section 5.3: NP-completeness of Multi-Layer.
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
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.
A General Framework for Track Assignment in Multilayer Channel Routing (Multi layer routing) -VLSI Layout Algorithm KAZY NOOR –E- ALAM SIDDIQUEE
Routing 1 Outline –What is Routing? –Why Routing? –Routing Algorithms Overview –Global Routing –Detail Routing –Shortest Path Algorithms Goal –Understand.
Computational Complexity of Approximate Area Minimization in Channel Routing PRESENTED BY: S. A. AHSAN RAJON Department of Computer Science and Engineering,
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 19: April 9, 2008 Routing 1.
3.3 Multi-Layer V i+1 H i Channel Routing Presented by Zulfiquer Md. Mizanur Rhaman Student # p.
Fall 2006EE VLSI Design Automation I VI-1 EE 5301 – VLSI Design Automation I Kia Bazargan University of Minnesota Part VI: Routing.
ECE Routing 1 ECE 665 Spring 2004 ECE 665 Spring 2004 Computer Algorithms with Applications to VLSI CAD Channel Routing Global Routing.
Multi-Layer Channel Routing Complexity and Algorithm Rajat K. Pal.
3.3 Multi-Layer V i+1 H i Channel Routing Presented by Md. Shaifur Rahman Student #
A Specialized A* Algorithm. Specialized A* Algorithm As soon as a goal node is found, we may stop and return an optimal solution. In ordinary A* algorithm,
Branch and Bound Algorithm for Solving Integer Linear Programming
Multi-Layer Channel Routing Complexity and Algorithm Rajat K. Pal.
Chapter 5: Computational Complexity of Area Minimization in Multi-Layer Channel Routing and an Efficient Algorithm Presented by Md. Raqibul Hasan Std No.
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
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
9/4/ VLSI Physical Design Automation Prof. David Pan Office: ACES Detailed Routing (I)
Escape Routing For Dense Pin Clusters In Integrated Circuits Mustafa Ozdal, Design Automation Conference, 2007 Mustafa Ozdal, IEEE Trans. on CAD, 2009.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
Global Routing. Global routing:  To route all the nets, should consider capacities  Sequential −One net at a time  Concurrent −Order-independent 2.
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Standard cell-based layout. n Channel routing. n Simulation.
Global Routing.
1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Layouts for logic networks. n Channel routing. n Simulation.
Modern VLSI Design 3e: Chapters 1-3 week12-1 Lecture 30 Scale and Yield Mar. 24, 2003.
Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.
6/5/ VLSI Physical Design Automation Prof. David Pan Office: ACES Detailed Routing (III)
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Layouts for logic networks. n Channel routing. n Simulation.
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 مرتضي صاحب الزماني.
1 L25 : Crosstalk-Concerned Physical Design (2) Jun Dong Cho Sungkyunkwan Univ. Dept. ECE Homepage :
مرتضي صاحب الزماني 1 Detailed Routing. مرتضي صاحب الزماني 2 Greedy Routing “ A greedy channel router ”, Rivest, Fiduccia, Proceedings of the nineteenth.
2/27/ VLSI Physical Design Automation Prof. David Pan Office: ACES Detailed Routing (II)
Example Apply hierarchical clustering with d min to below data where c=3. Nearest neighbor clustering d min d max will form elongated clusters!
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.
Relations and Their Properties
VLSI Physical Design Automation
VLSI Physical Design Automation
VLSI Physical Design Automation
Greedy Algorithms / Interval Scheduling Yin Tat Lee
ESE535: Electronic Design Automation
Sequence Pair Representation
By Santhosh Reddy Katkoori
Iterative Deletion Routing Algorithm
Optimal Non-Manhattan Bubble Sort Channel Router
EE4271 VLSI Design, Fall 2016 VLSI Channel Routing.
Detailed Routing مرتضي صاحب الزماني.
Flow Feasibility Problems
ICS 252 Introduction to Computer Design
Presentation transcript:

VLSI Physical Design Automation Detailed Routing (I) Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434

After Global Routing: Detailed Routing The routing regions are divided into channels and switchboxes. So only need to consider the channel routing problem and the switchbox routing problem. A B

Channel Routing for Different Styles For Gate-array design, channel widths are fixed. The goal is to finish routing of all the nets. For Standard-cell and Full-custom design, channels are expandable. The goal is to route all nets using the minimum channel width. We will consider the case when the channels are expandable.

Channel Ordering A The width of A is not known until A is routed, we must route A first. B B What should be the routing order for this example? A D C

Channel Ordering No feasible channel order! Need to use switchbox C D 1. Fix the terminals between A & B 2. Route B, C, then D (channel) 3. Route A (switchbox)

Routing Grid Models Grid-based Routing Gridless Routing Grid-based model is the most commonly used. We will focus on it in this course.

Channel Routing Terminology Terminals Via Upper boundary Tracks Dogleg Lower boundary Trunks Branches

Routing Layer Models 1 layer VH model HV model 2 layers Layer 1 Via VHV model HVH model 3 layers

Channel Routing Problem Input: Two vectors of the same length to represent the pins on two sides of the channel. Number of layers and layer model used. Output: Connect pins of the same net together. Minimize the channel width. Minimize the number of vias.

Channel Routing Problem 1 3 2 1 1 3 1 2 3 Example: (13002110) (30120300) where 0 = no terminal

Constraint Graphs 1 6 1 2 3 5 1 6 1 2 3 5 1 2 3 4 5 6 6 3 5 4 2 4 6 3 5 4 2 4 6 1 5 2 1 5 3 4 4 3 6 2 Vertical constraint graph Horizontal constraint graph

Lower Bound on Channel Width 1 6 1 2 3 5 6 3 5 4 2 4 1 6 1 2 3 5 1 2 3 Channel density = Maximum local density 4 5 6 6 3 5 4 2 4 Local density 1 3 4 4 4 4 2 Lower bound = 4 Lower bound on channel width = Channel density

Left-edge Channel Routing Algorithm “Wire Routing by Optimizing Channel Assignment within Large Apertures”, A. Hashimoto and J. Stevens, DAC 1971, pages 155-169.

Features of Left-edge Algorithm Assumptions: One horizontal routing layer No vertical constraint, e.g., VHV model Always gives a solution with channel width equal channel density, i.e., optimal solution. 2 1 Vertical constraint may occur here. 2 1 1 2

Left-edge Algorithm 1. Sort the horizontal segments of the nets in increasing order of their left end points. 2. Place them one by one greedily on the bottommost available track.

Channel Density Local density at column C ld(C) = # nets split by column C Channel Density d = max ld( C ) all C Each net spans over an interval Horizontal Constraint Graph(HCG) node : net edge: two intervals intersect Size of max clique in HCG= channel density A lower bound: # tracks  channel density a a a f e b c d a ld(x) a f b e c d

Interval Packing Thm: If the density of a set of intervals is d, then they can be packed into d tracks. Proof: I1=(a,b) I2=(c,d) Define: I1<I2 iff b<c or I1=I2 reflective: I1<I1 anti-symmetric: I1<I2, I2<I1  I1=I2 transitive: I1<I2, I2<I3  I1<I3 The interval set with binary relation < forms a partially ordered set (POSET)!! Intervals in a track they form a chain Intervals intersecting a common column  anti-chain Dilworth’s theorem (1950): If the max anti-chain of a POSET is d, then the POSET can be partitioned into d chains I6 I5 I4 I3 I2 I1 a b c d I5 I2 I6 I4 I1 I3

Left-Edge Algorithm for Interval Packing Repeat create a new track t put leftmost feasible interval to t until no move feasible interval until no move interval Interval are sorted according to their left endpoints I6 I6 I5 I1 I5 I4 I3 I3 I4 I2 I1 I2 O(nlogn) time algorithm. Greedy algorithm works!

Left-edge Algorithm: Example 1 6 1 2 3 5 6 3 5 4 2 4 1. Sort by left end points. 2. Place nets greedily. 1 6 1 2 3 5 1 6 1 2 3 5 6 1 5 3 3 1 2 5 6 4 4 2 6 3 5 4 2 4 6 3 5 4 2 4

Vertical Constraint Consideration The Left-edge algorithm ignores vertical constraints. When there is only one vertical layer, the algorithm will produce overlapping of vertical wire segments. 1 6 1 2 3 5 6 3 5 4 2 4

Lower Bound on Channel Width 1 6 1 2 3 5 6 3 5 4 2 4 6 Length of the longest path in the vertical con- straint graph 1 5 3 4 2 Lower bound = 3

Lower Bound on Channel Width

Constrained Left-edge Algorithm Consider vertical constraints. Similar to the Left-edge algorithm. Modifications: Place a horizontal segment only if it does not have any unplaced descendants in the vertical constraint graph Gv. Place it on the bottommost available track above all its descendents in Gv.

Constrained Left-edge Algorithm 6 1 6 1 2 3 5 1 5 3 4 6 3 5 4 2 4 2 Vertical constraint graph 1. Sort the left end points. 2. Place nets greedily. 1 6 1 2 3 5 1 6 1 2 3 5 6 1 1 3 3 6 2 5 5 4 4 2 6 3 5 4 2 4 6 3 5 4 2 4

Cycles in Vertical Constraint Graph If there is cycle in the vertical constraint graph, the channel is not routable. Dogleg can solve the problem. 1 1 2 Vertical constraint graph 2 1 2 1 2 2 1

Reduce Channel Width by Dogleg Even without cycle in the VCG, Dogleg is useful because it can reduce channel width. Without dogleg With dogleg 1 1 2 2 ??? 2 3 3

Deutch’s Dogleg Algorithm Split each multi-terminal net into several horizontal segments. Split only at columns that contain a pin of the net, i.e., using restricted dogleg only. Apply the Constrained Left-edge algorithm. Restricted dogleg Unrestricted dogleg 1 1 2 2 1 1 2 2 3 3 2 3 3

Deutch’s Dogleg Algorithm 1 1 2 2 3 Vertical constraint graph 1 1 2 3 2 3 4 4 2 3 3 4 4 Routing without dogleg? Vertical constraint graph after splitting? Routing with dogleg?

Deutch’s Dogleg Algorithm 1 1 2 2 3 Vertical constraint graph after splitting 1 2a 2b ??? 3a 3b 4 2 3 3 4 4 Without dogleg By Deutch’s Dogleg alg. ??? ???

Drawbacks of the Constrained Left-edge Algorithm 1 3 3 Vertical constraint graph 1 3 2 1 2 2 1 3 2 By Constrained Left- edge algorithm There is a better solution...

Drawbacks of the Constrained Left-edge Algorithm What’s wrong with the Constrained Left-edge algorithm? The Constrained Left-edge algorithm does not take care of the vertical and horizontal constraints together optimally.