CMP238: Projeto e Teste de Sistemas VLSI

58
CMP238: Projeto e Teste de Sistemas VLSI Marcelo Lubaszewski Aula 1 - Teste PPGC - UFRGS 2005/I

description

CMP238: Projeto e Teste de Sistemas VLSI. Marcelo Lubaszewski Aula 1 - Teste PPGC - UFRGS 2005/I. Lecture 2 - Fault Modeling. Defects, Errors, and Faults Why model faults? Some real defects in VLSI and PCB Common fault models Stuck-at faults Single stuck-at faults Fault equivalence - PowerPoint PPT Presentation

Transcript of CMP238: Projeto e Teste de Sistemas VLSI

Page 1: CMP238: Projeto e Teste de Sistemas VLSI

CMP238: Projeto e Teste de Sistemas VLSI

Marcelo Lubaszewski

Aula 1 - Teste

PPGC - UFRGS

2005/I

Page 2: CMP238: Projeto e Teste de Sistemas VLSI

Lecture 2 - Fault Modeling• Defects, Errors, and Faults• Why model faults?• Some real defects in VLSI and PCB• Common fault models• Stuck-at faults

• Single stuck-at faults• Fault equivalence• Fault dominance and checkpoint theorem• Classes of stuck-at faults and multiple faults

• Other Common Faults• Faults in FPGAs

Page 3: CMP238: Projeto e Teste de Sistemas VLSI

Defects, Faults, and Errors• Defect: unintendent difference between the implemented

HW and its intendent design– May or may not cause a system failure

• Fault: representation of a defect at the abstracted function level

Defect X Fault

Imperfections in the HW Imperfections in the function

Page 4: CMP238: Projeto e Teste de Sistemas VLSI

Defects, Faults, and Errors• Error: Manifestation of a fault that results in

incorrect circuit (system) outputs or states– Caused by faults

• Failure: Deviation of a circuit or system from its specified behavior– Fails to do what it should do– Caused by an error

• Defect --> Fault ---> Error ---> Failure

Page 5: CMP238: Projeto e Teste de Sistemas VLSI

Some Real Defects in Chips Processing defects

Missing contact windows Parasitic transistors Oxide breakdown . . .

Material defects Bulk defects (cracks, crystal imperfections) Surface impurities (ion migration) . . .

Time-dependent defects Dielectric breakdown Electromigration . . .

Packaging defects Contact degradation Seal leaks. . .

Ref.: M. J. Howes and D. V. Morgan, Reliability and Degradation - Semiconductor Devices and Circuits, Wiley, 1981.

Page 6: CMP238: Projeto e Teste de Sistemas VLSI

Example

• Defect: a short to ground

• Fault: signal b stuck at logic 0

• Error: z has the wrong value if a = b = 1

a

b

1

1z

0 1

0

Page 7: CMP238: Projeto e Teste de Sistemas VLSI

Example

• Defect: a short to ground

• Fault: signal b stuck at logic 0

• Error: z has the wrong value if a = b = 1

• But, if a = 0, fault exists, but no error!

a

b

0

1z

1 1

0

Page 8: CMP238: Projeto e Teste de Sistemas VLSI

Why Model Faults?• Real defects (often mechanical) too numerous and

often not analyzable

• A fault model identifies targets for testing– Model faults most likely to occur

• Fault model limits the scope of test generation – Create tests only for the modeled faults

• A fault model makes analysis possible– Associate specific defects with specific test patterns

• Effectiveness measurable by experiments– Fault coverage can be computed for specific test patterns

to reflect its effectiveness

Page 9: CMP238: Projeto e Teste de Sistemas VLSI

Common Fault Models• Single stuck-at faults

• Transistor open and short faults

• Memory faults

• PLA faults (stuck-at, cross-point, bridging)

• Functional faults (processors)

• Delay faults (transition, path)

• Analog faults

Page 10: CMP238: Projeto e Teste de Sistemas VLSI

Single Stuck-at Fault• Three 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

Page 11: CMP238: Projeto e Teste de Sistemas VLSI

Single Stuck-at Fault• Three 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: NAND gate has 3 fault sites ( ) and 6 single stuck-at faults

a

b

1

1z

s-a-0 fault, s-a-1 fault

Page 12: CMP238: Projeto e Teste de Sistemas VLSI

Single Stuck-at Fault• Three 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: NAND gate has 3 fault sites ( ) and 6 single stuck-at faults

a

b

1

1z

1 (0)

1

Faulty circuit valueGood circuit value

s-a-0

Page 13: CMP238: Projeto e Teste de Sistemas VLSI

Single Stuck-at Fault• Three 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: NAND gate has 3 fault sites ( ) and 6 single stuck-at faults

a

b

1

1z

1 (0)

1

Test vector for a s-a-0 fault

Faulty circuit valueGood circuit value

s-a-0

Page 14: CMP238: Projeto e Teste de Sistemas VLSI

Single Stuck-at Fault

a

b

c

d

e

f

1

0

g h i 1

j

k

z

0

1

1

Good circuit value

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

Page 15: CMP238: Projeto e Teste de Sistemas VLSI

Single Stuck-at Fault

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

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

Page 16: CMP238: Projeto e Teste de Sistemas VLSI

Fault Equivalence

• Fault equivalence: Two faults f1 and f2 are equivalent if all tests that detect f1 also detect f2.

• If faults f1 and f2 are equivalent then the corresponding faulty functions are identical.

• Fault collapsing: All single faults of a logic circuit can be divided into disjoint equivalence subsets, where all faults in a subset are mutually equivalent. A collapsed fault set contains one fault from each equivalence subset.

Page 17: CMP238: Projeto e Teste de Sistemas VLSI

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

sa0sa1

sa1

sa0sa1

AND

NAND

OR

NOR

WIRE

NOT

FANOUT

Page 18: CMP238: Projeto e Teste de Sistemas VLSI

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 19: CMP238: Projeto e Teste de Sistemas VLSI

Equivalence Example

sa0 sa1sa0 sa1

sa0 sa1

sa0 sa1

sa0 sa1

sa0 sa1

sa0 sa1

sa0 sa1

sa0 sa1

sa0 sa1

sa0 sa1

sa0 sa1

sa0 sa1sa0 sa1

sa0 sa1

Page 20: CMP238: Projeto e Teste de Sistemas VLSI

Equivalence Example

sa0 sa1

sa0 sa1

sa0 sa1

sa0 sa1sa0 sa1

sa0 sa1

sa0 sa1sa0 sa1

sa0 sa1

sa0 sa1sa0 sa1

sa0 sa1

sa0 sa1sa0 sa1

sa0 sa1 16Collapse ratio = ----- = 0.533 30

Page 21: CMP238: Projeto e Teste de Sistemas VLSI

Equivalence Example

sa0 sa1sa0 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 sa1

Page 22: CMP238: Projeto e Teste de Sistemas VLSI

Equivalence Example

sa0 sa1sa0 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 sa1

Faults in redremoved byequivalencecollapsing

20Collapse ratio = ----- = 0.625 32

Page 23: CMP238: Projeto e Teste de Sistemas VLSI

Fault Dominance• If all tests of some fault F1 detect another fault F2,

then F2 is said to dominate F1.

• Dominance fault collapsing: If fault F2 dominates F1, then F2 is removed from the fault list.

• When dominance fault collapsing is used, it is sufficient to consider only the input faults of Boolean gates. See the next example.

Page 24: CMP238: Projeto e Teste de Sistemas VLSI

Dominance Example

s-a-1F1

s-a-1F2

Page 25: CMP238: Projeto e Teste de Sistemas VLSI

Dominance Example

s-a-1F1

s-a-1F2 001

110 010 000101 100

011

All tests of F2

Only test of F1

Page 26: CMP238: Projeto e Teste de Sistemas VLSI

Dominance Example

s-a-1F1

s-a-1F2 001

110 010 000101 100

011

All tests of F2

Only test of F1s-a-1

s-a-1

s-a-1 s-a-0

A dominance collapsed fault set

Page 27: CMP238: Projeto e Teste de Sistemas VLSI

Dominance Example

sa1

sa1

sa0 sa1

sa0sa1

sa1

sa0sa1

sa1

sa0sa1

sa1

sa0sa1

sa1

Page 28: CMP238: Projeto e Teste de Sistemas VLSI

Dominance Example

sa1

sa1

sa0 sa1

sa0sa1

sa1

sa0sa1

sa1

sa0sa1

sa1

sa0sa1

sa1

Page 29: CMP238: Projeto e Teste de Sistemas VLSI

Dominance Example

sa0sa1

sa0 sa1

sa1

sa1

sa1

sa0 sa1

sa1

sa1

sa0 sa1

sa0

sa0

sa0

sa1

sa1

sa0 sa1

Page 30: CMP238: Projeto e Teste de Sistemas VLSI

Dominance Example

sa0sa1

sa0 sa1

sa1

sa1

sa1

sa0 sa1

sa1

sa1

sa0 sa1

sa0

sa0

sa0

sa1

sa1

sa0 sa1

Faults in redremoved byequivalencecollapsing

Page 31: CMP238: Projeto e Teste de Sistemas VLSI

Checkpoints• Primary inputs and fanout branches of a combinational

circuit are called checkpoints.

Total fault sites = 16

Page 32: CMP238: Projeto e Teste de Sistemas VLSI

Checkpoints• Primary inputs and fanout branches of a combinational

circuit are called checkpoints.

Total fault sites = 16

Checkpoints ( ) = 10

Page 33: CMP238: Projeto e Teste de Sistemas VLSI

Checkpoints• Primary inputs and fanout branches of a combinational

circuit are called checkpoints.

Total fault sites = 16

Checkpoints ( ) = 10

Checkpoint 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.

Page 34: CMP238: Projeto e Teste de Sistemas VLSI

Why Fault Collapsing?

• Memory & CPU- Time saving– To ease the burden for test generation and fault

simulation in testing

Page 35: CMP238: Projeto e Teste de Sistemas VLSI

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.

Page 36: CMP238: Projeto e Teste de Sistemas VLSI

Why Single Stuck- At Fault Model?• Complexity is greatly reduced.

– Many different physical defects may be modeled by the same logical single stuck- at fault.

• Single stuck- at fault is technology independent– Can be applied to TTL, ECL, CMOS, etc.

• Single stuck- at fault is design style independent– Gate Arrays, Standard Cell, Custom VLSI

• Even when single stuck- at fault does not accurately model some physical defects, the tests derived for logic faults are still valid for most defects.

• Single stuck- at tests cover a large percentage of multiple stuck- at faults.

Page 37: CMP238: Projeto e Teste de Sistemas VLSI

Bridging Faults• Two or more normally distinct points (lines) are

shorted together– Logic effect depends on technology– Wired- AND for TTL

– Wired- OR for ECL

– CMOS?

Page 38: CMP238: Projeto e Teste de Sistemas VLSI

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

Page 39: CMP238: Projeto e Teste de Sistemas VLSI

CMOS Transistor Stuck- Short

• Transistor stuck- on may cause ambiguous logic level– depends on the relative impedances of the pull- up & pull-

down networks

• When input is low, both P and N transistors are conducting causing increased quiescent current, called IDDQ fault.

Page 40: CMP238: Projeto e Teste de Sistemas VLSI

CMOS Transistor Stuck- OPEN

• Transistor stuck- open may cause output floating.

Page 41: CMP238: Projeto e Teste de Sistemas VLSI

Functional Faults

• Fault effects modeled at a higher level than logic for function modules, such as– Decoders – Multiplexers – Adders – Counters – RAMs – ROMs

Page 42: CMP238: Projeto e Teste de Sistemas VLSI

Functional Faults of Decoder

• f( L i /L j ): Instead of line L i , Line L j is selected

• f( L i /L i +L j ): In addition to L i , L j is selected

• f( L i /0): None of the lines are selected

Page 43: CMP238: Projeto e Teste de Sistemas VLSI

Memory Faults

• Parametric Faults – Output Levels– Power Consumption– Noise Margin– Data Retention Time

• Functional Faults – Stuck Faults in Address Register, Data Register,

and Address Decoder– Cell Stuck Faults– Adjacent Cell Coupling Faults– Pattern- Sensitive Faults

Page 44: CMP238: Projeto e Teste de Sistemas VLSI

Memory Faults

