04/21/20031 ECE 551: Digital System Design & Synthesis Lecture Set 10 10.1: Functional & Timing Verification 10.2: Faults & Testing.

Slides:



Advertisements
Similar presentations
1 Lecture 16 Timing  Terminology  Timing issues  Asynchronous inputs.
Advertisements

ECE 551 Digital Design And Synthesis
Synchronous Sequential Logic
Combinational Logic.
1 COMP541 Flip-Flop Timing Montek Singh Oct 6, 2014.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Sequential Synthesis.
ECE 551 Digital System Design & Synthesis Lecture 08 The Synthesis Process Constraints and Design Rules High-Level Synthesis Options.
Logic Synthesis – 3 Optimization Ahmed Hemani Sources: Synopsys Documentation.
Introduction to Sequential Logic Design Latches. 2 Terminology A bistable memory device is the generic term for the elements we are studying. Latches.
ECE C03 Lecture 81 Lecture 8 Memory Elements and Clocking Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
Sequential Circuit Analysis & Design Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Dr. Aiman H. El-Maleh.
Chapter 6 –Selected Design Topics Part 2 – Propagation Delay and Timing Logic and Computer Design Fundamentals.
1 Lecture 28 Timing Analysis. 2 Overview °Circuits do not respond instantaneously to input changes °Predictable delay in transferring inputs to outputs.
CSE241 Formal Verification.1Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Recitation 6: Formal Verification.
Synchronous Digital Design Methodology and Guidelines
1 Digital Design: State Machines Timing Behavior Credits : Slides adapted from: J.F. Wakerly, Digital Design, 4/e, Prentice Hall, 2006 C.H. Roth, Fundamentals.
RTL Hardware Design by P. Chu Chapter 161 Clock and Synchronization.
Kazi Spring 2008CSCI 6601 CSCI-660 Introduction to VLSI Design Khurram Kazi.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Dr. Shi Dept. of Electrical and Computer Engineering.
ENGIN112 L28: Timing Analysis November 7, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 28 Timing Analysis.
Useful Things to Know Norm. Administrative Midterm Grading Finished –Stats on course homepage –Pickup after this lab lec. –Regrade requests within 1wk.
Kazi Fall 2006 EEGN 4941 EEGN-494 HDL Design Principles for VLSI/FPGAs Khurram Kazi.
Automatic Verification of Timing Constraints Asli Samir – JTag course 2006.
ELEN 468 Lecture 91 ELEN 468 Advanced Logic Design Lecture 9 Behavioral Descriptions III.
CSE241 L4 System.1Kahng & Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Lecture 04: Static Timing Analysis.
Logic and Computer Design Fundamentals Registers and Counters
CS 151 Digital Systems Design Lecture 20 Sequential Circuits: Flip flops.
ECE C03 Lecture 61 Lecture 6 Delays and Timing in Multilevel Logic Synthesis Prith Banerjee ECE C03 Advanced Digital Design Spring 1998.
ELEN 468 Lecture 221 ELEN 468 Advanced Logic Design Lecture 22 Timing Verification.
CS 151 Digital Systems Design Lecture 28 Timing Analysis.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
Electronic Counters.
1 CSE370, Lecture 16 Lecture 19 u Logistics n HW5 is due today (full credit today, 20% off Monday 10:29am, Solutions up Monday 10:30am) n HW6 is due Wednesday.
03/30/031 ECE 551: Digital System Design & Synthesis Lecture Set 9 9.1: Constraints and Timing 9.2: Optimization (In separate file)
Kazi ECE 6811 ECE 681 VLSI Design Automation Khurram Kazi* Lecture 10 Thanks to Automation press THE button outcomes the Chip !!! Reality or Myth (*Mostly.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
ECE Advanced Digital Systems Design Lecture 12 – Timing Analysis Capt Michael Tanner Room 2F46A HQ U.S. Air Force Academy I n t e g r i.
RTL Hardware Design by P. Chu Chapter Overview on sequential circuits 2. Synchronous circuits 3. Danger of synthesizing asynchronous circuit 4.
1 CSE370, Lecture 17 Lecture 17 u Logistics n Lab 7 this week n HW6 is due Friday n Office Hours íMine: Friday 10:00-11:00 as usual íSara: Thursday 2:30-3:20.
1 COMP541 Sequential Circuits Montek Singh Feb 1, 2012.
ECE 545 Project 2 Specification. Project 2 (15 points) – due Tuesday, December 19, noon Application: cryptography OR digital signal processing optimized.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
Behavioral Modelling - 1. Verilog Behavioral Modelling Behavioral Models represent functionality of the digital hardware. It describes how the circuit.
Flip Flop Chapter 15 Subject: Digital System Year: 2009.
Introduction to ASIC flow and Verilog HDL
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
03/31/031 ECE 551: Digital System Design & Synthesis Lecture Set 8 8.1: Miscellaneous Synthesis (In separate file) 8.2: Sequential Synthesis.
1 COMP541 Sequential Logic Timing Montek Singh Sep 30, 2015.
12006 MAPLD International ConferenceSpaceWire 101 Seminar Data Strobe (DS) Encoding Sam Stratton 2006 MAPLD International Conference.
Synchronous Sequential Circuits by Dr. Amin Danial Asham.
REGISTER TRANSFER LANGUAGE (RTL) INTRODUCTION TO REGISTER Registers1.
ECE 301 – Digital Electronics Brief introduction to Sequential Circuits and Latches (Lecture #14)
ECE 331 – Digital System Design Introduction to Sequential Circuits and Latches (Lecture #16)
Sequential Logic Circuit Design Eng.Maha Alqubali.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 61 Lecture 6 Logic Simulation n What is simulation? n Design verification n Circuit modeling n True-value.
ASIC Design Methodology
Digital System Clocking
Timing and Verification
EMT 351/4 DIGITAL IC DESIGN Week # Synthesis of Sequential Logic 10.
Digital System Verification
Introduction to Sequential Logic Design
Introduction to Static Timing Analysis:
Timing Analysis 11/21/2018.
SYNTHESIS OF SEQUENTIAL LOGIC
FSM MODELING MOORE FSM MELAY FSM. Introduction to DIGITAL CIRCUITS MODELING & VERIFICATION using VERILOG [Part-2]
CSE 370 – Winter Sequential Logic - 1
COMP541 Sequential Logic Timing
ECE 551: Digital System Design & Synthesis
Lecture 19 Logistics Last lecture Today
Timing Analysis and Optimization of Sequential Circuits
Presentation transcript:

04/21/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Functional & Timing Verification 10.2: Faults & Testing

04/21/20032 ECE Digital System Design & Synthesis Lecture Functional & Timing Verification Overview  Functional Validation  Timing Verification  Elimination of ASIC Timing Violations  False Paths  Dynamically-Sensitized Paths  System Tools for Timing Verification

04/21/20033 Functional Validation - 1  Validation of functionality of post-synthesis netlist compared to pre-synthesis RTL model  Not verification of correctness which should be determined using RTL model  Approaches  Formal methods - proof of equivalence  Simulation Comparison of simulation outputs resulting from application of a rigorously-derived input tests Can be simulated simultaneously or separately with post- simulation comparison of results Coverage of mismatches depends heavily on the test pattern sequences applied

04/21/20034 Functional Validation - 2  Simulation Mismatch  RTL model is delay-free; gate-level model contains propagation delays. Mismatch may be due to improperly written RTL model or due to the speed of the synthesized circuit Code modification, re-synthesis, and/or change in target specifications may be necessary to resolve.  The RTL description contains races between assignment of one or more variables, improperly used blocking assignments, or asynchronous logic  Don’t care conditions in the RTL model become “care” conditions in the gate-level model

04/21/20035 Timing Verification  Dynamic Timing Analysis - Simulation  Static Timing Analysis - Signal path analysis  Timing Specifications  Pragmatics: Factors that Affect Timing

04/21/20036 Dynamic & Static Timing Analysis Comparison DynamicStatic MethodSimulationPath Analysis Test Vectors UsedYesNo CoverageTest Pattern Dependent Test Pattern Independent RiskMissed violationsFalse Violations Min-Max AnalysisNoYes Coupled with Synthesis Not FeasibleYes CPU Run TimeDays/WeeksHours Memory UseHeavyLow-Moderate

04/21/20037 Dynamic Timing Analysis - 1  Coverage of timing violations dependent on effectiveness of applied test vectors  Vectors are not just static, but also involve one or more changing inputs  For the simplest timing model, pairs of vectors are required  In sequential circuits, to achieve a “vector pair” internally may require a long sequence of vectors on the external ports

04/21/20038 Dynamic Timing Analysis - 2  How are effective test patterns produced?  Critical path concept - longest delay path through a circuit - requires consideration of flip-flop propagation delays, flip-flop setup times, delays to inputs from flip- flops and delays from outputs to flip-flops per prior discussion  Elimination of one critical path may simply produce others until timing constraints are meet - thus a set of many paths may need to be considered  How are critical paths identified?  Ad Hoc  Using timing analysis!

04/21/20039 Dynamic Timing Analysis - 3  Critical path determination may be very difficult since it can be dependent on applied values  Once path determined, need to “sensitize” the output of the path to an input change  Requires fixing of “off path” values according to controlling input patterns on gates  Can be made very complex due to reconvergent fanout paths  More complex when using t PHL and t PLH values due to changes in delay based on inversion control on the path  Example of complex DTA case

04/21/ Static Timing Analysis - 1  Creates directed, acyclic graph (DAG) of circuit by abstracting the topology of the net list  Implicitly analyzes all possible paths to determine critical delay path  Example of simple STA case (no slide)  But there are issues re accuracy  Problems of multiple paths with the same entry and exit points due to reconvergent fan-out  Complexity introduced by t PHL and t PLH values  Issue of false paths - paths through the DAG down which no signal can propagate from input to output

04/21/ Static Timing Analysis - 2  Requires introduction of functional information:  Dealing with multiple paths with same entry and exit point  Dealing with t PHL and t PLH and inversions on path  Requires user assistance  Dealing with false paths  Example of complex STA case (no slide)

04/21/ Timing Specifications  Already covered in Synthesis Constraints lecture (9.1)

04/21/ Pragmatics: Factors that Affect Timing  Basics covered in lecture on Synthesis Constraints (9.1)  Addition of Concepts of Skew and Jitter in timing equations:  skew = t clk2 - t clk1 - clock period  If t clk2 is late, then skew > 0, if early, skew < 0  jitter = the absolute value of the worst case variation at a given location with respect to the ideal periodic reference clock edge  In the worst case, with a + jitter on the driving FF clock edge and a - jitter on the driven FFs clock edge, the reduction in the clock period is 2 x jitter.

04/21/  Synchronous  Slack - the extra time available for signals to propagate from the clock to the input of a flip-flop (FF)  slack = ideal clock period - path delay - setup + skew - 2 x jitter Constraint - setup slack specified clock period Maximum FF, combinational and wiring delay slack setup skew < 0 jitter

04/21/  Synchronous  “Hold” Slack - the extra delay present for signals to propagate from the clock to the input of a flip-flop (FF)  slack = path delay - skew - 2 x jitter - hold Constraint - hold slack Minimum FF, combinational and wiring delay slack hold skew > 0 jitter

04/21/ Elimination of ASIC Timing Violations ActionEffect Re-synthesize with changed optionsReduce path delays Rewrite Verilog codeReduce path delays Substitute a different algorithmReduce Path delays Substitute architecturesReduce path delays Resize and substitute devicesReduce device delays Reroute critical pathsReduce net delays Redesign the clock gen & treeReduce clock skew & jitter Lengthen the clock cycleEliminates violation, but … Change technologiesReduce path delays

04/21/ False Paths  See Figure in Text  See Figure in Text

04/21/ Dynamically Sensitized Paths  Will be missed by static timing analyzer  May or may not be handle by simulation depending on inputs  Example

04/21/ System Tasks for Timing Verification  Tests for:  Setup condition  Hold condition  Setup and hold conditions  Pulse width constraint  Signal Skew Constraint  Clock period  Recovery time  Use of specify block

04/21/ Setup and Hold Tests  Common statements for examples  `timescale 100 ps / 10 ps  reg [7:0] data; reg clk;  $setup(data_event, reference_event, limit)  Example: $setup(data, posedge clk, 1)  $hold(reference_event, data_event, limit)  Example: $hold(posedge clk, data, 0.5)  $setuphold(reference_event, data_event, setup_limit, hold_limit)  Example: $setuphold(posedge clk, data, 1, 0.5)

04/21/ Clock and Recovery Tests  Common statements for examples  `timescale 100 ps / 10 ps  reg [7:0] data; reg clk, clk1, clk2;  $width(reference_event, limit)  Example: $setup(posedge clk, 2)  $skew(reference_event, data_event, limit)  Example: $skew(posedge clk1, posedge clk2, 1)  $period(reference_event, limit)  Example: $period(posedge clk, 5)  $recovery(reference_event, data_event, limit)  Example: $recovery(negedge reset, posedge clk, 2)