6/5/2016 1 VLSI Physical Design Automation Prof. David Pan Office: ACES 5.434 Detailed Routing (III)

Slides:



Advertisements
Similar presentations
L30: Partitioning 성균관대학교 조 준 동 교수
Advertisements

A Graph-Partitioning-Based Approach for Multi-Layer Constrained Via Minimization Yih-Chih Chou and Youn-Long Lin Department of Computer Science, Tsing.
1 Advancing Supercomputer Performance Through Interconnection Topology Synthesis Yi Zhu, Michael Taylor, Scott B. Baden and Chung-Kuan Cheng Department.
Meng-Kai Hsu, Sheng Chou, Tzu-Hen Lin, and Yao-Wen Chang Electronics Engineering, National Taiwan University Routability Driven Analytical Placement for.
1 Physical Hierarchy Generation with Routing Congestion Control Chin-Chih Chang *, Jason Cong *, Zhigang (David) Pan +, and Xin Yuan * * UCLA Computer.
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.
Introduction to Approximation Algorithms Lecture 12: Mar 1.
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.
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.
The Rectilinear Steiner Arborescence Problem is NP-Complete
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.
ECE Routing 1 ECE 665 Spring 2004 ECE 665 Spring 2004 Computer Algorithms with Applications to VLSI CAD Channel Routing Global Routing.
Steiner trees Algorithms and Networks. Steiner Trees2 Today Steiner trees: what and why? NP-completeness Approximation algorithms Preprocessing.
Metal Layer Planning for Silicon Interposers with Consideration of Routability and Manufacturing Cost W. Liu, T. Chien and T. Wang Department of CS, NTHU,
VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 18. Global Routing (II)
Multi-Layer Channel Routing Complexity and Algorithm Rajat K. Pal.
Cost-Based Tradeoff Analysis of Standard Cell Designs Peng Li Pranab K. Nag Wojciech Maly Electrical and Computer Engineering Carnegie Mellon University.
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.
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)
Authors: Jia-Wei Fang,Chin-Hsiung Hsu,and Yao-Wen Chang DAC 2007 speaker: sheng yi An Integer Linear Programming Based Routing Algorithm for Flip-Chip.
Escape Routing For Dense Pin Clusters In Integrated Circuits Mustafa Ozdal, Design Automation Conference, 2007 Mustafa Ozdal, IEEE Trans. on CAD, 2009.
Simple and Improved Parameterized Algorithms for Multiterminal Cuts Mingyu Xiao The Chinese University of Hong Kong Hong Kong SAR, CHINA CSR 2008 Presentation,
Global Routing.
1 Coupling Aware Timing Optimization and Antenna Avoidance in Layer Assignment Di Wu, Jiang Hu and Rabi Mahapatra Texas A&M University.
10/7/ VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 6. Floorplanning (1)
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.
An Efficient Clustering Algorithm For Low Power Clock Tree Synthesis Rupesh S. Shelar Enterprise Microprocessor Group Intel Corporation, Hillsboro, OR.
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 8 Lecture 8 Network Flow Based Modeling Mustafa Ozdal Computer Engineering Department,
Maze Routing مرتضي صاحب الزماني.
Massachusetts Institute of Technology 1 L14 – Physical Design Spring 2007 Ajay Joshi.
Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.
Jason Cong‡†, Guojie Luo*†, Kalliopi Tsota‡, and Bingjun Xiao‡ ‡Computer Science Department, University of California, Los Angeles, USA *School of Electrical.
Register Placement for High- Performance Circuits M. Chiang, T. Okamoto and T. Yoshimura Waseda University, Japan DATE 2009.
1 Efficient Obstacle-Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Szu-Yu Chen, Chi-Feng Li, Yao-Wen Chang, Chia-Lin Yang National Taiwan.
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.
Chris Chu Iowa State University Yiu-Chung Wong Rio Design Automation
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 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 8 Lecture 8 Network Flow Based Modeling Mustafa Ozdal Computer Engineering Department,
Routing Topology Algorithms Mustafa Ozdal 1. Introduction How to connect nets with multiple terminals? Net topologies needed before point-to-point routing.
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.
VLSI Physical Design Automation
VLSI Physical Design Automation
VLSI Physical Design Automation
VLSI Physical Design Automation
Multilevel Full-Chip Routing for the X-Based Architecture
Iterative Deletion Routing Algorithm
EE4271 VLSI Design, Fall 2016 VLSI Channel Routing.
VLSI Physical Design Automation
ICS 252 Introduction to Computer Design
Under a Concurrent and Hierarchical Scheme
Presentation transcript:

