ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

33
ELEN 468 Lecture 23 1 ELEN 468 Advanced Logic Design Lecture 23 Testing
  • date post

    22-Dec-2015
  • Category

    Documents

  • view

    224
  • download

    4

Transcript of ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

Page 1: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 1

ELEN 468Advanced Logic Design

Lecture 23Testing

Page 2: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 2

Verification vs. Testing Verifies correctness of designPerformed by simulation, hardware emulation, or formal methodsPerformed prior to manufacturing

Verifies correctness of manufactured hardwareTwo-part process:

1. Test generation: software process executed once during design

2. Test application: electrical tests applied to hardware

Test application performed on every manufactured device

Page 3: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 3

Why Do We Need Testing?

Properly designed chip may fail in field Transient failures – under heating, radiation … Intermittent failures – random, finite duration Permanent failures

Manufacturing defects Wafer defects Contaminated atmosphere in clean room, dust

… Impure processing gasses, water, chemicals … Photomask misalignment

Page 4: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 4

Testing Levels and Implied Cost

Wafer: 0.01 – 0.1Packaged-chip: 0.1 – 1Board: 1 – 10System: 10 – 100Field: 100 – 1000

Page 5: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 5

Types of Defects

Wire shortsDiscontinuous wires, may due to stress or peelingHigh resistance viasGate to source/drain junction shortThreshold voltage change

Page 6: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 6

Fault ModelsWhy model faults? I/O function tests inadequate, real

defects too numerous and often not analyzable

A fault model Identifies targets for testing Makes analysis possible

Common fault models Transistor open and short faults Single stuck-at faults

Page 7: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 7

Single Stuck-at FaultThree properties define a single stuck-at fault

Only one line is faulty The faulty line is permanently set to 0 or 1 The fault can be at an input or output of a gate

Example: XOR circuit has 12 fault sites ( ) and 24 single stuck-at faults

a

b

c

d

e

f

1

0

g h i 1

s-a-0j

k

z

0(1)1(0)

1

Test vector for h s-a-0 fault

Good circuit valueFaulty circuit value

Page 8: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 8

Fault Equivalence and Collapsing

Fault equivalence: Two faults f1 and f2 are equivalent if all tests that detect f1 also detect f2Fault collapsing: All single faults of a logic circuit can be divided into disjoint equivalence subsets, where all faults in a subset are mutually equivalent.

Page 9: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 9

Equivalence Rules

sa0 sa1

sa0 sa1

sa0 sa1

sa0 sa1

sa0 sa1

sa0 sa1

sa0 sa1

sa0 sa1

sa0 sa1

sa0 sa1

sa0 sa1

sa0 sa1

sa0

sa1

sa0

sa1

sa0

sa0sa1

sa1

sa0

sa0

sa0sa1

sa1

sa1

AND

NAND

OR

NOR

WIRE

NOT

FANOUT

Page 10: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 10

CheckpointsPrimary inputs and fanout branches of a combinational circuit are called checkpointsCheckpoint theorem: A test set that detects all single (multiple) stuck-at faults on all checkpoints of a combinational circuit, also detects all single (multiple) stuck-at faults in that circuit.

Total fault sites = 16

Checkpoints ( ) = 10

Page 11: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 11

Transistor (Switch) FaultsMOS 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 vectorsDetection of a stuck-short fault requires the measurement of quiescent current (IDDQ)

Page 12: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 12

Stuck-Open Example

A two-vector stuck-open testcan be constructed byordering two stuck-at tests

A two-vector stuck-open testcan be constructed byordering two stuck-at tests

A

B

VDD

C

PMOS

NMOS

Stuck-open

1

0

0

0

0 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)

Page 13: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 13

Stuck-Short Example

A

B

VDD

C

Stuck-short1

0

0 (X)

Good circuit state

Faulty circuit state

Test vector for A s-a-0

IDDQ path in faulty circuit

Page 14: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 14

Testing Techniques

IDDQ test – detect short circuit current Test pattern generation and verify output

Page 15: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 15

Test Pattern for Stuck-At Faults

abc

abc

SA1

Ygood = a●b●c

Ya-SA1 = b●c

Test pattern: {a,b,c} = 011

No need to enumerate all input combinations to detect a fault

No need to enumerate all input combinations to detect a fault

Page 16: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 16

Path Justification and Sensitization

‘1’

‘1’

Test SA0Justification

Sensitization

