overview
play

Overview Motivation Sequential circuit ATPG ECE 553: TESTING AND - PDF document

10/10/2014 Overview Motivation Sequential circuit ATPG ECE 553: TESTING AND An example test generation Time-frame expansion TESTABLE DESIGN OF Nine-valued logic ATPG implementation p DIGITAL SYSTES DIGITAL SYSTES


  1. 10/10/2014 Overview • Motivation • Sequential circuit ATPG ECE 553: TESTING AND • An example test generation • Time-frame expansion TESTABLE DESIGN OF • Nine-valued logic • ATPG implementation p DIGITAL SYSTES DIGITAL SYSTES • Complexity of ATPG • Cycle-free and cyclic circuits • Test generations systems – Classification – Forward time test generator – FASTEST Sequential circuit ATPG – General comments – Simulation based test generators – contest, strategate • Summary 10/10/2014 2 Motivation Sequential circuit ATPG • A sequential circuit has memory in addition • Methods to combinational logic. – Time-frame expansion methods • Test for a fault in a sequential circuit is a • Forward time, reverse time, forward and , , sequence of vectors, which f hi h reverse time • Initializes the circuit to a known state – Simulation-based methods • Activates the fault, and • Propagates the fault effect to a primary output 10/10/2014 3 10/10/2014 4 Example: A Serial Adder Time-Frame Expansion A n B n A n-1 B n-1 1 1 Time-frame -1 A n B n Time-frame 0 1 1 1 s-a-0 1 s-a-0 D s-a-0 X D D D 1 1 1 D C n-1 1 X D C n 1 1 C n+1 C X 1 D 1 X Combinational logic Combinational logic 1 C n S n-1 S n C n+1 X X D 1 Combinational logic S n FF X FF 10/10/2014 5 10/10/2014 6 1

  2. 10/10/2014 Example for Logic Systems Concept of Time-Frames • If the test sequence for a single stuck-at fault contains n vectors, • Replicate combinational logic block n times FF1 • Place fault in each block B • Generate a test for the multiple stuck-at fault using combinational ATPG with 9-valued logic bi i l ATPG i h 9 l d l i Vector - n +1 Vector -1 Vector 0 Fault Unknow n A FF2 Next State Time- Time- Time- or given s-a-1 state variables frame frame frame Init. state - n +1 -1 0 Comb. block PO - n +1 PO -1 PO 0 10/10/2014 7 10/10/2014 8 Five-Valued Logic (Roth) Nine-Valued Logic (Muth) 0,1, D , D , X 0,1, 1/0, 0/1, 1/ X, 0/ X , X/ 0, X/ 1, X A 0 A 0 A 0 A X s-a-1 s-a-1 s-a-1 s-a-1 X /1 D D 0/1 X X X X 0/ X 0/ X FF1 FF1 FF1 FF1 FF1 FF1 X D D X 0/1 X /1 FF2 FF2 FF2 FF2 B X B X B X B 0/1 Time-frame -1 Time-frame 0 Time-frame -1 Time-frame 0 10/10/2014 9 10/10/2014 10 An implementation of ATPG Complexity of ATPG • Select a PO for fault detection.  Synchronous circuit -- All flip-flops controlled by clocks; • Place a logic value, 1/0 or 0/1, depending on fault PI and PO synchronized with clock: type and number of inversions.  Cycle-free circuit – No feedback among flip-flops: Test • Justify the output value from PIs, considering all generation for a fault needs no more than dseq + 1 time- frames, where dseq is the sequential depth. necessary paths and adding backward time-frames.  Cyclic circuit – Contains feedback among flip-flops: May  Cyclic circuit Contains feedback among flip flops: May • If justification is impossible, then select another need 9 Nff time-frames, where Nff is the number of flip-flops. PO and repeat justification.  Asynchronous circuit – Higher complexity! • If the procedure fails for all reachable POs, then the fault is untestable. Smax Time- Time- Time- S2 Time- Time- S3 S1 S0 • If 1/0 or 0/1 cannot be justified at any PO, but 1/X Frame Frame Frame Frame Frame max-1 max-2 -2 -1 0 or 0/X can be justified, the the fault is potentially max = Number of distinct vectors w ith 9-valued elements = 9 Nff detectable. 10/10/2014 11 10/10/2014 12 2

  3. 10/10/2014 Cycle-Free Circuits Cycle-Free Example Circuit • Characterized by absence of cycles among flip- F2 flops and a sequential depth, dseq . 2 • dseq is the maximum number of flip-flops on any q p p y F3 F3 F1 path between PI and PO. 3 Level = 1 F2 • Both good and faulty circuits are initializable. 2 • Test sequence length for a fault is bounded by dseq s - graph + 1. F1 F3 dseq = 3 Level = 1 3 All faults are testable. See Example 8.6. 10/10/2014 13 10/10/2014 14 Cyclic Circuit Example Modulo-3 Counter Modulo-3 counter • Cyclic structure – Sequential depth is undefined. Z CNT • Circuit is not initializable. No tests can be F2 F1 generated for any stuck-at fault. • After expanding the circuit to 9 Nff = 81, or fewer, 9 Nff Af di h i i 81 f time-frames ATPG program calls any given target fault untestable. s - graph • Circuit can only be functionally tested by multiple observations. F2 F1 • Functional tests, when simulated, give no fault coverage. 10/10/2014 15 10/10/2014 16 Adding Initializing Hardware Benchmark Circuits Initializable modulo-3 counter Circuit s1196 s1238 s1488 s1494 PI 14 14 8 8 Z PO 14 14 19 19 CNT F2 FF 18 18 6 6 F1 Gates 529 508 653 647 s-a-0 Structure Cycle-free Cycle-free Cyclic Cyclic Seq. depth Seq depth 4 4 4 4 -- -- Total faults 1242 1355 1486 1506 s-a-1 Detected faults 1239 1283 1384 1379 CLR Potentially detected faults 0 0 2 2 s-a-1 s-a-1 Untestable faults 30 3 72 26 Untestable fault Abandoned faults 0 0 76 97 Potentially detectable fault Fault coverage (%) 99.8 94.7 93.1 91.6 Fault efficiency (%) 100.0 100.0 94.8 93.4 s - graph Max. sequence length 3 3 24 28 F2 Total test vectors 313 308 525 559 F1 Gentest CPU s (normalized) 1.0 1.5 2000 1900 10/10/2014 17 10/10/2014 18 3

  4. 10/10/2014 Test Generations Systems Test Generations Systems • Classification • Reverse-time processing – Target a fault – Determine a PO where the fault-effect will appear • Reverse-time processing • Forward-time processing – Backtrace within the time frame to excite and or • Forward and reverse-time processing propagate a fault/fault-effect – Target no specific fault – If not possible go add a timeframe (previous • Simulation based algorithms timeframe) and continue 10/10/2014 19 10/10/2014 20 Test Generations Systems Test Generations Systems Reverse-time processing • Forward-time processing Positives and Negatives – Excite a fault in the present timeframe Low memory usages Hard to determine the PO where – If excited, propagate to an output, else add a fault will be detected Timeframe added when timeframe and then excite – continue till fault timeframe and then excite continue till fault needed During backward motion, often the excited timeframe is assumed to be fault- Ability to determine if a – Try to propagate the fault, if not successful, add free, this can generate invalid fault is untestable tests timeframe and continue the process till fault detected at a PO Test application is in the order opposite to test generation 10/10/2014 21 10/10/2014 22 Test generations systems Test generations systems Forward-time processing FASTEST approach • Forward and reverse-time processing – Use controllability values to determine the timeframe – Perform the fault effect propagation in forward where the fault can be excited time – Use observability values to determine the timeframe where the fault will be observed – Perform excitation (justification) in reverse time – Together these will determine the number of timeframes using fault-free circuit need to detect the fault of interest – Work with that many timeframes in combinational mode to generate a test sequence in forward time – See example circuit – (in class example) 10/10/2014 23 10/10/2014 24 4

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend