Timing Override Verification (TOV) Erik Seligman CS 510, Lecture 18, March 2009.

Slides:



Advertisements
Similar presentations
Copyright © 2009,Intel Corporation. All rights reserved. Auto ECO Flow Development For Functional ECO Using Efficient Error Rectification Method Based.
Advertisements

The Design Process, RTL, Netlists, and Verilog
Putting It All Together: Using Formal Verification In Real Life Erik Seligman CS 510, Lecture 19, March 2009.
Handling Complexity in FEV Erik Seligman CS 510, Lecture 6, January 2009.
Clock Domain Crossing (CDC)
Cut Points On Steroids: Handling Complexity for FPV
FPV For Design Exploration Erik Seligman CS 510, Lecture 11, February 2009.
CS370 – Spring 2003 Hazards/Glitches. Time Response in Combinational Networks Gate Delays and Timing Waveforms Hazards/Glitches and How To Avoid Them.
Continuing Challenges in Static Timing Analysis
Copyright 2001, Agrawal & BushnellLecture 12: DFT and Scan1 VLSI Testing Lecture 10: DFT and Scan n Definitions n Ad-hoc methods n Scan design  Design.
Systematic method for capturing “design intent” of Clock Domain Crossing (CDC) logic in constraints Ramesh Rajagopalan Cisco Systems.
Automated Method Eliminates X Bugs in RTL and Gates Kai-hui Chang, Yen-ting Liu and Chris Browy.
Xiushan Feng* ASIC Verification Nvidia Corporation Automatic Verification of Dependency 1 TM Jayanta Bhadra
Leonardo da Vinci ALLEGRO © J. M. Martins Ferreira - University of Porto (FEUP / DEEC)1 Scan design techniques J. M. Martins Ferreira FEUP / DEEC - Rua.
Timing constraints: Are they constraining designs or designers?
Effective RTL coding rules to avoid Simulation Shoot-thru Udit Kumar 1, Bhanu Prakash 1, Olivier Florent 1, Paras Mal Jain 2, Anshu Malani 2, Shaker Sarwary.
ECE C03 Lecture 81 Lecture 8 Memory Elements and Clocking Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
Leveraging Software to Enhance Timing Analysis for Actel RTAX-S Devices Johnny Chung Corporate Applications Engineering Actel Corporation MAPLD 2005.
TIMING CLOSURE IN SYSTEM-ON-CHIP ERA Sam Appleton, CEO CONFIDENTIAL.
DAC IP Track Submission CDC aware power reduction for Soft IPs Ritesh Agarwal (Freescale™) Amit Goldie (Atrenta) Freescale Semiconductor Confidential.
1 Lecture 28 Timing Analysis. 2 Overview °Circuits do not respond instantaneously to input changes °Predictable delay in transferring inputs to outputs.
Clock Design Adopted from David Harris of Harvey Mudd College.
RTL Hardware Design by P. Chu Chapter 161 Clock and Synchronization.
Timing Analysis Timing Analysis Instructor: Dr. Vishwani D. Agrawal ELEC 7770 Advanced VLSI Design Team Project.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 6 –Selected Design Topics Part 3 – Asynchronous.
Automatic Verification of Timing Constraints Asli Samir – JTag course 2006.
Lecture 8: Clock Distribution, PLL & DLL
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Logic Design Outline –Logic Design –Schematic Capture –Logic Simulation –Logic Synthesis –Technology Mapping –Logic Verification Goal –Understand logic.
11/15/2004EE 42 fall 2004 lecture 321 Lecture #32 Registers, counters etc. Last lecture: –Digital circuits with feedback –Clocks –Flip-Flops This Lecture:
1 Application Specific Integrated Circuits. 2 What is an ASIC? An application-specific integrated circuit (ASIC) is an integrated circuit (IC) customized.
Achieving Timing Closure. Achieving Timing Closure - 2 © Copyright 2010 Xilinx Objectives After completing this module, you will be able to:  Describe.
EE694v-Verification-Lect5-1- Lecture 5 - Verification Tools Automation improves the efficiency and reliability of the verification process Some tools,
مرتضي صاحب الزماني  The registers are master-slave flip-flops (a.k.a. edge-triggered) –At the beginning of each cycle, propagate values from primary inputs.
Contemporary Logic Design Sequential Logic © R.H. Katz Transparency No Chapter #6: Sequential Logic Design Sequential Switching Networks.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
Introduction to Software Testing
Achieving Timing Closure. Objectives After completing this module, you will be able to: Describe a flow for obtaining timing closure Interpret a timing.
Churning the Most Out of IP-XACT for Superior Design Quality Ayon Dey Lead Engineer, TI Anshuman Nayak Senior Product Director, Atrenta Samantak Chakrabarti.
Global Timing Constraints FPGA Design Workshop. Objectives  Apply timing constraints to a simple synchronous design  Specify global timing constraints.
TM Efficient IP Design flow for Low-Power High-Level Synthesis Quick & Accurate Power Analysis and Optimization Flow JAN Asher Berkovitz Yaniv.
Balancing Practices: Inspections, Testing, and Others JAXA scenario (formal method) Masa Katahira Japanese Space Agency.
Digital Design Strategies and Techniques. Analog Building Blocks for Digital Primitives We implement logical devices with analog devices There is no magic.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
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.
Using Formal Verification to Exhaustively Verify SoC Assemblies by Mark Handover Kenny Ranerup Applications Engineer ASIC Consultant Mentor Graphics Corp.
COM181 Computer Hardware Ian McCrumRoom 5B18, Lecture 2: Circuits.
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
FORMAL VERIFICATION OF ADVANCED SYNTHESIS OPTIMIZATIONS Anant Kumar Jain Pradish Mathews Mike Mahar.
© BYU 18 ASYNCH Page 1 ECEn 224 Handling Asynchronous Inputs.
Synthesis Of Fault Tolerant Circuits For FSMs & RAMs Rajiv Garg Pradish Mathews Darren Zacher.
CHAPTER 8 Developing Hard Macros The topics are: Overview Hard macro design issues Hard macro design process Physical design for hard macros Block integration.
SoC Clock Synchronizers Project Elihai Maicas Harel Mechlovitz Characterization Presentation.
Static Timing Analysis
Introduction to Hardware Verification ECE 598 SV Prof. Shobha Vasudevan.
FEV And Netlists Erik Seligman CS 510, Lecture 5, January 2009.
04/21/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Functional & Timing Verification 10.2: Faults & Testing.
Formal Verification of Clock Domain Crossing Using Gate-level Models of Metastable Flip-Flops Ghaith Tarawneh, Andrey Mokhov and Alex Yakovlev Newcastle.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
Timing issues.
Timing Verification Presented by Rashmi H M.
Timing Analysis 11/21/2018.
触发器 Flip-Flops 刘鹏 浙江大学信息与电子工程学院 March 27, 2018
IAY 0800 Digitaalsüsteemide disain
Clocking in High-Performance and Low-Power Systems Presentation given at: EPFL Lausanne, Switzerland June 23th, 2003 Vojin G. Oklobdzija Advanced.
CSE 370 – Winter Sequential Logic - 1
FEV’s Greatest Bloopers: False Positives in Formal Equivalence
ECE 352 Digital System Fundamentals
Instructor: Michael Greenbaum
Presentation transcript:

Timing Override Verification (TOV) Erik Seligman CS 510, Lecture 18, March 2009

Agenda  What is Timing Override Verification (TOV)?  Multicycle Paths  False Paths  Deploying TOV Methods

Agenda  What is Timing Override Verification (TOV)?  Multicycle Paths  False Paths  Deploying TOV Methods

Review: Timing Closure  Check delays of all paths Signals must be fast enough for frequency Flag paths that miss, make circuit changes

Do We Care About All Paths?  Timing overrides: relax checking of path Multicycle Path: May take >1 clk cycle –Often due to crossing to slower clk domain –May be consequence of logic False Path: Infinite time allowed –Path never matters logically  Usually specify in ‘SDC’ format set multicycle path -from … -to … set false path –from … -to …

Dangers of Timing Overrides  What if false or multicycle path is wrong? i.e., logically not really false / multicycle  Chip will not meet frequency Long path operates incorrectly Must slow down clock for proper function  Important to verify!

Verifying Timing Overrides  Often ad hoc: designer inspect manually  Better: create assertions Since SDCs manual, designer can create –Introduce as requirement on design team! Can automate to some extent with scripts Generally hard to FPV –Cross top-level blocks, specified at netlist  CAD tools Fishtail, RealIntent, Atrenta, BluePearl Some claim specialized FPV engines –Optimized to be able to prove SDCs

