3.3 Multi-Layer V i+1 H i Channel Routing Presented by Md. Shaifur Rahman Student # 0409052028.

Slides:



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

Octagonal Drawing Johan van Rooij. Overview What is an octagonal drawing Good slicing graphs Octagonal drawing algorithm for good slicing graphs Correctness.
VLSI DESIGN & COMPARABILITY GRAPHS By Deepak Katta.
An Introduction to Channel Routing
Native-Conflict-Aware Wire Perturbation for Double Patterning Technology Szu-Yu Chen, Yao-Wen Chang ICCAD 2010.
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.
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.
Multi-Layer Channel Routing Complexity and Algorithm - Rajat K. Pal Md. Jawaherul Alam # P Presented by Section 5.3: NP-completeness of Multi-Layer.
Multi-Layer Channel Routing Complexity and Algorithms Rajat K. Pal Annajiat Alim Rasel CSE 6404 VLSI Layout Algorithms Page.
A Framework for Track Assignment Presented by: Kaiser Newaj Asif Multi-Layer Routing (Extensions of the TAH Framework)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 21: April 15, 2009 Routing 1.
A General Framework for Track Assignment in Multilayer Channel Routing (Multi layer routing) -VLSI Layout Algorithm KAZY NOOR –E- ALAM SIDDIQUEE
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.
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.
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,
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.
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
1 1 Slide © 2000 South-Western College Publishing/ITP Slides Prepared by JOHN LOUCKS.
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)
CS 146: Data Structures and Algorithms July 21 Class Meeting
Introduction to Operations Research
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Standard cell-based layout. n Channel routing. n Simulation.
Global Routing.
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.
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,
QUANTITATIVE ANALYSIS FOR MANAGERS TRANSPORTATION MODEL
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
A Negotiated Congestion based Router for Simultaneous Escape Routing Q.Ma, T.Yan and Martin D.F. Wong Department of Electrical and Computer Engineering.
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/24 Introduction to Graphs. 2/24 Graph Definition Graph : consists of vertices and edges. Each edge must start and end at a vertex. Graph G = (V, E)
Complete Graphs A complete graph is one where there is an edge between every two nodes A C B G.
Maze Routing Algorithms with Exact Matching Constraints for Analog and Mixed Signal Designs M. M. Ozdal and R. F. Hentschke Intel Corporation ICCAD 2012.
2/27/ VLSI Physical Design Automation Prof. David Pan Office: ACES Detailed Routing (II)
An Exact Algorithm for Difficult Detailed Routing Problems Kolja Sulimma Wolfgang Kunz J. W.-Goethe Universität Frankfurt.
Introduction to NP Instructor: Neelima Gupta 1.
EE4271 VLSI Design VLSI Channel Routing.
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 21: November 28, 2005 Routing 1.
VLSI Physical Design Automation
Minimum Spanning Trees
St. Edward’s University
VLSI Physical Design Automation
Multi-Layer Channel Routing Complexity and Algorithms
ESE535: Electronic Design Automation
By Santhosh Reddy Katkoori
Minimum Spanning Trees
Iterative Deletion Routing Algorithm
CSE 144 Project Part 3.
Optimal Non-Manhattan Bubble Sort Channel Router
EE4271 VLSI Design, Fall 2016 VLSI Channel Routing.
Chapter 5 Transportation, Assignment, and Transshipment Problems
Detailed Routing مرتضي صاحب الزماني.
VLSI Physical Design Automation
Presentation transcript:

3.3 Multi-Layer V i+1 H i Channel Routing Presented by Md. Shaifur Rahman Student #

Multi-Layer 3D View 3-Layer VHV Channel Router Vertical Layer (Top) Vertical Layer (Bottom) Horizontal Layer Layer 1 Layer 2 Layer 3 Via Connection

When 2-layer model has no solution! If Vertical Constraint Graph (VCG) has a cycle, there is no feasible solution under 2 layer no-dogleg Manhattan routing model 12 21

