ece 260b – cse 241a testing 1 ece260b – cse241a winter 2005 testing website:

67
ECE 260B – CSE 241A Testing 1 http://vlsicad.ucsd.edu ECE260B – CSE241A Winter 2005 Testing Website: http://vlsicad.ucsd.edu/courses/ece260b-w05

Upload: clinton-lindsey

Post on 05-Jan-2016

222 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 1 http://vlsicad.ucsd.edu

ECE260B – CSE241A

Winter 2005

Testing

Website: http://vlsicad.ucsd.edu/courses/ece260b-w05

Page 2: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 2 http://vlsicad.ucsd.edu

Outline

Defects and Faults

ATPG for Combinational Circuits

ATPG for Sequential Circuits

Page 3: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 3 http://vlsicad.ucsd.edu

Fault models

Fault types: Functional.Timing.

Abstraction level: Transistor. (layout)Gate. (netlist)Macro ( functional blocks ).

Source Drain

Gate

D S

G

Open Shortgm

C

R

Vt

Delay

Parameter

11/2 2

Doping

l

w

Page 4: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 4 http://vlsicad.ucsd.edu

Fault Models

0

1

sa0

sa1

(output)

(input)

Most Popular - “Stuck - at” model

x1

x2x3

Z

: x1 sa1

: x1 sa0 or

x2 sa0

Covers many otheroccurring faults, such asopens and shorts.

Page 5: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 5 http://vlsicad.ucsd.edu

Fault Models

To detect an and-bridging

Detect a s-a-0 and b = 0

Detect b s-a-0 and a = 0

To detect a transition fault

Pattern 1: c = 1

Pattern 2: detect c s-a-1

c

a

b

good

bad

and

1

Page 6: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 6 http://vlsicad.ucsd.edu

Problem with stuck-at model: CMOS open fault

x1 x2

x1

x2

Z

Sequential effectNeeds two vectors to ensure detection!

Other options: use stuck-open or stuck-short modelsThis requires fault-simulation and analysis at the switch ortransistor level - Very expensive!

Page 7: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 7 http://vlsicad.ucsd.edu

Problem with stuck-at model: CMOS short fault

‘0’

‘0’

‘0’

‘1’

C

A B

D

A

B

C

D

Causes short circuit betweenVdd and GND for A=C=0, B=1

Possible approach:Supply Current Measurement (IDDQ)but: not applicable for gigascale integration

Page 8: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 8 http://vlsicad.ucsd.edu

Exhaustive Algorithm

For n-input circuit, generate all 2n input patterns

Infeasible, unless circuit is partitioned into cones of logic, with < 15 inputs

Perform exhaustive ATPG for each cone Misses faults that require specific activation patterns for

multiple cones to be tested

M state regs

N inputs K outputs

K outputsN inputs

Combinational

Logic

Module

Combinational

Logic

Module

(a) Combinational function (b) Sequential engine

2N patterns 2N+M patterns

Page 9: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 9 http://vlsicad.ucsd.edu

Flow chart for method

Use to get tests for 60-80% of faults, then switch to D-algorithm or other ATPG for rest

Random Pattern Generation

Page 10: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 10 http://vlsicad.ucsd.edu

Fault simulation

Fault coverage found by fault simulations

Test patterns

Single faultsimulation model

Referenceresponse

Goodsimulation model

Compareresponse

Repeat for all possible stuck at zero/one faults

Requires long simulation times !.

Toggle test ( counts how many times each node has changed) can be used to get a first impression of fault coverage.

Page 11: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 11 http://vlsicad.ucsd.edu

g = G (X1, X2, …, Xn) for the fault site

fj = Fj (g, X1, X2, …, Xn)

1 j m

Xi = 0 or 1 for 1 i n

Boolean Difference Symbolic Method (Sellers et al.)

Page 12: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 12 http://vlsicad.ucsd.edu

Shannon’s Expansion Theorem:

F (X1, X2, …, Xn) = X2 F (X1, 1, …, Xn) + X2 F (X1, 0, …, Xn)

Boolean Difference (partial derivative):

Fj

g

Fault Detection Requirements (for g s-a-0):

G (X1, X2, …, Xn) = 1

Fj

g

= Fj (1, X1, X2, …, Xn) Fj (0, X1, …, Xn)

= Fj (1, X1, X2, …, Xn) Fj (0, X1, …, Xn) = 1

Boolean Difference (Sellers, Hsiao, Bearnson)

Page 13: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 13 http://vlsicad.ucsd.edu

Basic Terms, Path Sensitization

Out

Techniques Used: D-algorithm, Podem

Goals: Determine input pattern that makes a faultcontrollable (triggers the fault, and makes its impactvisible at the output nodes)

sa011

0

11

10

1

Fault propagation

