An Introduction to Channel Routing

Slides:



Advertisements
Similar presentations
IMAGE RESIZING & SEAMCARVING CS16: Introduction to Algorithms & Data Structures Thursday, January 23, 14 1.
Advertisements

VLSI DESIGN & COMPARABILITY GRAPHS By Deepak Katta.
Discrete Math for Computer Science. Mathematical Model Real-world Problem Computerized Solution Abstract Model Transformed Model picture of the real worldpicture.
Label Placement and graph drawing Imo Lieberwerth.
Ch.7 Layout Design Standard Cell Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
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.
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.
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,
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 Shortest Path Calculations in Graphs Prof. S. M. Lee Department of Computer Science.
9/4/ VLSI Physical Design Automation Prof. David Pan Office: ACES Detailed Routing (I)
CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science.
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Standard cell-based layout. n Channel routing. n Simulation.
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.
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.
Wire Planning with consideration of Electromigration and Interference Avoidance in Analog Circuits 演講者 : 黃信雄 龍華科技大學 電子工程系.
資訊工程系智慧型系統實驗室 iLab 南台科技大學 1 A Static Hand Gesture Recognition Algorithm Using K- Mean Based Radial Basis Function Neural Network 作者 :Dipak Kumar Ghosh,
ANALYSIS AND IMPLEMENTATION OF GRAPH COLORING ALGORITHMS FOR REGISTER ALLOCATION By, Sumeeth K. C Vasanth K.
4. Combinational Logic Networks Layout Design Methods 4. 2
YK Channel Routing (1/16)Practical Problems in VLSI Physical Design Yoshimura-Kuh Channel Routing Perform YK channel routing with K = 100 TOP = [1,1,4,2,3,4,3,6,5,8,5,9]
Mechanical Engineering Department 1 سورة النحل (78)
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Layouts for logic networks. n Channel routing. n Simulation.
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 مرتضي صاحب الزماني.
Graph Coloring. Vertex Coloring problem in VLSI routing channels Standard cells Share a track Minimize channel width- assign horizontal Metal wires to.
مرتضي صاحب الزماني 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)
An Exact Algorithm for Difficult Detailed Routing Problems Kolja Sulimma Wolfgang Kunz J. W.-Goethe Universität Frankfurt.
CSE 144 Project. Overall Goal of the Project Implement a physical design tool for a two- row standard cell design
EE4271 VLSI Design VLSI Channel Routing.
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 21: November 28, 2005 Routing 1.
Since all points on the x-axis have a y-coordinate of 0, to find x-intercept, let y = 0 and solve for x Since all points on the y-axis have an x-coordinate.
VLSI Physical Design Automation
Sit-In Lab 1 Ob-CHESS-ion
Multi-Layer Channel Routing Complexity and Algorithms
ESE535: Electronic Design Automation
Sequence Pair Representation
By Santhosh Reddy Katkoori
Iterative Deletion Routing Algorithm
Karnaugh Maps Topics covered in this presentation: Karnaugh Maps
CSE 144 Project Part 3.
Topological Sort CSE 373 Data Structures Lecture 19.
Optimal Non-Manhattan Bubble Sort Channel Router
CS Software Studio Assignment 1
EE4271 VLSI Design, Fall 2016 VLSI Channel Routing.
Detailed Routing مرتضي صاحب الزماني.
Richard Anderson Winter 2009 Lecture 6
VLSI Physical Design Automation
Recursive Implementation of Anisotropic Filtering
Edit Distance 張智星 (Roger Jang)
Presentation transcript:

An Introduction to Channel Routing 曾奕倫 元智大學資訊工程系 2008/07/11

A Channel Routing Problem

A Channel Routing Problem (cont’d)

A Channel Routing Problem (cont’d)

A Solution to the Channel Routing Problem

A Solution to the Channel Routing Problem (in VLSI Physical Design) Different colors represent different layers.

A Solution to the Channel Routing Problem (cont’d) Minimizing the number of tracks means minimizing the routing area.

A Channel Routing Problem

A Channel Routing Problem (cont’d)

Description of a Channel Routing Problem Columns: 1 2 3 4 5 6 7 Nets: A B C D E F Top_Row: C NULL F E B NULL A Bottom_Row: A NULL NULL B NULL B C Left_Nets: A D F Right_Nets: D E (The Input to Your Channel Router)