Necessity of more than 2 layers! Vertical Constraint Graph with a Cycle 12

Solution in VHV Routing Any Vertical Constraint (n i, n j ) can be resolved by routing vertical wire segments of n i and n j in two separate vertical layers on either side of horizontal layer We never have more than two net terminals in a single column Hence, only horizontal constraint remains in VHV model Therefore the novel algorithms MCC1 or MCC2 can be used in VHV model

Routing Channels Top View VHV Routing Scenario

Routing Channels in 3D VHV Routing Channels

Channel Density d max Local Density of a column is the maximum number of nets passing through the column Channel Density of a channel is the maximum of all local densities A channel with density d max has at least one column spanned by d max nets

Channel Density d max (Contd.) Channel Density

Multiple Horizontal Layers Multiple Horizontal Layers can reduce routing area If there are i horizontal layers H 1, H 2,.., H i, and channel density is d max, then minimum number of track required per horizontal layer is :

Multiple Horizontal Layers (Contd.) d max nets in a column must be distributed in i horizontal layers.

What does V i+1 H i mean? Total number of vertical layers is one more than total number of horizontal layers Each horizontal layer is sandwiched between 2 vertical layers Vertical Layer Horizontal Layer 4 Vertical Layers and 3 Horizontal Layers, Channel Density 4

Benefit of V i+1 H i

Application of MCC1 / MCC2 in Multilayer Channel Routing Problem Compute Minimum Clique Cover for Horizontal Non-constraint Graph (HNCG) There are d max cliques of the minimum clique cover. Assign d max cliques arbitrarily to i horizontal layers. Maximum number of tracks per horizontal layer is

Illustration of MCC1/MCC2 Applied to Multilayer CRP Clique Cover CC={C1, C2,C3, C4} where C1: {5, 1, 4} C2: {2, 7} C3: {3} C4: {6}

Illustration of MCC1/MCC2 Applied to Multilayer CRP (Contd.) Place nets of same clique in the same track in any horizontal layer I7I7 I1I1 I4I4 I2I2 5 I3I3 I6I6 I5I

Application of MCC1 / MCC2 in Multilayer Channel Routing Vertical Wire Layout Suppose that two nets n g and n h that are members of two separate cliques C p and C q respectively, are laid out in the same horizontal layer H r Suppose has n g terminal on the top and n h has terminal at the bottom Then there are two possible cases Case 1: C p is assigned to the track above that of C p Case 2: C p is assigned to the track below that of C p

Vertical Wire Layout : Case 1 In this case both the vertical wire segments are assigned to the same vertical layer V r just below the horizontal layer H r ngng nhnh HrHr VrVr

Vertical Wire Layout : Case 2 In this case, vertical wire segments of n g and n h are assigned to vertical layers V r and V r+1 respectively (above and below the horizontal layer H r ) ngng nhnh V r+1 VrVr HrHr

Application of MCC1 / MCC2 in Multilayer Channel Routing (Contd.) In this manner, all vertical constraints in a channel are resolved The result is a (2i+1)-layer V i+1 H i routing solution using tracks

If there is a column spanned by no nets! For example leftmost column has terminal 0 spanned by no other net I7I7 I1I1 I4I4 I2I2 5 I3I3 I6I6 I5I

The result is increase in running time of MCC1 Running time of MCC1 is O(n+e) where n is the number of nets and e is the size of HNCG If HNCG is sparse e = O(n) But for introduction of node ‘0’, e = O(n 2 ) Thus, if there is a column spanned by no other net, running time of MCC1 becomes O(n+O(n 2 )) = O(n 2 )

Preprocessing of MCC1 We can split the net list at each such un- spanned column For example the net list {4,2,1,3,0,6,7,5} should be split into {4,2,1,3} and {6,7,5} MCC1 should be run independently on each of the splits Since HNCG for each split is now sparse i.e. has size O(n), MCC1 now runs in O(n)

MCC2 performs better than MCC1 Runs in O(nlogn) time Is independent of size of HNCG

Any Question Please ?