Agenda  What is Timing Override Verification (TOV)?  Multicycle Paths  False Paths  Deploying TOV Methods

Multicycle Path set_multicycle_path 3 –from f2 –to f3  What assertions might help verify?

Multicycle Path set_multicycle_path 3 –from f2 –to f3  What assertions might help verify? Value at f2 is always held 3 cycles (or 4)? And… ?

Multicycle Path set_multicycle_path 3 –from f2 –to f3  What is needed for this to be valid? Value at f2 is always held 3 cycles f2 transition  stable 3 cycles before some ck2 capture edge

Be careful about capture edge! set_multicycle_path 3 –from f2 – to f3  Bad data is stable for a long time But never stable 3 cycles before capture edge

Sensitization Issue set_multicycle_path 3 –from f2 –to f3  OR rather than XOR: change situation?

Sensitization Issue set_multicycle_path 3 –from f2 –to f3  OR rather than XOR: change situation? Path may not be sensitized In general case, may need to check this condition

General Multicycle Assertion  Important conditions: Input flop to path transitions Path sensitized –not masked by mux or ORed with 1, for example Destination flop samples  Key assertion: (Dest samples & sensitized)  (!Transition for last cycles)

Agenda  What is Timing Override Verification (TOV)?  Multicycle Paths  False Paths  Deploying TOV Methods

False Path Example set_false_path –from f2 –to f3  What assertions would be useful here?

False Path Example set_false_path –from f2 –to f3  What assertions would be useful here? Path never sensitized: !(s1==0 && s2==1) Any others?

False Path Example set_false_path –from f2 –to f3  What assertions would be useful here? Path never sensitized: !(s1==0 && s2==1) Sensitization condition correct: (!(s1==0 && s2==1))[*2] ##0 $stable(d2) |-> $stable(n1) (if not sensitized && other inputs stable  output stable)

False Path Example set_false_path –from f2 –to f3  What assertions would be useful here? Path never sensitized: !(s1==0 && s2==1) Sensitization condition correct: (!(s1==0 && s2==1))[*2] ##0 $stable(d2) |-> $stable(n1) (if not sensitized && other inputs stable  output stable) Or just “$stable(d2) |-> $stable(n1)”?

Agenda  What is Timing Override Verification (TOV)?  Multicycle Paths  False Paths  Deploying TOV Methods

Generating TOV Asserts  Simple method: Designers write + Designers write SDCs, so know design + Low overhead to introduce - May not be accurate, complete  CAD tools + Automatic - Additional tool in flow– is output saved? - May be noisy

Checking TOV Asserts  Simulation + Automatic if asserts added to RTL - Depends on test suite  FPV + High confidence, fuller coverage - Hard to prove - often specified at top level of large blocks - (vendors claim specialized engines)

One more wrinkle  Designers generate SDCs on netlists Not on RTL Assertions involve non-rtl signals  Solutions? DEs can manually convert to RTL asserts –Should be late in project, FEV mapping available Tool solutions: Fishtail “refocus” Generate & check asserts on netlist –Gate-level simulation

Other Complications  “-through” exceptions? Make asserts more complex: ensure that ‘through’ node is controlling transition when checking  Multicycle path at asynchronous CDC Bad luck: might hit metastability window Be careful to hold value an extra cycle

A Further Opportunity  Auto-identify false/multicycle paths? Capability in some tools (Fishtail, RealIntent) Both identify and prove the paths Lots of TOVs  easier to close timing  But is this too risky? Tools get thousands of these paths DEs nervous if unreviewed paths in design Low impact on timing closure –Small set of critical paths are what matter  Few design teams adopt auto-TOV methods

Conclusions  Multicycle / False paths are risky But needed for timing closure  Can generate asserts for safety  Several choices in strategy Manual asserts or CAD tool Simulation or formal RTL or netlist level  Plenty of reasonable sets of choices give much increased level of TOV confidence!

References / Further Reading    s/spyglass_constraints.htm s/spyglass_constraints.htm  ts/cobalt.html ts/cobalt.html  hp?articleId=1136&issueId=21 hp?articleId=1136&issueId=21