Outline - BIST - University of Tokyotimcheng/NOTES/08_bist_2pp.pdf• Scan-based BIST architecture...

29
1 © K.T. Tim Cheng 08_bist, v1.0 2 © K.T. Tim Cheng 08_bist, v1.0 Why BIST? Memory BIST Logic BIST pattern generator & response analyzer Scan-based BIST architecture Outline - BIST

Transcript of Outline - BIST - University of Tokyotimcheng/NOTES/08_bist_2pp.pdf• Scan-based BIST architecture...

1© K.T. Tim Cheng 08_bist, v1.0

2© K.T. Tim Cheng 08_bist, v1.0

• Why BIST?

• Memory BIST

• Logic BIST pattern generator & response analyzer

• Scan-based BIST architecture

Outline - BIST

3© K.T. Tim Cheng 08_bist, v1.0

TYPES• On-Line Self-Test (Concurrent Checking)• Functional Self-Test (system (micro)code-based)• Structural Self-Test (pseudo-random/-exhaustive, deterministic)

– Regular Structure BIST, Logic BIST, ...

OBJECTIVES OF STRUCTURAL SELF-TEST• Reduction in IC/Module Manufacturing Cost (memory/thruput)• Need for Autonomous Test at Board/Module/System Levels• Diagnostics• Burn-In

Why Built-In Self Test?

4© K.T. Tim Cheng 08_bist, v1.0

Built-In Self Test

Stimulus Source

Stored Program(1s & 0s, algorithm)

Pseudo-Random(LFSR)

CircuitUnderTest

Response Capture

& CompareStored Program

Data Compaction(CRC Signatures)

Pass/Fail

Self-TestController

Defect-FreeResponse

Compare

ClocksMode Control... including “fencing”InitializationResponse Sampling

5© K.T. Tim Cheng 08_bist, v1.0

Memory BIST

Addr

DataIn

Wen

Clk

DataOutRAM

COLLAR(Shared) RAMBISTCONTROLLER

1149.1TAP

ParametersController: global/localAlgorithmParallel Testing (multiples)DiagnosticsLoad/Unload protocol

...

6© K.T. Tim Cheng 08_bist, v1.0

OR

Memory BIST Collar

Addr

DataIn

Wen

Clk

DataOut

# Ports = # Independent AddressesEach Port is Read Only, Write Only or Read-WriteMultiPort Write Contention Resolved by Circuit Design or Address Sequencing

Compare

LOCAL RAMBISTSEQUENCER

StepperLogic

PatternLogic

OR

P/F

7© K.T. Tim Cheng 08_bist, v1.0

Ex: RAMBIST Algorithm (6N)

6N RAM test algorithm.

For address 0 to max do: W(0)For address 0 to max do: R(0), W(1), increment the addressFor address max to 0 do: R(1), W(0), R(0), decrement the address

Each location receives six operations: hence the name of the algorithm, 6N

For a byte-oriented RAM, the algorithm is repeated four times with different write

First sequence: W(0) = W(00000000), W(1) = W(11111111)Second sequence: W(0) = W(00001111), W(1) = W(11110000)Third sequence: W(0) = W(00110011), W(1) = W(11001100)Fourth sequence: W(0) = W(01010101), W(1) = W(10101010)

8© K.T. Tim Cheng 08_bist, v1.0

Test Time Complexity (100MHz)

Size N 10N NlogN N1.5 N2

1M 0.01s 0.1s 0.2s 11s 3h

16M 0.16s 1.6s 3.9s 11m 33d

64M 0.66s 6.6s 17s 1.5h 1.43y

256M 2.62s 26s 1.23m 12h 23y

1G 10.5s 1.8m 5.3m 4d 366y

4G 42s 7m 22.4m 32d 57c

16G 2.8m 28m 1.6h 255d 915c

9© K.T. Tim Cheng 08_bist, v1.0

RAM Test Algorithm

A test algorithm (or simply test) is a finite sequence of test elements.– A test element contains a number of memory

operations (access commands).» Data pattern (background) specified for the Read operation.» Address (sequence) specified for the Read and Write

operations.

A march test algorithm is a finite sequence of march elements.– A march element is specified by an address order

and a number of Read/Write operations.

10© K.T. Tim Cheng 08_bist, v1.0

March TestsMarch X– For AF, SAF, TF, & CFin.

March C [Marinescu 1982]– For AF, SAF, TF, & all CFs---redundant.

