VLSI Testing Fault Simulation Virendra Singh Associate Professor - - PowerPoint PPT Presentation

vlsi testing
SMART_READER_LITE
LIVE PREVIEW

VLSI Testing Fault Simulation Virendra Singh Associate Professor - - PowerPoint PPT Presentation

VLSI Testing Fault Simulation Virendra Singh Associate Professor Computer Architecture and Dependable Systems Lab Department of Electrical Engineering Indian Institute of Technology Bombay http://www.ee.iitb.ac.in/~viren/ E-mail:


slide-1
SLIDE 1

CADSL

VLSI Testing

Fault Simulation

Virendra Singh

Associate Professor Computer Architecture and Dependable Systems Lab Department of Electrical Engineering Indian Institute of Technology Bombay

http://www.ee.iitb.ac.in/~viren/ E-mail: viren@ee.iitb.ac.in

EE-709: Testing & Verification of VLSI Circuits Lecture 8 (31 Jan 2013)

slide-2
SLIDE 2

CADSL

31 Jan 2013 EE-709@IITB 2

Multiple Stuck-at Faults

A multiple stuck-at fault means that any set of lines is stuck-at some combination of (0,1) values. The total number of single and multiple stuck-at faults in a circuit with k single fault sites is 3k-1. A single fault test can fail to detect the target fault if another fault is also present, however, such masking of one fault by another is rare. Statistically, single fault tests cover a very large number of multiple faults.

slide-3
SLIDE 3

CADSL

31 Jan 2013 EE-709@IITB 3

Transistor (Switch) Faults

MOS transistor is considered an ideal switch and two types of faults are modeled:

  • Stuck-open -- a single transistor is permanently

stuck in the open state.

  • Stuck-short -- a single transistor is permanently

shorted irrespective of its gate voltage.

Detection of a stuck-open fault requires two vectors. Detection of a stuck-short fault requires the measurement of quiescent current (IDDQ).

slide-4
SLIDE 4

CADSL

31 Jan 2013 EE-709@IITB 4

Stuck-Open Example

Two-vector s-op test can be constructed by

  • rdering two s-at tests

A B VDD C

pMOS FETs nMOS FETs Stuck-

  • pen

1 1(Z) Good circuit states Faulty circuit states Vector 1: test for A s-a-0 (Initialization vector) Vector 2 (test for A s-a-1)

slide-5
SLIDE 5

CADSL

31 Jan 2013 EE-709@IITB 5

Stuck-Short Example

A B VDD C

pMOS FETs nMOS FETs Stuck- short 1 0 (X) Good circuit state Faulty circuit state Test vector for A s-a-0 IDDQ path in faulty circuit

slide-6
SLIDE 6

CADSL

31 Jan 2013 EE-709@IITB 6

Fault Model - Summary

Fault models are analyzable approximations of defects and are essential for a test methodology. For digital logic single stuck-at fault model offers best advantage of tools and experience. Many other faults (bridging, stuck-open and multiple stuck-at) are largely covered by stuck-at fault tests. Stuck-short and delay faults and technology- dependent faults require special tests. Memory and analog circuits need other specialized fault models and tests.

slide-7
SLIDE 7

CADSL

31 Jan 2013 EE-709@IITB 7

Fault Simulation

slide-8
SLIDE 8

CADSL

31 Jan 2013 EE-709@IITB 8

Simulation Defined

  • Definition: Simulation refers to modeling of a design, its

function and performance.

  • A software simulator is a computer program; an emulator

is a hardware simulator.

  • Simulation is used for design verification:
  • Validate assumptions
  • Verify logic
  • Verify performance (timing)
  • Types of simulation:
  • Logic or switch level
  • Timing
  • Circuit
  • Fault
slide-9
SLIDE 9

CADSL

31 Jan 2013 EE-709@IITB 9

Simulation for Verification

True-value simulation Specification Design (netlist) Input stimuli Computed responses Response analysis Synthesis Design changes

slide-10
SLIDE 10

CADSL

31 Jan 2013 EE-709@IITB 10

Modeling Levels

Circuit description Programming language-like HDL Connectivity of Boolean gates, flip-flops and transistors Transistor size and connectivity, node capacitances Transistor technology data, connectivity, node capacitances

  • Tech. Data, active/

passive component connectivity Signal values 0, 1 0, 1, X and Z 0, 1 and X Analog voltage Analog voltage, current Timing Clock boundary Zero-delay unit-delay, multiple- delay Zero-delay Fine-grain timing Continuous time Modeling level Function, behavior, RTL Logic Switch Timing Circuit Application Architectural and functional verification Logic verification and test Logic verification Timing verification Digital timing and analog circuit verification

slide-11
SLIDE 11

CADSL

31 Jan 2013 EE-709@IITB 11

True-Value Simulation Algorithms

 Compiled-code simulation

  • Applicable to zero-delay combinational logic
  • Also used for cycle-accurate synchronous sequential

circuits for logic verification

  • Efficient for highly active circuits, but inefficient for low-

activity circuits

  • High-level (e.g., C language) models can be used

 Event-driven simulation

  • Only gates or modules with input events are evaluated

(event means a signal change)

  • Delays can be accurately simulated for timing verification
  • Efficient for low-activity circuits
  • Can be extended for fault simulation
slide-12
SLIDE 12

CADSL

31 Jan 2013 EE-709@IITB 12

Compiled-Code Algorithm

Step 1: Levelize combinational logic and encode

in a compilable programming language

Step 2: Initialize internal state variables (flip-flops) Step 3: For each input vector

– Set primary input variables – Repeat (until steady-state or max. iterations)

  • Execute compiled code

– Report or save computed variables

slide-13
SLIDE 13

CADSL

