a quick look at circuit testing - cseweb.ucsd.educseweb.ucsd.edu/classes/su03/cse142/slide/3/3.1 a...

Post on 08-Aug-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.1

A first look at System TestingSelf Healing in Dependable Systems

Alfredo Benso & Paolo PRINETTOPolitecnico di Torino (Italy)

www.testgroup.polito.it

A quick look at Circuit Testing

Slide # 2.2 © Prinetto - 2003

Goals

– Presenting some of the major issues related to Digital Circuit Testing

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.2

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.3 © Prinetto - 2003

Outline

– Introduction– Definitions– Testing a Circuit– Historical Evolution– Why testing– The basic approach to test– Testing diversifications– Conclusions.

Slide # 2.4 © Prinetto - 2003

How can I discover faults in my systems ?

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.3

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.5 © Prinetto - 2003

Justtest them !!!

Slide # 2.6 © Prinetto - 2003

Test

Set of operations aiming at checking

whether a manufactured unit

works properly w.r.t. its specifications, or

not.

The result is:

• probabilistic

• valuable at the moment of the test, only

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.4

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.7 © Prinetto - 2003

Test

Determine if a system is mission-ready.

If not, help establishing why not.

Diagnostic test

Slide # 2.8 © Prinetto - 2003

Capability of a product to be tested,

satisfying a set of given constraints in

terms of quality, cost, time, …

Testability

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.5

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.9 © Prinetto - 2003

Capability of a design to guarantee that the final product will be testable, satisfying a

set of given constraints in terms of quality, cost, time,

Testability

Slide # 2.10 © Prinetto - 2003

Modify the logic in a way to make it easily testable

(e.g., Scan Design, BICS, Boundary

Scan, …)

Design for Testability

(DfT)

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.6

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.11 © Prinetto - 2003

Outline

– Introduction– Definitions– Testing a Circuit– Historical Evolution– Why testing– The basic approach to test– Testing diversifications– Conclusions.

Slide # 2.12 © Prinetto - 2003

What is a fault?

• Impairments:– Faults– Errors– Failures

• Means• Attributes & Measures

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.7

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.13 © Prinetto - 2003

Caveat

• A plenty of different definitions & view points exists !!!

Slide # 2.14 © Prinetto - 2003

A physical defect, imperfection, or flaw

that occurs within some hardware or

software components.

Fault

[Pradham 96]

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.8

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.15 © Prinetto - 2003

A malfunction in a hardware, software or human component of

the system, which may introduce errors

and may lead to failures.

Fault

[Gibb_76]

Slide # 2.16 © Prinetto - 2003

Excited Faults

A fault is excited when a different behavior occurs, at the fault site, between the good and

the faulty machine.

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.9

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.17 © Prinetto - 2003

Be careful !!!

Even if excited, a fault doesn’t necessarily show up, since the fault site can be not observable

from outside.

Slide # 2.18 © Prinetto - 2003

A different behaviour, between good and faulty machine, due to the existence of

one or more excited faults and observable

from the outside.

Error

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.10

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.19 © Prinetto - 2003

A manifestation of a fault.

Error

Slide # 2.20 © Prinetto - 2003

A deviation from accuracy or correctness.

Error

[Pradham 96]

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.11

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.21 © Prinetto - 2003

An invalid state of the system,

such as an incorrectly stored or transmitted items of

data.

Error

[Gibb_76]

Slide # 2.22 © Prinetto - 2003

It occurs when an error results in the system performing one of its functions

incorrectly.

Failure

[Pradham 96]

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.12

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.23 © Prinetto - 2003

A fault condition in the system or a

functional unit that has influence on

service.

Failure

[Gibb_76]

Slide # 2.24 © Prinetto - 2003

No fault

A fault is present

but latent

The fault is excited

An error appears

A ≠ appears at the fault site

The ≠ reaches an observability point

The ≠ disappears but the fault is still present

The ≠ and the fault disappear

The fault disappears

A fault occurs

From Faults to Errors

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.13

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.25 © Prinetto - 2003

3-universe model

• If no tolerance for specific faults exists, a fault may lead to a failure:

Fault(PhysicalUniverse)

Error(Informational

Universe)

Failure(External or User

Universe)

[Avizienis 82]

Slide # 2.26 © Prinetto - 2003

No fault

Error effects

