Static Timing Analysis

Slides:



Advertisements
Similar presentations
Continuing Challenges in Static Timing Analysis
Advertisements

Advanced Interconnect Optimizations. Buffers Improve Slack RAT = 300 Delay = 350 Slack = -50 RAT = 700 Delay = 600 Slack = 100 RAT = 300 Delay = 250 Slack.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Sequential Synthesis.
Timing Analysis - Delay Analysis Models
Logic Synthesis – 3 Optimization Ahmed Hemani Sources: Synopsys Documentation.
ECE C03 Lecture 81 Lecture 8 Memory Elements and Clocking Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 12 Basic (NAND) S – R Latch “Cross-Coupling” two NAND gates gives the S -R Latch:
1 CS 151: Digital Design Chapter 5: Sequential Circuits 5-3: Flip-Flops I.
ELEN 468 Lecture 261 ELEN 468 Advanced Logic Design Lecture 26 Interconnect Timing Optimization.
ECE 667 Synthesis & Verificatioin - FPGA Mapping 1 ECE 667 Synthesis and Verification of Digital Systems Technology Mapping for FPGAs D.Chen, J.Cong, DAOMap.
Leveraging Software to Enhance Timing Analysis for Actel RTAX-S Devices Johnny Chung Corporate Applications Engineering Actel Corporation MAPLD 2005.
Clock Skewing EECS 290A Sequential Logic Synthesis and Verification.
Sequential Timing Optimization. Long path timing constraints Data must not reach destination FF too late s i + d(i,j) + T setup  s j + P s i s j d(i,j)
1 Lecture 28 Timing Analysis. 2 Overview °Circuits do not respond instantaneously to input changes °Predictable delay in transferring inputs to outputs.
Kazi Spring 2008CSCI 6601 CSCI-660 Introduction to VLSI Design Khurram Kazi.
ECE Synthesis & Verification - Lecture 8 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Introduction.
ENGIN112 L28: Timing Analysis November 7, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 28 Timing Analysis.
1 DAOmap: A Depth-optimal Area Optimization Mapping Algorithm for FPGA Designs Deming Chen, Jacon Cong ICCAD 2004 Presented by: Wei Chen.
Modern VLSI Design 2e: Chapter4 Copyright  1998 Prentice Hall PTR.
Kazi Fall 2006 EEGN 4941 EEGN-494 HDL Design Principles for VLSI/FPGAs Khurram Kazi.
Technology Mapping.
TH EDA NTHU-CS VLSI/CAD LAB 1 Re-synthesis for Reliability Design Shih-Chieh Chang Department of Computer Science National Tsing Hua University.
Embedded Systems Hardware:
10/25/2007 ITC-07 Paper Delay Fault Simulation with Bounded Gate Delay Model Soumitra Bose Design Technology, Intel Corp. Folsom, CA Hillary.
CSE241 L4 System.1Kahng & Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Lecture 04: Static Timing Analysis.
Modern VLSI Design 2e: Chapter 5 Copyright  1998 Prentice Hall PTR Topics n Memory elements. n Basics of sequential machines.
Logic Simulation 2 Outline –Timing Models –Simulation Algorithms Goal –Understand timing models –Understand simulation algorithms Reading –Gate-Level Simulation.
Embedded Systems Hardware: Storage Elements; Finite State Machines; Sequential Logic.
ECE Synthesis & Verification 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Retiming.
Contemporary Logic Design Sequential Logic © R.H. Katz Transparency No Chapter #6: Sequential Logic Design Sequential Switching Networks.
FPGA Technology Mapping. 2 Technology mapping:  Implements the optimized nodes of the Boolean network to the target device library.  For FPGA, library.
CS 151 Digital Systems Design Lecture 28 Timing Analysis.
1 A Method for Fast Delay/Area Estimation EE219b Semester Project Mike Sheets May 16, 2000.
ECE 331 – Digital System Design Power Dissipation and Propagation Delay.
Functional Timing Analysis Made Fast and General Presenter: Yi-Ting Chung Advisor: Jie-Hong Roland Jiang 03/09/2012 Graduate Institute of Electronics Engineering,
Global Timing Constraints FPGA Design Workshop. Objectives  Apply timing constraints to a simple synchronous design  Specify global timing constraints.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
EE 5900 Advanced Algorithms for Robust VLSI CAD, Spring 2009 Static Timing Analysis and Gate Sizing.
False Path. Timing analysis problems We want to determine the true critical paths of a circuit in order to: –To determine the minimum cycle time that.
Chap 4. Sequential Circuits
Massachusetts Institute of Technology 1 L14 – Physical Design Spring 2007 Ajay Joshi.
05/04/06 1 Integrating Logic Synthesis, Tech mapping and Retiming Presented by Atchuthan Perinkulam Based on the above paper by A. Mishchenko et al, UCAL.
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Combinational network delay. n Logic optimization.
EEE2243 Digital System Design Chapter 7: Advanced Design Considerations by Muhazam Mustapha, extracted from Intel Training Slides, April 2012.
4. Combinational Logic Networks Layout Design Methods 4. 2
EE 4271 VLSI Design, Fall 2013 Static Timing Analysis and Gate Sizing Optimization.
Technology Mapping. 2 Technology mapping is the phase of logic synthesis when gates are selected from a technology library to implement the circuit. Technology.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Level Logic Synthesis.
Logic synthesis flow Technology independent mapping –Two level or multilevel optimization to optimize a coarse metric related to area/delay Technology.
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Combinational network delay. n Logic optimization.
04/21/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Functional & Timing Verification 10.2: Faults & Testing.
ELEC Digital Logic Circuits Fall 2015 Delay and Power Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and Computer Engineering.
Retiming EECS 290A Sequential Logic Synthesis and Verification.
Min-Register Retiming Under Simultaneous Timing and Initial State Constraints Aaron Hurst Dec
Lecture 15 Sequential Circuit Design
Static Timing Analysis and Gate Sizing Optimization
Synthesis for Verification
CS137: Electronic Design Automation
Reading: Hambley Ch. 7; Rabaey et al. Sec. 5.2
Static Timing Analysis and Gate Sizing Optimization
Timing Analysis 11/21/2018.
触发器 Flip-Flops 刘鹏 浙江大学信息与电子工程学院 March 27, 2018
Sungho Kang Yonsei University
Sungho Kang Yonsei University
Reinventing The Wheel: Developing a New Standard-Cell Synthesis Flow
On the Improvement of Statistical Timing Analysis
Timing Analysis and Optimization of Sequential Circuits
Reinventing The Wheel: Developing a New Standard-Cell Synthesis Flow
Fast Min-Register Retiming Through Binary Max-Flow
CS137: Electronic Design Automation
Presentation transcript:

Static Timing Analysis

Timing analysis Need to know the clock frequency in the design process Dynamic Timing Analysis: Simulation: Needs input vectors (not known during design process)  Can miss an obscure performance-limiting path Very slow  Impractical in the loops of design phases

Timing analysis Fast Reasonably accurate measurement of timing Static Timing Analysis (STA): Fast Reasonably accurate measurement of timing Simplified delay models Calculates an upper bound on frequency Conservative analysis  Safe: guarantees that the design will function at least as fast as predicted Delay characterization for cell libraries is clearly defined  Forms an effective interface between the foundry and the design team

STA Vertices: Edges: Many STA tools break the loop and analyze Combinational circuits: Graph model: DAG Vertices: I/O pins of gates s and t Edges: Connect each input of a gate to its output Show maximum delay paths from the input pin to the output pin Connects the output of each gate to the inputs of its fanout gates Show interconnect delays In case of combinational loop: Many STA tools break the loop and analyze

STA

STA Timing Graph Simplified graph 2 3 6 4 2 s 2 5 3

Sequential Circuits Represented as: a set of combinational blocks that lie between latches. A timing graph may be constructed for each of these blocks Inputs of graph: PIs + FF outputs Outputs of graph: POs + FF inputs

Sequential Circuits Algorithm for finding combinational blocks: Construct a graph in which each vertex corresponds to a combinational element, An undirected edge is drawn between a combinational element and the combinational elements that it fans out to Sequential elements are left unrepresented The connected components of this graph correspond to the combinational blocks

Gate Delay Models Look-up table method: Linear model: Methods for calculating gate delay: Look-up table method: Each entry: delay under different capacitive loads and input transition times. Good accuracy But memory-intensive Linear model: Traditional: (k1 CL + k2): k1: characterized slope k2: intrinsic delay Neglects the effect of the input transition time k-factor equations: Compact the table look-up by fitting function to (k1 + k2CL)τin + k3CL3 + k4CL + k5

STA Algorithm Traverse in topological order Apply: 10

STA Algorithm 2 2 13 3 6 6 17 10 4 2 2 2 15 5 3 3 Wire delays ignored or added to the gate delays

STA: Critical Path Trace back from the PO with largest arrival time This is the output of last block on critical path Identify the latest arriving input of the block Identify the block that causes this transition Repeat

Critical Path: Example 2 2 13 3 6 6 17 10 4 2 2 2 15 5 3 3

Required Arrival Times If Timing constraints are specified: For each node, must check if met or not Useful to know which parts should be sped up If ATnode > RTnode,  the path that the node lies on must be sped up

Required Arrival Times 13 15 2 18 13 3 9 3 6 20 3 Min(15,13) = 13 4 2 7 9 2 7 18 10 5 13 3 10 Consider delays as –ve Apply the same procedure from output to inputs Arrow directions reversed

Slack Slack of a node: RTnode – ATnode +ve slack s:  Arrival time of that node can be increased by s w/o affecting the overall delay of circuit  Potential to optimize power/area/…. In FPGAs, >75% of nodes have ~ 50% slack

More Complex Cases Use these values for arrival times of PIs Non-zero arrival times at PIs: Use these values for arrival times of PIs Minimum delay calculations: Earliest arrival time of all inputs is added to the block delay Min-max delay calculations: If gate delay = [dmin, dmax], then simple

Incremental STA No need for full STA In physical design loops: A small change in module locations/connection paths In design flow: A small change in circuit No need for full STA  Incremental STA: Event-driven procedure: An event occurs when timing info at the input to the gate is changed Only a small fraction of gates have their arrival times changed

False Paths d = 10 d = 20 False path May try too hard to optimize it Many paths never occur Considering them  pessimistic may waste resources Assumption: INV delay = 0 d = 10 d = 20 False path Critical path: 40 May try too hard to optimize it

False Paths Automatic solutions: too complex to be practical E.g. if inverter delay > 0 In practice: Designers knows functionalities best  Designer specifies

References [Sapatnekar06] Sapatnekar, “Static Timing Analysis,” EDA for IC Implementation, Circuit Design, and Process Technology, 2006.