ELEN 468 Lecture 261 ELEN 468 Advanced Logic Design Lecture 26 Interconnect Timing Optimization.

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.
Advanced Interconnect Optimizations. Buffers Improve Slack RAT = 300 Delay = 350 Slack = -50 RAT = 700 Delay = 600 Slack = 100 RAT = 300 Delay = 250 Slack.
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.
Buffer and FF Insertion Slides from Charles J. Alpert IBM Corp.
1 Modeling and Optimization of VLSI Interconnect Lecture 9: Multi-net optimization Avinoam Kolodny Konstantin Moiseev.
Confidentiality/date line: 13pt Arial Regular, white Maximum length: 1 line Information separated by vertical strokes, with two spaces on either side Disclaimer.
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.
© 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.
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.
Power Optimal Dual-V dd Buffered Tree Considering Buffer Stations and Blockages King Ho Tam and Lei He Electrical Engineering Department University of.
04/09/02EECS 3121 Lecture 25: Interconnect Modeling EECS 312 Reading: 8.3 (text), 4.3.2, (2 nd edition)
UCLA TRIO Package Jason Cong, Lei He Cheng-Kok Koh, and David Z. Pan Cheng-Kok Koh, and David Z. Pan UCLA Computer Science Dept Los Angeles, CA
Statistical timing and synthesis Chandu paper. Canonical form Compute max(A,B) = C in canonical form (assuming  X i independent)
Interconnect Optimizations
1 UCSD VLSI CAD Laboratory ISQED-2009 Revisiting the Linear Programming Framework for Leakage Power vs. Performance Optimization Kwangok Jeong, Andrew.
Outline Noise Margins Transient Analysis Delay Estimation
DC and transient responses Lezione 3
EE4271 VLSI Design Advanced Interconnect Optimizations Buffer Insertion.
ELEN 468 Lecture 271 ELEN 468 Advanced Logic Design Lecture 27 Interconnect Timing Optimization II.
EE4800 CMOS Digital IC Design & Analysis
EE 447 VLSI Design 4: DC and Transient Response1 VLSI Design DC & Transient Response.
ELEN 468 Lecture 221 ELEN 468 Advanced Logic Design Lecture 22 Timing Verification.
Interconnect Synthesis. Buffering Related Interconnect Synthesis Consider –Layer assignment –Wire sizing –Buffer polarity –Driver sizing –Generalized.
1 A Method for Fast Delay/Area Estimation EE219b Semester Project Mike Sheets May 16, 2000.
Advanced Interconnect Optimizations. Timing Driven Buffering Problem Formulation Given –A Steiner tree –RAT at each sink –A buffer type –RC parameters.
MOS Inverter: Static Characteristics
1 Delay Estimation Most digital designs have multiple data paths some of which are not critical. The critical path is defined as the path the offers the.
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.
1 Coupling Aware Timing Optimization and Antenna Avoidance in Layer Assignment Di Wu, Jiang Hu and Rabi Mahapatra Texas A&M University.
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.
1 Design Space Exploration for Power-Efficient Mixed-Radix Ling Adders Chung-Kuan Cheng Computer Science and Engineering Depart. University of California,
An Efficient Clustering Algorithm For Low Power Clock Tree Synthesis Rupesh S. Shelar Enterprise Microprocessor Group Intel Corporation, Hillsboro, OR.
Thermal-aware Steiner Routing for 3D Stacked ICs M. Pathak and S.K. Lim Georgia Institute of Technology 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.
1 ε -Optimal Minimum-Delay/Area Zero-Skew Clock Tree Wire-Sizing in Pseudo-Polynomial Time Jeng-Liang Tsai Tsung-Hao Chen Charlie Chung-Ping Chen (National.
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 7: September 22, 2010 Delay and RC Response.
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.
Topics Combinational network delay.
Modern VLSI Design 4e: Chapter 3 Copyright  2008 Wayne Wolf Topics n Wire delay. n Buffer insertion. n Crosstalk. n Inductive interconnect. n Switch logic.
Routing Tree Construction with Buffer Insertion under Obstacle Constraints Ying Rao, Tianxiang Yang Fall 2002.
Introduction to Clock Tree Synthesis
An Efficient Surface-Based Low-Power Buffer Insertion Algorithm
Modern VLSI Design 3e: Chapter 3 Copyright  1998, 2002 Prentice Hall PTR Topics n Wire delay. n Buffer insertion. n Crosstalk. n Inductive interconnect.
Static Timing Analysis
A Fully Polynomial Time Approximation Scheme for Timing Driven Minimum Cost Buffer Insertion Shiyan Hu*, Zhuo Li**, Charles Alpert** *Dept of Electrical.
-1- Delay Uncertainty and Signal Criticality Driven Routing Channel Optimization for Advanced DRAM Products Samyoung Bang #, Kwangsoo Han ‡, Andrew B.
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.
1 Timing Closure and the constant delay paradigm Problem: (timing closure problem) It has been difficult to get a circuit that meets delay requirements.
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.
Circuit Delay Performance Estimation Most digital designs have multiple signal paths and the slowest one of these paths is called the critical path Timing.
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,
COE 360 Principles of VLSI Design Delay. 2 Definitions.
Wires & wire delay Lecture 9 Tuesday September 27, 2016.
Topics Driving long wires..
Buffer Insertion with Adaptive Blockage Avoidance
Timing Analysis 11/21/2018.
Buffered tree construction for timing optimization, slew rate, and reliability control Abstract: With the rapid scaling of IC technology, buffer insertion.
Objectives What have we learned? What are we going to learn?
Performance-Driven Interconnect Optimization Charlie Chung-Ping Chen
Presentation transcript:

ELEN 468 Lecture 261 ELEN 468 Advanced Logic Design Lecture 26 Interconnect Timing Optimization

ELEN 468 Lecture 262 Buffers Reduce Wire Delay t_unbuf = R( cx + C ) + rx( cx/2 + C ) t_buf = 2R( cx/2 + C ) + rx( cx/4 + C ) + t b t_buf – t_unbuf = RC + t b – rcx 2 /4 R cx/4 rx/2 cx/4 rx/2 C C R x ∆t x/2

ELEN 468 Lecture 263 Buffers Improve Slack RAT = 300 Delay = 350 Slack = -50 RAT = 700 Delay = 600 Slack = 100 slack min = -50 RAT = 300 Delay = 250 Slack = 50 RAT = 700 Delay = 400 Slack = 300 slack min = 50 Decouple capacitive load from critical path RAT = Required Arrival Time Slack = RAT - Delay

ELEN 468 Lecture 264 Problem Formulation Given A routing tree RAT at each sink A buffer type RC parameters Candidate buffer locations Find buffer insertion solution such that the slack min is maximized

ELEN 468 Lecture 265 Candidate Buffering Solutions

ELEN 468 Lecture 266 Candidate Solution Characteristics Each candidate solution is associated with v i : a node c i : downstream capacitance q i : RAT v i is a sink c i is sink capacitance v is an internal node

ELEN 468 Lecture 267 Van Ginneken’s Algorithm Start from sinks Candidate solutions are generated Candidate solutions are propagated toward the source

ELEN 468 Lecture 268 Solution Propagation: Add Wire c 2 = c 1 + cx q 2 = q 1 – rcx 2 /2 – rxc 1 r: wire resistance per unit length c: wire capacitance per unit length (v 1, c 1, q 1 ) (v 2, c 2, q 2 ) x

ELEN 468 Lecture 269 Solution Propagation: Insert Buffer c 1b = C b q 1b = q 1 – R b c 1 – t b C b : buffer input capacitance R b : buffer output resistance t b : buffer intrinsic delay (v 1, c 1, q 1 ) (v 1, c 1b, q 1b )

ELEN 468 Lecture 2610 Solution Propagation: Merge c merge = c l + c r q merge = min(q l, q r ) (v, c l, q l )(v, c r, q r )

ELEN 468 Lecture 2611 Solution Propagation: Add Driver q 0d = q 0 – R d c 0 = slack min R d : driver resistance Pick solution with max slack min (v 0, c 0, q 0 ) (v 0, c 0d, q 0d )

ELEN 468 Lecture 2612 Example of Solution Propagation (v 1, 1, 20) 22 r = 1, c = 1 R b = 1, C b = 1, t b = 1 R d = 1 v1v1 (v 3, 5, 8) Add wire v1v1 (v 2, 3, 16) Add wire v1v1 (v 2, 1, 12) Insert buffer v1v1 (v 3, 3, 8) Add wire slack = 3 Add driver slack = 5Add driver

ELEN 468 Lecture 2613 Example of Merging Left candidates Right candidates Merged candidates

ELEN 468 Lecture 2614 Solution Pruning Two candidate solutions (v, c 1, q 1 ) (v, c 2, q 2 ) Solution 1 is inferior if c 1 > c 2 : larger load and q 1 < q 2 : tighter timing

ELEN 468 Lecture 2615 Pruning When Insert Buffer They have the same load cap C b, only the one with max q is kept

ELEN 468 Lecture 2616 Wire Segmenting Faster runtime Better solution quality

ELEN 468 Lecture 2617 Multiple Buffer Types (v 1, 1, 20) 22 r = 1, c = 1 R b = 1, C b = 1, t b = 1 R b2 = 0.5, C b2 = 2, t b2 = 0.5 R d = 1 v1v1 (v 2, 3, 16) v1v1 (v 2, 1, 12) v1v1 (v 2, 2, 14)

ELEN 468 Lecture 2618 Using Inverters Less cost

ELEN 468 Lecture 2619 Handle Polarity - Negative Positive

ELEN 468 Lecture 2620 Slew Constraints When a buffer is inserted, assume ideal slew rate at its input Check slew rate at downstream buffers/sinks If slew is too large, candidate is discarded

ELEN 468 Lecture 2621 Capacitance Constraints Each gate g drives at most C(g) capacitance When inserting buffer g, check downstream capacitance. If > C(g), throw out candidate Total cap = 500 ff

ELEN 468 Lecture 2622 Consider Cost/Power A solution is also characterized by cost w A solution is inferior if it is poor on all of c, q and w At source, a set of solutions with tradeoff of q and w w can be total capacitance or the number of buffers

ELEN 468 Lecture 2623 Cost-Slack Trade-off

ELEN 468 Lecture 2624 Continuous Wire Sizing Min delay wire shape: w(x) = a(e -bx ) x

ELEN 468 Lecture 2625 Two Types of Wire Sizing Uniform Wire Sizing (UWS) Wire Tapering (TWS)

ELEN 468 Lecture 2626 TWS versus UWS TWS UWS

ELEN 468 Lecture 2627 Why Uniform Wire Sizing? Empirically, UWS almost as good as TWS Tapering info hard to give to router Better congestion and space management Extraction, detailed routing, verification? Can do it simultaneously with buffering

ELEN 468 Lecture 2628 Wire Sizing to Minimize Weighted Delay Sum Minimize  i t i  i weight, t i Elmore delay to sink i Properties Separability Monotone property Dominance property

ELEN 468 Lecture 2629 Wire Sizing: Separability For given wire sizing along a path, optimal wire sizing for each subtree off the path can be carried out independently

ELEN 468 Lecture 2630 Wire Sizing: Monotone Property Ancestor edges cannot be narrower than downstream edges

ELEN 468 Lecture 2631 Wire Sizing: Dominance Property For each edge, if its width in solution W  its width in solution W’, then W dominates W’ Local refinement: size each edge independently to minimize delay sum while other edges are fixed Assume W* is the optimal solution If W dominates W*, then W still dominates W* after local refinement If W is dominated by W*, then W is still dominated by W* after local refinement

ELEN 468 Lecture 2632 Optimal Wire Sizing Maximum width solution Each edge starts with max width Perform local refinement Minimum width solution Each edge starts with min width Perform local refinement Enumerate possibilities between min and max width solutions

ELEN 468 Lecture 2633 Wire Sizing to Maximize the Min Slack Separability is not true here Can be solved with dynamic programming Can be integrated with buffer insertion

ELEN 468 Lecture 2634 Simultaneous Buffer Insertion and Wire Sizing