• Pattern- sensitive faults: the presence of a faulty signal depends on the signal values of the nearby points – Most common in DRAMs

• Adjacent cell coupling faults – Pattern sensitivity between a pair of cells

Page 45: CMP238: Projeto e Teste de Sistemas VLSI

PLA Faults

• Stuck Faults

• Crosspoint Faults– Extra/ Missing Transistors

• Bridging Faults

• Break Faults

Page 46: CMP238: Projeto e Teste de Sistemas VLSI

Missing Crosspoint Faults in PLA

• Missing crosspoint in AND- array – Growth fault

• Missing crosspoint in OR- array – Disappearance fault

Page 47: CMP238: Projeto e Teste de Sistemas VLSI

Extra Crosspoint Faults in PLA

• Extra crosspoint in AND- array – Shrinkage or disappearance fault

• Extra crosspoint in OR- array – Appearance fault

Page 48: CMP238: Projeto e Teste de Sistemas VLSI

Gate- Delay- Fault

• Slow to rise, slow to fall – x is slow to rise when channel resistance R1 is

abnormally high

Page 49: CMP238: Projeto e Teste de Sistemas VLSI

Gate- Delay- Fault

• Disadvantage:– Delay faults resulting from the sum of several

small incremental delay defects may not be detected.

Page 50: CMP238: Projeto e Teste de Sistemas VLSI

Path- Delay- Fault

• Propagation delay of the path exceeds the clock interval.

• The number of paths grows exponentially with the number of gates.

Page 51: CMP238: Projeto e Teste de Sistemas VLSI

State Transition Graph

• Each state transition is associated with a 4- tuple:– source state, input, output, destination state

Page 52: CMP238: Projeto e Teste de Sistemas VLSI

Single State Transition Fault Model

• A fault causes a single state transition to a wrong destination state.

Page 53: CMP238: Projeto e Teste de Sistemas VLSI

Faults in FPGAs

ffF1F2F3F4

Configuration Memory CellM

M

M M M M M MLUT

BlockRAM

SEU(Bit flip)

clk

clk

E1E2E3

E1E2

E1E3

E2E3

Permanent faults: same ASIC models apply

But for transients ...

Virtex (Xilinx)

FPGA building blocks:

Page 54: CMP238: Projeto e Teste de Sistemas VLSI

Effect of Transients in SRAM-based FPGAs

ffF1F2F3F4

Configuration Memory CellM

M

M M M M M MLUT

BlockRAM

SEU(Bit flip)

clk

clk

E1E2E3

E1E2

E1E3

E2E3

Possible Bit flip Transient effect Corrected at the next load

Virtex (Xilinx)

CLB Comb. Logic:~0.5 % of the FPGA sensitive area

Page 55: CMP238: Projeto e Teste de Sistemas VLSI

Effect of Transients in SRAM-based FPGAs

ffF1F2F3F4

Configuration Memory CellM

M

M M M M M MLUT

BlockRAM

SEU(Bit flip)

clk

clk

E1E2E3

E1E2

E1E3

E2E3

Bit flip Transient effect Corrected at the next load

Virtex (Xilinx)

CLB Flip-flops:~0.5 % of the FPGA sensitive area

Page 56: CMP238: Projeto e Teste de Sistemas VLSI

Effect of Transients in SRAM-based FPGAs

ffF1F2F3F4

Configuration Memory CellM

M

M M M M M MLUT

BlockRAM

SEU(Bit flip)

clk

clk

E1E2E3

E1E2

E1E3

E2E3

Bit flip Permanent effect Corrected by reconfiguration

Virtex (Xilinx)

CLB LUTs:~8% of the FPGA sensitive area

Page 57: CMP238: Projeto e Teste de Sistemas VLSI

Effect of Transients in SRAM-based FPGAs

ffF1F2F3F4

Configuration Memory CellM

M

M M M M M MLUT

BlockRAM

SEU(Bit flip)

clk

clk

E1E2E3

E1E2

E1E3

E2E3

Virtex (Xilinx)

Short or open circuit Corrected by reconfiguration

Routing and CLB customization:~91.0 % of the FPGA sensitive area

Page 58: CMP238: Projeto e Teste de Sistemas VLSI

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.

• Transient faults may have permanent effects in FPGAs