6/5/ VLSI Physical Design Automation Prof. David Pan Office: ACES Detailed Routing (III)

2 6/5/2016 Channel/Switch Box Routing Algorithm aGraph theory based algorithm Yoshimura and Kuh aGreedy algorithm Rivest and Fiduccia aMaze routing and its variations Lee, Robin, Soukup, Ohtsuki aHierarchical wire routing Burstein and Pelavin Channel routing Channel / switchbox and general area routing

3 6/5/2016 Over-the-Cell Routing Channel width can be reduced if some nets can be routed outside the channel. The metal layers available over the cell rows can be used for routing. (It is possible due to the limited use of the M2 metal layer within the cells.) Commonly used in standard-cell design.

6/5/ Two-Layer Over-the-Cell Router “Over-the-Cell Channel Routing”, J. Cong and C. L. Liu, TCAD, pages , 1990.

5 6/5/2016 Boundary Terminal Model (BTM) Terminal Rows VDD GND

6 6/5/2016 The Routing Problem Boundary Terminal Model (BTM) Two routing layers in the channel. One routing layer for over-the-cell routing, so the routing must be planar

7 6/5/2016 Hyper-terminal A Hyper-terminal is a set of terminals connected by over- the-cell wires A Hyper-terminals: {L}, {M,O}, {N}, {P}, {Q,U,V}, {R,T}, {S} BCDEFGHIJK MNOPQRSTUVL Hyper-terminals: {A,C}, {B}, {D,F,K}, {E}, {G,I}, {H}, {J}

8 6/5/2016 Three Steps of the Algorithm Routing over the cells. Select a net segment from each multi-terminal net to be connected in the channel. Routing in the channel.

9 6/5/2016 Routing Over the Cells Reduced to a Multi-Terminal Single-Layer One-Sided Routing Problem (MSOP). Solved by dynamic programming.

10 6/5/2016 MSOP The fewer the number of hyper-terminals resulted, the simpler the subsequent channel routing problem. Routing a row of terminals using a single routing layer on one side of the row such that the number of hyper- terminals is minimized ? Can you give a solution for this instance?

11 6/5/2016 MSOP Can be solved by dynamic programming. Consider the sub-problem from column i to j. Let M(i, j) be the maximum reduction in the number of hyper- terminals from i to j. i i+1 j No nets at i or the net is not connected to [i,j] i i+1 j Net p p1p1p1p1 p2p2p2p2 Case 1: M(i, j) = ??? Case 2: M(i, j) = ???

12 6/5/2016 MSOP i i+1 j No nets at i or the net is not connected to [i, j] i i+1 j Net p p1p1p1p1 p2p2p2p2 Case 1: M(i, j) = ??? Case 2: M(i, j) = ??? Putting the two cases together: M(i, j) = ???

13 6/5/2016 MSOP Algorithm Let n be the total number of pins on the row. MSOP algorithm: For i = 1 to n M(i, i) = 0; For j = ?? to ?? For i = ?? to ?? Compute M(i, i+j) Return M(1, n)

14 6/5/2016 Runtime of MSOP Let n be the total number of columns. For each (i, j), M(i, j) can be found in O(?) time. There are O(n 2 ) pairs of (i, j). So: Total time = O(?)

15 6/5/2016 Selection of Net Segment Need to determine which terminal within a hyper- terminal to be used in the subsequent channel routing. Can be transformed to a special spanning forest problem Pick one out of four