System failure

A fault is present but latent

A fault is excited

An error appears

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.14

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.27 © Prinetto - 2003

No fault

Error effects

System failure

A fault is present but latent

A fault is excited

An error appears

Partial failure

Slide # 2.28 © Prinetto - 2003

Degrades service, but does not interrupt it

completely.

Partial Failure

[Lan_86]

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.15

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.29 © Prinetto - 2003

The ability of a system to

automatically decrease its level of

performance to compensate for hardware and/or software faults

Graceful degradation

Slide # 2.30 © Prinetto - 2003

No fault

Error effects

System failure

A fault is present but latent

A fault is excited

An error appears

Partial failure Total failure

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.16

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.31 © Prinetto - 2003

Interrupts the service until the

system/functional unit is recovered or repaired or replaced

Total Failure

[Lan_86]

Slide # 2.32 © Prinetto - 2003

No fault

Error effects

System failure

A fault is present but latent

A fault is excited

An error appears

Partial failure Total failure Fail silent violation

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.17

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.33 © Prinetto - 2003

The system/application produces incorrect

results, while it looks providing correct

ones

Fail silent violation

Slide # 2.34 © Prinetto - 2003

No fault

Error effects

System failure

The error is detected

A fault is present but latent

A fault is excited

An error appears

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.18

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.35 © Prinetto - 2003

Error effects (cont’ed)

– it can be detected:. by one of the system Error Detection

Mechanism (e.g., hardware exceptions handling, software checks, …). The system reaches a safe state.

. during a test session.

Slide # 2.36 © Prinetto - 2003

No fault

Error effects

System failure

The error has no effect

The error is detected

A fault is present but latent

A fault is excited

An error appears

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.19

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.37 © Prinetto - 2003

Error effects (cont’ed)

– It can have no effect, since:. it has been overwritten and thus

disappeared. it represents a potential Hazard: it is active

and could eventually have effects. it is not significant from the system

behavior point of view.

Slide # 2.38 © Prinetto - 2003

No fault

The ≠ is no longer on an observability

point

The ≠ and the defect disappear

The ≠ disappears but the defect is

still present

Error effects

System failure The error is latent

The error has no effect

The error is detected

A fault is present but latent

A fault is excited

An error appears

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.20

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.39 © Prinetto - 2003

The length of time between the

occurrence of a fault and

the appearance of an error due to that fault.

Fault Latency

Slide # 2.40 © Prinetto - 2003

The length of time between the occurrence

of an error and

the appearance of the resulting failure.

Error Latency

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.21

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.41 © Prinetto - 2003

Fault characteristics

• Cause• Nature• Duration• Extent• Value

Slide # 2.42 © Prinetto - 2003

Fault characteristics

• Cause (that which leads to the fault)– Specification Mistakes– Implementation Mistakes– External Disturbances– Physical Hardware Component Defects– Misuses

• Nature• Duration• Extent• Value

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.22

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.43 © Prinetto - 2003

Fault characteristics

• Cause• Nature (relates to the intent of the cause of fault):

– Hardware– Software

• Duration • Extent• Value

Slide # 2.44 © Prinetto - 2003

Fault characteristics

• Cause• Nature• Duration (length of time for which the fault persists)

– Permanent– Intermittent– Transient

• Extent • Value

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.23

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.45 © Prinetto - 2003

Fault characteristics

• Cause• Nature• Duration (length of time for which the fault persists)

– Permanent– Intermittent– Transient

• Extent • Value

It remains in existence indefinitely if no corrective

action is taken

Slide # 2.46 © Prinetto - 2003

Fault characteristics

• Cause• Nature• Duration (length of time for which the fault persists)

– Permanent– Intermittent– Transient

• Extent • Value It appears, disappears, and

then reappears repeatedly

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.24

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.47 © Prinetto - 2003

Fault characteristics

• Cause• Nature• Duration (length of time for which the fault persists)

– Permanent– Intermittent– Transient

• Extent • Value

It can appear and disappear within a given period of time

Slide # 2.48 © Prinetto - 2003

Fault characteristics

• Cause• Nature• Duration• Extent (how far a fault propagates)

– Local– Global

• Value

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.25

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.49 © Prinetto - 2003

Fault characteristics

• Cause• Nature• Duration• Extent • Value (consequence of the fault)