Page 17: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 17

Functional ATPG – generate complete set of tests for circuit input-output combinations

129 inputs, 65 outputs: 2129 = 680,564,733,841,876,926,926,749,

214,863,536,422,912 patterns Using 1 GHz ATE, would take 2.15 x 1022 years

Structural test: No redundant adder hardware, 64 bit slices Each with 27 faults (using fault equivalence) At most 64 x 27 = 1728 faults (tests) Takes 0.000001728 s on 1 GHz ATE

Designer gives small set of functional tests – augment with structural tests to boost coverage to 98+ %

Automatic Test Pattern Generation (ATPG)

Page 18: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 18

D-Logic

D 1 in good 0 in fault

D’ 0 in good 1 in fault

X – don’t care

In Out

0 1

1 0

X X

D D’

D’ D

Inverter

Page 19: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 19

D-Algorithm

‘1’

‘1’

Test SA0

= trace back input to enable D

Monitor output in D logic

Page 20: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 20

Algorithm

D-ALGPODEMFANTOPSSOCRATESWaicukauski et al.ESTTRANRecursive learningTafertshofer et al.

Est. speedup over D-ALG(normalized to D-ALG time)17232921574 ATPG System2189 ATPG System8765 ATPG System3005 ATPG System48525057

Year

1966198119831987198819901991199319951997

Algorithm Speedups

Page 21: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 21

Fault SimulationFault 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

Page 22: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 22

Fault Coverage and Defect Level

W = 1 – Y(1-T)

W: probability of shipping a defective partY: manufacturing yieldT: fault coverage

Page 23: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 23

Fault Simulator in a VLSI Design Process

Verified designnetlist

Verificationinput stimuli

Fault simulator Test vectors

Modeledfault list

Testgenerator

Testcompactor

Faultcoverage

?

Remove tested faults

Deletevectors

Add vectors

Low

Adequate

Stop

Page 24: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 24

Fault Simulation ScenarioMostly single stuck-at faultsSometimes stuck-open, transition, and path-delay faultsEquivalence fault collapsing of single stuck-at faultsFault-dropping -- a fault once detected is dropped from consideration as more vectors are simulated; fault-dropping may be suppressed for diagnosisFault sampling -- a random sample of faults is simulated when the circuit is large

Page 25: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 25

Fault Simulation Algorithms

SerialParallelConcurrentProbabilistic

Page 26: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 26

Serial Algorithm

Algorithm: Simulate fault-free circuit and save responses. Repeat following steps for each fault:

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, less memory Most faults, including analog faults, can be simulated

Disadvantage: Much repeated computation, CPU time prohibitive for VLSI

circuits

Page 27: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 27

Parallel Fault SimulationBest with two-states (0,1)Exploits inherent bit-parallelism of logic operations on computer wordsMulti-pass simulation: each pass simulates w-1 new faults, where w is the machine word lengthSpeed up over serial method ~ w-1Not suitable for circuits with timing-critical and non-Boolean logic

Page 28: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 28

Parallel Fault Simulation Example

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

Page 29: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 29

Concurrent Fault Simulation

Event-driven simulation of fault-free circuitOnly note those parts of the faulty circuit that differ in signal states from the fault-free circuitA list per gate containing copies of the gate from all faulty circuits in which this gate differsList element contains fault ID, gate input and output valuesFaster than parallel simulationUses most memory

Page 30: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 30

Concurrent Fault Simulation Example

a

b c

d

e

f

g

1

11

0

1

1

11

1

01

1 0

0

10

1

00

1

00

1

10

1

00

1

11

1

11

0

00

0

11

0

00

0

00

0 1 0 1 1 1

a0 b0 c0 e0

a0 b0

b0

c0 e0

d0

d0

g0 f1

f1

Page 31: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 31

Probabilistic Fault Simulation

Identify test vectors with high toggle coverageUse them as basis for test vectorsCorrelation: toggle coverage fault coverageToggle tests are simpler

Page 32: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 32

Fault SamplingA randomly selected subset (sample) of faults is simulatedMeasured coverage in the sample is used to estimate fault coverage in the entire circuit.Advantage: saving in computing resources (CPU time and memory)Disadvantage: limited data on undetected faults - hard to identify location of coverage problems

Page 33: ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.

ELEN 468 Lecture 23 33

Delay Fault Testing

Half open circuitHalf short circuitFunctionality is not affectedTiming performance is degraded