Statistical timing and synthesis Chandu paper. Canonical form Compute max(A,B) = C in canonical form (assuming  X i independent)

Slides:



Advertisements
Similar presentations
Why Simple Hash Functions Work : Exploiting the Entropy in a Data Stream Michael Mitzenmacher Salil Vadhan And improvements with Kai-Min Chung.
Advertisements

Chapter 7 Project Management
Non-Gaussian Statistical Timing Analysis Using Second Order Polynomial Fitting Lerong Cheng 1, Jinjun Xiong 2, and Lei He 1 1 EE Department, UCLA *2 IBM.
ECE Longest Path dual 1 ECE 665 Spring 2005 ECE 665 Spring 2005 Computer Algorithms with Applications to VLSI CAD Linear Programming Duality – Longest.
Linear Programming (LP) (Chap.29)
Advanced Interconnect Optimizations. Buffers Improve Slack RAT = 300 Delay = 350 Slack = -50 RAT = 700 Delay = 600 Slack = 100 RAT = 300 Delay = 250 Slack.
ELEN 468 Lecture 261 ELEN 468 Advanced Logic Design Lecture 26 Interconnect Timing Optimization.
Timing Optimization. Optimization of Timing Three phases 1globally restructure to reduce the maximum level or longest path Ex: a ripple carry adder ==>
1 Interconnect Layout Optimization by Simultaneous Steiner Tree Construction and Buffer Insertion Presented By Cesare Ferri Takumi Okamoto, Jason Kong.
Dynamic Bayesian Networks (DBNs)
Clock Skewing EECS 290A Sequential Logic Synthesis and Verification.
15C Backward scanning and crashing
Propagation of Error Ch En 475 Unit Operations. Quantifying variables (i.e. answering a question with a number) 1. Directly measure the variable. - referred.
Parameterized Timing Analysis with General Delay Models and Arbitrary Variation Sources Khaled R. Heloue and Farid N. Najm University of Toronto {khaled,
The Out of Kilter Algorithm in Introduction The out of kilter algorithm is an example of a primal-dual algorithm. It works on both the primal.
Experimental Uncertainties: A Practical Guide What you should already know well What you need to know, and use, in this lab More details available in handout.
Non-Linear Statistical Static Timing Analysis for Non-Gaussian Variation Sources Lerong Cheng 1, Jinjun Xiong 2, and Prof. Lei He 1 1 EE Department, UCLA.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 23: April 22, 2009 Statistical Static Timing Analysis.
EE 4272Spring, 2003 Chapter 10 Packet Switching Packet Switching Principles  Switching Techniques  Packet Size  Comparison of Circuit Switching & Packet.
Fast Matching Algorithms for Repetitive Optimization Sanjay Shakkottai, UT Austin Joint work with Supratim Deb (Bell Labs) and Devavrat Shah (MIT)
T T Population Sampling Distribution Purpose Allows the analyst to determine the mean and standard deviation of a sampling distribution.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 14: March 19, 2008 Statistical Static Timing Analysis.
Pipelining and Retiming 1 Pipelining  Adding registers along a path  split combinational logic into multiple cycles  increase clock rate  increase.
Penn ESE Fall DeHon 1 ESE (ESE534): Computer Organization Day 19: March 26, 2007 Retime 1: Transformations.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 22: April 11, 2011 Statistical Static Timing Analysis.
1 UCSD VLSI CAD Laboratory ISQED-2009 Revisiting the Linear Programming Framework for Leakage Power vs. Performance Optimization Kwangok Jeong, Andrew.
Chap 9-1 Statistics for Business and Economics, 6e © 2007 Pearson Education, Inc. Chapter 9 Estimation: Additional Topics Statistics for Business and Economics.
Minimum Cost Flow Lecture 5: Jan 25. Problems Recap Bipartite matchings General matchings Maximum flows Stable matchings Shortest paths Minimum spanning.
CS294-6 Reconfigurable Computing Day 16 October 15, 1998 Retiming.
מבנה המחשב – מבוא למחשבים ספרתיים Foundations of Combinational Circuits תרגול מספר 3.
Fall 06, Sep 14 ELEC / Lecture 5 1 ELEC / (Fall 2006) Low-Power Design of Electronic Circuits (Formerly ELEC / )
Network Flow & Linear Programming Jeff Edmonds York University Adapted from NetworkFlow.ppt.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 18, 2009 Static Timing Analysis and Multi-Level Speedup.
1/49 EF 507 QUANTITATIVE METHODS FOR ECONOMICS AND FINANCE FALL 2008 Chapter 9 Estimation: Additional Topics.
LINEAR REGRESSION Introduction Section 0 Lecture 1 Slide 1 Lecture 5 Slide 1 INTRODUCTION TO Modern Physics PHYX 2710 Fall 2004 Intermediate 3870 Fall.
Discrete Gate Sizing CENG 5270 – Tutorial 9 WILLIAM CHOW.
Children’s Zoo Tour Service By, Thais Santos, Phoebe Cohen, Lucie Thorpe, Chris Lano.
Combined Uncertainty P M V Subbarao Professor Mechanical Engineering Department A Model for Propagation of Uncertainty ….
Points in Distributions n Up to now describing distributions n Comparing scores from different distributions l Need to make equivalent comparisons l z.
Bounding Variance and Expectation of Longest Path Lengths in DAGs Jeff Edmonds, York University Supratik Chakraborty, IIT Bombay.
CS433: Modeling and Simulation Dr. Anis Koubâa Al-Imam Mohammad bin Saud University 15 October 2010 Lecture 05: Statistical Analysis Tools.
ECES 741: Stochastic Decision & Control Processes – Chapter 1: The DP Algorithm 31 Alternative System Description If all w k are given initially as Then,
© Copyright McGraw-Hill 2000
Propagation of Error Ch En 475 Unit Operations. Quantifying variables (i.e. answering a question with a number) 1. Directly measure the variable. - referred.
STA with Variation 1. 2 Corner Analysis PRCA (Process Corner Analysis):  Takes 1.nominal values of process parameters 2.and a delta for each parameter.
The Graphs of Quadratic Equations A quadratic equation is an equation that has a x 2 value. All of these are quadratics: y = x 2 y = x y = x 2 +
Model 5 Long Distance Phone Calls By Benjamin Cutting
Net Criticality Revisited: An Effective Method to Improve Timing in Physical Design H. Chang 1, E. Shragowitz 1, J. Liu 1, H. Youssef 2, B. Lu 3, S. Sutanthavibul.
Linear Programming The Table Method. Objectives and goals Solve linear programming problems using the Table Method.
Statistics Presentation Ch En 475 Unit Operations.
LINEAR PROGRAMMING 3.4 Learning goals represent constraints by equations or inequalities, and by systems of equations and/or inequalities, and interpret.
Static Timing Analysis
1 WireMap FPGA Technology Mapping for Improved Routability Stephen Jang, Xilinx Inc. Billy Chan, Xilinx Inc. Kevin Chung, Xilinx Inc. Alan Mishchenko,
1 Timing Closure and the constant delay paradigm Problem: (timing closure problem) It has been difficult to get a circuit that meets delay requirements.
1 Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Retiming EECS 290A Sequential Logic Synthesis and Verification.
Special Graphs: Modeling and Algorithms
Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Bipartite Matching and Other Graph Algorithms
Handling Reconvergence
Analysis of Algorithms
Lecture 19-Problem Solving 4 Incremental Method
Timing Optimization.
Problem Solving 4.
Is Statistical Timing Statistically Significant?
Lecture 6 Dynamic Programming
Lecture 19 Linear Program
Special Graphs: Modeling and Algorithms
Chapter 9 Estimation: Additional Topics
Presentation transcript:

Statistical timing and synthesis Chandu paper

Canonical form Compute max(A,B) = C in canonical form (assuming  X i independent)

Tightness Probability Define: Probability that A is greater than B Computed by table look-up

Computing C in canonical form Min is similar. Addition and subtraction is easy – e.g.

Other quantities Any other timing quantity, slew, slacks, required times, etc. can be computed in the same way using the defined operators, min, max, plus, minus. These are always put in canonical form. Note that all quantities are approximated by Gaussian distributions, where after each operation, the first two moments, mean and std deviation are matched. Errors come because all quantities are assumed to be linear in the underlying variables. So for example delay equation of a gate is approximated by a linear equation.

augmented timing graph sink source input edges have delays equal to arrival times output edges have delays equal to the negative of the output required time

Critical paths (Chendu) The critical probability of a path is the probability that a path is critical The critical probability (CP) of an edge (node) is the probability that the edge (node) is on a critical path ATP (arrival tightness probability) = probability that an edge determines the arrival time of its sink. Virtual edge is put at each PO connecting to a single sink. The delay on each edge is the negative of the required time at that PO. At sink, the arrival time is the maximum negative slack. RATP (required arrival tightness probability) = prob. that edge determines the required arrival time of its source node. (as far as I can see this is not needed) A path is critical if it is the slowest path. A node or edge is critical if it is on a critical path.

Backward propagation sink source

Required Time (different from Chendu) Define required time as the arrival time of the slowest PO: In canonical form Profit function = Slack at an edge e: mean weighted slack: Slack is always positive. Total profit: where

Comparison at sink output: us them required = arrival off a critical path, we would compute a slack but Chendu would have a 0 probability of it being critical. There is no notion of paths that are near crititical. Slacks are used in classical timing optimization algorithms, not just whether a path is critical or not. For example, a positive slack can be used to do resizing to recover area. We use a profit-weighted slack concept to select how to change the design to speed it up or slow it down. We change the design so that profit is increased the most. We have about twice as much computation