Chapter 7 – Specialized Routing

Slides:



Advertisements
Similar presentations
OCV-Aware Top-Level Clock Tree Optimization
Advertisements

4/22/ Clock Network Synthesis Prof. Shiyan Hu Office: EREC 731.
Ch.7 Layout Design Standard Cell Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
1 Interconnect Layout Optimization by Simultaneous Steiner Tree Construction and Buffer Insertion Presented By Cesare Ferri Takumi Okamoto, Jason Kong.
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.
CLOCK DISTRIBUTION Shobha Vasudevan. The clock distribution problem Large Chip Area Different flop densities Non-uniform distribution of flops All flops.
CSE477 L19 Timing Issues; Datapaths.1Irwin&Vijay, PSU, 2002 CSE477 VLSI Digital Circuits Fall 2002 Lecture 19: Timing Issues; Introduction to Datapath.
© Yamacraw, 2001 Minimum-Buffered Routing of Non-Critical Nets for Slew Rate and Reliability A. Zelikovsky GSU Joint work with C. Alpert.
VLSI Physical Design: From Graph Partitioning to Timing Closure Paper Presentation © KLMH Lienig 1 EECS 527 Paper Presentation Topological Design of Clock.
Rajat K. Pal. Chapter 3 Emran Chowdhury # P Presented by.
Chapter 7 – Specialized Routing
Chapter 2 – Netlist and System Partitioning
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.
Chip Planning 1. Introduction Chip Planning:  Deals with large modules with −known areas −fixed/changeable shapes −(possibly fixed locations for some.
1 ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical Verification and.
NetworkModel-1 Network Optimization Models. NetworkModel-2 Network Terminology A network consists of a set of nodes and arcs. The arcs may have some flow.
Page 1 Department of Electrical Engineering National Chung Cheng University, Chiayi, Taiwan Power Optimization for Clock Network with Clock Gate Cloning.
VLSI Physical Design Automation
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig 1 FLUTE: Fast Lookup Table Based RSMT Algorithm.
Introduction to Routing. The Routing Problem Apply after placement Input: –Netlist –Timing budget for, typically, critical nets –Locations of blocks and.
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Interconnect design. n Crosstalk. n Power optimization.
V. V. Vazirani. Approximation Algorithms Chapters 3 & 22
Xin-Wei Shih and Yao-Wen Chang.  Introduction  Problem formulation  Algorithms  Experimental results  Conclusions.
Global Routing.
CS774. Markov Random Field : Theory and Application Lecture 13 Kyomin Jung KAIST Oct
© KLMH Lienig 1 Chapter 1 – Introduction Original Authors: Andrew B. Kahng, Jens Lienig, Igor L. Markov, Jin Hu VLSI Physical Design: From Graph Partitioning.
Low-Power Gated Bus Synthesis for 3D IC via Rectilinear Shortest-Path Steiner Graph Chung-Kuan Cheng, Peng Du, Andrew B. Kahng, and Shih-Hung Weng UC San.
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 2 Background and Introduction Mustafa Ozdal Computer Engineering Department, Bilkent.
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.
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Interconnect design. n Crosstalk. n Power optimization.
Register Placement for High- Performance Circuits M. Chiang, T. Okamoto and T. Yoshimura Waseda University, Japan DATE 2009.
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 3 Partitioning Mustafa Ozdal Computer Engineering Department, Bilkent University Mustafa.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
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.
LEMAR: A Novel Length Matching Routing Algorithm for Analog and Mixed Signal Circuits H. Yao, Y. Cai and Q. Gao EDA Lab, Department of CS, Tsinghua University,
Routing Topology Algorithms Mustafa Ozdal 1. Introduction How to connect nets with multiple terminals? Net topologies needed before point-to-point routing.
CSE 248 Skew 1Kahng, UCSD 2011 CSE248 Spring 2011 Skew.
Clock Distribution Network
VLSI Floorplanning and Planar Graphs prepared and Instructed by Shmuel Wimer Eng. Faculty, Bar-Ilan University July 2015VLSI Floor Planning and Planar.
Zero Skew Clock Routing ECE 556 Project Proposal John Thompson Kurt Ting Simon Wong.
An Exact Algorithm for Difficult Detailed Routing Problems Kolja Sulimma Wolfgang Kunz J. W.-Goethe Universität Frankfurt.
VLSI Physical Design Automation
Trees Chapter 15.
Chapter 1 – Introduction
CS137: Electronic Design Automation
Chapter 5. Optimal Matchings
Buffer Insertion with Adaptive Blockage Avoidance
ELEC 7770 Advanced VLSI Design Spring 2016 Zero-Skew Clock Routing
1.3 Modeling with exponentially many constr.
Chapter 2 – Netlist and System Partitioning
Timing Analysis 11/21/2018.
Chapter 5 – Global Routing
Robustness of wireless ad hoc network topologies
Performance Analysis (Clock Signal) مرتضي صاحب الزماني.
Buffered tree construction for timing optimization, slew rate, and reliability control Abstract: With the rapid scaling of IC technology, buffer insertion.
Robustness of wireless ad hoc network topologies
Sungho Kang Yonsei University
1.3 Modeling with exponentially many constr.
Chapter 6 Network Flow Models.
Buffered Steiner Trees for Difficult Instances
Lecture 19 Linear Program
Zero Skew Clock tree Implementation
Timing Analysis and Optimization of Sequential Circuits
Zero-Skew Trees Zero-Skew Tree: rooted tree in which all root-to-leaf paths have the same length Used in VLSI clock routing & network multicasting.
Clock Tree Routing With Obstacles
Fast Min-Register Retiming Through Binary Max-Flow
ICS 252 Introduction to Computer Design
Presentation transcript:

Chapter 7 – Specialized Routing VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 7 – Specialized Routing Original Authors: Andrew B. Kahng, Jens Lienig, Igor L. Markov, Jin Hu Lecture by Prof. John Reuben, VIT University, INDIA

Functional Design and Logic Design Physical Verification and Signoff 7 Specialized Routing System Specification Partitioning Architectural Design ENTITY test is port a: in bit; end ENTITY test; Functional Design and Logic Design Chip Planning Circuit Design Placement Physical Design Clock Tree Synthesis Physical Verification and Signoff DRC LVS ERC Signal Routing Fabrication Timing Closure Packaging and Testing Chip

7.4 Basic Concepts in Clock Networks 7.1 Introduction to Area Routing 7.2 Net Ordering in Area Routing 7.3 Non-Manhattan Routing 7.3.1 Octilinear Steiner Trees 7.3.2 Octilinear Maze Search 7.4 Basic Concepts in Clock Networks 7.4.1 Terminology 7.4.2 Problem Formulations for Clock-Tree Routing 7.5 Modern Clock Tree Synthesis 7.5.1 Constructing Trees with Zero Global Skew 7.5.2 Clock Tree Buffering in the Presence of Variation

7.4.1 Terminology A clock routing instance (clock net) is represented by n+1 terminals, where s0 is designated as the source, and S = {s1,s2, … ,sn} is designated as sinks Let si, 0 ≤ i ≤ n, denote both a terminal and its location A clock routing solution consists of a set of wire segments that connect all terminals of the clock net, so that a signal generated at the source propagates to all of the sinks Two aspects of clock routing solution: topology and geometric embedding The clock-tree topology (clock tree) is a rooted binary tree G with n leaves corresponding to the set of sinks Internal nodes = Steiner points

7.4.1 Terminology u1 s0 s1 u2 u3 u4 s2 s3 s4 s5 s6 s1 s2 s4 s6 s5 s0 Clock routing problem instance u1 s0 s1 u2 u3 u4 s2 s3 s4 s5 s6 Connection topology s1 s2 s4 s6 s5 s0 s3 u1 u2 u3 u4 Embedding s1 s2 s0 s3 s5 s4 s6 © 2011 Springer Verlag

7.4.1 Terminology Clock skew: (maximum) difference in clock signal arrival times between sinks Local skew: maximum difference in arrival times of the clock signal at the clock pins of two or more related sinks Sinks within distance d > 0 Flip-flops or latches connected by a directed signal path Global skew: maximum difference in arrival times of the clock signal at the clock pins of any two (related or unrelated) sinks Difference between shortest and longest source-sink path delays in the clock distribution network The term “skew” typically refers to “global skew”

7.4.2 Problem Formulations for Clock-Tree Routing Zero skew: zero-skew tree (ZST) ZST problem Bounded skew: true ZST may not be necessary in practice Signoff timing analysis is sufficient with a non-zero skew bound In addition to final (signoff) timing, this relaxation can be useful with intermediate delay models when it facilitates reductions in the length of the tree Bounded-Skew Tree (BST) problem

7.5 Modern Clock Tree Synthesis 7.1 Introduction to Area Routing 7.2 Net Ordering in Area Routing 7.3 Non-Manhattan Routing 7.3.1 Octilinear Steiner Trees 7.3.2 Octilinear Maze Search 7.4 Basic Concepts in Clock Networks 7.4.1 Terminology 7.4.2 Problem Formulations for Clock-Tree Routing 7.5 Modern Clock Tree Synthesis 7.5.1 Constructing Trees with Zero Global Skew 7.5.2 Clock Tree Buffering in the Presence of Variation

7.5 Modern Clock Tree Synthesis A clock tree should have low skew, while delivering the same signal to every sequential gate Clock tree synthesis is performed in two steps: (1) Initial tree construction (Sec. 7.5.1) with one of these scenarios Construct a regular clock tree, largely independent of sink locations Simultaneously determine a topology and an embedding Construct only the embedding, given a clock-tree topology as input (2) Clock buffer insertion and several subsequent skew optimizations (Sec. 7.5.2)

7.5.1 Constructing Trees with Zero Global Skew H-tree Exact zero skew due to the symmetry of the H-tree Used for top-level clock distribution, not for the entire clock tree Blockages can spoil the symmetry of an H-tree Non-uniform sink locations and varying sink capacitances also complicate the design of H-trees © 2011 Springer Verlag

Smaller Delay than H-Tree. X Tree If routing is not restricted to being rectilinear, an X-tree structure can be used. Smaller Delay than H-Tree. Cross talk due to close proximity of wires.

7.5.1 Constructing Trees with Zero Global Skew Method of Means and Medians (MMM) Can deal with arbitrary locations of clock sinks Basic idea: Recursively partition the set of terminals into two subsets of equal size (median) Connect the center of gravity (COG) of the set to the centers of gravity of the two subsets (the mean) Clock skew is only minimized. The resulting tree may not have zero-skew.

7.5.1 Constructing Trees with Zero Global Skew Method of Means and Medians (MMM) Find the center of gravity Partition S by the median Find the center of gravity for the left and right subsets of S Connect the center of gravity of S with the centers of gravity of the left and right subsets Final result after recursively performing MMM on each subset © 2011 Springer Verlag

7.5.1 Constructing Trees with Zero Global Skew Method of Means and Medians (MMM) S is the set of clock sinks in x-y plane Calculate the center of mass of points in S. Order the points in the increasing order of x-coordinate,Sx(S) partition the original region in the x dimension into two sub-regions with approximately equal number of points in each sub-region(SL and SR). Route from the center of mass of S to each of the centers of mass of SL and SR respectively. The regions SL and SR are then recursively split in the y direction (the direction opposite to the previous one).

Second phase-refinements Basic MMM algorithm produces non-rectilinear tree. Some wires may intersect eachother (more dense distributions of pins in some area can cause this) In the second phase, each wire in the tree can be converted to a rectilinear tree and also intersections can be removed by another algorithm.

Partition along x or y? If we make a cut in the x direction and then split the left and right regions in the y direction, we get the result shown in Figure (a).There will be skew. if we reverse the cut directions, i.e., split in the y direction first followed by a split in the x direction, we get the result shown in Figure (b), which has no skew between the endpoints. Figure (a) Figure (b)

7.5.1 Constructing Trees with Zero Global Skew Recursive Geometric Matching (RGM) RGM proceeds in a bottom-up fashion Compare to MMM, which is a top-down algorithm Basic idea: Recursively determine a minimum-cost geometric matching of n sinks Find a set of n / 2 line segments that match n endpoints and minimize total length (subject to the matching constraint) After each matching step, a balance or tapping point is found on each matching segment to preserve zero skew to the associated sinks The set of n / 2 tapping points then forms the input to the next matching step

7.5.1 Constructing Trees with Zero Global Skew Recursive Geometric Matching (RGM) Set of n sinks S Min-cost geometric matching Find balance or tapping points (point that achieves zero skew in the subtree, not always midpoint) Min-cost geometric matching Final result after recursively performing RGM on each subset © 2011 Springer Verlag

GMA GMA can achieve near zero average clock skew . MMM is a top-down algorithm, but GMA is a bottom-up algorithm.

H-flipping Apply geometric Post-processing matching recursively. An Example of GMA Tapping point (not necessarily the mid-point) H-flipping Post-processing Apply geometric matching recursively.