– Determinate– Indeterminate

Slide # 2.50 © Prinetto - 2003

Fault characteristics

• Cause• Nature• Duration• Extent • Value (consequence of the fault)

– Determinate– Indeterminate

e.g., the so called “Byzantine faults”

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.26

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.51 © Prinetto - 2003

Byzantine faults

– It occurs when the system can fail & stop, or execute slowly, or execute at normal speed but produce erroneous values.

Slide # 2.52 © Prinetto - 2003

Genesis

Specificationmistakes

Implementationmistakes

ExternalDisturbances

ComponentDefects

SoftwareFaults

HardwareFaults

ErrorsSystemFailures

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.27

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.53 © Prinetto - 2003

Intermittent faults

Design errors

Misuses

Transient faultsExternal

Disturbances

Permanent faultsComponentDefects

Design limit stressing

Errors

Slide # 2.54 © Prinetto - 2003

Misuses

• Operator error is the most common cause of failure

• Nevertheless many errors attributed to operators are actually caused by designs that require an operator to choose an appropriate recovery action without much guidance and without any automated help

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.28

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.55 © Prinetto - 2003

ProductionIn-fieldoperation

Re-cycling

User’srequirements

DesignFaults can occur in any moment of

the product life cycle

Designerrors

Any problem

Randomdefects

Slide # 2.56 © Prinetto - 2003

Defect

The lack of something necessary or desirable

for completion or perfection; deficiency.

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.29

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.57 © Prinetto - 2003

Physical Defects

Defects that can occur in the physical

structure of a system.

Slide # 2.58 © Prinetto - 2003

Physical Defects are obviously not numerable in

terms of type,

location, time of occurrence.

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.30

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.59 © Prinetto - 2003

Hardware Fault model

A model of a defect to make it numerable, and thus tractable, making restricting

hypothesis on location and types.

Slide # 2.60 © Prinetto - 2003

Some Hardware Fault Models

– single (multiple) stuck-at– short (bridge)– stuck-on & stuck-open– slow-to-rise & slow-to-fall– single state-transition fault– coupling– pattern sensitive faults– functional– …

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.31

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.61 © Prinetto - 2003

Stuck-at Faults

– Any given node in the network permanently stuck at 0 or 1.

FF1

FF2

PIPO

0

Slide # 2.62 © Prinetto - 2003

Selection conditioners

The fault model selection is heavily influenced by:– target system :

. technology

. type (IP core, chip, board, system; random logic, memory, microprocessor; …)

– available support tools (Automated Synthesis, Fault Simulation, ATPG, …)

– available test equipments (ATE, BIST) – ...

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.32

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.63 © Prinetto - 2003

Status

The single stuck-at fault model, although introduced in 1958, is still a de-facto standard, since:

– it’s a metric– it’s technology independent– it’s easy to use– it’s managed by any CAD tool– …

Slide # 2.64 © Prinetto - 2003

Outline

– Introduction– Definitions– Testing a Circuit– Historical Evolution– Why testing– The basic approach to test– Testing diversifications– Conclusions.

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.33

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.65 © Prinetto - 2003

How many Stuck at Faults?

• The total number of faults is 2N, where N is the number of gate terminals

= fault site

Slide # 2.66 © Prinetto - 2003

Equivalent Faults

• Let F1 and F2 be the functions performed by C in the presence of f1 and f2, respectively. Then faults f1 and f2 are equivalent if and only if F1 = F2

• Fault collapsing• Generate only one test for a group of equivalent

faults

s-a-0s-a-0

s-a-0

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

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.34

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.67 © Prinetto - 2003

Testing of a Circuit

ab

c

d es-a-1

a = 1

b = 0

c = 0

G2G1

Slide # 2.68 © Prinetto - 2003

Controlling and Non-controlling Value

• Controlling value : when it present on at least one input of a gate, it forces the output to a known value– AND gate, NAND gate : 0– OR gate, NOR gate : 1

• Non-controlling value : the complement of (Sensitizing value) the controlling value– AND gate, NAND gate : 1– OR gate, NOR gate : 0

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.35

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.69 © Prinetto - 2003

Automatic Test Generation

• Three steps– Set up (fault sensitizing)– Propagation (path sensitizing)– Justification (consistency check)

Slide # 2.70 © Prinetto - 2003

