VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig 1 FLUTE: Fast Lookup Table Based RSMT Algorithm.

Slides:



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

Distance and Routing Labeling Schemes in Graphs
Learning Trajectory Patterns by Clustering: Comparative Evaluation Group D.
O(N 1.5 ) divide-and-conquer technique for Minimum Spanning Tree problem Step 1: Divide the graph into  N sub-graph by clustering. Step 2: Solve each.
CS252: Systems Programming Ninghui Li Program Interview Questions.
Introduction to Bioinformatics Algorithms Divide & Conquer Algorithms.
Meng-Kai Hsu, Sheng Chou, Tzu-Hen Lin, and Yao-Wen Chang Electronics Engineering, National Taiwan University Routability Driven Analytical Placement for.
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.
FastPlace: Efficient Analytical Placement using Cell Shifting, Iterative Local Refinement and a Hybrid Net Model FastPlace: Efficient Analytical Placement.
VLSI Physical Design: From Graph Partitioning to Timing Closure Paper Presentation © KLMH Lienig 1 EECS 527 Paper Presentation Topological Design of Clock.
Placer Suboptimality Evaluation Using Zero-Change Transformations Andrew B. Kahng Sherief Reda VLSI CAD lab UCSD ECE and CSE Departments.
1 Spanning Trees Lecture 20 CS2110 – Spring
Minimum-Buffered Routing of Non- Critical Nets for Slew Rate and Reliability Control Supported by Cadence Design Systems, Inc. and the MARCO Gigascale.
Approximation Algorithms: Combinatorial Approaches Lecture 13: March 2.
Branch and Bound Similar to backtracking in generating a search tree and looking for one or more solutions Different in that the “objective” is constrained.
38 th Design Automation Conference, Las Vegas, June 19, 2001 Creating and Exploiting Flexibility in Steiner Trees Elaheh Bozorgzadeh, Ryan Kastner, Majid.
Chapter 9 Graph algorithms. Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
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.
University of CreteCS4831 The use of Minimum Spanning Trees in microarray expression data Gkirtzou Ekaterini.
Chapter 2 – Netlist and System Partitioning
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Circuit Simulation Based Obstacle-Aware Steiner Routing Yiyu Shi, Paul Mesa, Hao Yu and Lei He EE Department, UCLA Partially supported by NSF Career Award.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 18. Global Routing (II)
Backtracking.
Chih-Hung Lin, Kai-Cheng Wei VLSI CAD 2008
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.
Global Routing. 2 B (2, 6) A (2, 1) C (6, 4) B (2, 6) A (2, 1) C (6, 4) S (2, 4) Rectilinear Steiner minimum tree (RSMT) Rectilinear minimum spanning.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
Confidentiality Preserving Integer Programming for Global Routing Hamid Shojaei, Azadeh Davoodi, Parmesh Ramanathan Department of Electrical and Computer.
1 Coupling Aware Timing Optimization and Antenna Avoidance in Layer Assignment Di Wu, Jiang Hu and Rabi Mahapatra Texas A&M University.
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig 1 EECS 527 Paper Presentation High-Performance.
Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.
Seeing the Forest and the Trees: Steiner Wirelength Optimization in Placement Jarrod A. Roy, James F. Lu and Igor L. Markov University of Michigan Ann.
Graph Algorithms. Definitions and Representation An undirected graph G is a pair (V,E), where V is a finite set of points called vertices and E is a finite.
Thermal-aware Steiner Routing for 3D Stacked ICs M. Pathak and S.K. Lim Georgia Institute of Technology ICCAD 07.
Researchers: Preet Bola Mike Earnest Kevin Varela-O’Hara Han Zou Advisor: Walter Rusin Data Storage Networks.
Network and Communications Ju Wang Chapter 5 Routing Algorithm Adopted from Choi’s notes Virginia Commonwealth University.
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Chapter 5 Network Layer.
Prims’ spanning tree algorithm Given: connected graph (V, E) (sets of vertices and edges) V1= {an arbitrary node of V}; E1= {}; //inv: (V1, E1) is a tree,
Li Wang Haorui Wu University of South Carolina 04/02/2015 A* with Pattern Databases.
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing © KLMH Lienig 1 What Makes a Design Difficult to Route Charles.
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.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Chris Chu Iowa State University Yiu-Chung Wong Rio Design Automation
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 1 Course Overview Mustafa Ozdal Computer Engineering Department, Bilkent University.
Routing Tree Construction with Buffer Insertion under Obstacle Constraints Ying Rao, Tianxiang Yang Fall 2002.
Maze Routing Algorithms with Exact Matching Constraints for Analog and Mixed Signal Designs M. M. Ozdal and R. F. Hentschke Intel Corporation ICCAD 2012.
State space representations and search strategies - 2 Spring 2007, Juris Vīksna.
Routing Topology Algorithms Mustafa Ozdal 1. Introduction How to connect nets with multiple terminals? Net topologies needed before point-to-point routing.
Chapter 13 Backtracking Introduction The 3-coloring problem
Estimating Recombination Rates. Daly et al., 2001 Daly and others were looking at a 500kb region in 5q31 (Crohn disease region) 103 SNPs were genotyped.
Example Apply hierarchical clustering with d min to below data where c=3. Nearest neighbor clustering d min d max will form elongated clusters!
Ion I. Mandoiu, Vijay V. Vazirani Georgia Tech Joseph L. Ganley Simplex Solutions A New Heuristic for Rectilinear Steiner Trees.
Clustering [Idea only, Chapter 10.1, 10.2, 10.4].
A Place-based Model for the Internet Topology Xiaotao Cai Victor T.-S. Shi William Perrizo NDSU {Xiaotao.cai, Victor.shi,
Steiner trees: Approximation Algorithms
VLSI Physical Design Automation
Data Transformation: Normalization
Chapter 7 – Specialized Routing
2 University of California, Los Angeles
Constrained Bipartite Vertex Cover: The Easy Kernel is Essentially Tight Bart M. P. Jansen June 4th, WORKER 2015, Nordfjordeid, Norway.
Bounded Radius Routing
Distance and Routing Labeling Schemes in Graphs
BNFO 602 Phylogenetics Usman Roshan.
Sungho Kang Yonsei University
Backtracking and Branch-and-Bound
CS 584 Project Write up Poster session for final Due on day of final
FLUTE: Fast Lookup Table Based RSMT Algorithm for VLSI Design
Presentation transcript:

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig 1 FLUTE: Fast Lookup Table Based RSMT Algorithm for VLSI Design Presented by: Yalcin Yilmaz

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig 2 FLUTE: Fast Lookup Table Based RSMT Algorithm for VLSI Design  Fast and accurate RSMT construction technique  Finds optimal RSMTs for up to nine pins  Near minimal (~1%) RSTs for larger nets  Based on a precomputed lookup table for low degree nets  Uses a net-breaking technique for high degree nets  O(n log n) runtime

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig 3 FLUTE: Fast Lookup Table Based RSMT Algorithm for VLSI Design  Degree-n nets are partitioned into n! groups  Potentially optimal wirelength vectors (POWVs) represent linear combination of distances between adjacent pins  Few POWVs for each group are precomputed and stored in a table  A potentially optimal Steiner tree (POST) associated with each POWV is also stored  To find the optimal RSMT of a net  wirelengths corresponding to POWVs for the net group are computed  the POST of the POWV with minimum wirelength is returned

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig 4 FLUTE: Fast Lookup Table Based RSMT Algorithm for VLSI Design Pins for a sample net All POSTs for the sample net (1,2,1,1,1,1,2) can not be shorter than (1,2,1,1,1,1,1) Wirelength needs to be calculated for (1,2,1,1,1,1,1) vs. (1,1,1,1,1,2,1)

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig 5 FLUTE: Fast Lookup Table Based RSMT Algorithm for VLSI Design  RSMT is easy to find if all the POWVs and POSTs are precomputed in a lookup table  Infinite number of different nets  Nets that can share the same POWVs are grouped together  Steiner trees are topologically equivalent if they can be transformed into each other by changing the edge lengths  Same position sequence  To obtain RSMT for a net, look up the vectors for the corresponding group from the table  Wirelength is computed based on vector entries and edge lengths  Minimum wirelength vector’s POST gives RSMT

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig FLUTE: Fast Lookup Table Based RSMT Algorithm for VLSI Design Lookup Table Generation  Boundary size reduction – to reduce the number of Steiner trees generated  Grid size is reduced by compacting one of the four boundaries (pins on boundary shifted to the adjacent grid line)  Original Steiner trees are generated by expanding 6 A non-comapactible grid

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig FLUTE: Fast Lookup Table Based RSMT Algorithm for VLSI Design  A grid is compactible if it has boundary with only one pin  A grid is compactible if it has a corner with one pin and both boundaries adjacent have exactly one other pin  A grid is compactible if it has up to six pins on all four boundaries 7

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig FLUTE: Fast Lookup Table Based RSMT Algorithm for VLSI Design  For a grid with seven pins, boundary compaction together with near-ring structures can generate all POWVs  Near-ring structure: bounding box that surrounds the grid with edges connecting one of the seven pairs of the adjacent pins removed.  For eight or more pins Connect-adj-pins() used to generate extra trees  It connects two or more adjacent pins on the same boundary and introduces a branch along that boundary  Then pins are replaced by a pseudo-pin  Gen-Lut() function is called to generate POSTs of reduced grid  Original POSTs are generated by connecting the branch with the POSTs of reduced grid  Boundary compaction together with Connect-adj-pins() is sufficient to generate all POWVs for nets with up to 10 pins 8

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig FLUTE: Fast Lookup Table Based RSMT Algorithm for VLSI Design 9 Gen-LUT(G) Algorithm Input: A grid G with some pins at grid nodes Output: One POST for each POWV of the group associated with G begin If G is simple enough, generate and return the set of POSTs for G else if any boundary b contains only one pin, return Expand-b(Gen-LUT(Compact-b(G)) else if there is a corner with one pin such that both its adjacent boundaries b1 and b2 have one other pin, return Prune(Expand-b1(Gen-LUT(Compact-b1(G))) U (Expand-b2(GEN-LUT(Compact-b2(G))) else if there are 7 pins with all 7 pins on boundaries, S = {Trees with near-ring structure connecting all pins} else if there are more than 8 pins with more than seven pins on boundaries S = Connect-adj-pins(G,d) where d = # of pins -3 return Prune(S U Expand-left(Gen-LUT(Compact-left(G))) U Expand-right(Gen-LUT(Compact-right(G))) U Expand-top(Gen-LUT(Compact-top(G))) U Expand-bot(Gen-LUT(Compact-bot(G)))) end

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig 10 FLUTE: Fast Lookup Table Based RSMT Algorithm for VLSI Design Reduction of Lookup Table Size  In order to reduce storage requirements for POWVs and associated POSTs in the lookup table, similar POWVs can be grouped together and differences can be stored  Numbers of POWVs or the POSTs do not decrease  Alternatively, equivalence of groups can be exploited to generate less POWVs and POSTs  Storage requirements and table generation time decreases  Boundary reduction causes two different nets to have same set of POWVs  POSTs can also be shared  Equivalancy of groups can reduce the number of groups generated and stored by 25.8x

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig FLUTE: Fast Lookup Table Based RSMT Algorithm for VLSI Design  Instead of adding edge lengths (to reduce number of addition operations), an MST-based approach can be used to reduce minimum wirelength computation time  q nodes corresponding to q POWVs in the set and one more node to represent wirelength vector (1,…,1)  Weight of each edge is the number of addition/subtraction required to convert from wirelength of one vector to other  Total edge weight of MST gives the number of additions/subtractions required to compute POWVs  Based on the fact that most POWVs are similar to each other i.e wirelength computations differ by a few additions/subtractions  Can significantly speed up evaluation of high-degree nets 11

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig FLUTE: Fast Lookup Table Based RSMT Algorithm for VLSI Design  Net Breaking for High-degree Nets  Table lookup approach is only practical for low-degree nets due to storage and computation time requirements  A lookup table is constructed up to degree D = 9  Higher-degree (>9) nets are broken into subnets with degrees 2 to 9  Net Breaking Heuristics  If a net is broken at r, then two subnets: pin 1 to r, and pin r to n  A score is computed to evaluate the most desirable way of breaking (based on if the edge is likely to be counted in both partitions or not)  Score S(r) = S 1 (r) – αS 2 (r) – βS 3 (r) – γS 4 (r) (α=0.3, β=7.4/(n+10), γ=4.8/(n-1))  S 1 (r) = y r+1 - y r-1 (it is better to break at pin r if large)  S 2 (r) = 2(x 3 – x 2 ) if s r = 1 or 2 = x sr+1 – x sr-1 if 3 ≤ s r ≤ n-2 = 2(x n-1 – x n-2 ) if s r = n - 1 or n  S 3 (r) = |s – (n+1)/2| x h + | r – (n+1)/2| x v, h=(x n-1 – x 2 )/(n-3) and v=(y n-1 – y 2 )/(n-3)  S 4 (r) = total HPWL of the two subnets ( direct way to predict resulting wirelength) 12

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig 13 FLUTE: Fast Lookup Table Based RSMT Algorithm for VLSI Design  After subtrees of subnets are generated, they are combined to form ST  Redundant edges detected in constant time  Removed via extra Steiner node  Local refinement technique using FLUTE to reduce wirelength by reconstructing subtree connecting the neighborhood of breaking pin

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig FLUTE: Fast Lookup Table Based RSMT Algorithm for VLSI Design Experimental Results: 14

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig 15 FLUTE: Fast Lookup Table Based RSMT Algorithm for VLSI Design Questions? Thank You !