Fault enabling

Controllability: the ease of controlling the state of a node in the circuit

Observability: the ease of observing the state of a node in the circuit

Page 14: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 14 http://vlsicad.ucsd.edu

5-Value Logic

0 – binary 0 in both good and fault circuit

1- binary 1 in both good and fault circuit

X – don’t care

D – binary 1 in good circuit, 0 in bad circuit

D – binary 0 in good circuit, 1 in bad circuit

Page 15: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 15 http://vlsicad.ucsd.edu

Primitive D-Cube of Failure

Models circuit faults: Stuck-at-0 Stuck-at-1 Bridging fault (short circuit) Arbitrary change in logic function

AND Output sa0: “1 1 D”

AND Output sa1: “0 X D ”

“X 0 D ”

Wire sa0: “D”

Propagation D-cube – models conditions under which fault effect propagates through gate

Page 16: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 16 http://vlsicad.ucsd.edu

Forward Implication

Results in logic gate inputs that are significantly labeled so that output is uniquely determined

AND gate forward implication table:

Page 17: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 17 http://vlsicad.ucsd.edu

Backward Implication

Unique determination of all gate inputs when the gate output and some of the inputs are given

Page 18: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 18 http://vlsicad.ucsd.edu

1 Fault Sensitization

2 Fault Propagation

3 Line Justification

Path Sensitization Method Circuit Example

Page 19: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 19 http://vlsicad.ucsd.edu

Try path f – h – k – L blocked at j, since there is no way to justify the 1 on i

10

D

D1

1

1DD

D

Path Sensitization Method Circuit Example

Page 20: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 20 http://vlsicad.ucsd.edu

Try simultaneous paths f – h – k – L and

g – i – j – k – L blocked at k because D-frontier (chain

of D or D) disappears

1

DD D

DD

1

1

1

Path Sensitization Method Circuit Example

Page 21: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 21 http://vlsicad.ucsd.edu

Final try: path g – i – j – k – L – test found!

0

D D D

1 DD

1

0

1

Path Sensitization Method Circuit Example

Page 22: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 22 http://vlsicad.ucsd.edu

D-Algorithm – Top Level

1. Number all circuit lines in increasing level order from PIs to POs;

2. Select a primitive D-cube of the fault to be the test cube;

3. D-drive ();

4. Consistency ();

5. return ();

Page 23: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 23 http://vlsicad.ucsd.edu

D-Algorithm – Propagation

D-frontier: all gates whose output is X, at least one input is D or D

J-frontier: all gates whose output is defined, but is not implied by the input values

Page 24: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 24 http://vlsicad.ucsd.edu

Step 1 – D-Drive – Set A = 1

D1 D

Example 7.2: Fault A sa0

Page 25: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 25 http://vlsicad.ucsd.edu

D1

0

D

Step 2 – D-Drive – Set f = 0

D

Step 2 -- Example 7.2

Page 26: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 26 http://vlsicad.ucsd.edu

D1

0

D

Step 3 – D-Drive – Set k = 1

D

1

D

Step 3 -- Example 7.2

Page 27: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 27 http://vlsicad.ucsd.edu

D1

0

D

Step 4 – Consistency – Set g = 1

D

1

D

1

Step 4 -- Example 7.2

Page 28: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 28 http://vlsicad.ucsd.edu

D1

0

D

Step 5 – Consistency – f = 0 Already set

D

1

D

1

Step 5 -- Example 7.2

Page 29: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 29 http://vlsicad.ucsd.edu

D1

0

D

Step 6 – Consistency – Set c = 0, Set e = 0

D

1

D

1

0

0

Step 6 -- Example 7.2

Page 30: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 30 http://vlsicad.ucsd.edu

D1

0

X

D

Step 7 – Consistency – Set B = 0

D-Chain dies

D

1

D

1

0

0

0

Test cube: A, B, C, D, e, f, g, h, k, L

D-Chain Dies -- Example 7.2

Page 31: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 31 http://vlsicad.ucsd.edu

Example 7.3 – Fault s sa1

Primitive D-cube of Failure

1

Dsa1

Page 32: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 32 http://vlsicad.ucsd.edu

Example 7.3 – Step 2 s sa1

Propagation D-cube for v

1

D

0

sa1 D1D

Page 33: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 33 http://vlsicad.ucsd.edu

Example 7.3 – Step 2 s sa1

Forward & Backward Implications

1

Dsa1

0D

D

1 1

0

11

Page 34: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 34 http://vlsicad.ucsd.edu

Example 7.3 – Step 3 s sa1

Propagation D-cube for Z – test found!

1

Dsa1

0D

D

1 1

0

11

1

D

Page 35: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 35 http://vlsicad.ucsd.edu

PODEM High-Level Flow

