umbc
play

UMBC A B M A L T F O U M B C I M Y O R T 1 (Oct - PowerPoint PPT Presentation

VLSI Design Verification and Test Fault Simulation I CMSC 691x Algorithms for Fault Simulation Purposes of fault simulation during design cycle: Guiding the TPG process. Measuring the effectiveness of the test patterns. Generating


  1. VLSI Design Verification and Test Fault Simulation I CMSC 691x Algorithms for Fault Simulation Purposes of fault simulation during design cycle: • Guiding the TPG process. • Measuring the effectiveness of the test patterns. • Generating fault dictionaries. Fault simulator needs in addition to the circuit model, stimuli and expected responses (that are needed for true-value simulation): • Fault model • Fault list Test Set Fault List Design Model SIMULATOR Library Evaluation L A N R Y D UMBC A B M A L T F O U M B C I M Y O R T 1 (Oct 18, 2001) I E S R C E O V U I N N U T Y 1 6 9 6

  2. VLSI Design Verification and Test Fault Simulation I CMSC 691x Algorithms for Fault Simulation The fault simulator must classify the given target faults as detected or undetec- ted by the given stimuli. Detecting vector Fault C( ) 1st 2nd 3rd C(f 1 ) f 1 5 12 19 Comp. Test C(f 2 ) f 2 Comp. vectors f n 35 102 C(f n ) Comp. C(f 1 )...C(f n ) are copies of the defect-free circuit C( ) with fault f x permanently inserted. Here, each time the fault is detected, the simulator records the vector number (and possibly the output(s) in error). Although useful for fault diagnosis , this is compute expensive. Fault dropping causes simulation of C(f n ) to stop after vector 35. L A N R Y D UMBC A B M A L T F O U M B C I M Y O R T 2 (Oct 18, 2001) I E S R C E O V U I N N U T Y 1 6 9 6

  3. VLSI Design Verification and Test Fault Simulation I CMSC 691x Serial Fault Simulation If fault dropping is not employed, the effort of simulating n faults is equiva- lent to either: • Simulating a circuit n times larger or • Repeating the original true-value simulation n times. Serial Fault Simulation True-value simulation is performed across all vectors and outputs saved. Faulty circuits are simulated one-by-one by modifying circuit and run- ning true-value simulator. Simulation of faulty circuit stops as soon as fault is detected. Adv: Any type of fault can be simulated, e.g., stuck-at, stuck-open, bridges, delay and analog faults. For n faults, CPU time can be almost n times that of a true-value simulator. Fault dropping significantly improves on this. L A N R Y D UMBC A B M A L T F O U M B C I M Y O R T 3 (Oct 18, 2001) I E S R C E O V U I N N U T Y 1 6 9 6

  4. VLSI Design Verification and Test Fault Simulation I CMSC 691x Parallel Fault Simulation Most effective when: • Circuit consists of only logic gates. • Stuck-at faults are modeled. • Signals assume only binary, 0 or 1, values. • All gates have the same delay (zero or unit). Under these conditions, circuits C(f n ) are almost identical. Here, the bit-parallelism of logical operations in a computer can be useful. For a 32-bit word, 1 fault-free and 31 faulty circuits can be simultaneously simulated. This yields a speed up of w - 1, with w equal to the word size. If fault dropping is employed, simulation stops when all w - 1 faults are detected. Therefore, serial fault simulation has more to gain by fault dropping. L A N R Y D UMBC A B M A L T F O U M B C I M Y O R T 4 (Oct 18, 2001) I E S R C E O V U I N N U T Y 1 6 9 6

  5. VLSI Design Verification and Test Fault Simulation I CMSC 691x Parallel Fault Simulation Parallel fault simulation of two faults, c SA0 and f SA1: Fault free c SA0 f SA1 1 1 1 a 1 0 1 e SA0 b c 1 0 1 g 1 1 1 1 0 1 f d 0 0 1 SA1 Parallel fault simulation cannot accurately model rise and fall delays. The signal values in all circuits are processed simultaneously. Zero-delay or unit-delay are used. Compiled-code or event-driven versions are possible. Multi-valued logic is possible, e.g., (0, 1, X and Z), by encoding state in more than 1 bit. A true-value logic simulator can be used as a parallel fault simulator by inserting gates to model faults -- see text. L A N R Y D UMBC A B M A L T F O U M B C I M Y O R T 5 (Oct 18, 2001) I E S R C E O V U I N N U T Y 1 6 9 6

  6. VLSI Design Verification and Test Fault Simulation I CMSC 691x Parallel Fault Simulation a 10 lines (excluding fanouts) G 1 b f G 2 g 20 Stuck-At faults u G 5 (Reduced by fault collapsing) i c h G 3 d G 4 Test pattern: abcde = 10010 e Reduction possible: f SA1 eq g SA0, f SA1 dom b SA1 and u SA0 dom g SA0. ff a/0 b/1 c/1 d/0 e/1 f/0 f/1 g/0 g/1 h/0 h/1 i/0 i/1 u/0 u/1 a=1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 b=0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 c=0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 d=1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 f=ab 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 g=f+c 1 1 0 0 1 1 1 0 0 1 1 1 1 1 1 1 h=cd 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 e=0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 i=e+h 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 0 u= g+i 1 1 0 1 1 1 1 0 0 1 1 1 1 1 0 1 L A N R Y D UMBC A B M A L T F O U M B C I M Y O R T 6 (Oct 18, 2001) I E S R C E O V U I N N U T Y 1 6 9 6

  7. VLSI Design Verification and Test Fault Simulation I CMSC 691x Deductive Fault Simulation Circuit model assumptions are the same as those given for the parallel fault simulator, compiled-code and event-driven versions possible. Only the fault free circuit, C( ), is simulated. Faulty circuit values are deduced from the fault-free values. It processes all faults in a single pass of true-value simulation, i.e., it very fast! Note, however, that major modifications are required (and slow downs) to handle variable rise/fall delays, multiple signal states, etc. A vector is simulated in true-value mode. A deductive procedure is then performed on all lines in level-order from inputs to outputs. Fault lists are generated for each signal using the fault lists on the inputs to the gate generating that signal. L A N R Y D UMBC A B M A L T F O U M B C I M Y O R T 7 (Oct 18, 2001) I E S R C E O V U I N N U T Y 1 6 9 6

  8. VLSI Design Verification and Test Fault Simulation I CMSC 691x Deductive Fault Simulation The fault list of a signal contains the names of all faults in the circuit that can change the state of that line. L c = [a 1, c 1 ] L d = [a 1, c 1 , d 1 ] d 0 0 L a = [a 1 ] a c 0 G 1 1 L b = [b 0 ] b 0 L d = [a 1, c 1 , e 1 ] e Inputs Output Output fault list Gate L c type a b c AND 0 0 0 [L a intersection L b ] union c 1 0 1 0 [L a intersection L b ] union c 1 [L a intersection L b ] union c 1 1 0 0 1 1 1 [L a union L b ] union c 0 OR 0 0 0 [L a union L b ] union c 1 0 1 1 [L a intersection L b ] union c 0 [L a intersection L b ] union c 0 1 0 1 1 1 1 [L a intersection L b ] union c 0 NOT 0 - 1 L a union c 0 1 - 0 L a union c 1 L A N R Y D UMBC A B M A L T F O U M B C I M Y O R T 8 (Oct 18, 2001) I E S R C E O V U I N N U T Y 1 6 9 6

  9. VLSI Design Verification and Test Fault Simulation I CMSC 691x Deductive Fault Simulation For example, if both inputs to a 2-input AND are 0, in order for a fault to propagate through, it must be in the lists of both inputs. x=1 x=1 x=1 y=0 y=0 y=0 ∩ ∩ ( ∪ ) ∪ L x ! L y L x ! L y L z L x ! L y z=0 ∩ ( ∩ ) Fault-list, L x , intersection !L y is equivalent to L x ! L y L x L x L y = – True-value simulation is run first. [a 0 ] 1 [a 0, b 0 , c 0 , e 0 ] a e 1 c 1 b g 1 [b 0 ] [b 0 , c 0 ] [a 0, c 0 , e 0 , g 0 ] 0 d f [b 0 , d 0 ] [b 0 , d 0 , f 1 ] Fault list for e is composed from the union of the input lists for a and c , since the input is ab = (11). Fault list for g is given by the intersection of e ’s list and ! f ’s list. L A N R Y D UMBC A B M A L T F O U M B C I M Y O R T 9 (Oct 18, 2001) I E S R C E O V U I N N U T Y 1 6 9 6

  10. VLSI Design Verification and Test Fault Simulation I CMSC 691x Deductive Fault Simulation Another example: [ ∩ ] ∪ { } L f L b ! L a f 1 [b 1 , f 1 ] = ∪ ∪ [ ] L g L f L c g 0 a=1 = G 1 b=0 f=0 g=1 { b 1 , f 1 , m 1 , c 1 , g 0 } G 2 c=0 ∪ L c L m L c u = G 5 m=0 n h=0 G 3 i=0 d=1 G 4 e=0 ∪ ∪ [ ] L i L h L e i 1 = With ab = 10, only L b is sensitizable to f (faults on a are masked). [ ∩ ] ∪ [ ] L f L b ! L a f 1 The faults given by = are the faults in L b that are not in L a union [ f 1 ]. Therefore, L f = [ b 1 , f 1 ]. Had b = 1, L a would have been sensitized to f , e.g., ∪ ∪ [ ] L f L a L b f 1 = L A N R Y D UMBC A B M A L T F O U M B C I M Y O R T 10 (Oct 18, 2001) I E S R C E O V U I N N U T Y 1 6 9 6

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