• The setup step is to produce a difference in the output signal at the gate where the fault is located between the two cases when the fault is present or it is absent

• D is called frontier

Test Generation (D-Algorithm)

D = 0 when fault occurs

1 no fault

H

H D01

stuck-at 1

s-a-1

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.36

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.71 © Prinetto - 2003

Test Generation (D-Algorithm)

• The propagation step derives the D (or D) condition from the faulty gate to a output

JD0

1

stuck-at 1

D

1

H

Slide # 2.72 © Prinetto - 2003

0

F

G

H J

AB

CD

E

s-a-111

X

1

1

0

D

Test Generation (D-Algorithm)

• The last step is to force the logic values needed to sensitize the assumed fault from the primary inputs

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.37

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.73 © Prinetto - 2003

– 1. excitation condition a = b = 1– 2. sensitization condition f = 0– 3. choose d = 1 ⇒ b = 0 (conflict)– try c = 1 (succeed)

• Backtracking : returning on one’s step and reversing a previous choice

Backtracking

s-a-1a

b

c

d

e

f

gG1G4

G3G2

Slide # 2.74 © Prinetto - 2003

1. excitation condition b = 02. sensitization condition c = 03. justification a =1 and b = 1 (conflict)

• There is no test for b s-a-1 fault• b is redundant• Replacing b by 1 ⇒ d = 0• The conflicting requirement derived from reconvergent

fanout (paths have a common source and a common sink)

Untestable Fault

G1 G2

s-a-1

ab

cd

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.38

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.75 © Prinetto - 2003

Outline

– Introduction– Definitions– Testing a Circuit– Historical Evolution– Why testing– The basic approach to test– Testing diversifications– Conclusions.

Slide # 2.76 © Prinetto - 2003

First Design,then Test

Historical Evolution

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.39

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.77 © Prinetto - 2003

Designers TestEngineers

Design

Slide # 2.78 © Prinetto - 2003

We cannot adopt Design for Testability techniques, since our system will be bigger and

slower. The resulting overhead is unacceptable for us !!

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.40

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.79 © Prinetto - 2003

If you consider testability as part of the

specifications, its cost cannot be considered an

overhead

Slide # 2.81 © Prinetto - 2003

First Design,then Test

Design & Test

Historical Evolution

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.41

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.82 © Prinetto - 2003

&Designers TestEngineers

Slide # 2.84 © Prinetto - 2003

First Design,then Test

Design & Test

TestableSynthesis

Built-In Self Testing&

Historical Evolution

Concurrent Engineering

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.42

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.85 © Prinetto - 2003

Designers ARETest Engineers

Test responsibilities must be owned by

every member of the design team !!

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.43

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.87 © Prinetto - 2003

Automated synthesis methodology that

considers testability as a design constraint.

Testable Synthesis

Slide # 2.88 © Prinetto - 2003

Automatic Testability enhancement

Test Synthesis

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.44

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.89 © Prinetto - 2003

Outline

– Introduction– Definitions– Testing a Circuit– Historical Evolution– Why testing– The basic approach to test– Testing diversifications– Conclusions.

Slide # 2.90 © Prinetto - 2003

Why should I test ?

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.45

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.91 © Prinetto - 2003

“If anything can go wrong …… it will !”

[Murphy]

Slide # 2.92 © Prinetto - 2003

“All customers are named Murphy !”

[Any test engineer]

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.46

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.93 © Prinetto - 2003

Sooner or later nearly every computer

company suffers a glitch

Slide # 2.94 © Prinetto - 2003

Intel

– In 1994 Intel relented under pressure and replaced flawed Pentium processors.

– The chips contained an error that could have caused them to make mathematical mistakes.

– Cost:

480 M US $

≡ the overall EU Esprit budget for ’94 !!!

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.47

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.95 © Prinetto - 2003

Apple

– In 1995, Apple Computer recalled Powerbook5300 laptops after some units burst into flames.

– A lithium ion battery was overheating. – Only 1,000 units had been shipped.

Slide # 2.96 © Prinetto - 2003

Toshiba

– In 1999 Toshiba settled a lawsuit alleging that the company sold 5 million defective laptops.

– The culprit was a semiconductor for controlling floppy drives.

– Cost: 2.1 G US $

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.48

A first look at System TestingSelf Healing in Dependable Systems

Intel