1. Assign binary value to unassigned PI

2. Determine implications of all PIs

3. Test Generated? If so, done.

4. Test possible with more assigned PIs? If maybe, go to Step 1

5. Is there untried combination of values on assigned PIs? If not, exit: untestable fault

6. Set untried combination of values on assigned PIs using objectives and backtrace. Then, go to Step 2

Page 36: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 36 http://vlsicad.ucsd.edu

Select path s – Y for fault propagation

sa1

Example 7.3 -- Step 1 s sa1

Page 37: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 37 http://vlsicad.ucsd.edu

Initial objective: Set r to 1 to sensitize fault

1

sa1

Example 7.3 -- Step 2 s sa1

Page 38: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 38 http://vlsicad.ucsd.edu

Example 7.3 -- Step 3 s sa1

Backtrace from r

1

sa1

Page 39: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 39 http://vlsicad.ucsd.edu

Example 7.3 -- Step 4 s sa1

Set A = 0 in implication stack

1

0

sa1

Page 40: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 40 http://vlsicad.ucsd.edu

Example 7.3 -- Step 5 s sa1

Forward implications: d = 0, X = 1

1

sa1

00

1

Page 41: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 41 http://vlsicad.ucsd.edu

Example 7.3 -- Step 6 s sa1

Initial objective: set r to 1

1

sa1

00

1

Page 42: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 42 http://vlsicad.ucsd.edu

Example 7.3 -- Step 7 s sa1

Backtrace from r again

1

sa1

00

1

Page 43: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 43 http://vlsicad.ucsd.edu

Example 7.3 -- Step 8 s sa1

Set B to 1. Implications in stack: A = 0, B = 1

1

sa1

00

1

1

Page 44: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 44 http://vlsicad.ucsd.edu

D

Example 7.3 -- Step 9 s sa1 Forward implications: k = 1, m = 0, r = 1, q = 1, Y = 1, s

= D, u = D, v = D, Z = 1

1

sa1

1

0

1

1

DD

1

0

1

0

1

Page 45: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 45 http://vlsicad.ucsd.edu

Backtrack -- Step 10 s sa1

X-PATH-CHECK shows paths s – Y and s – u – v – Z blocked (D-frontier disappeared)

1

sa1

00

1

Page 46: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 46 http://vlsicad.ucsd.edu

Step 11 -- s sa1

Set B = 0 (alternate assignment)

1

sa1

0

0

Page 47: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 47 http://vlsicad.ucsd.edu

Backtrack -- s sa1

1sa1

00

1

0 1

0

1

01

01

Forward implications: d = 0, X = 1, m = 1, r = 0,

s = 1, q = 0, Y = 1, v = 0, Z = 1. Fault not sensitized

Page 48: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 48 http://vlsicad.ucsd.edu

Step 13 -- s sa1

Set A = 1 (alternate assignment)

1

sa1

1

Page 49: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 49 http://vlsicad.ucsd.edu

Step 14 -- s sa1

Backtrace from r again

1

sa1

1

Page 50: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 50 http://vlsicad.ucsd.edu

Step 15 -- s sa1

Set B = 0. Implications in stack: A = 1, B = 0

1

sa1

1

0

Page 51: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 51 http://vlsicad.ucsd.edu

Backtrack -- s sa1

Forward implications: d = 0, X = 1, m = 1, r = 0. Conflict: fault not sensitized. Backtrack

sa1

1

0

0

0

1

1

1

1

10

01

Page 52: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 52 http://vlsicad.ucsd.edu

Step 17 -- s sa1

Set B = 1 (alternate assignment)

1

sa1

1

1

Page 53: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 53 http://vlsicad.ucsd.edu

Fault Tested -- Step 18 s sa1

Forward implications: d = 1, m = 1, r = 1, q = 0, s = D, v = D, X = 0, Y = D

1

sa1

1

1

11

0

D

0

D

D

X

D

Page 54: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 54 http://vlsicad.ucsd.edu

Comparison

Path sensitization: multiply SAT problems

D-algorithm: decisions are made at the J-frontier

PODEM: decisions are made at the PIs

FAN: Multiply paths are traced back simultaneously A decision can be made at a headline

Page 55: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 55 http://vlsicad.ucsd.edu

Algorithm

D-ALGPODEMFANTOPSSOCRATESWaicukauski et al.ESTTRANRecursive learningTafertshofer et al.

Est. speedup over D-ALG(normalized to D-ALG time)17232921574 2189 8765 3005 48525057

Year

1966198119831987198819901991199319951997

History of Algorithm Speedups

Page 56: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 56 http://vlsicad.ucsd.edu

Sequential Circuits: State! Combinational circuit testing is relatively easy

Sequential circuit testing needs to drive sequential elements to specific state to test a fault

M state regs