31 Jan 2013 EE-709@IITB 13

Event-Driven Algorithm

2 2 4 2 a =1 b =1 c =1 0 d = 0 e =1 f =0 g =1 Time, t

4 8

g

t = 0 1 2 3 4 5 6 7 8 Scheduled events c = 0 d = 1, e = 0 g = 0 f = 1 g = 1 Activity list d, e f, g g

Time stack

slide-14
SLIDE 14

CADSL

31 Jan 2013 EE-709@IITB 14

Time Wheel (Circular Stack)

t=0 1 2 3 4 5 6 7 max Current time pointer Event link-list

slide-15
SLIDE 15

CADSL

31 Jan 2013 EE-709@IITB 15

Efficiency of Event-driven Simulator

Simulates events (value changes) only Speed up over compiled-code can be ten times or more; in large logic circuits about 0.1 to 10% gates become active for an input change

Large logic block without activity Steady 0 0 to 1 event Steady 0 (no event)

slide-16
SLIDE 16

CADSL

31 Jan 2013 EE-709@IITB 16

Problem and Motivation

Fault simulation Problem: Given

  • A circuit
  • A sequence of test vectors
  • A fault model

– Determine

  • Fault coverage - fraction (or percentage) of modeled faults

detected by test vectors

  • Set of undetected faults

Motivation

  • Determine test quality and in turn product quality
  • Find undetected fault targets to improve tests
slide-17
SLIDE 17

CADSL

31 Jan 2013 EE-709@IITB 17

Fault simulator in a VLSI Design Process

Verified design netlist Verification input stimuli Fault simulator Test vectors Modeled fault list Test generator Test compactor Fault coverage ? Remove tested faults

Delete vectors

Add vectors Low Adequate Stop

slide-18
SLIDE 18

CADSL

31 Jan 2013 EE-709@IITB 18

Fault Simulation Scenario

Circuit model: mixed-level

Mostly logic with some switch-level for high-impedance (Z) and bidirectional signals High-level models (memory, etc.) with pin faults

Signal states: logic

Two (0, 1) or three (0, 1, X) states for purely Boolean logic circuits Four states (0, 1, X, Z) for sequential MOS circuits

Timing

Zero-delay for combinational and synchronous circuits Mostly unit-delay for circuits with feedback

slide-19
SLIDE 19

CADSL

31 Jan 2013 EE-709@IITB 19

Fault Simulation Scenario

Faults

Mostly single stuck-at faults Sometimes stuck-open, transition, and path-delay faults; analog circuit fault simulators are not yet in common use Equivalence fault collapsing of single stuck-at faults Fault-dropping -- a fault once detected is dropped from consideration as more vectors are simulated; fault-dropping may be suppressed for diagnosis Fault sampling -- a random sample of faults is simulated when the circuit is large

slide-20
SLIDE 20

CADSL

31 Jan 2013 EE-709@IITB 20

Fault Simulation Algorithms

Serial Parallel Deductive Concurrent

slide-21
SLIDE 21

CADSL

31 Jan 2013 EE-709@IITB 21

Serial Algorithm

Algorithm: Simulate fault-free circuit and save responses. Repeat following steps for each fault in the fault list: Modify netlist by injecting one fault Simulate modified netlist, vector by vector, comparing responses with saved responses If response differs, report fault detection and suspend simulation of remaining vectors Advantages: Easy to implement; needs only a true-value simulator, less memory Most faults, including analog faults, can be simulated

slide-22
SLIDE 22

CADSL

31 Jan 2013 EE-709@IITB 22

Serial Algorithm

  • Disadvantage: Much repeated computation; CPU

time prohibitive for VLSI circuits

  • Alternative: Simulate many faults together

Test vectors Fault-free circuit Circuit with fault f1 Circuit with fault f2 Circuit with fault fn Comparator f1 detected? Comparator f2 detected? Comparator fn detected?

slide-23
SLIDE 23

CADSL

31 Jan 2013 EE-709@IITB 23

Parallel Fault Simulation

Compiled-code method; best with two-states (0,1) Exploits inherent bit-parallelism of logic

  • perations on computer words

Storage: one word per line for two-state simulation Multi-pass simulation: Each pass simulates w-1 new faults, where w is the machine word length Speed up over serial method ~ w-1 Not suitable for circuits with timing-critical and non-Boolean logic

slide-24
SLIDE 24

CADSL

31 Jan 2013 EE-709@IITB 24

Parallel Fault Simulation

a b c d e f g

1 1 1 1 1 1 1 0 1 1 0 1 0 0 0 1 0 1 s-a-1 s-a-0 0 0 1

c s-a-0 detected Bit 0: fault-free circuit Bit 1: circuit with c s-a-0 Bit 2: circuit with f s-a-1

slide-25
SLIDE 25

CADSL

31 Jan 2013 EE-709@IITB 25

Deductive Fault Simulation

One-pass simulation Each line k contains a list Lk of faults detectable on k Following true-value simulation of each vector, fault lists of all gate output lines are updated using set-theoretic rules, signal values, and gate input fault lists PO fault lists provide detection data Limitations:

  • Set-theoretic rules difficult to derive for non-

Boolean gates

  • Gate delays are difficult to use
slide-26
SLIDE 26

CADSL

31 Jan 2013 EE-709@IITB 26

Deductive Fault Simulation

a b c d e f g

1 1 1 1 {a0} {b0 , c0} {b0} {b0 , d0} Le = La U Lc U {e0} = {a0 , b0 , c0 , e0} Lg = (Le Lf ) U {g0} = {a0 , c0 , e0 , g0} U {b0 , d0 , f1}

Notation: Lk is fault list for line k kn is s-a-n fault on line k Faults detected by the input vector