– May 12, 2000 – Intel this week announced it has found defects in a chip

called the memory translator hub (MTH) used to route signals from Intel’s 820 chipset to the SDRAM in Pentium IIIs.

– Intel said noise in the MTH could cause PCs to reset, reboot, or freeze, and in some cases, cause data corruption. The company has not fixed the problem, but has offered to replace all defective motherboards with new ones fitted with Rambus memory, a faster memory than SDRAM.

– An Intel spokesman said about one million motherboardshave been shipped to end customers since November 1999 and could cost the company a few hundred million dollars. Analysts expect the recall to cost Intel $300 million and $400 million, placing it on a par with the infamous Pentium recall.

Slide # 2.98 © Prinetto - 2003

An Italian Car manufacturer

– 5,000 68HC11 processors, not burned-in, with bonding problems

– Mounted on cars– 2,000 cars sold before discovering the problem– 2,000 systems to replace:

. 1 year to find all of them

. global cost of 700 ML !!!

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.49

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.99 © Prinetto - 2003

1

10

100

1.000

10.000

Device Board System In-field

Abstraction level

Co

st f

or

rep

laci

ng

a f

aulty

de

vice

The “Rule of 10”

Slide # 2.100 © Prinetto - 2003

According to the EU law, if a product damage you, you can

prosecute both the final manufacturer and the

manufacturers of all the sub-components

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.50

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.101 © Prinetto - 2003

TEST to:• Improve quality• Improve yields • Reduce TTM, TTV, TT$• …

Time to Market

TTM

Time to Volume

TTV

Time to Money

TT$

RevenuesCosts

Profits

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.51

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.103 © Prinetto - 2003

Outline

– Introduction– Definitions– Testing a Circuit– Historical Evolution– Why testing– The basic approach to test– Testing diversifications– Conclusions.

Slide # 2.104 © Prinetto - 2003

Which is the basic approach to

testing ?

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.52

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.105 © Prinetto - 2003

Comparator

ReferenceSystem

Target SystemUnder Test

The basic approach to Testing

A propersequence of

values

Good / Faultyindication

Slide # 2.106 © Prinetto - 2003

The basic approach to Testing

FF1

FF2

PIPO

FF1

FF2

PIPO

0

=

Fault free

Faulty

TestSequences

/

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.53

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.107 © Prinetto - 2003

Step #1

Off-line, generate the Test Sequences to be applied to

the UUT inputs.

Basic steps

Slide # 2.108 © Prinetto - 2003

Tools– ATPG (Automatic Test Pattern Generator)– Ad hoc Software – Ad hoc Hardware– Hand, brain, experience, – ...

Step #1

Off-line, generate the test sequences to be applied to

the UUT inputs.

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.54

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.109 © Prinetto - 2003

Step #1

Off-line, generate the test sequences to be applied to

the UUT inputs.

Step #2

Off-line, determine the behavior of the reference (i.e., non faulty) unit when

Test Sequences are applied.

Basic steps

Slide # 2.110 © Prinetto - 2003

Practical approachStep #1

Off-line, determine the behavior of the reference (i.e., non faulty) unit when

Test Sequences are applied.

UUT descriptionTestsequences

Reference output

behavior

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.55

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.111 © Prinetto - 2003

Basic steps

Off-line, generate the test sequences to be applied to

the UUT inputs.

Step #1

Step #2

Off-line, determine the behavior of the reference (i.e., non faulty) unit when

Test Sequences are applied.

Step #3

At test time:• apply Test Sequences to UUT

inputs

• compare UUT outputs with the reference output behavior

Slide # 2.112 © Prinetto - 2003

Basic steps

Off-line, generate the test sequences to be applied to

the UUT inputs.

Step #1

Step #2

Off-line, determine the behavior of the reference (i.e., non faulty) unit when

Test Sequences are applied.

Step #3

At test time:• apply Test Sequences to UUT

inputs

• compare UUT outputs with the reference output behavior.

Step #4

When a faulty unit is found:• UUT is repaired (if possible)

• Statistics are collected to fix the production and/or the test process.

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.56

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.113 © Prinetto - 2003

How can we evaluate how good our tests

really are?

Slide # 2.114 © Prinetto - 2003

Carefully evaluate your Defect Levels

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.57

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.115 © Prinetto - 2003

The % of faulty systems released as