N inputs K outputs

K outputsN inputs

Combinational

Logic

Module

Combinational

Logic

Module

(a) Combinational function (b) Sequential engine

2N patterns 2N+M patterns

Page 57: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 57 http://vlsicad.ucsd.edu

Sequential Circuit Controllability and Observability

CONTROLABILITY: The ease of controlling the state of a node in the circuit.

OBSERVABILITY: The ease of observing the state of a node in the circuit

Example: 4 bit counter with clear

clr

q3q2q1q0

Control of q3:

Set low: perform clear = 1 vector

Set high : perform clear + count to 1000B = 9 vectors

Testing a node in a circuitA: Apply sequence of test vectors to circuit which sets node to demanded

state.B: Apply sequence of test vectors to circuit which enables state of node to

be observed.C: The observing test vector sequence must not change state of node.

Page 58: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 58 http://vlsicad.ucsd.edu

Ad-hoc Test

Inserting multiplexer improves testability

I/O bus

Memory

Processor

data

addr

ess

I/O bus

Memory

Processor

data

addr

ess

selecttest

Page 59: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 59 http://vlsicad.ucsd.edu

Scan-based Test

Logic

Combinational

Logic

Combinational

Reg

iste

r

Reg

iste

r

OutIn

ScanOutScanIn

A B

Page 60: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 60 http://vlsicad.ucsd.edu

Scan-based Test —Operation

TestScanIn

Test

Latch

In0

Out0

Test Test

Latch

In1

Out1

Test Test

Latch

In2

Out2

Test Test

Latch

In3

Out3

ScanOut

Test

1

2

N cycles 1 cycleevaluationscan-in

N cyclesscan-out

Page 61: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 61 http://vlsicad.ucsd.edu

Scan-Path Testing

Partial-Scan can be more effective for pipelined datapaths

REG[5]

REG[4]

REG[3]REG[2]

REG[0]REG[1]

+

COMP

OUT

SCANIN

COMPIN

SCANOUT

A B

Page 62: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 62 http://vlsicad.ucsd.edu

Boundary Scan (JTAG)

Printed-circuit board

Logic

scan path

normal interconnect

Packaged IC

Bonding Pad

Scan-in

Scan-out

si so

Board testing becomes as problematic as chip testing

Page 63: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 63 http://vlsicad.ucsd.edu

Self-test

(Sub)-Circuit

Under

Test

Stimulus Generator Response Analyzer

Test Controller

Rapidly becoming more important with increasingchip-complexity and larger modules

Page 64: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 64 http://vlsicad.ucsd.edu

Design verification testing

Specification(text)

Behavioural model(Verilog, Spice, etc.)

Design:Full custom,Standard cell,Gate array

Produced chip

Application

Does model complywith specification ?

Does design have samebehaviour as model ?

Does design work ?Does chip workas specified ?( 50 % )

Does chip work in application ?(50 % * 50 % = 25 %)

Does specification complywith application ? (50 %)

How do we find outwhat’s wrong ?

Sufficient margins forproduction variations ?

Low quantity

Reliability ?

Is it testable in production ?

(10- 50% of total development costs)

Imperfect designs are often accepted in HEP if ways around bugs can be found.

(Can be improved by System - IC behavioural modelling)

Page 65: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 65 http://vlsicad.ucsd.edu

Production testing

Packaged

Wafer

Bare dieBurn-in ?

Functional test:fault coverage, stuck at 0/1

Internal speed test:clocking speed

External speed test:setup time, hold time,

I/O level test:output levels, input thresholds

Analog parameters:gain, noise, time constants,precision, etc.

Margins ? (noise, measurement accuracy, etc.)Temperature ?.Supply voltage ?External loads ?

MCM

delay

(Production test pattern development 5 - 25 % of development costs)(Production test 20 - 50% of final chip cost)

Monitoring of radiation resistance (destructive test)

Page 66: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 66 http://vlsicad.ucsd.edu

Cost of finding failing chip

LEVEL FAILURE MECHANISM PRICE

Wafer Yield, speed, noise, gain 1$

Chip Cutting, bonding 10$

ModuleSoldering, ESD 100$ 100 $

SystemCables, connectors 1000$ 100 $

At customerReliability of components,vibrations, corrosion, 10.000$ GOLDradiation, high voltage

(MCM)

(Sub)

Design

PrototypeVerification,Qualification,Production margins

SpecificationFunctionality, PerformanceTestability, reliabilityInteroperability

1$

1000$ 100 $

100.000$ GOLD

Designverificationtesting

Productiontesting

( price per design)

(price per chip)

100K$ - ? $(if not sufficient design verificationperformed)

Page 67: ECE 260B – CSE 241A Testing 1 ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 67 http://vlsicad.ucsd.edu

Thanks