16 6/5/2016 Connectivity Graph A weighted multi-graph. Each hyper-terminal is represented by a vertex and each net is re-presented by a connected component.[8,10] [6,8] [8,10] [8,11] [6,10] [10,10] [10,11] a connected component Take net 3 as an example: column

17 6/5/2016 Minimum Density Spanning Forest Problem (MDSFP) Want to connect hyper-terminals of the same net together. That is, finding a spanning tree for each connected component, or finding a spanning forest for the whole connectivity graph. The goal is to minimize the channel density. This problem is NP-Complete. Efficient heuristic is proposed.

18 6/5/2016 Heuristic for MDSFP For each edge e, let r(e) = d(e)/D, where d(e) is the density of the interval associated with edge e and D is density of the whole channel. r(e) measures the relative degree of congestion over the interval associated with e. The heuristics repeatedly removes edges of high r() from the connectivity graph until a spanning forest is obtained. The value of r(e) for each edge e is updated after each removal.

19 6/5/2016 Via Minimization In VLSI fabrication, the yield is inversely related to the number of vias. Every via has an associated resistance that affects the circuit performance. The size of a via is usually larger than the width of a wire. As a result, more vias will lead to more routing space.

20 6/5/2016 Two Different Problems Constrained Via Minimization (CVM) Unconstrained Via Minimization (UVM)

21 6/5/2016 Constrained Via Minimization (CVM) Given a detailed routing solution, minimize the number of vias by assigning wire segments to different layers. Vias occur only at the turning points. Also called the Layer Assignment Problem

22 6/5/2016 Unconstrained Via Minimization (UVM) Minimize the number of vias during routing. Vias can occur anywhere as needed. Consider an unreserved layer model for routing (both vertical and horizontal wires can be routed on the same layer in each region).

23 6/5/2016 Topological Routing UVM is also known as Topological Routing. Topological Routing Geometric Mapping

24 6/5/2016 CVM and UVM UVM is less popular than CVM since via minimization is usually considered secondary. Minimization of channel width, completion of routing, and minimization of total wirelength are considered more important. Note: modern routers usually will follow “preferred” layers. So via minimization essentially is to minimize the number of “bends”. We will show CVM just to illustrate some algorithmic aspects of via minimization.

6/5/ CVM by Reduction to Maximum Cut Problem “Optimal Layer Assignment for Interconnect”, R. Y. Pinter, IEEE Int’l Conf. Circuits and Computers, pages , Sept

26 6/5/2016 Overview For two routing layers. Partition the routing region into clusters such that no “ junction ” is of degree more than 3. The problem can be transformed to finding a maximum cut in a graph.

27 6/5/2016 Cluster Graph Representation S6S6S6S6 S2S2S2S2 S3S3S3S3 S4S4S4S4 S5S5S5S5 S7S7S7S7 S1S1S1S1Cluster h1h1h1h1 h2h2h2h2 h3h3h3h3 h4h4h4h4 h5h5h5h5 h6h6h6h6 h7h7h7h7 h8h8h8h8 Via S1S1S1S1 S2S2S2S2 S6S6S6S6 S3S3S3S3 S4S4S4S4 S5S5S5S5 S7S7S7S7 h1h1h1h1 h2h2h2h2 h3h3h3h3 h5h5h5h5 h7h7h7h7 h8h8h8h8 ClusterGraph

28 6/5/2016 Layer Assignment In every cluster, there are only two possible ways to assign layers. Class C 1 : Horizontal wires on layer 1 Vertical wires on layer 2 Class C 2 : Horizontal wires on layer 2 Vertical wires on layer 1

29 6/5/2016 Assign Clusters to C 1 and C 2 If two adjacent clusters are in the same class, the via candidates joining them are needed. If two adjacent clusters are in different classes, the vias candidates joining them are not needed. Same Class Different Classes C2C2C2C2 C2C2C2C2 C2C2C2C2 C1C1C1C1