good.

Defect level

Slide # 2.116 © Prinetto - 2003

Defect level

The Defect Level depends on :– the quality of the production process (yield)– the quality of the test (coverage).

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.58

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.117 © Prinetto - 2003

The % of elements of a given set that are

considered to be defect free.

Yield

Slide # 2.118 © Prinetto - 2003

Be careful !!!

For TTM and TT$ reasons, in any new IC technology, the production starts when just 10% of the chips provided by the new process line works properly.

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.59

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.119 © Prinetto - 2003

Coverage

Fault Coverage = # detected faults# possible faults

Defect Coverage = # detected defects# possible defects

Given:• a circuit• a set of possible faults• a test sequence

0% 100%

FC%

Slide # 2.120 © Prinetto - 2003

A test sequence detects (covers) a fault if the

values it generates on the UUT outputs when the fault is present are

different from the values generated when the

UUT is fault free.

Detected (or covered)

fault

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.60

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.121 © Prinetto - 2003

Detected Faults

• A Test Pattern detects a single fault iff:– the fault is excited (opposite values on the fault

site)– the difference is propagated to at least one

output.

PIPO

01

Slide # 2.122 © Prinetto - 2003

Example of Defect Level evaluation

DL = 1 - Y(1-T)

where:– Y = process yield – T = coverage

[ T.Williams, N.Brown, IEEE Transactions on Computers, 1981 ]

Too approximated when the coverage is

estimated in terms of a single fault model, only.

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.61

A first look at System TestingSelf Healing in Dependable Systems

Good part Y

Defective 1-Y

Defect coverage T

Defect level 1-P

Fault detected

Escapes

Slide # 2.124 © Prinetto - 2003

Outline

– Introduction– Definitions– Testing a Circuit– Historical Evolution– Why testing– The basic approach to test– Testing diversifications– Conclusions.

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.62

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.125 © Prinetto - 2003

Is there just one kind of test or are there

alternatives to exploit ?

Slide # 2.126 © Prinetto - 2003

There is no“one-size fits-all”

solution !

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.63

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.127 © Prinetto - 2003

Product Life Cycle

End-of-Production

Design

In-Field

Levels ofIntegration

Chip MCMBoa

rdSyst

em

Core

Technology

Analog

Memory

Processor

Random Logic

Testing Diversification (1)

Slide # 2.128 © Prinetto - 2003

When

Off-line Testing

On-line Testing

HowExterna

l Testin

g

Built-In

Self Tes

t

What

Structural Testing

Functional Testing

Parametric Testing

Testing Diversification (2)

Current-based Testing

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.64

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.129 © Prinetto - 2003

• Let’s now focus on some of the above mentioned attributes

Slide # 2.130 © Prinetto - 2003

Product Life Cycle

End-of-Production

Design

In-Field

Levels ofIntegration

Chip MCMBoa

rdSyst

em

Core

Technology

Analog

Memory

Processor

Random Logic

Testing Diversification (1)

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.65

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.131 © Prinetto - 2003

EOP test goals

– Minimize the Defect Level, by identifying faulty units

– Diagnose fault type and location– Improve:

. the production process

. the test process.

Slide # 2.132 © Prinetto - 2003

Fabricationprocess

Design

TestPASSPASS

Diagnosis

FAILFAIL

EOP test goals

Design improvements

Processimprovements

Product improvements

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.66

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.133 © Prinetto - 2003

EOP test goals

Teststation

F, ~OK

Fix the production

process

F, ~OKFix theproduct

F, OKFix the test

process

FaultAnalysis& Repair

PASS

P, OKP, ~OK

FAIL

F, OKF, ~OK

Defect level

Slide # 2.134 © Prinetto - 2003

Product Life Cycle

End-of-Production

Design

In-Field

Levels ofIntegration

Chip MCMBoa

rdSyst

em

Core

Technology

Analog

Memory

Processor

Random Logic

Testing Diversification (1)

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.67

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.135 © Prinetto - 2003

In-field test goals

– Detect Physical Defects, Fault and Errors as soon as possible

– Diagnose fault type and location– Identify faulty SRUs (Smallest Replaceable

Units).

Slide # 2.136 © Prinetto - 2003

When

Off-line Testing

On-line Testing

HowExterna

l Testin

g

Built-In

Self Tes