Vertical Constraint Graph At column 1, the horizontal segment of net C must be placed above the horizontal segment of net A.

Vertical Constraint Graph (cont’d) At column 1, the horizontal segment of net C must be placed above the horizontal segment of net A.

Vertical Constraint Graph (cont’d) At column 4, the horizontal segment of net E must be placed above the horizontal segment of net B.

Vertical Constraint Graph (cont’d) At column 7, the horizontal segment of net D must be placed above the horizontal segment of net C. VCG

The Left-Edge Algorithm Proposed by Hashimoto and Stevens in 1971 Regarded as the first channel routing algorithm Can be used in solving Channel Routing Problems Originally used in PCB design Can be applied on VLSI physical design Requires building the Vertical Constraint Graph (VCG) for a channel routing problem

The Left-Edge Algorithm (cont’d) Step 1: Build VCG

The Left-Edge Algorithm (cont’d) Step 2: Place horizontal segments Consider horizontal segments of N1, N4, and N10 (the nets that do not have ancestors)

The Left-Edge Algorithm (cont’d) Step 2: Place horizontal segments N1 has the smallest x coordinate N1 and N4 cannot be placed on the same track N1 and N10 can be placed on the same track Place N1 and N10 on the highest track

The Left-Edge Algorithm (cont’d) Step 2: Place horizontal segments N1 has the smallest x coordinate N1 and N4 cannot be placed on the same track N1 and N10 can be placed on the same track Place N1 and N10 on the highest track

The Left-Edge Algorithm (cont’d) Step 2: Place horizontal segments Update the VCG (remove N1 and N10 from the VCG)

The Left-Edge Algorithm (cont’d) Step 2: Place horizontal segments Update the VCG (remove N1 and N10 from the VCG)

The Left-Edge Algorithm (cont’d) Step 2: Place horizontal segments Consider horizontal segments of N4 and N7 (the nets that do not have ancestors)

The Left-Edge Algorithm (cont’d) Step 2: Place horizontal segments Consider horizontal segments of N4 and N7 (the nets that do not have ancestors)

The Left-Edge Algorithm (cont’d) Step 2: Place horizontal segments Consider horizontal segments of N4 and N7 (the nets that do not have ancestors) N4 has the smallest x coordinate N4 and N7 cannot be placed on the same track Place N4 on the second highest track

The Left-Edge Algorithm (cont’d) Step 2: Place horizontal segments Consider horizontal segments of N4 and N7 (the nets that do not have ancestors) N4 has the smallest x coordinate N4 and N7 cannot be placed on the same track Place N4 on the second highest track

The Left-Edge Algorithm (cont’d) Step 2: Place horizontal segments Update the VCG (remove N4 from the VCG)

The Left-Edge Algorithm (cont’d) Step 2: Place horizontal segments Update the VCG (remove N4 from the VCG) Repeat the placement iterations …

The Left-Edge Algorithm (cont’d) - Result of the Example

The Left-Edge Algorithm (cont’d) - Result of the Example (The Output of Your Channel Router)

The Left-Edge Algorithm (summary) Step 1: Build the Vertical Constraint Graph (VCG) for the input channel routing problem Step 2: Place horizontal segments (choose nets (1) that do not have ancestors in the VCG and (2) whose horizontal segments do not overlap) and update the VCG Step 3: Repeat Step 2 until all the horizontal segments have been placed

A Channel Routing Problem Dogleg Channel Routing

A Channel Routing Problem (cont’d) Loop VCG The Left-Edge Algorithm cannot deal with a channel routing problem whose VCG contains loops.

Channel Density Channel Density = 5 At least 5 tracks are required in order to solve this channel routing problem (with or without doglegs).

To-Do List Choose a Programming Language Implement a Graphical User Interface (GUI) for displaying (1) a channel routing problem (the input) and (2) its solution (the output) Implement the Left-Edge Algorithm Build the VCG (step 1) Data Structure (Adjacency List) How to find nets that have no ancestors in the VCG How to delete nets from the VCG Placement of horizontal segments (step 2) How to check the existence of loops in a VCG