30 6/5/2016 Example of Class Assignment Cluster Graph S1S1S1S1 S2S2S2S2 S6S6S6S6 S3S3S3S3 S4S4S4S4 S5S5S5S5 S7S7S7S7 h1h1h1h1 h2h2h2h2 h3h3h3h3 h5h5h5h5 h7h7h7h7 h8h8h8h8 C1C1C1C1 C1C1C1C1 C2C2C2C2 C1C1C1C1 C1C1C1C1 C2C2C2C2 C1C1C1C S6S6S6S6 h1h1h1h1 h2h2h2h2 h3h3h3h3 h4h4h4h4 h5h5h5h5 h6h6h6h6 h7h7h7h7 h8h8h8h8 S1S1S1S1 S2S2S2S2 S3S3S3S3 S4S4S4S4 S5S5S5S5 S7S7S7S7 Original: 8 vias 8 vias This solution: 4 vias 4 vias

31 6/5/2016 Example of Class Assignment A better solution: S1S1S1S1 S2S2S2S2 S6S6S6S6 S3S3S3S3 S4S4S4S4 S5S5S5S5 S7S7S7S7 h1h1h1h1 h2h2h2h2 h3h3h3h3 h5h5h5h5 h7h7h7h7 h8h8h8h8 C1C1C1C1 C2C2C2C2 C1C1C1C1 C1C1C1C1 C2C2C2C2 C1C1C1C1 C2C2C2C S6S6S6S6 h1h1h1h1 h2h2h2h2 h3h3h3h3 h4h4h4h4 h5h5h5h5 h6h6h6h6 h7h7h7h7 h8h8h8h8 S1S1S1S1 S2S2S2S2 S3S3S3S3 S4S4S4S4 S5S5S5S5 S7S7S7S7 Optimal Solution: 2 vias 2 vias

32 6/5/2016 Class Assignment Problem No. of vias = No. of via candidates – No. of edges connecting a vertex in C 1 and a vertex in C 2 S1S1S1S1 S2S2S2S2 S6S6S6S6 S3S3S3S3 S4S4S4S4 S5S5S5S5 S7S7S7S7 C1C1C1C1 C2C2C2C2 Optimal Solution S1S1S1S1 S2S2S2S2 S6S6S6S6 S3S3S3S3 S4S4S4S4 S5S5S5S5 S7S7S7S7 C1C1C1C1 C2C2C2C2 No. of edges here = no. of vias that can be eliminated can be eliminated

33 6/5/2016 Maximum Cut Problem The layer assignment problem is equivalent to the Maximum Cut Problem of a graph. The Maximum Cut Problem is –NP-Complete for general graphs. –Solvable in polynomial time for planar graphs. [Hadlock 1975, SIAM Journal on Computing] Cluster graphs are planar. A cut Maximum cut = A cut with the maxi- mum no. of edges mum no. of edges

34 6/5/2016 Other Routing Issues Gridless Routing Multi-level routing DSM effects

35 6/5/2016 Gridless Detailed Routing Gridless Routing –More flexible –Longer runtime due to complex data structure Gridless Detailed Routing Algorithms –Shape (Tile) based routing [Sato, et al., ISCS87, Margarino, et al., TCAD87, Dion, et al., WRL Research Report 95/3, Liu, et al., ISPD98] –Graph-based routing [Wu, et al., TC87, Ohtsuki, ICCAS85, Cong, et al., Zheng, et al., TCAD96, ICCAD ’ 99] –Subgrid routing [US Patent, 6,507,941 B1, Jan. 2003]

36 6/5/2016 Multilevel Routing Framework (MARS [TCAD05]) Fine routing tile generation Detailed routing G1G1 Coarsening G0G0 Refinement Initial routing GkGk G0G0 G1G1 Multicommodity flow based algorithm History-based iterative refinement Implicit graph gridless routing [Courtesy Prof. Jason Cong]

37 6/5/2016 DSM Considerations Antenna effects Crosstalk noise Interconnect optimization & planning Manufacturability …… Will be covered in EE382V, Optimization Issues in VLSI CAD