t

What

Structural Testing

Functional Testing

Parametric Testing

Testing Diversification (2)

Current-based Testing

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.68

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.137 © Prinetto - 2003

When

Off-line Testing

On-line Testing

HowExterna

l Testin

g

Built-In

Self Tes

t

What

Structural Testing

Functional Testing

Parametric Testing

Testing Diversification (2)

Current-based Testing

Slide # 2.138 © Prinetto - 2003

Test performed when the system is idle.

Off-line Test

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.69

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.139 © Prinetto - 2003

Test performed while the system is

normally working

On-line Test

• Concurrent, if it guarantees a zero error latency

• Not concurrent otherwise.

Slide # 2.140 © Prinetto - 2003

When

Off-line Testing

On-line Testing

HowExterna

l Testin

g

Built-In

Self Tes

t

What

Structural Testing

Functional Testing

Parametric Testing

Testing Diversification (2)

Current-based Testing

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.70

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.141 © Prinetto - 2003

Structural test

It looks for faults that can occur in the

physical structure of the UUT.

Slide # 2.142 © Prinetto - 2003

Pro’s & Con’s

+ Tools available for automatic generation+ Precise Coverage evaluation+ Diagnostic capabilities+ Design independence− Applicable if the netlist is known, only.

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.71

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.143 © Prinetto - 2003

Status

– One of standard EOP test performed by any IC manufacturer.

Slide # 2.144 © Prinetto - 2003

Functional test

It aims at checking the correct behavior of the target system, w.r.t. its specs, but regardless

its actual implementation

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.72

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.145 © Prinetto - 2003

An uncompleted example

SHFTIN

RESET

CLOCK

– Reset– Shift four 1 and check that SHFTOUT be 0– Shift four 0 and check that SHFTOUT be 1

4 bit shift registerSHFTOUT

Slide # 2.146 © Prinetto - 2003

Pro’s & Con’s

+ Rather Easy to write+ No structural knowledge required+ Allow at-speed test− Very hard coverage evaluation− Specs dependence− Manual generation, only.

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.73

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.147 © Prinetto - 2003

Status

– Usual approach to test memories and microprocessors, at the user level.

Slide # 2.148 © Prinetto - 2003

Functional Testverifies the correct functional behavior

at each level

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.74

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.149 © Prinetto - 2003

Structural Testverifies the correct

implementationat each level

Slide # 2.150 © Prinetto - 2003

Parametric test

It aims at measuring the correctness of

some electrical entities of the target

system.

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.75

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.151 © Prinetto - 2003

Status

– One of the standard approaches for both products and manufacturers qualification.

Slide # 2.152 © Prinetto - 2003

Test performed at the target nominal

frequency.

At-speed Test

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.76

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.153 © Prinetto - 2003

Status

– 100% of microprocessors and memories are tested, at EOP, at-speed, too.

Slide # 2.154 © Prinetto - 2003

Experimental results

Data collected on 4,349 faulty devices of a sample of 26,415 dies.

[Maxwell et al, ITC’92]

3.1%61.1%

0.6%

0.8%

31.2%

2.8%0.4%

Current-based test

Functional test

Structural test

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.77

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.155 © Prinetto - 2003

When

Off-line Testing

On-line Testing

HowExterna

l Testin

g

Built-In

Self Tes

t

What

Structural Testing

Functional Testing

Parametric Testing

Testing Diversification (2)

Current-based Testing

Slide # 2.156 © Prinetto - 2003

Test is performed resorting to an Automatic Test

Equipment (ATE)

External Testing

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.78

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.157 © Prinetto - 2003

Controller

Comparator

UUT

Testsequences

Reference output

behavior

ATE architecture

Slide # 2.158 © Prinetto - 2003

The chip to be tested is inserted here !!

ATE for IC’s

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.79

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.159 © Prinetto - 2003

ATE cost

From 3 to 6 M US $ !!

Test-per-pin architecture:5 K US $ / pin

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.80

A first look at System TestingSelf Healing in Dependable Systems

ATE for boards

Bad-of-Nails

Some “Nails”

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.81

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.163 © Prinetto - 2003

When

Off-line Testing

On-line Testing

HowExterna

l Testin

g

Built -I

n Self

Test

What

Structural Testing

Functional Testing

Parametric Testing

Testing Diversification (2)

