Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "04/21/20031 ECE 551: Digital System Design & Synthesis Lecture Set 10 10.1: Functional & Timing Verification 10.2: Faults & Testing."— Presentation transcript:

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

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

3 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

4 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

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

6 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

7 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

8 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!

9 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

10 04/21/200310 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

11 04/21/200311 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)

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

13 04/21/200313 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.

14 04/21/200314  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

15 04/21/200315  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

16 04/21/200316 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

17 04/21/200317 False Paths  See Figure 11-18 in Text  See Figure 11-20 in Text

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

19 04/21/200319 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

20 04/21/200320 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)

21 04/21/200321 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)


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

Similar presentations


Ads by Google