Buffered tree construction for timing optimization, slew rate, and reliability control Abstract: With the rapid scaling of IC technology, buffer insertion.

Slides:



Advertisements
Similar presentations
Porosity Aware Buffered Steiner Tree Construction C. Alpert G. Gandham S. Quay IBM Corp M. Hrkic Univ Illinois Chicago J. Hu Texas A&M Univ.
Advertisements

QoS-based Management of Multiple Shared Resources in Dynamic Real-Time Systems Klaus Ecker, Frank Drews School of EECS, Ohio University, Athens, OH {ecker,
OCV-Aware Top-Level Clock Tree Optimization
Advanced Interconnect Optimizations. Buffers Improve Slack RAT = 300 Delay = 350 Slack = -50 RAT = 700 Delay = 600 Slack = 100 RAT = 300 Delay = 250 Slack.
Cadence Design Systems, Inc. Why Interconnect Prediction Doesn’t Work.
4/22/ Clock Network Synthesis Prof. Shiyan Hu Office: EREC 731.
Buffer and FF Insertion Slides from Charles J. Alpert IBM Corp.
ELEN 468 Lecture 261 ELEN 468 Advanced Logic Design Lecture 26 Interconnect Timing Optimization.
1 Interconnect Layout Optimization by Simultaneous Steiner Tree Construction and Buffer Insertion Presented By Cesare Ferri Takumi Okamoto, Jason Kong.
Constructing Minimal Spanning Steiner Trees with Bounded Path Length Presenter : Cheng-Yin Wu, NTUGIEE Some of the Slides in this Presentation are Referenced.
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.
SLIP 2008, Newcastle Revisiting Fidelity: A Case of Elmore-based Y-routing Trees Tuhina Samanta*, Prasun Ghosal*, Hafizur Rahaman* and Parthasarathi Dasgupta†
© Yamacraw, 2001 Minimum-Buffered Routing of Non-Critical Nets for Slew Rate and Reliability A. Zelikovsky GSU Joint work with C. Alpert.
Minimum-Buffered Routing of Non- Critical Nets for Slew Rate and Reliability Control Supported by Cadence Design Systems, Inc. and the MARCO Gigascale.
38 th Design Automation Conference, Las Vegas, June 19, 2001 Creating and Exploiting Flexibility in Steiner Trees Elaheh Bozorgzadeh, Ryan Kastner, Majid.
Power-Aware Placement
ER UCLA UCLA ICCAD: November 5, 2000 Predictable Routing Ryan Kastner, Elaheh Borzorgzadeh, and Majid Sarrafzadeh ER Group Dept. of Computer Science UCLA.
EE4271 VLSI Design Interconnect Optimizations Buffer Insertion.
ABSTRACT We consider the problem of buffering a given tree with the minimum number of buffers under load cap and buffer skew constraints. Our contributions.
On-Line Adjustable Buffering for Runtime Power Reduction Andrew B. Kahng Ψ Sherief Reda † Puneet Sharma Ψ Ψ University of California, San Diego † Brown.
EE4271 VLSI Design Advanced Interconnect Optimizations Buffer Insertion.
ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II.
Steiner trees Algorithms and Networks. Steiner Trees2 Today Steiner trees: what and why? NP-completeness Approximation algorithms Preprocessing.
UC San Diego Computer Engineering VLSI CAD Laboratory UC San Diego Computer Engineering VLSI CAD Laboratory UC San Diego Computer Engineering VLSI CAD.
Advanced Interconnect Optimizations. Timing Driven Buffering Problem Formulation Given –A Steiner tree –RAT at each sink –A buffer type –RC parameters.
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Interconnect design. n Crosstalk. n Power optimization.
Xin-Wei Shih and Yao-Wen Chang.  Introduction  Problem formulation  Algorithms  Experimental results  Conclusions.
On the Construction of Data Aggregation Tree with Minimum Energy Cost in Wireless Sensor Networks: NP-Completeness and Approximation Algorithms National.
1 Coupling Aware Timing Optimization and Antenna Avoidance in Layer Assignment Di Wu, Jiang Hu and Rabi Mahapatra Texas A&M University.
A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.
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.
Thermal-aware Steiner Routing for 3D Stacked ICs M. Pathak and S.K. Lim Georgia Institute of Technology ICCAD 07.
Kwangsoo Han, Andrew B. Kahng, Hyein Lee and Lutong Wang
ARCHER:A HISTORY-DRIVEN GLOBAL ROUTING ALGORITHM Muhammet Mustafa Ozdal, Martin D. F. Wong ICCAD ’ 07.
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Interconnect design. n Crosstalk. n Power optimization.
A Faster Approximation Scheme for Timing Driven Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, and Charles J. Alpert** *Dept of ECE, Michigan Technological.
ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Gate and Interconnect Optimization.
Clock-Tree Aware Placement Based on Dynamic Clock-Tree Building Yanfeng Wang, Qiang Zhou, Xianlong Hong, and Yici Cai Department of Computer Science and.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Fast Algorithms for Slew Constrained Minimum Cost Buffering S. Hu*, C. Alpert**, J. Hu*, S. Karandikar**, Z. Li*, W. Shi* and C. Sze** *Dept of ECE, Texas.
Routing Tree Construction with Buffer Insertion under Obstacle Constraints Ying Rao, Tianxiang Yang Fall 2002.
Prof. Shiyan Hu Office: EERC 518
A Fully Polynomial Time Approximation Scheme for Timing Driven Minimum Cost Buffer Insertion Shiyan Hu*, Zhuo Li**, Charles Alpert** *Dept of Electrical.
Introduction to Multiple-multicast Routing Chu-Fu Wang.
1 Timing Closure and the constant delay paradigm Problem: (timing closure problem) It has been difficult to get a circuit that meets delay requirements.
Ion I. Mandoiu, Vijay V. Vazirani Georgia Tech Joseph L. Ganley Simplex Solutions A New Heuristic for Rectilinear Steiner Trees.
VLSI Physical Design Automation
Data Driven Resource Allocation for Distributed Learning
Presented by Tae-Seok Kim
Chapter 7 – Specialized Routing
Topics Driving long wires..
CS137: Electronic Design Automation
Jason Cong, David Zhigang Pan & Prasanna V. Srinivas
Buffer Insertion with Adaptive Blockage Avoidance
Sheqin Dong, Song Chen, Xianlong Hong EDA Lab., Tsinghua Univ. Beijing
Performance Analysis (Clock Signal) مرتضي صاحب الزماني.
Sungho Kang Yonsei University
Reinventing The Wheel: Developing a New Standard-Cell Synthesis Flow
Solving the Minimum Labeling Spanning Tree Problem
Backtracking and Branch-and-Bound
Buffered Steiner Trees for Difficult Instances
Reinventing The Wheel: Developing a New Standard-Cell Synthesis Flow
Objectives What have we learned? What are we going to learn?
CS137: Electronic Design Automation
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
ICS 252 Introduction to Computer Design
Bin Packing Michael T. Goodrich Some slides adapted from slides from
Integer Programming (IP)
CS137: Electronic Design Automation
Presentation transcript:

Buffered tree construction for timing optimization, slew rate, and reliability control Abstract: With the rapid scaling of IC technology, buffer insertion has become an increasingly critical optimization technique in high-performance design. The problem is to find minimum-buffer routings for each signal net subject to timing, slew rate, and/or capacitive load constraints. We give novel algorithms for (1) timing-driven buffering of difficult instances characterized by varying polarity requirements and large variations in sink criticalities, and (2) bounded-slew routing with minimum number of buffers. Experimental results on tests both randomly generated and extracted from real designs are encouraging. Student: Bao Liu Advisors: Andrew B. Kahng, Chung-Kuan Cheng URL:http://vlsicad.ucsd.edu source S3 4 S1 S2 2 12 5 B2 B1 1 SMT topology may be sub-optimal SMT Optimum Buffered SMT 7 3 Optimum solution U = 8 sink in.cap = buf.in.cap = 1 6 Hanan grid solution Optimum topology not on Hanan grid Motivation Buffer insertion is a fundamental technology used in modern high-performance VLSI design for reducing signal delay, bounding gate rise/fall time, and reducing degradation of signal transition edge Automating buffer insertion is critical: 800,000-1,000,000 repeaters are needed for top-level interconnect in 50nm technology Existing algorithms perform poorly on difficult instances characterized by large number of sinks, large variation in sink criticalities, non-uniform sink distribution, and varying polarity requirement + - Optimum topology Polarity effect on routing tree topology Steiner topology Contributions Proof that is NP-hard to approximate within a factor better than 2 Near-optimum (2+ε)-approximation algorithm Improved practical heuristics based on local improvement and clustering Key idea: simultaneous tree construction and buffering Comprehensive experimental study comparing proposed heuristics on tests both randomly generated and extracted from real designs. Timing-Driven Buffering w/ Polarity Constraints Given: Find: Bounded-Slew Minimum-Buffer Routing Given: a net N and sink/buffer input capacitances Find: a minimum-cost buffered routing tree for N such that the capacitive load of each buffer and of the source is at most a given upper bound, U. Hardness Results Optimal buffering of the Steiner Minimum Tree (SMT) is sub-optimal Optimum solution not always on Hanan grid NP-hard to approximate within a factor better than 2 C-Tree Algorithm xxxxxxxxxxxxx Linear-time algorithm for buffering fixed trees (KM) Traverse the tree in postorder using DFS For each edge e, insert buffers on e driving capacitance =U until remaining capacitance is less than U For each node v, if sub-tree capacitance is more than U, then repeatedly insert buffer right below v on the edge with largest residual capacitance until sub-tree capacitance is less than U Two-level Steiner tree construction xxxxxxxxxxxxx 2+ε approximation Compute c-approximate Steiner tree Add buffers using KM algorithm Theorem: Cost of resulting buffered tree is within 2c + ε of optimum. K-center Clustering xxxxxxxxxxxxx Cut & connect heuristic Find Steiner tree, add buffers using KM algorithm If any buffer drives less than U capacitance: - cut and connect a subtree with this buffer - relocate buffer if possible to drive capacitance =U Fig. 6 (a,b,c) here U = 10 sink in.cap = buf.in.cap = 1 After ‘load filling’, cutting a subtree from the other branch and connecting it to the heaviest branch, only 1 buffer needed. RMST + KM, which leads to 2 buffers needed. 6 5 2 1 1 2 1 3 3 5 2 source source 1.4 4061 26 -101 Flat Tree 4.1 4089 19 99 P-TreeAT 194 4119 84 P-Tree 4546 10 267 C-Tree CPU Time wire buffers Worst slack Algorithm Clustering heuristic Repeat until source drives at most U: Find Steiner tree; Add first buffer B using KM algorithm; Fill subtree driven by B with other sinks up to U capacitance; Replace all sinks driven by B with a single sink B #terminal U 2+e c&c clustering lower bound #buffers #buffers %improv. #buffers %improv. #buffers %improv. 100 200 90.58 90.50 0.09 87.02 3.93 85.76 5.32 100 500 31.73 31.54 0.60 30.61 3.53 29.77 6.18 100 1000 15.13 14.91 1.45 14.69 2.91 14.06 7.07 100 2000 7.20 7.01 2.64 6.91 4.03 6.77 5.97 Conclusion Essentially different routers should support buffered routng