Buffer and FF Insertion Slides from Charles J. Alpert IBM Corp.

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

Gregory Shklover, Ben Emanuel Intel Corporation MATAM, Haifa 31015, Israel Simultaneous Clock and Data Gate Sizing Algorithm with Common Global Objective.
EE 201A Modeling and Optimization for VLSI LayoutJeff Wong and Dan Vasquez EE 201A Noise Modeling Jeff Wong and Dan Vasquez Electrical Engineering Department.
Greedy Algorithms.
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.
Ispd-2007 Repeater Insertion for Concurrent Setup and Hold Time Violations with Power-Delay Trade-Off Salim Chowdhury John Lillis Sun Microsystems University.
4/22/ Clock Network Synthesis Prof. Shiyan Hu Office: EREC 731.
ELEN 468 Lecture 261 ELEN 468 Advanced Logic Design Lecture 26 Interconnect Timing Optimization.
1 Modeling and Optimization of VLSI Interconnect Lecture 9: Multi-net optimization Avinoam Kolodny Konstantin Moiseev.
Xing Wei, Wai-Chung Tang, Yu-Liang Wu Department of Computer Science and Engineering The Chinese University of HongKong
Confidentiality/date line: 13pt Arial Regular, white Maximum length: 1 line Information separated by vertical strokes, with two spaces on either side Disclaimer.
1 Interconnect Layout Optimization by Simultaneous Steiner Tree Construction and Buffer Insertion Presented By Cesare Ferri Takumi Okamoto, Jason Kong.
Noise Model for Multiple Segmented Coupled RC Interconnects Andrew B. Kahng, Sudhakar Muddu †, Niranjan A. Pol ‡ and Devendra Vidhani* UCSD CSE and ECE.
© Yamacraw, 2001 Minimum-Buffered Routing of Non-Critical Nets for Slew Rate and Reliability A. Zelikovsky GSU Joint work with C. Alpert.
Low-power Clock Trees for CPUs Dong-Jin Lee, Myung-Chul Kim and Igor L. Markov Dept. of EECS, University of Michigan 1 ICCAD 2010, Dong-Jin Lee, University.
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.
Interconnect Optimizations. A scaling primer Ideal process scaling: –Device geometries shrink by  = 0.7x) Device delay shrinks by  –Wire geometries.
EE4271 VLSI Design Interconnect Optimizations Buffer Insertion.
Interconnect Optimizations. A scaling primer Ideal process scaling: –Device geometries shrink by S  = 0.7x) Device delay shrinks by s –Wire geometries.
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.
Power Optimal Dual-V dd Buffered Tree Considering Buffer Stations and Blockages King Ho Tam and Lei He Electrical Engineering Department University of.
Interconnect Optimizations
Fast Buffer Insertion Considering Process Variation Jinjun Xiong, Lei He EE Department University of California, Los Angeles Sponsors: NSF, UC MICRO, Actel,
EE4271 VLSI Design Advanced Interconnect Optimizations Buffer Insertion.
Ryan Kastner ASIC/SOC, September Coupling Aware Routing Ryan Kastner, Elaheh Bozorgzadeh and Majid Sarrafzadeh Department of Electrical and Computer.
ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II.
Pei-Ci Wu Martin D. F. Wong On Timing Closure: Buffer Insertion for Hold-Violation Removal DAC’14.
Interconnect Synthesis. Buffering Related Interconnect Synthesis Consider –Layer assignment –Wire sizing –Buffer polarity –Driver sizing –Generalized.
Advanced Interconnect Optimizations. Timing Driven Buffering Problem Formulation Given –A Steiner tree –RAT at each sink –A buffer type –RC parameters.
Noise and Delay Uncertainty Studies for Coupled RC Interconnects Andrew B. Kahng, Sudhakar Muddu † and Devendra Vidhani ‡ UCLA Computer Science Department,
Signal Integrity Methodology on 300 MHz SoC using ALF libraries and tools Wolfgang Roethig, Ramakrishna Nibhanupudi, Arun Balakrishnan, Gopal Dandu Steven.
VLSI Physical Design: From Graph Partitioning to Timing Closure Paper Presentation © KLMH Lienig 1 EECS 527 Paper Presentation Accurate Estimation of Global.
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Interconnect design. n Crosstalk. n Power optimization.
Discrete Gate Sizing CENG 5270 – Tutorial 9 WILLIAM CHOW.
CSE 242A Integrated Circuit Layout Automation Lecture: Partitioning Winter 2009 Chung-Kuan Cheng.
1 Aggressive Crunching of Extracted RC Netlists Vasant Rao, Jeff Soreff, Ravi Ledalla (IBM EDA, Fishkill, NY), Fred Yang (IBM EDA, Almaden, CA)
1 Coupling Aware Timing Optimization and Antenna Avoidance in Layer Assignment Di Wu, Jiang Hu and Rabi Mahapatra Texas A&M University.
Lecture 12 Review and Sample Exam Questions Professor Lei He EE 201A, Spring 2004
EE 5900 Advanced Algorithms for Robust VLSI CAD, Spring 2009 Static Timing Analysis and Gate Sizing.
A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.
Wen-Hao Liu 1, Yih-Lang Li 1, and Kai-Yuan Chao 2 1 Department of Computer Science, National Chiao-Tung University, Hsin-Chu, Taiwan 2 Intel Architecture.
An Efficient Clustering Algorithm For Low Power Clock Tree Synthesis Rupesh S. Shelar Enterprise Microprocessor Group Intel Corporation, Hillsboro, OR.
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig 1 EECS 527 Paper Presentation Techniques for Fast.
Thermal-aware Steiner Routing for 3D Stacked ICs M. Pathak and S.K. Lim Georgia Institute of Technology ICCAD 07.
A Routing Approach to Reduce Glitches in Low Power FPGAs Quang Dinh, Deming Chen, Martin D. F. Wong Department of Electrical and Computer Engineering University.
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing © KLMH Lienig 1 What Makes a Design Difficult to Route Charles.
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.
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.
Physical Synthesis Buffer Insertion, Gate Sizing, Wire Sizing,
Routing Tree Construction with Buffer Insertion under Obstacle Constraints Ying Rao, Tianxiang Yang Fall 2002.
Routability-driven Floorplanning With Buffer Planning Chiu Wing Sham Evangeline F. Y. Young Department of Computer Science & Engineering The Chinese University.
R-Trees: A Dynamic Index Structure For Spatial Searching Antonin Guttman.
An Efficient Surface-Based Low-Power Buffer Insertion Algorithm
Incorporating Driver Sizing Into Buffer Insertion Via a Delay Penalty Technique Chuck Alpert, IBM Chris Chu, Iowa State Milos Hrkic, UIC Jiang Hu, IBM.
A Fully Polynomial Time Approximation Scheme for Timing Driven Minimum Cost Buffer Insertion Shiyan Hu*, Zhuo Li**, Charles Alpert** *Dept of Electrical.
A Fully Polynomial Time Approximation Scheme for Timing Driven Minimum Cost Buffer Insertion Shiyan Hu*, Zhuo Li**, Charles Alpert** *Dept of Electrical.
A Novel Timing-Driven Global Routing Algorithm Considering Coupling Effects for High Performance Circuit Design Jingyu Xu, Xianlong Hong, Tong Jing, Yici.
An O(bn 2 ) Time Algorithm for Optimal Buffer Insertion with b Buffer Types Authors: Zhuo Li and Weiping Shi Presenter: Sunil Khatri Department of Electrical.
An O(nm) Time Algorithm for Optimal Buffer Insertion of m Sink Nets Zhuo Li and Weiping Shi {zhuoli, Texas A&M University College Station,
Unified Adaptivity Optimization of Clock and Logic Signals Shiyan Hu and Jiang Hu Dept of Electrical and Computer Engineering Texas A&M University.
A Designer’s Perspective on Timing Closure
Buffer Insertion with Adaptive Blockage Avoidance
Buffered tree construction for timing optimization, slew rate, and reliability control Abstract: With the rapid scaling of IC technology, buffer insertion.
Buffered Steiner Trees for Difficult Instances
Objectives What have we learned? What are we going to learn?
Performance-Driven Interconnect Optimization Charlie Chung-Ping Chen
Presentation transcript:

Buffer and FF Insertion Slides from Charles J. Alpert IBM Corp.

2 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Talk Outline Introduction Buffer insertion Van Ginneken dynamic programming Extensions Interconnect planning

3 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Simple Buffer Insertion Problem Given: Source and sink locations, sink capacitances and RATs, a buffer type, source delay rules, unit wire resistance and capacitance Buffer RAT 1 RAT 2 RAT 3 RAT 4 s0s0

4 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Simple Buffer Insertion Problem Find: Buffer locations and a routing tree such that slack at the source is minimized RAT 2 RAT 3 RAT 4 RAT 1 s0s0

5 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Slack Example RAT = 400 delay = 600 RAT = 500 delay = 350 RAT = 400 delay = 300 RAT = 500 delay = 400 slack = -200 slack = +100

6 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Elmore Delay AB C R1R1 R2R2 C1C1 C2C2

7 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Common Approaches Iteratively insert buffers Closed-form solutions (2 pin nets) Dynamic programming Simultaneous constructions

8 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Van Ginneken’s Classic Algorithm Optimal for multi-sink nets Quadratic runtime Bottom-up from sinks to source Generate list of candidates at each node At source, pick the best candidate in list

9 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Key Assumptions Given routing tree Given potential insertion points

10 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Generating Candidates (1) (2) (3)

11 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Pruning Candidates (3) (a) (b) Both (a) and (b) “look” the same to the source. Throw out the one with the worst slack (4)

12 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Candidate Example Continued (4) (5)

13 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Candidate Example Continued After pruning (5) At driver, compute which candidate maximizes slack. Result is optimal.

14 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Merging Branches Right Candidates Left Candidates

15 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Pruning Merged Branches Critical With pruning

16 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Van Ginneken Example (20,400) (30,250) (5, 220) Wire C=10,d=150 Buffer C=5, d=30 (20,400) Buffer C=5, d=50 C=5, d=30 Wire C=15,d=200 C=15,d=120 (30,250) (5, 220) (45, 50) (5, 0) (20,100) (5, 70)

17 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Van Ginneken Example Cont’d (20,400) (30,250) (5, 220) (45, 50) (5, 0) (20,100) (5, 70) (5,0) is inferior to (5,70). (45,50) is inferior to (20,100) (20,400) (30,250) (5, 220) (20,100) (5, 70) (30,10) (15, -10) Pick solution with largest slack, follow arrows to get solution Wire C=10

18 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Van Ginneken Recap Generate candidates from sinks to source Quadratic runtime Adding a buffer adds only one new candidate Merging branches additive, not multiplicative Optimal for Elmore delay model

19 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Optimal Extensions Multiple buffer types Inverters Polarity constraints Controlling buffer resources Capacitance constraints Blockage recognition Wire sizing

20 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Multiple Buffer Types (1) (2) Time complexity increases from O(n 2 ) to O(n 2 B 2 ) where B is the number of different buffer types

21 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Inverters (1) (2) Maintain a “+” and a “-” list of candidates Only merge branches with same polarity Throw out negative candidates at source

22 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Polarity Constraints Some sinks are positive, some negative Put negative sinks into “-” list “-” list “+” list

23 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Controlling Buffering Resources (C 1, q 1, 3), (C 2, q 2, 3), (C 3, q 3, 3) (C 4, q 4, 2), (C 5, q 5, 2) (C 6, q 6, 1), (C 7, q 7, 1), (C 8, q 8, 1) (C 9, q 9, 0) (C 1, q 1 ), (C 2, q 2 ), (C 3, q 3 ) (C 4, q 4 ), (C 5, q 5 ) (C 6, q 6 ), (C 7, q 7 ), (C 8, q 8 ) (C 9, q 9 ) Before, maintain list of capacitance slack pairs Now, store an array of lists, indexed by # of buffers Prune candidates with inferior cap, slack, and #buffers

24 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Buffering Resource Trade-off

25 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Capacitance Constraints Each gate g drives at most C(g) capacitance When inserting buffer g, check downstream capacitance. If bigger than C(g), throw out candidate Total cap = 500 ff

26 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Blockage Recognition Delete insertion points that run over blockages

27 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Other Extensions Simultaneous driver sizing Modeling effective capacitance Higher-order interconnect delay Slew constraints Noise constraints

28 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Driver Sizing

29 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Driver Sizing Driver behaves like buffer Pick driver with the best slack Implications upstream in timing graph Delay penalty for large input capacitance

30 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001  -Models Van Ginneken candidate: (Cap, slack) C CnCn R CfCf Replace Cap with  -model (C n, R, C f ) Total capacitance preserved: C n + C f = C R represents degree of resistive shielding

31 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Computing Gate Delay When inserting buffer, compute effective capacitance from  -model C ef f Use effective instead of lumped capacitance in gate delay equation Optimality no longer guaranteed

32 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Higher-order Interconnect Delay Moment matching with first 3 moments Previously: candidate (  -model, slack) Now: candidate (  -model, m 1, m 2, m 3 ) Given moments, compute slack on the fly Bottom-up, efficient moment computation Problem: guess slew rate

33 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Slew Constraints When inserting buffer, compute slews to gates driven by buffer If slew exceeds target, prune candidate Difficulty: unknown gate input slew Slew 300 ps Slew 350 ps ?

34 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Noise Constraints Each gate has acceptable noise threshold Compute cumulative noise for each wire via Devgan noise metric Throw out candidates that violate noise Not in production code

35 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Extensions Recap Multiple buffer types, including inverters Polarity constraints Controlling buffer resources Slew, capacitance, and noise constraints Blockage recognition Driver sizing Higher-order delay modeling Wire sizing

36 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Talk Outline Introduction Buffer insertion Van Ginneken dynamic programming Extensions Interconnect planning

37 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 What is the Problem? DSM timing closure Squeeze buffers into tight spaces Alleviate hot spots, local wire congestion Getting worse Handle wire congestion, buffering resources early Acknowledge these constraints when floorplanning

38 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Which Floorplan Is Better? Timing analysis worthless Interconnect synthesis, electrical correction, routing, extraction Days to find answer

39 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Buffer Explosion Past Number of buffers triples each generation 800K buffers in 0.05 micron technology

40 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Buffer Block Planning Create blocks between macros just for holding buffers Adjust floorplan accordingly Computing size/#/location of blocks Analyze 2-pin nets Find feasible regions Assign buffers with smallest region Combine buffers into blocks

41 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Feasible Regions feasible region

42 Optimization Strategies for Physical Synthesis and Timing ClosureICCAD-2001 Buffer Block Planning Trade-offs Goods Buffer locations flexibile Global view, buffers most difficult ones first Bads Wire congestion around blocks Don’t have timing information Some nets still cannot be buffered/routed