March C- [Goor 1991]– Also for AF, SAF, TF, & all CFs---irredundant.

)}0();0,1();1,0();0({ rwrwrw cc ⇓⇑

)}0();0,1();1,0();0();0,1();1,0();0({

rwrwrrwrwrw

cc

c

⇓⇓

⇑⇑

)}0();0,1();1,0();0,1();1,0();0({

rwrwrwrwrw

c

c

⇓⇓

⇑⇑

11© K.T. Tim Cheng 08_bist, v1.0

Coverage of March TestsMATS++ March X March Y March C-

SAF 1 1 1 1TF 1 1 1 1AF 1 1 1 1SOF 1 .002 1 .002CFin .75 1 1 1CFid .375 .5 .5 1CFst .5 .625 .625 1

* Extended March C- (11N) has a 100% coverage of SOF.

12© K.T. Tim Cheng 08_bist, v1.0

Testing Word-Oriented RAM

Background bit is replaced by background word.– MATS++:

Conventional method is to use log(m)+1 different backgrounds for m-bit words.– m=8: 00000000, 01010101, 00110011, and 00001111.– Apply the test algorithm logm+1=4 times, so

complexity is 4*6N/8=3N.

)},,'();',();({ rawarawarawa ⇓⇑c

13© K.T. Tim Cheng 08_bist, v1.0

Logic BIST - Stimulus GenerationThere many way to generate the test. The simplest categorization is in terms of the type of testing used:1. Exhaustive testing2. Pseudo-random testing3. Pre-stored testing

Logic BIST - Response Analysis1. Parity checking2. Transition counting3. Syndrome generation or ones counting4. Signature analysis

14© K.T. Tim Cheng 08_bist, v1.0

(a) Exhaustive test: use a counter and apply all possible patterns (2n patterns) to the circuit under test.

(b) Random test: Use linear-feedback shift register (LFSR) to apply random patterns to CUT.

Ex: TPG of random testing

D1 D2 D3+

C U T

initialvalue(seed)

D1 D2 D31 0 01 1 01 1 10 1 11 0 10 1 00 0 11 0 0This 3-stage LFSR can generate

test sequence of length 23-1=7

Test Pattern Generator for BIST

15© K.T. Tim Cheng 08_bist, v1.0

An m-stage LFSR can generate test seq. of length 2m-1— Such sequence are called maximal length sequence.— Such an LFSR is called a maximum-length LFSR.

When only a fraction of the 2m-1 can be applied, (because m is too large), LFSR is better than counters.

Cycle Counter LFSR1 0 0 0 1 0 02 0 0 1 1 1 03 0 1 0 1 1 1 4 0 1 1 0 1 15 1 0 0 1 0 16 1 0 1 0 1 07 1 1 0 0 0 18 1 1 1

Sequences of LFSR is more random: every bit is random

Maximum-Length LFSR

16© K.T. Tim Cheng 08_bist, v1.0

An LFSR Can Be Expressed by its Characteristic Polynomial f(x)

The characteristic polynomial of a maximum-length LFSR is called primitive polynomial.Several listings of such polynomials exist in the literature.

Given a CUT with m inputs, pick a primitive polynomial of degree mand construct the corresponding LFSR as a TPG.Ref: “Built-In Test for VLSI”, Paul H. Bardell et al., John Wiley & Sons, 1987 (up to degree 300).Ref: “Essential of Electronic Testing”, M. L. Bushnell, V. Agrawal, Kluwer, 2000. (pp. 620 - up to degree 100).

+

an=an-3+an-5f(x)=x5+x3+1

17© K.T. Tim Cheng 08_bist, v1.0

Characteristics of M-L LFSRThe state diagram contains two components: one contains the all-zero state, the other contains other 2m-1 states.

0000

0001 2m-1 states

For every bit, # of 1’s differs from # of 0’s by one. # of transitions between 1 and 0 in one period is (m+1)/2.

Cycle LFSR1 1 0 02 1 1 03 1 1 1 4 0 1 15 1 0 16 0 1 07 0 0 18 1 0 0

18© K.T. Tim Cheng 08_bist, v1.0

Autocorrelation between different bits:– Autocorrelation function is defined as:

The autocorrelation function of every M-L LFSR of period p=2m-1 is:– C(i,i)=1– C(i,j)=-1/p i ≠ j

C(i, j) = 1

2m − 1bi (n)b j (n)

n =1

2m −1∑

where bi (t) = 1 where ai (t) = 0bi (t ) = −1 where ai (t) = 1

⎧ ⎨ ⎩

Characteristics of M-L LFSR – Cont’d

Cycle LFSR m=31 1 0 02 1 1 03 1 1 1 4 0 1 15 1 0 16 0 1 07 0 0 1

C(1,2)=-1/7

C(1,3)=-1/7C(2,3)=-1/7

Ex. m=3:

19© K.T. Tim Cheng 08_bist, v1.0

Linear Dependency

Ref: Rajski & Tyszer, “BIST for SoC”, 1999 FTCS Tutorial

20© K.T. Tim Cheng 08_bist, v1.0

Selection of LFSR as RPTG

Degree– Large enough so the state will not repeat– Large enough to reduce linear dependencies

Type– Primitive – Avoid trinomials (increased linear dependencies)

Seed value– Select through fault simulation

21© K.T. Tim Cheng 08_bist, v1.0

Definitions - Random Pattern Testability for Logic BIST

Detection probability qi of fault fi: the probability a randomly selected input vector will detect the fault.Error latency ELi of fault fi: the number of random input vectors applied to a circuit until fi is detectedTheorem: EL of a fault has a geometric distribution.I.e Pr{ ELi = j} = (1 - qi)j-1 qi

Cumulative detection probability:FELi(t) = Pr{ELi ≤ t} = ∑t

j=1 (1 - qi)j-1 qiFELi(t) = 1 - (1 - qi)t t ≥ 1– Mean : Mi = E(ELi) = ∑∞

j=1 j (1 - qi)j-1 qi = 1/qi– Var (ELi) = E (ELi

2) - E2 (ELi) = (1 - qi)/qi2

22© K.T. Tim Cheng 08_bist, v1.0

Escape probability of a fault fi: the probability that the fault will go undetected after the application of trandom input vectors. – Similarly, escape probability of a fault set {f1, f2,…,fm} is the

probability that at least one member of the fault set will be left undetected after application of t random input vectors.

The random test length required to detect a fault fiwith escape probability no larger than a given threshold ei can be obtained as

Ti = [ln ei/ln(1 - qi)]

(Note: Pr{escape} = 1 - FELi(t) = (1 - qi)t )

Required Random Test Length as a Function of Detection & Escape Prob.

23© K.T. Tim Cheng 08_bist, v1.0

A Testability Analysis Method -COP(F.Brglez, 1984)

Cs: The probability of the signal having ‘1’ at signal sOs: The probability of signal s being observed at a PO

ab

X CX = Ca * CbOa = OX * Cb

ab

X CX = 1 - (1 - Ca)*(1 - Cb)Oa = OX * (1 - Cb)

a b Cb = 1 - Ca Oa = Ob

a

x

Y

CX = CY= CaOa = 1 - (1 - OX) * (1 - OY)

• Compute C’s from PI’s toward PO’s

• Compute O’s from PO’s toward PI’s

24© K.T. Tim Cheng 08_bist, v1.0

Estimate of Circuit Random Pattern Testability

Estimate of detection probability of a stuck-at fault:

Pd 0/s = Cs ⋅Os

Pds / 1 = (1− Cs)⋅Os

for stuck-at-0 fault at s

for stuck-at-1 fault at s

An estimate of circuit testability*:

* R. Lisanke et al, “Testability-Driven Random Test Pattern Generation”, IEEETCAD, Nov. 1987.

U = 1F

1

pdii ∈F∑

⎜⎜⎜⎜

⎟⎟⎟⎟

25© K.T. Tim Cheng 08_bist, v1.0

Test Response Compression

The signature & its collection algorithm should meet the following guideline:

1. The algorithm must be simple enough to be implemented as part of the built-in test circuitry.

2. The implementation must be fast enough to remove it as a limiting factor in test time.

3. The compression method should minimize the loss of information. Specifically it should minimize the loss of evidence of a fault indicated by a wrong response from the circuit under test.

CircuitUnder Test

TPG

Compr-essor Signature

output

response

26© K.T. Tim Cheng 08_bist, v1.0

Use of LFSRs for Polynomial Division

Suppose we are interested in modulo 2 division.P(x)/G(x) =(x7+x3+x)/(x5+x3+x+1)The longhand division can be conducted in terms of the detached coefficients only:

101 Q(x)=x2+1101011 10001010

10101100100110 101011 001101=R R(x)=x3+x2+1

• This division process can be mechanized using a LFSR.

27© K.T. Tim Cheng 08_bist, v1.0

When a shift occurs, x5 is replaced by x3+x1+x0.Whenever a quotient coefficient (the x5 term) is shifted off the right-most stage, x3+x1+x0 is added to the register (or subtracted from the register since addition is the same as subtraction modulo 2). Effectively, the dividend has been divided by x5+x3+ x+1.

LFSR implementing division by f(X)=x5+x3+x+1 :

+ + +

x0 x1 x2 x3 x4

input

LFSR Implementing Polynomial Division

28© K.T. Tim Cheng 08_bist, v1.0

The LFSR is initialized to zero The message word (or dividend) P(x) is serially streamed to the LFSR input, high-order coefficient first, The content of the LFSR after the last message bit is the remainder R(x) from the division of the message polynomial by the divisor G(x)– P(x) = Q(x)G(x) + R(x)

The shifted-out bit stream forms the quotient Q(x)

Using LFSR for Polynomial Division

29© K.T. Tim Cheng 08_bist, v1.0

Example: P(x)=x7+x3+x input=10001010

+ + +x0 x1 x2 x3 x4input x5

Remainder R=x3+x2+1 Quotient Q=x2+1

input

time012345678

10001010

010001111

001000010

000100001

000010101

000001010

00000101

An Example

30© K.T. Tim Cheng 08_bist, v1.0

Any data, such as the test response resulting from a circuit, can be compressed into a “signature” by an LFSR– The signature is the remainder from the division process

The LFSR is called a “signature analyzer”.– P(x)=Q(x) G(x) + R(x)

divisor signature

LFSR polynomial

LFSR As a Signature Analyzer

31© K.T. Tim Cheng 08_bist, v1.0

If P(x) is the polynomial of the correct data, any P’(x)=P(x)+M(x)G(x) will have the same signature as P(x) for any M(x).Example: P(x)=x7+x3+x G(x)=x5+x3+x+1signature R(x)=x3+x2+1P’(x)=P(x)+G(x)=x7+x5+1P’’(x)=P(x)+x•G(x)=x7+x6+x4+x3+x2

P’(x) and P’’(x) have same signature x3+x2+1.Aliasing: condition in which a faulty ckt with erroneous response produces same signature as the good circuit.Aliasing probability is usually used to measure the quality of a data compressor.

Aliasing in Signature Analysis

32© K.T. Tim Cheng 08_bist, v1.0

For an input string of m-bit long, P(x)’s degree is (m-1)There are 2m different polynomials with an degree equal to or less than (m-1).Among them, 2m-1 polynomials represent possible wrong bit streams.

For a divisor polynomial G(x) of degree r, there are 2m-r

different Q(x)’s that result in a polynomial of degree equal to or less than (m-1).• There are 2m-r-1 wrong m-bit streams that map into

the same signature as the correct bit stream.• Aliasing prob. P(M)=(2m-r -1)/(2m-1)• For large m, P(M) ≅ 1/2r.

Aliasing Prob. of Using LFSR as a Data Compressor - P(x)=Q(x) G(x)+R(x)

33© K.T. Tim Cheng 08_bist, v1.0

Multiple-Input Signature Register (MISR)

For multiple-output circuits, overhead of a single-input signature analyzer on every output would be high.A multiple-input signature register (MISR) is used:

It can be proved that the aliasing prob. of a MISR is: (2m-1-1)/(2r+m-1-1) ≅ 1/2r

r: number of stages in MISR, m: length of data to be compressed.

+ + + + +I0 I1 I2 I3 I4

C U T

34© K.T. Tim Cheng 08_bist, v1.0

Scan-Based BIST ArchitecturesTest-Per-Scan– Tests applied after filling up the scan chains– Example: STUMP [Bardell et al. 1982]– Lower area and performance overhead– Longer test application time

Test-Per-Clock– Tests applied and responses compressed every clock cycle– Examples: BILBO [Konemann et al., 1979], circular BIST

[Krasniewski et al., 1989]– Short test application time– Higher area overhead and performance degradation

Hybrid– Example: PSBIST [Lin et al. 1993]

35© K.T. Tim Cheng 08_bist, v1.0

Example of Test-Per-Scan

SCAN

n

SCAN

3

SCAN

2

SCAN

1

Parallel Random Pattern GeneratorParallel Random Pattern Generator

Multiple-Input Signature RegisterMultiple-Input Signature Register

SIn

SOn

SI3

SO3

SI2

SO2

SI1

SO1

...

STUMP: Bardell et al, 1982.

36© K.T. Tim Cheng 08_bist, v1.0

Example of Test-Per-ClockCircular BIST: Krasniewski et al. 1989.

I/P Boundary-Scan

Shift Register

CombinationalCircuit

O/P boundary-Scan

BIST FFs

BIST FFs

I-1

IQi Di

Qi-1

BS0

BS1

CBISTController

BS1

BS0

37© K.T. Tim Cheng 08_bist, v1.0

Example of Hybrid Architecture: PSBIST

Ref: C.-J. Lin, et al.,“ Integration of Partial Scan and Built-In Self-Test”,JETTA, 1995

PIPOM

UX

LFSR

M

I

S

R

PS

SC

combinationalor feedback-freesequential circuit

Scan chains are observed per scan but PO’s are observed per clock.Scan chains are observed per scan but PO’s are observed per clock.

38© K.T. Tim Cheng 08_bist, v1.0

General BIST Issues

No X state propagation to observation pointsStructural dependencies for scan-based BIST– Solution: Using phase shifter

Random Pattern Resistance– Solutions: Inserting test points; Using

additional deterministic tests

39© K.T. Tim Cheng 08_bist, v1.0

Use of Phase Shifter to Guarantee Channel Separation

•An XOR network •If carefully designed, guarantee minimum channel separation

Phas

e ⊕

Shif

ter

Ref: Rajski & Tyszer, “BIST for SoC”, 1999 FTCS Tutorial

40© K.T. Tim Cheng 08_bist, v1.0

# Patterns

Random Pattern (RP) ResistanceCoverage

high gain

saturation

10-30% of faults are typically random pattern resistant.10-30% of faults are typically random pattern resistant.

??

41© K.T. Tim Cheng 08_bist, v1.0

Test Point Insertion:Inserting an Observation Point

observation

e

point

e

Region influenced byan observation point:

Circuit before addingan observation point:

Circuit after addingan observation point:

42© K.T. Tim Cheng 08_bist, v1.0

Test Point Insertion:Inserting a Control Point

control

r

e e’

e

point

G

Region influenced bya control point:

Circuit before addinga control point:

Circuit after addinga control point:

Hard to set to 1Hard to set to 1

43© K.T. Tim Cheng 08_bist, v1.0

PSBIST With Test Points

PIPOM

UX

L

F

S

R

M

I

S

R

P

S

SC

combinationalor feedback-freesequential circuit

to controlpoints from obs. point

44© K.T. Tim Cheng 08_bist, v1.0

Timing-Driven Test Point Insertion

•Timing-driven test point selection technique* automatically selects control/observation points– With greatest random testability improvements– Not in critical paths

• Under the PSBIST architecture, timing-driven partial scan + timing-driven test point insertion offer a low-performance-penalty DFT solution to timing critical circuits.

Ref: Cheng and Lin, “Timing-Driven Test Point Insertion for Full-Scan and Partial-Scan BIST”, Int’l Test Conf., 1995.

45© K.T. Tim Cheng 08_bist, v1.0

Estimate of Circuit Random Pattern Testability

Detection probability of a stuck-at fault:Pd 0/s = Cs ⋅Os

Pds / 1 = (1− Cs)⋅Os

for stuck-at-0 fault at s

for stuck-at-1 fault at s

An estimate of circuit testability*:

* R. Lisanke et al, “Testability-Driven Random Test Pattern Generation”, IEEE TCAD, Nov. 1987.

U = 1F

1

pdii ∈F∑

⎜⎜⎜⎜

⎟⎟⎟⎟

46© K.T. Tim Cheng 08_bist, v1.0

COP Testability Measures (F.Brglez, 1984)

Cs: The probability of the signal having ‘1’ at signal sOs: The probability of signal s being observed at a PO

ab

X CX = Ca * CbOa = OX * Cb

ab

X CX = 1 - (1 - Ca)*(1 - Cb)Oa = OX * (1 - Cb)

a b Cb = 1 - Ca Oa = Ob

a

x

Y

CX = CY= CaOa = 1 - (1 - OX) * (1 - OY)

• Compute C’s from PI’s toward PO’s

• Compute O’s from PO’s toward PI’s

• Compute C’s from PI’s toward PO’s

• Compute O’s from PO’s toward PI’s

47© K.T. Tim Cheng 08_bist, v1.0

A Simple Algorithm for Selecting Test Pointswhile (FC < desired_fc) & (#_of_test_point < Mac_number) {

Compute slacks* for all nodes in the circuit;

For each node s with a slack > threshold

Compute Us assuming a test point at s;

Insert the test point at s that has the lowest Us;

Fault simulation using random vectors;}

* The difference of required arrival time and actual arrival time

Problem: Exhaustively simulating all nodes causes high complexity.There are several solutions available to reduce the complexity….

48© K.T. Tim Cheng 08_bist, v1.0

Typical Test Application Scheme -One Capture Per Scan

MUX Scan Cell01

D-FF

Q

Q

DATASCAN_IN

MODE_SWCLK

MODE_SWCLK

L cycles 1 cycle

scan capture

49© K.T. Tim Cheng 08_bist, v1.0

Scan-Based BIST Does Not Have To Be 1-Capture-Per-Scan!!

Two captures per scanscan capture

L clock cycles 2 clock cycles

MODE_SW

CLK

K captures per scank clock cycles

MODE_SW

CLK

L clock cyclesscan capture

50© K.T. Tim Cheng 08_bist, v1.0

Potential Advantages of Multiple Captures After Each Scan

ScanFF

PSI

A

CB F

Scan_in

Tests are less randomIt provides tests with different signal probability profilesAn example

51© K.T. Tim Cheng 08_bist, v1.0

– Easier to observe: As/1, Bs/1, Cs/1

– Easier to activate: Fs/1

– Harder to activate: PSIs/1

Signal Probability Profile

ScanFF

PSI

A

C0.5F

Scan_in

0.50.5

0.5

B.9375

At the first capture cycle:

At the second capture cycle:

ScanFF

PSI

AC0.5

F

Scan_in

0.50.5 B

.9375.8828

52© K.T. Tim Cheng 08_bist, v1.0

A General Test Application Scheme for Scan-Based BIST [Tsai, Cheng and Bhamik, DAC99]

Divide the testing into several sessions– Each test session has a unique number (k) of

capture cycles per scan– Each test session detects a subset of faults

Find the number of test sessions and the corresponding number of capture cycles for each test session to maximize the overall fault coverage

53© K.T. Tim Cheng 08_bist, v1.0

Fault Coverage Curves38417

SingleMultiple

54© K.T. Tim Cheng 08_bist, v1.0

Logic BIST SummaryCircuit with logic BIST has– core logic with scan– pseudo-random pattern generator (LFSR)– response compactor: Multiple-Input Signature Register

(MISR)– BIST controller (shift counter and pattern counter)– Test points for improving random pattern testability

BIST architectures can be classified into:– Test-per-scan (such as STUMP)– Test-per-clock (such as circular BIST)– Hybrid (such as PSBIST)

Multiple captures after each scan sequence for PSBIST may improve test quality without additional hardware overhead.

55© K.T. Tim Cheng 08_bist, v1.0

System-on-Chip:Heterogeneity and Programmability

Increasing heterogeneity: More transistors doing different things!– Digital, Analog, Memory, Software, High-speed bus

Increasing programmability: Almost all SoCs have some programmable cores (Processor, DSP, FPGA)– High NRE results in fewer design starts– Domain-specific - more applications for a single design

Power/Performance

Domain specific

Programmability

General purpose Application specific

56© K.T. Tim Cheng 08_bist, v1.0

Fewer, But More Programmable Designs

57© K.T. Tim Cheng 08_bist, v1.0

Embedded-Software-Based Self-Testing For Programmable Chips

View test as an application of a programmable SOC!!View test as an application of a programmable SOC!!

Reuse of on-chip programmable components for test– Using embedded processors as general computing platform for

self-testing

Processor/DSP/FPGA cores for on-chip test generation, measurement, response analysis and even diagnosis – Self-test a processor using its instruction set for high

structural fault coverage• Bridging high-level functional test and low-level physical defects

– Use the tested processor/DSP to test buses, interfaces and other components, including analog and mixed-signal components

58© K.T. Tim Cheng 08_bist, v1.0

Embedded SW Self-Testing

BusInterface Master Wrapper

BusArbiter

Low-CostTester

On-ChipMemory

Test program

Responses

VCISignatures

DSP

VCI

IP CoreVCI

System MemoryVCI

On-chip Bus

BusInterfaceMaster Wrapper

BusInterface Target WrapperBusInterface Target Wrapper

Loading test program at low speed

Self-test at operational

speed

Unloading response

signature at low speed

CPU

Low-cost testerHigh-quality at-speed testLow test overheadNon-intrusive

Test in normal operational modeNo violation of power consumptionMore accurate speed-binning

Ref: Krstic, et al DAC’02