Current-based Testing

Slide # 2.164 © Prinetto - 2003

Modify the logic in a way to make it

test itself.

Built-In Self Test

(BIST)

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.82

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.165 © Prinetto - 2003

Migrate on board most of the ATE capabilities !!

Embedded ATE or

BIST(Built-In Self Test)

Slide # 2.166 © Prinetto - 2003

Embedded ATE

Is a total test solution embedded in silicon for test, diagnostic and measurement, at all the levels, from cores to systems, from EOP test to in-field maintenance.

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.83

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.167 © Prinetto - 2003

LogicVision’s Solution

EmbeddedATE

(on chip)

Pattern GenerationResult Compression

Precision TimingDiagnostics

Power ManagementTest Control

Support forBoard-level Test

System-Level Test

(about 10k gates)

Logic

Processor, I/O, Audio, Video, Glue Logic, etc.

Mixed-Signal

PLL, ADC/DAC, Filter, Power Supplies, etc.

External ATE

Standard Digital TesterLimited Speed/Accuracy

Low Cost-per-Pin

Memory

SRAM, DRAM, ROM, Flash, FIFO, CAM, etc.

Reduced Pin-Count, Low Bandwidth External Interface

High-Bandwidth Internal Interfaces

I/Os & Interconnects

Drivers/Receivers, Boundary Scan, etc.

Very Deep Submicron Chip, SOC, Board or System

Slide # 2.168 © Prinetto - 2003

BIST costs

EmbeddedATE

(on chip)

Pattern GenerationResult Compression

Precision TimingDiagnostics

Power ManagementTest Control

Support forBoard-level Test

System-Level Test

(about 10k gates)

Logic

Processor, I/O, Audio, Video, Glue Logic, etc.

Mixed-Signal

PLL, ADC/DAC, Filter, Power Supplies, etc.

External ATE

Standard Digital TesterLimited Speed/Accuracy

Low Cost-per-Pin

Memory

SRAM, DRAM, ROM, Flash, FIFO, CAM, etc.

I/Os & Interconnects

Drivers/Receivers, Boundary Scan, etc.

Very Deep Submicron Chip, SOC, Board or System

10 K gate equivalent

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.84

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.169 © Prinetto - 2003

BIST usage

BIST structures are today widely used: – in a big variety of “off-the-shelf” products:

. Microprocessors (Intel, Motorola, Toshiba, Sun, …)

. Personal computers

. Workstations

. Sawing machines

. Automotive applications

. …

Slide # 2.170 © Prinetto - 2003

BIST usage (cont’d)

– in almost all embedded memory IP cores– In a lot of SoC’s– …

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.85

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.171 © Prinetto - 2003

Is it enough to test just at the

end of the overall production process?

Slide # 2.172 © Prinetto - 2003

NO !!!Remember

the “Rule of 10”.Test

sub-modulesasap.

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.86

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.173 © Prinetto - 2003

1

10

100

1.000

10.000

Device Board System In-field

Abstraction level

Co

st f

or

rep

laci

ng

a f

aulty

de

vice

The “Rule of 10”

Slide # 2.174 © Prinetto - 2003

IC processing

Ship

WaferprobeTest

ICpackaging

PackagedIC Test

Burn-InPost

burn-inTest

An example of IC production test

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.87

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.175 © Prinetto - 2003

Buy

Component Test

Bare-BoardTest

PC BoardAssembly

FinalSystem

AssemblyShip

ManufacturingProcess

Test

SystemTest

ProcessFunction

Test

Repair

Repair

An example of board production test

Slide # 2.176 © Prinetto - 2003

Outline

– Introduction– Definitions– Testing a Circuit– Historical Evolution– Why testing– The basic approach to test– Testing diversifications– Conclusions.

© P.Prinetto 2003 - all rights reserved Vers. 1.0 2.88

A first look at System TestingSelf Healing in Dependable Systems

Slide # 2.177 © Prinetto - 2003

BE CAREFUL :If you don’t need testing

any longer, your microelectronic technology is not aggressive enough, and, quite soon, you’ll be

out of the market !!!

Slide # 2.178 © Prinetto - 2003

References

– M. Abramovici, M.A. Breuer, A.D. Friedman:Digital Systems Testing and Testable Design, IEEE Press, Piscataway, NJ (USA), 1995

top related