704
DIP概論」-IP Testing 淡江大學電機工程學系 饒建奇 [email protected] 教育部顧問室 「超大型積體電路與系統設計」教育改進計畫 DIP聯盟

Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation

  • Upload
    others

  • View
    17

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation

「DIP概論」-IP Testing

淡江大學電機工程學系

饒建奇

jcraucsccuedutw教育部顧問室

「超大型積體電路與系統設計」教育改進計畫 DIP聯盟

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 2

「DIP概論」- IP Testing

Text Books

bull M L Bushnell and V D Agrawal Essentials of Electronic Testing for Digital Memory amp Mixed-Signal VLSI CircuitsKluwer Academic Publishers 2000

bull M Abramovici M A Breuer and A D Friedman Digital Systems Testing and Testable Design Computer Science Press New York 1990

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 3

「DIP概論」- IP Testing

Outline (12)

bull Introductionbull Fault Modelsbull Fault Simulationbull Test Generation (TG)bull Design for Testability (DFT) bull Advanced Scan Concepts

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 4

「DIP概論」- IP Testing

Outline (22)

bull Compression Techniquesbull Built-In Self-Test (BIST)bull Boundary-Scan Testingbull Memory Testingbull SOC Testing

Chapter 1

Introduction

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 6

「DIP概論」- IP Testing

VLSI Development FlowDetermine specification

Design the circuit

Verify the design

Develop the test procedure

Manufacture the circuit

Test the manufactured circuit

Deliver to customers

Design Errors

TestPlans

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 7

「DIP概論」- IP Testing

Why Do Circuits Fail

bull Human design errorsbull Manufacturing defects bull Package defectsbull Field (Environment) failures

ndash Temperature humidity power etc

verifytest

testtest

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 8

「DIP概論」- IP Testing

Verification vs Testingbull Verification

ndash Check for the correctness of a designbull Simulation

ndash Performed oncebull Testing

ndash Check the correctness of the manufactured circuitndash Performed repeatedly

Verification Testinglogicsoft faults realhard faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 9

「DIP概論」- IP Testing

Why Testing

bull Detect and eliminate (hard-)faulty circuits

Vdd

10

00

0

0

fault-free circuit faulty circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 10

「DIP概論」- IP Testing

How to Do Testing

Circuit Under Test

(CUT)

Test Pattern Generator

(TPG)

Output Response Analyzer(ORA)

test patterns T

outputresponses R

GoodBad

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 11

「DIP概論」- IP Testing

Related Terminologies in Testing

bull Diagnosisndash Depict the faulty sites

bull Reliabilityndash Tell whether a ldquogoodrdquo circuit will work after

some time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 12

「DIP概論」- IP Testing

Importance of Testing

N the number of transistors in a circuit (chip)p the probability that a transistor is faultyPf the probability that the chip is faulty

Pf = 1-(1-p)N

If p = 10-6 and N= 106

Pf = 632

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 13

「DIP概論」- IP Testing

Key Issues in Testing

Circuit Under Test

(CUT)

Test Pattern Generator

(TPG)

Output Response Analyzer(ORA)

test patterns T

outputresponses R

Fault Modeling Design for Testability

Test GenerationProblem

Good if R = RrsquoBad if R ne Rrsquoexpected

responses Rrsquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 14

「DIP概論」- IP Testing

Circuit Modeling

bull Describe the behavior of circuitsndash Behavior modelndash RTL modelndash Gate level modelndash helliphellip

clocks (edgelevel-sensitive)delaytiming

algorithms

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 15

「DIP概論」- IP Testing

Fault Modeling

bull Describe the effects of physical faultsbull Fault model requirements

ndash Adequately represent actual faultsndash High coverage against physical faultsndash Well-behavedndash Simple enough to use in practice

bull Eg Fault simulation test generation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 16

「DIP概論」- IP Testing

Fault Modelsbull Single stuck-at fault model

ndash Any single line x is stuck at 0 or 1bull Multiple stuck-at fault model

ndash Several lines x are stuck at 0 or 1bull Delay fault model

ndash Delay of a single path is changedbull Bridging fault model

ndash Signals x and y become AND(x y) or OR(x y)bull helliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 17

「DIP概論」- IP Testing

Single Stuck-at Fault Model (12)

bull Depict that ldquoone single linerdquo is permanently stuck at 1 or 0

EA

B

C

D F

G

A s-a-1A s-a-0E s-a-1E s-a-0

B s-a-1B s-a-0F s-a-1F s-a-0

C s-a-1C s-a-0G s-a-1G s-a-0

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

14 faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 18

「DIP概論」- IP Testing

Single Stuck-at Fault Model (22)bull Advantages

ndash Match the gate level and are well-behavedndash The number of possible faults is relatively smallndash Tests for single stuck-at faults give good coverage of

permanent faultsbull Disadvantages

ndash Dose not account for some physical fault effectsndash Few physical faults behave exactly like single-at faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 19

「DIP概論」- IP Testing

Detectability of Faults

bull A fault f is said to be detectable if there exists a test vector x such that Cf(x) ne C(x) ie f is ldquodetectedrdquo by x

Vdd

10

00

0

0

fault-free circuit C fault f is detected by (00)

xf s-a-1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 20

「DIP概論」- IP Testing

Fault Coverage (FC)FC =

the size of fault listnumber of detected faults

CA

B

6 faultsA0 A1 B0 B1 C0 C1

test vector set detected faults FC(0 0)(0 1)(1 1)(0 0) (1 1)(1 0) (0 1) (1 1)

C1A1 C1A0 B0 C0A0 B0 C0 C1ALL

1667333350006667

10000

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 21

「DIP概論」- IP Testing

Testing QualityIC

FabricationYield(Y)

Rejected Parts

Shipped PartsDefect Level(DL)

bull Yield (Y) fraction of good partsbull Defect Level (DL) fraction of shipped parts that are defectivebull Quality of shipped parts is a function of Y and FC

DL = 1 ndash Y (1 - FC)

Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 22

「DIP概論」- IP Testing

Circuit Simulationbull Determine how a good circuit should work

ndash Given input vectors determine the normal circuit output responses

EA

B

C

D F

G

1

10

0

01

1

Simulation under the input 1 0 0 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 23

「DIP概論」- IP Testing

Fault Simulation (12)

bull Determine the behavior of faulty circuitsE s-a-0 A

B

C

D F

G

1

100

0

01

10

x

Simulation under the input 1 0 0 0 with fault E s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 24

「DIP概論」- IP Testing

Fault Simulation (22)

bull Given a test vector determine all faults that are detected by this test vector

CA

B 1

10

Test vector (1 1) detects A0 B0 C1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 25

「DIP概論」- IP Testing

Test Generation (12)

bull Given a fault identify a test vector to detect this fault

A

B

C

D s-a-0

E

F

x

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 26

「DIP概論」- IP Testing

Test Generation (22)

bull Sensitizationndash To detect D s-a-0 D must be set to 1

ie A = B = 1bull Propagation

ndash To propagate the fault effect to the output F Emust be set to 1 ie C = 0

Test vector for D s-a-0 is 1 1 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 27

「DIP概論」- IP Testing

Automatic Test Pattern Generation (ATPG) (12)

bull Given a circuit identify a set of test vectors to detect all the detectable faults under the considered fault models

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 28

「DIP概論」- IP Testing

Automatic Test Pattern Generation (ATPG) (22)a circuit and the fault list

more fulats

select a fault

test generation

fault simulation

fault dropping

exit

Yes

No

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 29

「DIP概論」- IP Testing

Difficulties in Test Generation (12)

bull Reconvergent fanout

A

B

C

D s-a-1

E

F

x

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 30

「DIP概論」- IP Testing

Difficulties in Test Generation (22)bull Sequential test generation

combinational circuit

D

clk

Q

x The fault effect cannot be observed at POs

PIs POs

The test patterns cannotbe generated at PIs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 31

「DIP概論」- IP Testing

Advanced Test GenerationFC

100

of test patterns

Pseudorandom Test Pattern Generation

Deterministic Test Pattern Generation

Design for Testability (DFT)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 32

「DIP概論」- IP Testing

Testing Costs

bull Test software developmentndash Automatic test pattern generator (ATPG)ndash Fault simulation and other debugging policies

bull Design for testability (DFT)ndash Chip area overhead ie yield lossndash Performance overhead ie degradation

bull Automatic test equipments (ATEs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 33

「DIP概論」- IP Testing

Difficulties in Testing

bull Some real faults are too complex to modelbull Most testing problems are NP-completebull IO access is limitedbull ATEs are expensive

Testing is rarely complete (FC lt 100)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 34

「DIP概論」- IP Testing

The Goals of Testingbull Detect all expected faults (high fault coverage)bull Diagnose to the smallest replaceablerepairable

component (high fault resolution)bull Fast and low-cost test generationbull Fast and low-cost test applicationbull Efficient response comparisonbull High degree of automationbull Low penalties in hardware overheadperformance

Chapter 2

Fault Models

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 36

「DIP概論」- IP Testing

Faults and Errors

bull Faultsndash Physical defects within a circuit or a systemndash May or may not cause the circuit to fail

bull Errorsndash Manifestation of faults that results in incorrect

circuit or system outputs or statesndash Caused by faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 37

「DIP概論」- IP Testing

Failures

bull Deviation of a circuit or a system from its specified behaviorndash Fails to do what it should do ndash Caused by errors

bull Faults Errors and Failures

Faults rArr Errors rArr Failures

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 38

「DIP概論」- IP Testing

Why Model Faultsbull Identify target faults and describe their

effectsbull Limit the scope of test generation

ndash Create test patterns only for the modeled faultsbull Make analysis possible

ndash Compute the fault coverage for specific test patterns

ndash Associate specific faults with specific test patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 39

「DIP概論」- IP Testing

Fault Modelsbull Stuck-at faultsbull Bridging faultsbull PLA faultsbull Transistor stuck-onopen faultsbull Delay faultsbull Functional faultsbull State transition faultsbull Memory faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 40

「DIP概論」- IP Testing

Stuck-at Faultsbull Single stuck-at fault model

ndash Only a single line is permanently set to either 0 or 1

bull Multiple stuck-at fault modelndash Several stuck-at faults occur at the same time

bull For a circuit with k linesndash There are 2k single stuck-at faultsndash There are 3k-1 multiple stuck-at faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 41

「DIP概論」- IP Testing

Why Single Stuck-at Fault Model (12)

bull Complexity is greatly reducedndash Many different physical defects may be

modeled by the same logical stuck-at faultsbull Technology independent

ndash Can be applied to TTL ECL CMOS etcbull Design style independent

ndash Can be applied to gate arrays standard cells full-custom description

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 42

「DIP概論」- IP Testing

Why Single Stuck-at Fault Model (22)

bull The test patterns derived for single stuck-at faults are still valid for most defects even not accurately model some other physical defects

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

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 43

「DIP概論」- IP Testing

Bridging Faults (12)

bull Two or more normally distinct points(lines) are shorted togetherndash Logic effect depends on technology

bull Wired-AND for TTLbull Wired-OR for ECL

TTL Transistor-Transistor Logic

ECL Emitter-Coupled Logic

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 44

「DIP概論」- IP Testing

Bridging Faults (22)bull Wired-AND for TTL bull Wired-OR for ECL

A

B

f

g

A

B

f

g

A

B

f

g

A

B

f

g

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 45

「DIP概論」- IP Testing

PLA Faults

bull Stuck-at faults on inputs and outputsbull Crosspoint faults

ndash MissingExtrabull Bridging faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 46

「DIP概論」- IP Testing

Missing Crosspoint Faults in PLAbull Missing crosspoint in the AND plane

ndash Growth faultbull Missing crosspoint in the OR plane

ndash Disapperance fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 47

「DIP概論」- IP Testing

Extra Crosspoint Faults in PLAbull Extra crosspoint in the AND plane

ndash Shrinkage faultbull Extra crosspoint in the OR plane

ndash Appearance fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 48

「DIP概論」- IP Testing

Transistor Stuck-On Faults (12)

bull Also referred as stuck-short faults

stuck-on

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 49

「DIP概論」- IP Testing

Transistor Stuck-On Faults (22)

bull May cause ambiguous logic levelsndash Depend on the relative impedances of the pull-

up and pull-down networksbull Quiescent current may be increased called

IDDQ fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 50

「DIP概論」- IP Testing

Transistor Stuck-Open Faults (12)

bull May cause output floating(high impedance)

stuck-open

0 Z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 51

「DIP概論」- IP Testing

Transistor Stuck-Open Faults (22)

bull Turn the circuit into a sequential circuitndash Stuck-open faults require two-vector test

patterns

stuck-open

10 0100

two-vector test pattern

fault-free response

fault response

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 52

「DIP概論」- IP Testing

Gate Delay Faults (12)bull Slow to rise or fall

X X

R

X is slow to rise when channel resistance R is abnormally high

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 53

「DIP概論」- IP Testing

Gate Delay Faults (22)bull Detectability of gate delay faults

ndash May not be detected

slow

critical path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 54

「DIP概論」- IP Testing

Path Delay Faultsbull Propagation delay of a path exceeds the

clock intervalbull The number of paths grows exponentially

with the number of gates

XY

XY

the clock interval

propagation delay

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 55

「DIP概論」- IP Testing

Functional Faultsbull Behavioral faults

ndash Fault effects are modeled at a higher level for modules such as

bull Decodersbull Multiplexersbull Addersbull Countersbull RAMsbull ROMs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 56

「DIP概論」- IP Testing

An Example of Functional Faultsbull Decoder

ndash f(LiLj) instead of line Li line Lj is selectedndash f(LiLi+Lj) in addition to Li Lj is selectedndash f(Li0) none of the lines are selected

DecoderLi

Lj

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 57

「DIP概論」- IP Testing

State Transition Graph(STG)bull Each state transition is associated with a 4-

tuple (source input output destination state)

S1

S3S2

I1O1 I2O2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 58

「DIP概論」- IP Testing

Single State Transition Faults

bull A fault causes a single state transition to a wrong destination state

S1

S3S2

IO IO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 59

「DIP概論」- IP Testing

Memory Faults (12)

bull Parametric faultsndash Change the values of electrical parameters of

active or passive devices from their normal or expected values

bull Output levelsbull Power Consumptionbull Noise marginbull Data retention time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 60

「DIP概論」- IP Testing

Memory Faults (22)

bull Functional faultsndash Stuck faults in address register data register

and address decoderndash Cell stuck faultsndash Cell coupling faultsndash Pattern sensitive faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 61

「DIP概論」- IP Testing

Coupling Faults

bull A transition in memory bit i causes an unwanted change in memory bit j

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 62

「DIP概論」- IP Testing

Pattern Sensitive Faultsbull The presence of a faulty signal depends on

the signal values of the nearby pointsndash Most common in DRAM

0 0 00 d b0 a 0

a = b = 0 rArr d = 0 prevent writing a 1 into da = b = 1 rArr d = 1 prevent writing a 0 into d

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 63

「DIP概論」- IP Testing

Fault Detectionbull Let z BnrarrB A test pattern t detects a fault f

iff z(t)opluszf(t) = 1x1

x2

x3

z1

z2

f s-a-1 z1 = x1 x2

z2 = x2 x3

z1f = x1

z2 f= x2 x3

The test pattern 100 detects f because z1(100) = 0while z1f(100) = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 64

「DIP概論」- IP Testing

Sensitization

bull Given a test pattern t a line is said to ldquobe sensitized to a fault f by trdquo if its normal value is changed in the presence of f

bull A path composed of sensitized lines is called ldquoa sensitized pathrdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 65

「DIP概論」- IP Testing

Detectability

bull A fault f is said to be detectable if there exists a test pattern t that detects f otherwise f is a redundant fault

bull For a redundant fault f z(t) = zf(t)ndash No test pattern can simultaneously

sensitize(activate) f and create a sensitized path to a primary output(PO)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 66

「DIP概論」- IP Testing

Redundant Faultsbull G1 stuck-at-0 fault is redundant

ndash Redundant faults do not change the function of the circuit

ndash The related circuit can be removed to simplify the circuit

1

s-a-0G1

1

1

00

0

10a

b

c

z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 67

「DIP概論」- IP Testing

Fault Collapsing

bull The process to reduce the number of the faults under consideration is known as fault collapsing

bull Why fault collapsingndash Save memory space and CPU time for fault

simulation and test generation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 68

「DIP概論」- IP Testing

Fault Equivalencebull A test pattern t distinguishes between faults α and β iff zα(t) ne zβ(t)

bull Two faults α and β are said to be equivalent in a circuit iff zα(t) = zβ(t) for all tndash Denoted by αharr βndash No test patterns can distinguish between α and β

ndash Any test pattern which detects one of them detects all of them

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 69

「DIP概論」- IP Testing

Fault Equivalence of Primitive Gates (12)

bull NOTndash Input s-a-1 and output s-a-0 are equivalentndash Input s-a-0 and output s-a-1 are equivalent

bull ANDndash All s-a-0 are equivalent

bull ORndash All s-a-1 are equivalent

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 70

「DIP概論」- IP Testing

bull NANDndash All input s-a-0 and output s-a-1 are equivalent

bull NORndash All input s-a-1 and output s-a-0 are equivalent

Fault Equivalence of Primitive Gates (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 71

「DIP概論」- IP Testing

Equivalent Fault Collapsing (12)[Theorem 2-1] Under the single stuck-at faultmodel for an n-input primitive gate n+2instead of 2n+2 faults need to be considered

2n+2

n+1 n+1

equivalence

n+2cup

[Proof]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 72

「DIP概論」- IP Testing

Equivalent Fault Collapsing (22)

s-a-0

s-a-1s-a-1

s-a-1

s-a-1s-a-1

s-a-1 s-a-0

s-a-0

s-a-0

s-a-0

s-a-0 s-a-0

s-a-1

s-a-1

s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 73

「DIP概論」- IP Testing

Fault Dominancebull Let Tα be the set of all test patterns that

detect fault α We say that a fault βdominates fault α iff zα(t) = zβ(t) for all tisinTα

ndash Denoted by β rarr αndash No need to consider fault β for fault detection

Tβ supeTα

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 74

「DIP概論」- IP Testing

Fault Dominance of Primitive Gatesbull AND

ndash Output s-a-1 dominates any input s-a-1bull OR

ndash Output s-a-0 dominates any input s-a-0bull NAND

ndash Output s-a-0 dominates any input s-a-1bull NOR

ndash Output s-a-1 dominates any input s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 75

「DIP概論」- IP Testing

Dominated Fault Collapsing (12)[Theorem 2-2] Under the single stuck-at fault model for an n-input primitive gate only n+1faults need to be considered

2n+2

n+1 n+1

equivalencen+1

cup

[Proof]

n 1dominance

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 76

「DIP概論」- IP Testing

Dominated Fault Collapsing (22)

s-a-0

s-a-1s-a-1

s-a-1

s-a-1s-a-1

s-a-1 s-a-0

s-a-0

s-a-0

s-a-0

s-a-0 s-a-0

s-a-1

s-a-1

s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 77

「DIP概論」- IP Testing

Prime Faultsbull α is a prime fault if every fault dominated

by α is also equivalent to αbull Representative set of prime faults(RSPF)

ndash A set consisting of exactly one prime fault from each equivalence class of prime faults

bull Achieve 100 fault coverage ndash Only generate the test set for RSPF

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 78

「DIP概論」- IP Testing

Checkpoints (13)

bull Primary inputs and fanout branches

[Theorem 2-3] Any test set which detects all single stuck-at faults on every check point will detect all single stuck-at faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 79

「DIP概論」- IP Testing

Checkpoints (23)

a

b

c

d

e

s-a-1s-a-1

s-a-1

s-a-1s-a-1

s-a-1

s-a-1

s-a-1s-a-0

s-a-0

s-a-0s-a-0

s-a-0

s-a-0s-a-0

s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 80

「DIP概論」- IP Testing

Checkpoints (33)bull The set of checkpoint faults can be further

collapsed by using equivalence and dominance relations

a

b

c

d

e

10 checkpoint faultsa s-a-0 harr d s-a-0c s-a-0 harr e s-a-0b s-a-0 rarr d s-a-0b s-a-1 rarr d s-a-16 test patterns are enough

Chapter 3

Fault Simulation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 82

「DIP概論」- IP Testing

Simulationbull True-value simulation

ndash Compute the responses for given inputtest patterns without injecting any faults in the circuit

bull For verifying the correctness of the design

bull Fault simulationndash Compute the responses for given inputtest

patterns with injecting considered faults in the circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 83

「DIP概論」- IP Testing

Why Fault Simulation

bull To evaluate the quality of a test setndash In terms of fault coverage(FC)

bull To incorporate into ATPGndash Decrease the time for test pattern generation

bull To construct fault dictionary ndash For post-test diagnosis

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 84

「DIP概論」- IP Testing

Simulation Mechanisms

bull Compiled-code simulationndash Circuit is translated into the program where

each gate is executed for each patternbull Event-driven simulation

ndash Circuit structure and gate status are stored in a table and only those gates which are needed to be updated with a new pattern are processed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 85

「DIP概論」- IP Testing

Compiled-Code Simulation (13)levelize circuit and produce compiled-codeinitialize data variables(flip-flops and memory)for every input pattern begin

set the primary inputs to the input pattern repeat until (steady-state or maximum iteration-count are reached)begin

execute compiled-codeupdate the associated data variables(flip-flop or memory)

endend

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 86

「DIP概論」- IP Testing

Compiled-Code Simulation (23)

bull The use of compiled-code simulation is usually limited into high-level designndash Since detailed timing or delay is almost

impossible to be simulated in the translated compiled-code

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 87

「DIP概論」- IP Testing

Compiled-Code Simulation (33)

D-FF

abc

d

e

f

Compiled-Code

d = a amp b amp cf = d | ee = f

Q D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 88

「DIP概論」- IP Testing

Event-Driven Simulation (12)initialize simulation time t to 0while (event list is not empty) begin

for every event (i t) begin gate i changes at time tupdate the value of gate i schedule fanout gates of i in the event list if the associated value changes are expected

endadvance simulation time t

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 89

「DIP概論」- IP Testing

Event-Driven Simulation (22)1a

c

bd

e

f

g2

2

2

41

1 rarr0

0 rarr1

1 rarr0

0 rarr1

1 rarr0 rarr1

simulation time t event fanout

0 c = 0 d e

1

2 d = 1 e =0 f g

3

4 g = 0

5

6 f = 1 g

7

8 g = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 90

「DIP概論」- IP Testing

Logic Value Based Fault Simulationbull For functional faults such as single stuck-at

faults helliphellipndash Logic simulation on both fault-free and faulty

circuitsTest Patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 91

「DIP概論」- IP Testing

Complexity of Fault Simulation

bull Suitable for single stuck-at fault modelbull Higher than logic simulation but much

lower than test pattern generationbull In reality the complexity can be reduced by

fault collapsing and advanced techniques

patterns faults gates

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 92

「DIP概論」- IP Testing

Characteristics of Fault Simulationbull Fault activities with respect to fault-free

circuit are often sparse both in time and in spacendash For example f1 is not activated by the given

pattern(time) while f2 affects only the lower part of the circuit(space)

f1 s-a-0

f2 s-a-0

0

1

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 93

「DIP概論」- IP Testing

Efficiency of a Fault Simulator

bull Depend on its ability to exploit the sparse characteristics both in time and in space

人生最大的成就是從失敗中站起來證嚴法師靜思語

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 94

「DIP概論」- IP Testing

Classical Fault Simulation Techniques

bull Serial fault simulationbull Parallel fault simulationbull Deductive fault simulationbull Concurrent fault simulation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 95

「DIP概論」- IP Testing

Serial Fault Simulation

bull The simplest algorithm for fault simulationndash Simulate the fault-free circuit for all input

patterns and save the outputs in a file(table)ndash Simulate one faulty circuit at a time until the

target fault is detected by some one test pattern or proven to be undetectable

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 96

「DIP概論」- IP Testing

Parallel Fault Simulation

bull Simulate faulty circuits in parallel with fault-free circuit by taking advantage of inherent parallel operation of computer wordsndash The number of circuits being processed

concurrently is limited by the word length wbull Each pass at most w-1 faulty circuit are processed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 97

「DIP概論」- IP Testing

Example of Parallel Fault Simulation

0 0 0 0 0 1 0 0 1 0 1 1

1 1 1 1 1 1 0 1

1 1 0 1 1 1 0 0

0 1 0 0

1 0 0 1

1 1 1 1a

b

f

c

de

g

h

is-a-1

s-a-0

s-a-0

for fault-free circuitfor circuit with fault b s-a-1for circuit with fault f s-a-0for circuit with fault i s-a-0

rArr Faults f s-a-0 and i s-a-0 are detected by test pattern (a b f) = (1 0 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 98

「DIP概論」- IP Testing

Deductive Fault Simulation

bull Only the fault-free circuit is simulated (true-value simulation) ndash All signal values in each faulty circuit are

deduced from the fault-free circuit values and the circuit structure

bull Each signal is associated a list of faults in the circuit which can change the state of that line

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 99

「DIP概論」- IP Testing

Basic Fault List Propagation RulesInputs Output

a b cOutput Fault list

Lc

0 0 0 [La cap Lb] cup c1

[La cap Lb] cup c1

[La cap Lb] cup c1

[La cup Lb] cup c0

[La cup Lb] cup c1

[La cap Lb] cup c0

[La cap Lb] cup c0

[La cap Lb] cup c0

La cup c0

La cup c1

(1)0 1 0 (2)1 0 0 (3)1 1 1 (4)0 0 0 (5)0 1 1 (6)1 0 1 (7)1 1 1 (8)0 - 1 (9)

1 - 0 (10)

NOT

OR

AND

Gate Type

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 100

「DIP概論」- IP Testing

Example of Deductive Fault Simulation (12)ab

c 1 b0 c0

d 1 b0 d0

1 a0

1 b0

e 1 a0 b0 c0 e0

f 0 b0 d0 f1

Initially La = a0 and Lb = b0For the fanouts of b c and d Lc = b0 c0 and Ld = b0 d0

Le = [La cup Lc] cup e0 = a0 b0 c0 e0 by Rule (4)Lf = Ld cup f1 = b0 d0 f1 by Rule (10)

g

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 101

「DIP概論」- IP Testing

ab

g

1 a0

1 b1

e 1 a0 b0 c0 e0

f 0 b0 d0 f1

1 a0 c0 e0 g0

Lg = [Le cap Lf] cup g0 = a0 c0 e0 g0 by Rule (7)

c 1 b0 c0

d 1 b0 d0

Example of Deductive Fault Simulation (22)

rArr Faults a0 c0 e0 and g0 are detected by test pattern (a b) = (1 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 102

「DIP概論」- IP Testing

Concurrent Fault Simulation

bull Each gate retains a list of fault copies each of which stores the status of a fault to exhibit difference form the fault-free values

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 103

「DIP概論」- IP Testing

Example of Concurrent Fault Simulation

ab c

d g

1

1

e

f

1

11 1

1 0

0 1 0 1 1 1

b0 d0 f1

01 1

00

a0

01

1

b0

00

0

c0

01

1

d0

1

00

e0

01

1

f1

10

0

g0

1

a001 0

10 0

10 0

11 0

b0 c0 e0

rArr Faults a0 c0 e0 and g0 are detected by test pattern (a b) = (1 1)

1

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 104

「DIP概論」- IP Testing

Modern Fault Simulation Techniques

bull Parallel-Pattern Single-Fault Propagation (PPSFP)

bull Critical Path Tracing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 105

「DIP概論」- IP Testing

PPSFP

bull Based on the serial fault simulation many patterns are simulated in parallel for fault-free and faulty circuits respectivelyndash The number of patterns is limited by the word

length wbull Each pass at most w patterns are processed

ndash The basis of all modern fault simulators

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 106

「DIP概論」- IP Testing

Example of PPSFPbull Consider fault f s-a-0 and four pattern p3 p2

p1 and p0

0 1 0 1 1 0 1 0

1 0 0 1

1 1 0 1

0 1 0 1

1 0 0 0

1 1 1 1a

b

f

c

de

g

h

i

s-a-0

p3 p2 p1 p0

0 0 0 00 0 0 0

0 1 0 1

rArr Fault f s-a-0 are detected by test pattern p3 (a b f) = (1 0 1)

(faulty values)1 0 0 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 107

「DIP概論」- IP Testing

Sensitive Inputs

bull A gate input a is sensitive if complementing the value of a changes the value of the gate output

ab

1rarr0

1

c

a is sensitive

ab 0

0 c

a is not sensitive

1rarr0 0 rarr1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 108

「DIP概論」- IP Testing

Critical Pathsbull Let l(v) be the fault-free value of line l

under input pattern t We say that line l is critical with respect to t iff t detects the fault l s-a-l(v)

bull A gate input i is critical with respect to t if the gate output is critical and i is sensitive

bull A path consisting of only critical lines is said to be a critical path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 109

「DIP概論」- IP Testing

Critical Path Tracing

bull Two-step procedurendash Perform true-value simulation and identify

sensitive gate inputsndash Backtrace from POs to identify the critical lines

bull O(|G|) for fanout-free circuitsndash The fanout-free situation is very rare

bull Perform in fanout-free region and the stem faults are simulated by other methods mentioned earlier

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 110

「DIP概論」- IP Testing

Example of Critical Path Tracing (12)

a

b

f

c

d e

g

h

i

1

0

11

1

0

1fanout-free region

sensitive input

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 111

「DIP概論」- IP Testing

Example of Critical Path Tracing (22)

a

b

f

c

d e

g

h

i

1

0

11

1

0

1fanout-free region

sensitive inputcritical line

rArrFaults i0 h0 f0 e0 and d1 are detected by test pattern (a b f) = (1 0 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 112

「DIP概論」- IP Testing

Anomaly of Critical Path Tracinga

b

f

c

d e

g

h

i

1

0

11

1

0

1critical line

bull Stem criticality is hard to infer from branchesndash Eg Fault b s-a-1 is not detected by (a b f) = (1 0 1)

even though branches c and d are critical

stem

branch

branch

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 113

「DIP概論」- IP Testing

Multiple Path Sensitizationa

b

f

c

d

g

h

i

1

1

1

1

1

1fanout-free region

sensitive inputcritical line

bull Both c and d are not critical but b is critical and bs-a-0 can be detected by (a b f) = (1 1 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 114

「DIP概論」- IP Testing

Summariesbull Does specific test patterns detect specific

faultsndash Serial fault simulationndash Parallel fault simulationndash PPSFP

bull Which faults does a specific test pattern detect (suitable for ATPG)ndash Deductive fault simulationndash Concurrent fault simulationndash Critical Path Tracing

Chapter 4

Test Generation (TG)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 116

「DIP概論」- IP Testing

Test Generation (TG) Methods

bull From truth tablebull Using Boolean equationbull Using Boolean differencebull From circuit structure

Impractical

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 117

「DIP概論」- IP Testing

TG from Truth Table

bull Based on the serial fault simulationndash Impractical

ab

c

f

α s-a-0abc f fα000 0 0001 0 0010 0 0011 0 0100 0 0101 1 1110 1 0111 1 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 118

「DIP概論」- IP Testing

TG Using Boolean Equation

bull Based on the definition of detectability we have

Tα = (a b c) | f(a b c) oplus fα(a b c) = 1= (1 1 0)

bull High complexity

ab

c

f

α s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 119

「DIP概論」- IP Testing

Boolean DifferenceThe Boolean difference of f(x) with respect to xi is

)()()( 1f0fdx

xdfii

i

oplus=

where fi(0) = (x1 hellip 0 hellip xn) and fi(1) = (x1 hellip 1 hellip xn)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 120

「DIP概論」- IP Testing

Physical Meaning of Boolean Difference

bull Find all the input combinations such that the change of xi will cause the change of f(x)

bull Relationship between TG and Boolean difference

x1xixn

fcircuit0 rarr 1

0 rarr1

1rarr0or x1

xixn

fcircuit1rarr 0

1 rarr0

0 rarr1or

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 121

「DIP概論」- IP Testing

Case 1 Faults are present at PIsab

c

f

cb0cb1f0fda

xdfaa +=++bull=oplus= )(1)()()(

The set of all tests for a s-a-1 is (a b c) | a(b + c) = (0 1 x) (0 x 1)The set of all tests for a s-a-0 is (a b c) | a(b + c) = (1 1 x) (1 x 1)

TG Using Boolean Difference (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 122

「DIP概論」- IP Testing

TG Using Boolean Difference (22)Case 2 Faults are present at internal lines

ab

c

f

h = ab

caacac1f0fdh

xdfachf hh +=bull+bull=oplus=+= 11)()()(

The set of all tests for h s-a-1 is (a b c) | h(a + c) = (0 x x) (x 0 0)The set of all tests for h s-a-0 is (a b c) | h(a + c) = (1 1 0)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 123

「DIP概論」- IP Testing

Controlling and Inversion Valuesbull The value c of an input is said to be controlling

if it determines the value of the gate output regardless of the values of the other inputs then the output value is c oplus i where i for the inversion

bull The basic gates can be characterized by the two parametersndash The controlling value cndash The inversion value i

c iAND 0 0OR 1 0NAND 0 1NOR 1 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 124

「DIP概論」- IP Testing

Composite Logic Values and Operations

vvf symbol

00 0

11 1

10 D

01 D

AND 0 1 D0 0

DD0x

1DDx

00000

D x0 0

D0Dx

10xxx

DDx x

OR 0 1 D1 D

1D1x

1111

01DDx

D x0 D

11Dx

1x1xx

DDx x

5-valued operations

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 125

「DIP概論」- IP Testing

Line Justification (LJ)bull Set PIs to some values such that the specific

line has the predetermined value ab

c

f

10 = D

0

1

1

0

s-a-0D

h

ndash Eg Set both a and b to 1 h has the desired value 1 to activate the fault s-a-0 additionally set c to 0 the fault effect will be propagated to f

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 126

「DIP概論」- IP Testing

Justify(l val)Justify(l val)beginset l to valif l is a PI then returnc = controlling value of li = inversion of linval = val oplus i

if(inval = c)then for every input j of l

Justify(j inval)else

beginselect one input j of lJustify(j inval)

endend

Line justification for a fanout-free circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 127

「DIP概論」- IP Testing

TG from Circuit Structure

bull Two basic goalsndash Fault activation (FA)ndash Fault propagation (FP)

rArrLine justification (LJ)

ab

c

f

10 = D larr fault activation (FA)

0 larr fault propagation (FP)

1

1

0

s-a-0D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 128

「DIP概論」- IP Testing

TG for l s-a-vTG(l v)begin

set all values to xJustify(l v) FA if v = 0 then Propagate(l D) FP else Propagate(l D)

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 129

「DIP概論」- IP Testing

Propagate(l err)Propagate(l err) err is D or D beginset l to errif l is PO then returnk = the fanout of l c = controlling value of ki = inversion of kfor every input j of k other than lJustify(j c)

Propagate(k err oplus i)end

Error propagation for a fanout-free circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 130

「DIP概論」- IP Testing

Implication

bull Compute the values that can be uniquelydetermined and check for their consistency with the previously determined ones

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 131

「DIP概論」- IP Testing

Decision Trees

bull Decision Treesndash Consist of decision nodes for problems that the

algorithm is attempting to solvendash A branch leaving a decision node corresponds

to a decisionndash A SUCCESS terminal node labeled S

represents finding a test ndash A FAILURE terminal node labeled F

indicates the detection of an inconsistency

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 132

「DIP概論」- IP Testing

Backtracking

bull A systematic exploration of the complete space of possible solutions and recovery from incorrect decisions recovery involves restoring the state of the computation to the state existing before the incorrect decision

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 133

「DIP概論」- IP Testing

Backtracking of Incorrect Decisions

0xxx

ad

d = 0

F F

a = 0 a = 1b = 0

a = 1b = 1c = 0

bc

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 134

「DIP概論」- IP Testing

bull A FA problem is a LJ problembull A FP problem

ndash Select a FP path to a PO rArr decisionsndash Once the FP path is selected rArr a set of LJ

problemsbull A LJ problem is an either implication or

decision problem

Common Concepts of Structural TG (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 135

「DIP概論」- IP Testing

Common Concepts of Structural TG (22)

bull Incorrect decision(inconsistency) rArr Backtrack and make another decisions

bull Once the fault effect is propagated to a PO and all lines to be justified are justified the test pattern is generated otherwise the decision process is repeatedly until all possible decisions have been tried

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 136

「DIP概論」- IP Testing

A Simple Example of TG (12)

s-a-1

abc

d

e

G2

G1

G3

G5

G4

G6

f1

f2

bull FA rArr G1 = D rArr a = 1 b = 1 c = 1 rArr G2 = 0 (rArr G5 = 0) G3 = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 137

「DIP概論」- IP Testing

A Simple Example of TG (22)bull FP through G5 or G6 (the last page)

ndash Decision through G5rArr G2 = 1 inconsistency rArr backtracking

ndash Decision through G6rArr G4 = 1 rArr e = 0 rArr SUCCESS

rArrThe resulted test pattern is 111x0 G5 G6

F S

G5 G6

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 138

「DIP概論」- IP Testing

Advanced Example (14)

s-a-1

ab

cd

efh

k

l

mno

p

q

r s

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 139

「DIP概論」- IP Testing

Advanced Example (24)

bull FA rArr h = D

bull FPrArr e = 1(rArr o = 0) f = 1 rArr q = 1 r = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 140

「DIP概論」- IP Testing

Advanced Example (34)rArr Justify q = 1 rArr l = 1 or k = 1

ndash Decision l = 1rArr c = 1 d = 1 rArr m = 0 n = 0 rArr r = 0rArr inconsistency rArr backtracking

ndash Decision k = 1rArr a = 1 b = 1

rArr Justify r = 1 rArr m = 1 or n = 1rarr Decision m = 1

rArr c = 0 rArr SUCCESSrarr Decision n = 1

rArr d = 0 rArr SUCCESS

rArrThe resulted test is pattern 110x110 or 11x0110

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 141

「DIP概論」- IP Testing

Advanced Example (44)

q = 1

F

l = 1 l = 0 k = 1

r = 1

S

m = 1

S

n = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 142

「DIP概論」- IP Testing

A Generic TG AlgorithmSolve( )beginif Imply_and_check( ) = FAILUREthen return FAILURE

if(error at PO and all lines are justified)then return SUCCESS

if(no error can be propagated to a PO)then return FAILURE

select an unsolved problemrepeat

begin backtracking select one untried way to solve itif solve( ) = SUCCESS then

return SUCCESSend

until all ways to solve it have been triedreturn FAILURE

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 143

「DIP概論」- IP Testing

D-frontier And J-frontier

bull D-frontierndash The set of all gates whose output value is

currently x but have one or more fault signals on their inputs

bull J-frontierndash The set of all gates whose output value is

known but is not implied by their input values

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 144

「DIP概論」- IP Testing

Example of D-frontier

bull Initially the D-frontier is G6

s-a-1

abc

d

e

G2

G1

G3

G5

G4

G6

f1

f2

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 145

「DIP概論」- IP Testing

Example of J-frontierbull Initially the J-frontier is q = 1 r = 1

s-a-1

ab

cd

efh

k

l

mno

p

q

r s

1

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 146

「DIP概論」- IP Testing

LocalGlobal Implication

bull Local implicationndash Propagate values from one line to its immediate

inputs or outputsbull Global implication

ndash Propagation of values involves a larger area of the circuit and reconvergent fanout

bull Case analysis the SOCRATES system

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 147

「DIP概論」- IP Testing

Local Implication (Backward)

larr 1x

x

larr 0x

1

larr 0x

xlarr 1

x

x

Before

J-frontier = hellip

After1larr 1

larr 1

0larr 0

1

0x

xJ-frontier = hellip a

11

1 rarr

a

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 148

「DIP概論」- IP Testing

Local Implication (Forward) (12)bull Binary values

x

Before0 rarr x

1

x

0 rarr

x

0a

1 rarr

1 rarr

x

0a

D

1 rarr

xa

D

0 rarr

xa

J-frontier = hellip a

J-frontier = hellip a

D-frontier = hellip a

D-frontier = hellip a

x

After0

10

x

0

1

1

larr 0

0

D

1 aD

0 a

J-frontier = hellip

J-frontier = hellip

D-frontier = hellip

D-frontier = hellip

0 rarr

1 rarr

D rarr

0 rarr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 149

「DIP概論」- IP Testing

Local Implication (Forward) (22)bull Error values

Before After

x

x1D

D-frontier = hellip a

x

1

D-frontier = hellipa a

D rarr x

Dx a D-frontier = hellip a

D rarr D rarr

D rarrx D

DD rarr

D

DD-frontier = hellip a D-frontier = hellip

aD rarrx D

D0 rarr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 150

「DIP概論」- IP Testing

Unique D-drive

Before

xx a D-frontier = hellip aD

After

D rarr

larr 1D-frontier = hellip

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 151

「DIP概論」- IP Testing

x-path

bull A path is said to be a x-path if all its lines have value x

[Theorem 4-1] Let G be a gate on D-frontier The error(s) on the input(s) of G can be propagated to a PO Z if there exists at least one x-path between G and Z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 152

「DIP概論」- IP Testing

Error-Propagation Look-Ahead (12)

DD

x

x x

x

x

00

11

bull By Theorem 4-1 none of the fault effects can be observed on any POs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 153

「DIP概論」- IP Testing

Error-Propagation Look-Ahead (22)

bull Using the error-propagation look-ahead technique we may prune the decision tree by recognizing states from which any further decisions will lead to a failure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 154

「DIP概論」- IP Testing

D-Algorithm

bull FP is always given priority over LJbull Propagate fault effects on several

reconvergent paths referred to as ldquomultiple-path sensitizationrdquondash Some faults cannot be detected by sensitizing

only a single path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 155

「DIP概論」- IP Testing

The D-algorithm Implementation (12)D-alg( )begin Implicationsif Imply_and_check( ) = FAILURE

then return FAILURE

if(error not at PO) thenbeginif D-frontier = empty

then return FAILURE

repeat beginselect an untried gate G from

D-frontier Decisionsc = controlling value of Gassign c to every input of G with

value xif D-alg( ) = SUCCESS

then return SUCCESSend

until all gates from D-frontier have been tried

return FAILUREend if (error not at PO)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 156

「DIP概論」- IP Testing

if J-frontier = emptythen return SUCCESS

select a gate G from the J-frontierc = controlling value of G

repeat begin Decisionsselect an input j of G with value xassign c to jif D-alg( ) = SUCCESS

then return SUCCESSassign c to j

end

until all inputs of G are specifiedreturn FAILURE

end D-alg

The D-algorithm Implementation (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 157

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

Example of D-Algorithm (0113)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 158

「DIP概論」- IP Testing

Example of D-Algorithm (0213)bull Value computation (16)

Decisions Implications Commentsa = 0 Fault activationh = 1b = 1 Unique D-driven through gc = 1g = D D-frontier = i k m

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 159

「DIP概論」- IP Testing

Example of D-Algorithm (0313)bull Value computation (26)

Decisions Implications Commentsd = 1 Fault propagation through i

Propagate fault effects on i = Dd = 0

a single path D-frontier = k m n

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 160

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

Example of D-Algorithm (0413)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 161

「DIP概論」- IP Testing

bull Value computation (36)Decisions Implications Comments

j = 1 Fault propagation through nk = 1 Propagate fault effects onl = 1 a single path m = 1

n = De = 0e = 1k = D Contradiction

Example of D-Algorithm (0513)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 162

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

01

DContradiction

Example of D-Algorithm (0613)

D

1

11

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 163

「DIP概論」- IP Testing

bull Value computation (46)Decisions Implications Comments

e = 1 Fault propagation through kk = D Propagate fault effects on e = 0 two paths j = 1 D-frontier = m n

Example of D-Algorithm (0713)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 164

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

D

10 1

Example of D-Algorithm (0813)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 165

「DIP概論」- IP Testing

bull Value computation (56)Decisions Implications Comments

l = 1 Fault propagation through nm = 1 Propagate fault effects on

n= D two reconvergent paths f = 0

f = 1

m =D Contradiction

Example of D-Algorithm (0913)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 166

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

D

10 1

01

D

Contradiction

Example of D-Algorithm (1013)

D

1

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 167

「DIP概論」- IP Testing

bull Value computation (66)Decisions Implications Comments

f = 1 Fault propagation through mm = D Propagate fault effects onf = 0 three paths l = 1n= D Fault effects on POrsquos

Example of D-Algorithm (1113)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 168

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

D

10 1

10

D

1

D

Example of D-Algorithm (1213)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 169

「DIP概論」- IP Testing

bull Decision treendash Nodes the associated D-frontierndash Branches the taken decision ie the gate selected from the

D-frontieri k m

k m n

m nF

F S

i

n k

n m

Two times of backtracking

Example of D-Algorithm (1313)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 170

「DIP概論」- IP Testing

Partial Specification of The x Valuebull For a ldquototally unspecifiedrdquo composite value x

both v and vf are unknownndash x for 0 1 D D

bull For a ldquopartially specifiedrdquo composite value x v is binary and vf is unknown(u) vice versandash 0u for 0 D ndash 1u for D 1ndash u0 for 0 Dndash u1 for D 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 171

「DIP概論」- IP Testing

9-V Algorithmbull Similar to D-algorithm except that the

considered logic values are 0 1 D D 0u 1u u0 u1 uu (9-value)

bull Drive a D(D) through a gate G with controlling value c the values it assigns to the unspecified inputs of G correspond to the set c D(c D)

bull ub or bu (b is binary) at a PI is immediately transformed to bb

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 172

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

Example of 9-V Algorithm (17)

u1

u1

u1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 173

「DIP概論」- IP Testing

Example of 9-V Algorithm (27)

Decisions Implications Commentsa = 0 Fault activationh = 1b = 1 Unique D-driven through gc = 1g = Di = u1k = u1m = u1 D-frontier = i k m

bullV

alue computation (13)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 174

「DIP概論」- IP Testing

Example of 9-V Algorithm (37)

Decisions Implications Commentsd = 1 Fault propagation through i

i = Dd = 0

n = 1u D-frontier = k m n

bullV

alue computation (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 175

「DIP概論」- IP Testing

Example of 9-V Algorithm (47)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

u1

1

0

D

1u

u1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 176

「DIP概論」- IP Testing

Example of 9-V Algorithm (57)

bullV

alue computation (33)

Decisions Implications Commentsl = u1 Fault propagation through nj = u1

n = Df = u0f = 1f = 0

e = u0

e = 1e = 0k = D

m = D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 177

「DIP概論」- IP Testing

0

1D

Example of 9-V Algorithm (67)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

u1

u1

1

0

D

D0

1D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 178

「DIP概論」- IP Testing

Example of 9-V Algorithm (77)bull Decision tree

ndash Nodes the associated D-frontierndash Branches the taken decision ie the gate selected from the

D-frontier

i k m

k m n

S

i

n

No backtracking

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 179

「DIP概論」- IP Testing

D-Algorithm vs 9-V Algorithm

bull Whenever there are k possible paths for FPndash D-algorithm may eventually try all the 2k-1

combinations of pathsndash 9-V algorithm tries only one path at a time but

without precluding simultaneous FP on the other k-1 paths

bull Enumerate at most k ways of FP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 180

「DIP概論」- IP Testing

Inversion Parity

bull In circuits composed only of AND OR NAND NOR and NOT gates we can define the ldquoinversion parityrdquo of a path as the number taken modulo 2 of the inverting gates (NAND NOR and NOT) along that path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 181

「DIP概論」- IP Testing

Path-Oriented DEcision Making (PODEM)bull PODEM allows the value assignments for LJ

problems only on PIs ie backtracking can occur only on PIs ndash Treat a value vk to be justified for line k as an

objective (k vk)ndash Use the backtracing procedure to map the object

into a PI assignment that ldquois likely to contributerdquo to achieve the objective

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 182

「DIP概論」- IP Testing

BacktracingObjective (k vk)Step 1 Find a x-path from line k to a PI say aStep 2 Count the inversion parity of the pathStep 3 If the inversion parity is even then

return (a vk) otherwise (a vk)

Note No non-PI values are assigned during backtracing ie these values are assigned only by simulating PI assignments (implications)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 183

「DIP概論」- IP Testing

The Backtracing ImplementationBacktrace(k vk) map objective into PI assignment beginv = vk

while k is a gate output begin

i = inversion of kselect an input j of k with value xv = v oplus ik = j

endreturn (k v) k is a PI

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 184

「DIP概論」- IP Testing

Example of Backtracing ProcedureObjective (f 1)

fd

e

ca

bx

x

x

xxx

fd

e

ca

bx

1

x

10x

The first time of backtracing

fd

e

ca

bx

1

x1

0x

fd

e

ca

b1

1

0

101

The second time of backtracing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 185

「DIP概論」- IP Testing

Choosing of Objectives (12)

bull In PODEM the order of the objectives being considered is as follows1 The objectives for FA2 Repeatedly select a gate G from the D-frontier

(until some fault effect is at a PO or the D-frontier is empty) and consider the input with x value as an objective

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 186

「DIP概論」- IP Testing

Choosing of Objectives (22)

Objective( )being

the target fault is l s-a-v if (the value of l is x) then return (l v)select a gate G from the D-frontierselect an input j of G with value xc = controlling value of G return (j c)

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 187

「DIP概論」- IP Testing

The PODEM ImplementationPODEM( ) beginif (error at PO) then return SUCCESSif (test not possible) then return FAILURE(k vk) = Objective( )(j vj) = Backtrace(k vk) j is a PI Imply(j vj)if PODEM( ) = SUCCESS then return SUCCESSImply(j vj) reverse decision if PODEM( ) = SUCCESS then return SUCCESSImply(j x)return FAILURE

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 188

「DIP概論」- IP Testing

Example 1 of PODEM (18)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

D

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 189

「DIP概論」- IP Testing

Example 1 of PODEM (28)bull Value computation (13)

Objective PI Assignment Implications D-frontier Comments

(a 0) a = 0 h = 1 g

(b 1) b = 1 g(c 1) c = 1 g = D i k m

(d 1) d = 1 d = 0

i = D k m n

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 190

「DIP概論」- IP Testing

Example 1 of PODEM (38)bull Value computation (23)Objective PI Assignment Implications D-frontier Comments

(k 1) e = 0 e = 1j =0

k =1n = 1 m x-path check fails

e = 1 e = 0 reversal

j = 1k = D m n

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 191

「DIP概論」- IP Testing

Example 1 of PODEM (48)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

00

1

D

D

11

x-path(to PO)check failsrArr Backtracking

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 192

「DIP概論」- IP Testing

Example 1 of PODEM (58)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

11

0

D

D

1D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 193

「DIP概論」- IP Testing

Example 1 of PODEM (68)bull Value computation (33)Objective PI Assignment Implications D-frontier Comments

(l 1) f = 1 f = 0l = 1

m = Dn = D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 194

「DIP概論」- IP Testing

Example 1 of PODEM (78)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

11

0

D

D

11 0

D

D

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 195

「DIP概論」- IP Testing

Example 1 of PODEM (88)bull Decision tree

ndash Nodes the PIs selected to be assigned valuesndash Branches the value assigned to the PI

a0b1

c1d1

e0F f1

S

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 196

「DIP概論」- IP Testing

Features of PODEMbull PODEM examines all possible input

patterns implicitly but exhaustively as tests for a given fault ie a complete TG

bull PODEM does not needndash Consistency checkndash The J-frontierndash Backward implications

bull Generally faster than D-algorithm

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 197

「DIP概論」- IP Testing

A More Intelligent Backtracing (12)bull To guide the backtracing process of PODEM

controllability for each line is measuredndash CY1(a) the probability that line a has a value 1ndash CY0(a) the probability that line a has a value 0

bull Eg f = ab assume CY1(a) = CY0(a) = CY1(b) = CY0(b) = 05ndash CY1(f) = CY1(a) CY1(b) = 025ndash CY0(f) = 1 - CY1(f) = 075

ab f

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 198

「DIP概論」- IP Testing

bull How to guide the backtracing process using controllabilityndash Principle 1 Among several unsolved problems first

attack the hardest onendash Principle 2 Among several solutions of a problem

first try to the easiest onebull Eg

ndash Objective (c 1) rArr Choose path c-a to backtracendash Objective (c 0) rArr Choose path c-a to backtrace

A More Intelligent Backtracing (22)

ab c

CY1(a) = 033 CY0(a) = 067CY1(b) = 05 CY0(b) = 05

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 199

「DIP概論」- IP Testing

Example 2 of PODEM (14)Initial objective(G5 1)G5 is an AND gate Choose the hardest-1rArr Current objective is (G1 1)G1 is an AND gate Choose the hardest-1 rArr Arbitrarily current objective is (A 1)A is a PI Implication rArr G3 = 0

Ps Initially CY1 and CY0 for all PIs are set to 05

C1(G1) = 025

C1(G1) = 0656

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 200

「DIP概論」- IP Testing

Example 2 of PODEM (24)Is the initial objective justified No rArr Current objective (G5 1)G5 is an AND gate Choose the hardest-1rArr Current objective is (G1 1)G1 is an AND gate rArr Choose the hardest-1 rArr Arbitrarily current objective is (B 1)B is a PI rArr Implication rArr G1 = 1 G6 = 0

C1(G1) = 025

C1(G1) = 0656

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 201

「DIP概論」- IP Testing

Example 2 of PODEM (34)Is the initial objective justified No rArr Current objective (G5 1)The value of G1 is known rArr Current objective (G4 0)The value of G3 is known rArr Current objective(G2 0)A B are known rArr Current objective (C 0)C is a PI rArr Implication rArr G2 = 0 G4 = 0 G5 = D G7 = D

C1(G1) = 025

C1(G1) = 0656

No backtracking

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 202

「DIP概論」- IP Testing

Example 2 of PODEM (44)

bull If the backtracing process is not guided ndash Two times of backtracking may occur

G5rarr G4rarr G2rarr A

G5rarr G4rarr G2rarr B

G5rarr G4rarr G2rarr C

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 203

「DIP概論」- IP Testing

Head Lines

bull A line that is reachable from at least one stem is said to be bound otherwise free

bull A head line is a free line that directly feeds a bound line

head linesbound

DE

ABC

F

G

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 204

「DIP概論」- IP Testing

The Property of Head Lines[Theorem 4-2] If l is a head line the value of l can be justified without contradicting any other values previously assignedHintThe subcircuit feeding l is fanout-free

head linesbound

DE

ABC

F

G

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 205

「DIP概論」- IP Testing

Fanout-Oriented (FAN) Algorithmbull The FAN algorithm introduces two major

extensions to the backtracing concept of PODEMndash Rather than stopping at PIs backtracing in

FAN may stop at internal lines ie head lines ndash Rather than trying to satisfy one objective

FAN use a multiple-backtrace procedure that attempts to simultaneously satisfy a set of objectives

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 206

「DIP概論」- IP Testing

FAN vs PODEM

head linesbound

DE

ABC

F

G

Assume that setting G = 0 causes the D-frontier to become empty

A1B0

F C0F

1

1

G0F

1

PODEM FAN

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 207

「DIP概論」- IP Testing

Multiple Backtracing (13)Mbacktrace(Current_objectives)beginrepeat

beginremove one entry (k vk) from

Current_objectivesif k is a head line

then add (k vk) to Head_objectiveselse if k is a fanout branch

thenbegin

j = stem(k)increment number of requests at

j for vk

add j to Stem_objectivesend else if k is a fanout branch

else continue tracingbegin

i = inversion of kc = controlling value of k

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 208

「DIP概論」- IP Testing

Multiple Backtracing (23)

if(vkoplus i = c) then

beginselect an input j of k with

value xadd (j c) to

Current_objectivesend if(vkoplus i = c)

elsefor every input j of k with

value x

add (j c) to Current_objectives

end continue tracingend

until Current_objectives = empty

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 209

「DIP概論」- IP Testing

Multiple Backtracing (33)

if Stem_objectives ne emptybeginremove the highest-level stem k from

Stem_objectives

vk = most requested value of k

if(k has contradictory requirements and k is not reachable from target fault)

then return (k vk)add (k vk) to Current_objectivesreturn

Mbacktrace(Current_objectives)end if Stem_objectives ne empty

remove one objective (k vk) from Head_objectivesreturn (k vk)

end Mbacktrace

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 210

「DIP概論」- IP Testing

Generation of Conflicting Values on A Stem

0

1

0

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 211

「DIP概論」- IP Testing

Example of Multiple Backtracing (12)

AB

A1

A2E

E1

E2

G

H

I

JC

1

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 212

「DIP概論」- IP Testing

Example of Multiple Backtracing (22)

(I 1 ) (J 0 ) (I 1 )

(J 0 ) (G 0 ) (J 0 )

(G 0 ) (H 1 ) (G 0 )

(H 1 ) (A1 1 ) (E1 1) (H 1 )

(A1 1 ) (E1 1 ) (E2 1) (C 1) (A1 1 ) A(E1 1 ) (E2 1 ) (C 1 ) (E1 1 ) A E(E2 1 ) (C 1 ) (E2 1 ) A E(C 1) (C 1 ) A E C

A C(E 1 ) (E 1 ) A C(A2 0 ) (A2 1 ) A C

A C

Current_objectivesProcessed

entry Stem_objectives Head_objectives

empty

empty

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 213

「DIP概論」- IP Testing

The FAN Implementation (12)FAN( ) beginif Imply_and_check( ) =

FAILUREthen return FAILURE

if (error at PO and all bound lines are justified) then

beginjustify all unjustified head lines return SUCCESS

end

if(error not at PO and D-frontier = empty)then return FAILURE

add every unjustified bound lines to Current_objectivesselect one gate G from the D-frontier c = controlling value of Gfor every input j of G with value xadd (j c) to Current_objectives

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 214

「DIP概論」- IP Testing

The FAN Implementation (22)(i vi) = Mbackrace(Current_objectives)Assign(i vi)if FAN( ) = SUCCESSthen return SUCCESS

Assign(i vi) reverse decisionif FAN( ) = SUCCESSthen return SUCCESS

Assign(i x)return FAILURE

End FAN( )

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 215

「DIP概論」- IP Testing

ATPG (12)

bull Basic schemeinitialize the test set to NULLrepeat

generate a new test vectorevaluate fault coverage for the test vectorif the test vector is acceptable then add it to the test set

until the required fault coverage is obtained

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 216

「DIP概論」- IP Testing

ATPG (22)

bull Accelerationndash Phase I Random test patterns are generated

first to detect easy-to-detect faultsndash Phase II A deterministic TG is then performed

to generate test patterns for the remaining faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 217

「DIP概論」- IP Testing

Sequential TG

bull For circuits with unknown initial statesndash Time-frame expansion based

bull Extended D-algorithmbull 9-V sequential TG

ndash Simulation basedbull CONTEST [Agrawal and Cheng IEEE TCAD Feb

1989]

bull For circuits with known initial statesndash STALLION [Ma et al IEEE TCAD Oct 1988]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 218

「DIP概論」- IP Testing

Iterative Logic Array (ILA) Model

bull Here the model is restricted to synchronous sequential circuits

initial states

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 219

「DIP概論」- IP Testing

Extended D-algorithm1 Pick up a target fault f2 Create a copy of the combinational logic say Time-

frame 03 Generate a test pattern for f using D-algorithm for

time-frame 04 If all the fault effects are propagated into the FFrsquos

continue the fault propagation in the next time-frame5 If there are values required to be justified in the

FFrsquos continue the line justification (LJ) in the previous time-frame

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 220

「DIP概論」- IP Testing

I

OY1

Y2y1

y2 s-a-1

FF2

FF1

Example of Extended D-algorithm (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 221

「DIP概論」- IP Testing

Example of Extended D-algorithm (22)

OY1

Y2

I

y1

y2 s-a-1

time-frame 00

1

D

I

OY1

Y2

y1

y2 s-a-1

time-frame 1

1D

I

y1

y2 s-a-1

time-frame -1

0

0

Y1

Y2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 222

「DIP概論」- IP Testing

9-V Sequential TG

bull Extended D-algorithm is not completebull If 9-V instead of 5-V is used it will be a

complete algorithmndash Since it takes into account the possible repeated

effects of the fault in the ILA model

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 223

「DIP概論」- IP Testing

Example of 9-V Sequential TG (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 224

「DIP概論」- IP Testing

Example of 9-V Sequential TG (22)bull If 5-V Sequential TG is usedhelliphellip

D D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 225

「DIP概論」- IP Testing

Problems of Time-frame Approachesbull The requirements created during the

forward process (FP) have to be justified (LJ) by the backward processes laterndash Need going both forward and backward time

framesndash Need to maintain a large number of time-

framesbull How many Cyclesbull Implementation is complicated

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 226

「DIP概論」- IP Testing

Simulation-Based Approaches

bull Advantagesndash Timing is considered and asynchronous circuits

can be handledndash Can be easily implemented by modifying a

fault simulatorbull Disadvantages

ndash Can not identify undetectable faultsndash Hard-to-activate faults may not be detected

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 227

「DIP概論」- IP Testing

Difficulties of Sequential Test Generation

bull Initialization is difficultndash Justify invalid statesndash Long initialization sequences (simulator

limitations)bull Timing cannot be considered by time-frame

expansionsndash Races and hazardsndash Asynchronous circuits cannot be handled

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 228

「DIP概論」- IP Testing

Why FC of 100 Is Hard

bull If each undetected fault is redundant then FC will easily reach at 100ndash Proving that the undetected fault is a redundant

fault may be very and very hardbull How to increase FC

faultsredundant the-list fault of size thefaultsredundant the-fault undetected of size the-1

faultsredundant the-list fault of size thefaults detected the

=

=FC

Chapter 5

Design for Testability (DFT)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 230

「DIP概論」- IP Testing

Motivation bull Test costs

ndash Test Generation (TG)ndash Fault Simulationndash Test Application Timendash Memory spacendash helliphellip

bull Test difficultiesndash Sequential gt Combinationalndash helliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 231

「DIP概論」- IP Testing

Testability Measures

bull Controllabilityndash The difficulty of setting a particular logic signal

to a 0 or 1bull Observability

ndash The difficulty of observing the state of a logic signal

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 232

「DIP概論」- IP Testing

SCOAPbull Sandia ControllabilityObservability

Analysis Program [Goldstein 1979]bull Use six cost functions of type integer to

reflect the relative difficulties of controlling and observing signals in digital circuitsndash Higher numbers indicate more difficult to

control or observe signals

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 233

「DIP概論」- IP Testing

Combinational SCOAP Measures

bull For signal lndash CC0(l)

bull The combinational ldquorelative difficultyrdquo of setting l to 0

ndash CC1(l)bull The combinational ldquorelative difficultyrdquo of setting l to 1

ndash CO(l)bull The combinational ldquorelative difficultyrdquo of propagating

a fault effect from l to a PO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 234

「DIP概論」- IP Testing

bull For signal lndash SC0(l)

bull The sequential ldquorelative difficultyrdquo of setting l to 0

ndash SC1(l)bull The sequential ldquorelative difficultyrdquo of setting l to 1

ndash SO(l)bull The sequential ldquorelative difficultyrdquo of propagating a

fault effect from l to a PO

Sequential SCOAP Measures

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 235

「DIP概論」- IP Testing

Initialization

bull CC0(i) = CC1(i) = SC0(i) = SC1(i) = 1 for all PI ibull CO(o) = SO(o) = 0 for all PO obull Set others to infin

The controllabilities range between 1 and infin

The observabilities range between 0 and infin

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 236

「DIP概論」- IP Testing

Controllability of Combinational Components (12)

bull CC0(z) = CC0(a) + CC0(b) + 1bull CC1(z) = minCC1(a) CC1(b) + 1bull SC0(z) = SC0(a) + SC0(b)bull SC1(z) = minSC1(a) SC1(b)

ab z

CC0 or CC1 are related to the number of signals that may be manipulated to control SC0 or SC1 are related to the number of time-frames needed to control

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 237

「DIP概論」- IP Testing

Controllability of Combinational Components (22)ab

ab

abab

ab

ab

z

z

z

z

z

z

CC0(z) = minCC0(a) CC0(b) + 1CC1(z) = CC1(a) + CC1(b) + 1

CC0(z) = CC1(a) + CC1(b) + 1CC1(z) = minCC0(a) CC0(b) + 1CC0(z) = CC0(a) + CC0(b) + 1CC1(z) = minCC1(a) CC1(b) + 1CC0(z) = minCC1(a) CC1(b) + 1CC1(z) = CC0(a) + CC0(b) + 1

CC0(z) = minCC1(a) + CC1(b) CC0(a) + CC0(b) + 1CC1(z) = minCC0(a) + CC1(b) CC1(a) + CC0(b) + 1

CC0(z) = minCC0(a) + CC1(b) CC1(a) + CC0(b) + 1CC1(z) = minCC1(a) + CC1(b) CC0(a) + CC0(b) + 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 238

「DIP概論」- IP Testing

Controllability of Sequential Components

bull CC0(Q) = minCC0(R) CC1(R) + CC0(D) + CC0(C) + CC1(C)bull CC1(Q) = CC1(R) + CC1(D) + CC0(C) + CC1(C)bull SC0(Q) = minSC0(R) SC1(R) + SC0(D) + SC0(C) + SC1(C) + 1bull SC1(Q) = SC1(R) + SC1(D) + SC0(C) + SC1(C) + 1

D

C

Q

R

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 239

「DIP概論」- IP Testing

Observability (12)

P

QR

N

bull CO(P) = CO(N) + CC1(Q) + CC1(R) + 1bull SO(P) = SO(N) + SC1(Q) + SC1(R)

D

C

Q

R bull CO(R) = CO(Q) + CC1(Q) + CC0(R)bull SO(R) = SO(Q) + SC1(Q) + SC0(R) + 1

CO are related to the number of signals that may be manipulated to observeSO are related to the number of time-frames needed to observe

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 240

「DIP概論」- IP Testing

Observability (22)ab

ab

abab

ab

ab

z

z

z

z

z

z

CO(a) = CO(z) + CC1(b) + 1CO(b) = CO(z) + CC1(a) + 1

CO(a) = CO(z) + CC1(b) + 1CO(b) = CO(z) + CC1(a) + 1

CO(a) = CO(z) + CC0(b) + 1CO(b) = CO(z) + CC0(a) + 1CO(a) = CO(z) + CC0(b) + 1CO(b) = CO(z) + CC0(a) + 1

CO(a) = CO(z) + minCC0(b) CC1(b) + 1CO(b) = CO(z) + minCC0(a) CC1(a) + 1CO(a) = CO(z) + minCC0(b) CC1(b) + 1CO(b) = CO(z) + minCC0(a) CC1(a) + 1

zz1z2

zn

CO(z) = minCO(z1) CO(zz) helliphellip CO(zn)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 241

「DIP概論」- IP Testing

Example of SCOAP (13)

1

23

4

5

6

PI3

PI2

PI1

PO

Note ( C0 C1 )

(11)

(11)

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11)

(11)

(11)

Computation of controllability (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 242

「DIP概論」- IP Testing

Example of SCOAP (23)

Note ( C0 C1 )

(11)

(11)

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11)

(11)

(11)

(22)

(22)

(23)

(35)

(27)

(54)

Note ( C0 C1 ) O

(11)

(11)

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11)

(11)

(11)

(22)

(22)

(23)

(35)

(27)

(54) 0

Computation of controllability (22)

Computation of observability (13)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 243

「DIP概論」- IP Testing

Example of SCOAP (33)

Note ( C0 C1 ) O

(11) 5

(11) 5

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11) 9

(11) 9

(11) 9

(22) 8

(22) 8

(23) 3

(35) 5

(27) 3

(54) 0

Note ( C0 C1 ) O

(11) 5

(11) 5

1

23

4

5

6

PI3

PI2

PI1

PO

(11) 5

(11) 5

(11) 9

(11) 9

(11) 9

(22) 8

(22) 8

(23) 3

(35) 5

(27) 3

(54) 0

Computation of observability (23)

Computation of observability (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 244

「DIP概論」- IP Testing

Importance of Testability Measures

bull Speed up test generation (TG) algorithmsbull Improve the testability of the circuit under

design ndash Guide the design for testability (DFT) insertion

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 245

「DIP概論」- IP Testing

Design for Testability (DFT)

bull DFT techniquesndash Design efforts specifically employed to ensure

that a circuit is testablebull In general DFT is achieved by employing

extra hardware overheadndash Conflict between design and test engineersndash Balance between amount of DFT and gain

achieved

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 246

「DIP概論」- IP Testing

Benefits of DFTbull Fault coverage uarr (must guarantee) bull Test generation time darrbull Test lengthTest memoryTest application time darrbull Support a test hierarchy

ndash Chipsndash Boardsndash Systems

rArrPay less now and pay more latter without DFT

FC100

with DFT

of T

without DFT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 247

「DIP概論」- IP Testing

Costs Associated with DFT

bull Pin overhead uarrbull Area uarrbull Yield darrbull Performance darrbull Design time uarr

rArrThere is no free lunch

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 248

「DIP概論」- IP Testing

DFT Techniques

bull Ad hoc DFT techniquesbull Scan-based designsbull Boundary scan

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 249

「DIP概論」- IP Testing

Ad Hoc DFT Techniquesbull Test pointsbull Initializationbull Monostable multivibrators (one-shots)bull Oscillators and clocksbull Partitioning counters and shift registersbull Partitioning of large combinational circuitsbull Logic redundancybull Break global feedback paths

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 250

「DIP概論」- IP Testing

Test Pointsbull Insert test points control points (CPs) and

observation points (OPs) to enhance controllability and observability

C1 C2 C1 C2

jumper

CPOP

original circuits testable circuits

Can be done only for boards

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 251

「DIP概論」- IP Testing

01-Injection

CP1

C1

CP0

C2

01-injection

C1C2

CP00-injection 1-injection

C1C2

CP1

OP OP

OP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 252

「DIP概論」- IP Testing

01-Injection Using a MUX

NT

C1

CP C2

01-injection

MUX

0

1

OP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 253

「DIP概論」- IP Testing

IO-Pin Cost Decrement (12)

01

2n-11 2 n

X1 X2 Xn

Z

CP1CP2

CPN

DEMUX

N = 2n

Using a demultiplexer and a latchregister to implement CPs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 254

「DIP概論」- IP Testing

IO-Pin Cost Decrement (22)

01

2n-11 2 n

X1 X2 Xn

Z

OP1OP2

OPN

MUX

N = 2n

Multiplexing OPs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 255

「DIP概論」- IP Testing

Time-Sharing IO Pins (12)

PIs DEMUX

normal functional

inputsn

n

n nCPs

0

1

NT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 256

「DIP概論」- IP Testing

Time-Sharing IO Pins (22)

OPs

DEMUX

normal functional

outputs

n

n

nPOs

0

1

NT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 257

「DIP概論」- IP Testing

Selection of CPs (12)

bull Control address and data bus lines on bus-structured designs

bull Enablehold inputs to microprocessorsbull Enable and readwrite inputs to memory

devicesbull Clock and presetclear inputs to memory

devices such as flip-flops counter and shift registers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 258

「DIP概論」- IP Testing

Selection of CPs (22)

bull Data select inputs to multiplexers and demultiplexers

bull Control lines on tri-state devices

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 259

「DIP概論」- IP Testing

Selection of OPs (12)

bull Stem lines associated with signals having high fanout

bull Global feedback pathsbull Redundant signal linesbull Outputs of logic devices having many

inputs such as multiplexers and parity generators

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 260

「DIP概論」- IP Testing

Selection of OPs (22)

bull Outputs from state devices such as flip-flops counters and shift registers

bull Address control data buses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 261

「DIP概論」- IP Testing

Initialization (12)bull Design circuits to be easily initializable

ndash Donrsquot disable preset (PR) and clear (CLR) lines

PR

CLR

Vcc

Vcc

Q

Q

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 262

「DIP概論」- IP Testing

Initialization (22)bull When the preset or clear line is driven by

logic a gate can be added to achieve initialization

PR

CLR

Q

Q

C1

Clear

PR

CLR

Q

Q

C1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 263

「DIP概論」- IP Testing

Built-In Initialization Signal Generator

Vcc

t

VZ

Vcc

Z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 264

「DIP概論」- IP Testing

Monostable Multivibrators (One-Shots) (12)

bull Disable internal one-shots during test

C1C2

one-shotjumper

CPOP

jumper

OP CP

Can be done only for boards

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 265

「DIP概論」- IP Testing

Monostable Multivibrators (One-Shots) (22)

C1

C2

one-shotA

B

E (OP)

C

D

MUX

0

1

01-I

s

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 266

「DIP概論」- IP Testing

Oscillators And Clocksbull Disable internal oscillators and clocks

during test

OSCC

OP

AB

01-I

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 267

「DIP概論」- IP Testing

CountersShift Registers (12)bull Partition large counters and shift registers

into smaller units

DIN

CK

DOUTR1

DIN

CK

DOUTR2C

X1 X2

Y1 Y2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 268

「DIP概論」- IP Testing

CountersShift Registers (22)

CPdata inhibit

CPtest data

C

CPclock inhibitCPtest clock

DIN

CK

DOUT

R1

X1

Y1

CPdata inhibit

CPtest data

OP

DIN

CK

DOUT

R2

X2

Y2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 269

「DIP概論」- IP Testing

Partitioning Large Circuits (12)bull Partition large circuits into smaller

subcircuits to reduce test generation cost

C1 C2

AB

C

D

E

F G

m ns

p

q

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 270

「DIP概論」- IP Testing

Partitioning Large Circuits (22)

If 2p+n + 2q+m lt 2n+m then test time can be reduced

m

s

n

q

p

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 271

「DIP概論」- IP Testing

Logic Redundancy

bull Avoid the use of redundant logicndash Remove (for eliminating hazardshelliphellip)

bull Add test points to remove the redundancy during testing

bull Bias fault coverage

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 272

「DIP概論」- IP Testing

Global Feedback Pathsbull Provide logic to break global feedback

paths

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 273

「DIP概論」- IP Testing

Scan SystemPO

C

R

PI

C

Rrsquo

PI

Sin

Sout

PO

Original design Modified design

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 274

「DIP概論」- IP Testing

Scan Storage Cell (SSC)

DSi

N TCK

Q So

N T Q So

0 D1 Si

D QSSC

Symbol for a SSC

rArr A SSC can be used as control point (CP) andor observation point (OP)

SSC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 275

「DIP概論」- IP Testing

Simultaneous CO

C1 C2

MUX

0

1

T

D Q

CPOP

SiN T CK

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 276

「DIP概論」- IP Testing

Scan Register (SR) (12)

Sin

CK

N T

D1

Q

Q1 D2

Q

Q2 Dn

Q

Qn

DSi

N TCK

SoutSSC SSC

R

Symbol for a SR

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 277

「DIP概論」- IP Testing

Scan Register (SR) (22)

bull A scan register (SR) loads data in parallel when N T = 0 (normal mode) and shifts when N T = 1 (test mode)ndash Scan-in operation (test mode)

bull Load data into R from line Sin (control)

ndash Scan-out operation (test mode)bull Read data out of R from line Sout (observation)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 278

「DIP概論」- IP Testing

Generic Scan-Based Design

bull Full serial integrated scanbull Full isolated scanbull Nonserial scan

ndash Random-access scan

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 279

「DIP概論」- IP Testing

Full Serial Integrated Scan (12)

bull All the original storage cells are replaced by the SSCrsquos and made part of the SR

bull Sequential ATPG rarr Combinational ATPG

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 280

「DIP概論」- IP Testing

C

R

PI PO

CK

C

Rs

PI PO

CKNT Sin

Sout

Original design (Normal) Modified design (Scanned)

Full Serial Integrated Scan (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 281

「DIP概論」- IP Testing

Full Isolated Scan (12)bull The SR is not in the the normal data path

C

Rrsquo

Rs

PI PO

Sin Sout

two data input ports

shadow register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 282

「DIP概論」- IP Testing

Full Isolated Scan (22)bull Advantages

ndash Real-time testingbull A single test can be applied at the operational clock

rate of the system

ndash On-line testingbull The circuit can be tested while in normal operation

bull Disadvantagesndash Hardware overhead

bull Two data input portsbull Shadow register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 283

「DIP概論」- IP Testing

Random-Access Scan (12)C

addressable storage elements

clocks and controls

Y-address(decoder)

X-address(decoder)

Sout

SinSCK

PI PO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 284

「DIP概論」- IP Testing

Random-Access Scan (22)bull Advantages

ndash Scan in a new vector only bits that need be changed must be addressed and modified also selected bits can be observed

bull Full controllability and observability

bull Disadvantagesndash Hardware overhead

bull Considerable overhead associated with storing the addresses of the cells to be setread

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 285

「DIP概論」- IP Testing

IBM LSSD Scan Cellbull Level Sensitive Scan Design

D

Sin

Q2 Sout(L2)

Q1 (L1)

C

A

B

Normal mode A = 0 C and B activeTest mode C = 0 A and B active

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 286

「DIP概論」- IP Testing

Clock Schemebull To obtain race-free condition clocks C and

B as well as A and B are nonoverlapping

C

B

A

B

Normal mode A = 0

Test mode C = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 287

「DIP概論」- IP Testing

LSSD Double-Latch Design

Sout

Sin

CA

B

Shift Register Latch (SRL)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 288

「DIP概論」- IP Testing

LSSD Single-Latch Design

Sout

SinC2

Shift Register Latch (SRL)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 289

「DIP概論」- IP Testing

Scan Design Costsbull Hardware overheadbull Extra pinsbull High test timebull Extra slower clock controlsbull Possible performance degradationbull Some designs are not easily realizable as

scan designTest generation costs can be significantly reduced and lead to higher fault coverage

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 290

「DIP概論」- IP Testing

Notes

Chapter 6

Advanced Scan Concepts

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 292

「DIP概論」- IP Testing

Advanced Scan Concepts

bull Multiple test sessionsbull Multiple scan chainsbull Broadcast scan chainsbull Partial scan

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 293

「DIP概論」- IP Testing

Multiple Test Sessions (12)bull of test patterns

ndash C1 100 C2 200 C3 30020 bits 20 bits 20 bits

C1 C2 C3

Test time= 60 300= 18000 (cycles)

One session

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 294

「DIP概論」- IP Testing

Multiple Test Sessions (22)bull of test patterns

ndash C1 100 C2 200 C3 300

20 bits 20 bits 20 bits

C1 C2 C3

Test time= 60 100 +

40 100 +20 100

= 12000 (cycles)

Three sessions

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 295

「DIP概論」- IP Testing

Multiple Scan Chainsbull Reduce test application timebull Large pin overhead

ndash Usually test IO will share the normal IO

A single chain (long test time) Multiple chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 296

「DIP概論」- IP Testing

Broadcast Scan Chainsbull Using a single data input to support multiple

scan chains

Source Lee et al ICCADrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 297

「DIP概論」- IP Testing

Virtual Circuitsbull The inputs of circuits under test (CUTs) are

connected in a 1-to-1 manner

bull The whole virtual circuit is considered as one circuit during ATPG

bull The resulted test patterns can be shared by all CUTs Source Lee et al ICCADrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 298

「DIP概論」- IP Testing

Partial Scanbull Only a subset of flip-flops are scannedbull Trade-offs

ndash Area overheadndash TG complexity

partial scan

full scan

sequential TG

combinational TG

1000 (scanned FFrsquos)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 299

「DIP概論」- IP Testing

A Basic Method for Partial Scanbull Represent a sequential circuit with feedback

as a directed graph G = (V E)ndash Each flip-flop i is represented as vertex vi in V ndash Each combinational path from flip-flop i to j is

represented as a directed edge from vi to vj in E

Source Cheng and Agrawal IEEE TComputersrsquo90

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 300

「DIP概論」- IP Testing

Graph Representation (13)

3

1 2 4 5 6

A sequential circuit with 6 flip-flops

Graph representation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 301

「DIP概論」- IP Testing

Graph Representation (23)bull Distance between two vertices on a path is

defined as the number of vertices on that path

distance = 4

distance = 3

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 302

「DIP概論」- IP Testing

Graph Representation (33)bull Sequential depth of a circuit is defined as

the distance of the longest pathbull Cycle length is defined as the maximum

number of vertices in a cycle

Sequential depth = 6

Cycle length = 3 Cycle length = 1 Cycle length = 2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 303

「DIP概論」- IP Testing

Analysis of Sequential Circuits (13)

bull Any sequential circuit can be divided into 3 classes of subcircuits based on the directed graph representationndash Acyclic directed (testable)ndash Directed with only self-loops (testable)ndash Directed with cycles of two or more vertices

(not testable)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 304

「DIP概論」- IP Testing

Analysis of Sequential Circuits (23)

Directed with cycles of two or more vertices (not testable)

Acyclic directed (testable)

Directed with only self-loop (testable)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 305

「DIP概論」- IP Testing

Analysis of Sequential Circuits (33)

bull The number of gates or flip-flops is not the dominant factor for test generation complexity

bull Cycle length is the dominant factorndash To reduce test generation complexity cycles of

length ge 2 should be break or eliminatedbull Sequential depth is minor

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 306

「DIP概論」- IP Testing

Flip-Flop Selection Algorithm (12)

beginidentify all cyclesrepeat

for every vertex begincount the frequency of appearance in the cycle list

endselect the most frequently used vertexremove all cycles containing the selected vertex from the cycle listuntil cycle list is empty

end

bull Finding the vertex set that breaks all cycles called the feedback vertex set problem is NP-completendash Heuristics must be used to bound the computation time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 307

「DIP概論」- IP Testing

= 695

Flip-Flop Selection Algorithm (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 308

「DIP概論」- IP Testing

The BALLAST Methodology (13)bull Scan storage elements are selected such that

the remainder of circuit has some testable structurendash A complete test set can be obtained by using

combinational ATPGsequential TG

combinational TG

1000Source Gupta et al IEEE TComputersrsquo90

BALLAST

(scanned FFrsquos)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 309

「DIP概論」- IP Testing

The BALLAST Methodology (23)

Sout

Sin

HOLD(for test)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 310

「DIP概論」- IP Testing

bull Test procedure for a test pattern ndash Scan in the pattern to R3 and R6

ndash Hold the test pattern in R3 and R6 for two clock cycles such that the test response appears in R4and R5

ndash Load data to R3 and R6 and scan out

The BALLAST Methodology (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 311

「DIP概論」- IP Testing

Circuit Model (14)

bull Given a synchronous sequential circuit Sndash The combinational logic can be partitioned into

clouds where each cloud is a maximal region of connected combinational logic such that its inputs are either primary inputs or outputs of FFrsquos and its outputs are either primary outputs or inputs to FFrsquos

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 312

「DIP概論」- IP Testing

Circuit Model (24)bull A register

ndash Consists of one or more FFrsquos driven by the same clock signal

ndash Receives data from exactly one cloud and feeds exactly one cloud

bull Two typesndash Load set (L) always operates in LOAD modendash Hold set (H) two modes of operation ndash LOAD

and HOLD

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 313

「DIP概論」- IP Testing

Circuit Model (34)bull A directed graph G = (V A H W)

ndash V the set of cloudsndash A the set of connections between two clouds

through registersndash H sub A connections through HOLD registersndash W ArarrZ+ defines the number of FFrsquos in each

registersbull W(a) represent the cost of converting a register into

a scan register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 314

「DIP概論」- IP Testing

Circuit Model (44)

R3

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 315

「DIP概論」- IP Testing

Balanced Sequential Structurebull A synchronous sequential circuit S with G is said

to be a balanced sequential structure (B-structure) ifndash G is acyclic ndash forallv1 v2 isin V all directed paths from v1 to v2 are of equal

lengthndash forallh isin H if h is removed from G the resulted graph is

disconnectedbull When examining whether a circuit with scan

registers is a B-structure the arcs corresponding to scan registers must be removed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 316

「DIP概論」- IP Testing

Example of B-structure

Red arcs represent HOLD registersOthers represent LOAD registers

A B-structure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 317

「DIP概論」- IP Testing

Kernel of a B-Structure (13)bull Given a B-structure SB

ndash Combinational equivalent CB is defined as the combinational circuit formed by replacing each FF in every register in SB by a wire or an inverter

bull Single-pattern testablebull A complete single-pattern test set can be derived

using combinational test generation techniques

bull The depth d of SB

ndash The number of registers on the longest path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 318

「DIP概論」- IP Testing

Kernel of a B-Structure (23)B-structure SB (d = 2)

Combinational Equivalent CB

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 319

「DIP概論」- IP Testing

Kernel of a B-Structure (33)bull Given an input pattern I applied to SB define the

single-pattern output of SB for I as the steady-state output of SB when I is held constant at the inputs to SB and all its registers are operated in LOADmode for at least d clock cycles

bull Given some fault f in SB if the single-pattern outputs for I of the good and the faulty circuits are different then I is a single-pattern test for f

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 320

「DIP概論」- IP Testing

Outline of BALLAST1 Construct G = (V A H W)2 Remove a minimal cost set of arcs R to

construct SB

3 Determine CB of SB and a complete test set Tfor CB using a combinational ATPG

4 Construct a scan path composed of the registers in R so that they can ldquoshiftrdquo ldquoholdrdquo and ldquoloadrdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 321

「DIP概論」- IP Testing

Selection of Scan Registers1 Transform G = (V A H W) into an acyclic

graph GA by removing a minimal cost set of ldquofeedbackrdquo arcs RA (NP-complete)

2 Transform GA into a balanced graph GB by removing a minimal cost set of arcs RB (NP-complete)R = RAcupRB is the desired set for scan registers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 322

「DIP概論」- IP Testing

Test Procedurebull Operate all scan registers in the SHIFT mode for l

clock cycles (scam in the first test pattern)ndash l is the total number of FFrsquos in the scan path

bull Repeat N times N is the number of test patterns(a) Place all scan register in HOLD mode and all nonscan

registers in LOAD mode for d clock cycles(b) Operate all scan registers in LOAD Load for 1clock

cycle(c) Operate all scan register in SHIFT mode for l clock

cycles

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 323

「DIP概論」- IP Testing

Elimination of HOLD Modebull Eg By adding two dummy bits (d) between

the patterns to be scanned to R3 and R6 the HOLD mode can be eliminated

Sin

Sout1101hellip01dd10hellip101

R3 R6

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 324

「DIP概論」- IP Testing

ConclusionsMethods Partial Scan

Multiple TestSessions

Mutiple ScanChains

Broadcast ScanChains

Area Overhead

PerformanceDegradation

Extal Pins

Extral ClockControl

Test ApplicationTime

same

same

same

same

same

same

darr or uarr

darr

darr

darr

same or uarr

same

uarr

same

darr

same

same

darr

darr

same

Full Scan

Chapter 7

Compression Techniques

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 326

「DIP概論」- IP Testing

Challenges from ORA

bull A bit-by-bit comparison of observed output values with the correct values as previously computed and saved is quite inefficientndash Require a significant amount of memory

storage for saving the correct outputs associated with all test vectors

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 327

「DIP概論」- IP Testing

Response Compressionbull Compress or compact output responses into

ldquoa signaturerdquondash A circuit is tested by comparing the observed

signature with the correct computed signature

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 328

「DIP概論」- IP Testing

Error Maskingbull signature(faulty circuit)

= signature(fault-free circuit)ndash The erroneous output response is an alias of the

correct output responsebull Measurement of masking probability

ndash Compute the fraction of all possible erroneous response sequences that cause masking associated with specific compression techniques

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 329

「DIP概論」- IP Testing

Requirements of Compression Techniques

bull Easy to implement specially in the BIST environment

bull Small performance degradationbull High degree compactionbull No or small alias errors

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 330

「DIP概論」- IP Testing

Basic Compression Techniques

bull Ones-count compressionbull Transition-count compressionbull Parity-check compressionbull Syndrome Testingbull Signature Analysis

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 331

「DIP概論」- IP Testing

Ones-Count Compression (12)bull Given a single-output circuit C let the

output response of C be R = r1 r2 hellip rm

ndash In ones counting the signature 1C(R) is the number if 1s appearing in R ie

where 0 le 1C(R) le m

bull The degree of compression is ⎡log2(m+1)⎤

sum=i

irR1C )(

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 332

「DIP概論」- IP Testing

Ones-Count Compression (22)

counter

s-a-0 fault f2

s-a-1 fault f1

111100001100110010101010

00000000 = R211000000 = R110000000 = R0

Signature (ones count)1C(R0) = 11C(R1) = 21C(R2) = 0

x1x2x3

Input test patternsequence T

Output Reponses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 333

「DIP概論」- IP Testing

Analysis of Ones-Countbull Consider a circuit tested with m random

input vectors and let 1C(R0) = r 0 le r le mndash The number of m-bit sequences having r 1s is

such sequences are aliases

bull The ratio of masking sequences to all possible erroneous sequence given 1C(R0) = r is

⎥⎦

⎤⎢⎣

⎡rm

1rm

minus⎥⎦

⎤⎢⎣

)1

1rmM

2CP m

m

r1C minus

minus=(

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 334

「DIP概論」- IP Testing

Transition-Count Compressionbull TC(R) = sum

minus

=+

oplus1m

1i1ii rr

NetworkT D Q

counter

00000000 = R211000000 = R110000000 = R0

Signature (transition count)TC(R0) = 1TC(R1) = 1(undetectable fault)TC(R2) = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 335

「DIP概論」- IP Testing

bull If all faulty sequences are equally likely to occur as the response of a faulty circuit then the probability of masking is given by

Analysis of Transition-Count

122)|(

1

minusminus

=minus

m

mr

TC1CrmMP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 336

「DIP概論」- IP Testing

Parity-Check Compression

NetworkT

00000000 = R211000000 = R110000000 = R0 D Q

Signature (parity)p(R0) = 1p(R1) = 0p(R2) = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 337

「DIP概論」- IP Testing

bull All errors consisting of odd number of bit errors are detectedndash Detect all single-bit errors

bull All errors consisting of even number of bit errors are maskedndash Assume all faulty bit streams are equally likely

the probability of masking approaches frac12 as m increases

Analysis of Parity-Check

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 338

「DIP概論」- IP Testing

Syndrome Testingbull Rely on exhaustive testing ie applying all

2n test vectors to an n-input combinational circuitndash Eg Consider a single-output circuit

implementing a function fbull The syndrome S (or signature) is the normalized

number of 1s in the resulting stream ie S = K2n where K is the number of minterms in the function f

ndash A special case of ones-count compression

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 339

「DIP概論」- IP Testing

Signature Analysis

bull Signature analysis is a compression technique based on the concept of cyclic redundancy checking (CRC) and realized in hardware using linear-feedback shift registers (LFSRs)ndash The signature is the content of this register after

the last input bit has been sampled

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 340

「DIP概論」- IP Testing

LFSRs Used as Signature Analyzers

bull Single-input signature registers (SISRs)bull Multiple-input signature registers (MISRs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 341

「DIP概論」- IP Testing

SISRsbull Initial state I(x) = 0bull Final state R(x) the remainder or signature

)()()( )(or )()()(

)()( xRxPxQxG

xPxRxQ

xPxG

+=+=

G(x) Q(x)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 342

「DIP概論」- IP Testing

Example of SISRs

R(x) = x2+x4 Q(x) =1+x2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 343

「DIP概論」- IP Testing

Analysis of SISRs (12)

bull For a test bit stream of length mndash 2m possible responses of which only one is

correctndash The number of bit streams producing a specific

signature is 2m 2n = 2m-n where n is the length of the LFSR

ndash Among these streams only one is correct

( ) 21212P n

m

nm

SA nmM minusminus

congminus

minus=|

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 344

「DIP概論」- IP Testing

ndash Eg If n = 16 then(1-2-16) 100 = 999984

of erroneous responses are detectedNote This is not of faults

Analysis of SISRs (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 345

「DIP概論」- IP Testing

MISRs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 346

「DIP概論」- IP Testing

Implementation of MISRs

(a) Original (a) Modified

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 347

「DIP概論」- IP Testing

The Storage Cell for MISRs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 348

「DIP概論」- IP Testing

Notes

Chapter 8

Built-In Self-Test (BIST)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 350

「DIP概論」- IP Testing

Built-In Self-Test (BIST) (12)bull Capability of a circuit (chip board or

system) to test itself

Test Pattern Generator (TPG)

Circuit under Test (CUT)

Output Response Analyzer (ORA)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 351

「DIP概論」- IP Testing

bull On-line not placed into the test modendash Concurrent simultaneous with normal

operationndash Nonconcurrent idle normal operation

bull Off-line placed into the test modendash Functional diagnosis SW or FWndash Structural

bull LFSR-based TPG and ORAbull FC is estimated

Built-In Self-Test (BIST) (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 352

「DIP概論」- IP Testing

Glossary of BIST Test Structures (12)bull BILBO

ndash built-in logic block observation (register)bull LFSR

ndash linear feedback shift registerbull MISR

ndash multiple-input signature registerbull ORA

ndash output response analyzer

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 353

「DIP概論」- IP Testing

bull PRPG ndash pseudorandom pattern generator also referred

to as a pseudorandom number generatorbull SISR

ndash single-input signature registerbull SRSG

ndash shift-register sequence generator also a single-output PRPG

bull TPGndash test pattern generator

Glossary of BIST Test Structures (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 354

「DIP概論」- IP Testing

bull Exhaustive testingndash Exhaustive test-pattern generator

bull Pseudorandom testingndash Weighted test generatorndash Adaptive test generator

Test Pattern Generation for BIST (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 355

「DIP概論」- IP Testing

Test Pattern Generation for BIST (22)

bull Pseudoexhaustive testingndash Syndrome driver counterndash Constant-weight counterndash Combined LFSR and shift registerndash Combined LFSR and XOR gatesndash Condensed LFSRndash Cyclic LFSR

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 356

「DIP概論」- IP Testing

Exhaustive Testing

bull Apply all 2n input vectors where n is the number of inputs to CUTndash Impractical for large n

bull Detect all detectable faults that do not cause sequential behaviorndash In general not applicable to sequential circuits

bull Can use a counter or LFSR for TPG

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 357

「DIP概論」- IP Testing

bull A shift register with a linear feedback network is called a linear feedback shift register (LFSR)

bull A n-stage shift register has at most 2n statesrArr A n-stage LFSR has at most 2nndash1 stages

the linear successor of the all-zero state is itself

there4

Linear Feedback Shift Register (LFSR) (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 358

「DIP概論」- IP Testing

Linear Feedback Shift Register (LFSR) (22)

D Q D Q

S0 1 0S1 0 1S2 (=S0) 1 0

Z = 0101helliphellip2 states

Z D Q D Q D Q Z

S0 0 1 1S1 1 0 1S2 0 1 0S3 0 0 1S4 1 0 0S5 1 1 0S6 1 1 1S7 (=S0) 0 1 1

Z = 11010011101001 helliphellip7 states

linear feedback network

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 359

「DIP概論」- IP Testing

Two Types of LFSRs (12)bull Type 1 External type

D Q D Q ZD Q D Q

C1 C2 Cn-1 Cn= 1C0

= 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 360

「DIP概論」- IP Testing

Two Types of LFSRs (22)bull Type 2 Internal type

D Q

Cn-1Cn= 1

D Q

Cn-2

D Q

C1

D Q Z

C0= 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 361

「DIP概論」- IP Testing

Mathematical Operations over GF(2)

bull Multiplication(bull) bull Addition( )

bull 0 10 0 01 0 1

0 10 0 11 1 0

Eg Let C1 = 0 C2 = 1 C3 = 1 and a1 = 0 a2 = 1 a3 = 1If a0 = C1 bull a1 C2 bull a2 C3 bull a3 then a0 = 0 bull 0 1 bull 1 1 bull 1 = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 362

「DIP概論」- IP Testing

Analysis of LFSRsbull A sequence of binary numbers can be

represented using a generation function (polynomial)

bull The behavior of an LFSR can be determined by its ldquoinitial seed (S0)rdquo and ldquofeedback coefficients (Ci)rdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 363

「DIP概論」- IP Testing

Characteristic Polynomials (13)

bull Let a0 a1 hellip am hellipbe the sequence of binary numbers ndash Generation function

G(x) = a0 + a1x +hellip+ amxm + hellip=bull Let am = a0 a1 hellip am hellipbe the output

sequence of an LFSR of type 1rArr am =

xa m

mmsum

infin

=0

aC im

n

ii minus

=sum

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 364

「DIP概論」- IP Testing

bull Let the seed S0 be a-1 a-2 hellip a-n hellip

rArr G(x) = =

rArr G(x) = under GF(2)

rArr G(x) depends on the seed S0 and feedback coefficients

xa m

mmsum

infin

=0sum suminfin

= =minus⎟⎠

⎞⎜⎝

0 1m

mn

iimi xaC

( )sum

sum

=

minus

minus

minus

minus=

+

++

n

i

i

i

i

i

in

ii

xC

xaxaxC

1

1

11

1

Characteristic Polynomials (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 365

「DIP概論」- IP Testing

bull Let P(x) = 1 +

= 1 + C1x + C2x2 + hellip+ Cnxn

called the characteristic polynomial of the LFSR representing the linear feedback network

bull The degrees of all characteristic polynomials for an n-stage LFSR are nndash Eg

P(x) = x3 + x + 1

sum=

n

i

i

i xC1

D Q D Q D Q Z

Characteristic Polynomials (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 366

「DIP概論」- IP Testing

Maximum Length Sequences

bull If period p of the sequence generated by an n-stage LFSR is 2n-1 then it is a maximum length sequencendash 1rsquos = 0rsquos + 1

bull The characteristic polynomial associated with the maximum length sequence is a primitive polynomial

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 367

「DIP概論」- IP Testing

Primitive Polynomialsbull The number of primitive polynomials for n-

stage LFSR is given by

where

( ) ( )n

nn 12

2

minus=φλ

( ) prod ⎟⎟⎠

⎞⎜⎜⎝

⎛minus=

np pnn

|

11φ

n1 12 14 28 1616 204832 67108864

( )n2λ

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 368

「DIP概論」- IP Testing

Some Primitive PolynomialsEg 20 3 0 for x20 + x3 + 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 369

「DIP概論」- IP Testing

An Example of LFSR

bull 23-1 = 7 ldquoalmost completerdquo patterns are generated

D Q D Q D Q Z

S0 0 1 1S1 1 0 1S2 0 1 0S3 0 0 1S4 1 0 0S5 1 1 0S6 1 1 1S7(=S0) 0 1 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 370

「DIP概論」- IP Testing

Exhaustive Testing

D Q D Q D Q0 0 1

0 0 0

1 0 0

scan chain 3

CUT

test cycles 3+23

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 371

「DIP概論」- IP Testing

Off-Line BIST Architecturesbull Criteria

ndash Centralized or distributed BIST circuitryndash Embedded or separate BIST elements

bull Key elementsndash Test pattern generators (TPGs)ndash Output response analyzers (ORAs)ndash The circuits under test (CUTs)ndash A distribution system (DIST) for transmitting data from

TPGs to CUTs and from CUTs to ORAsndash A BIST controller for controlling the BIST circuitry

and CUT during self-test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 372

「DIP概論」- IP Testing

CentralizedSeparate BIST (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 373

「DIP概論」- IP Testing

CentralizedSeparate BIST (22)

bull During testing the BIST controller may carry out one or more of the following functionsndash Single-step the CUTs through some test

sequencendash Inhibit system clocks and control test clocksndash Communicate with other test controllers

possibly using test bussesndash Control the operation of a self-test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 374

「DIP概論」- IP Testing

DistributedSeparated BIST

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 375

「DIP概論」- IP Testing

DistributedEmbedded BIST

The TPG and ORA elements are configured from functional elements within the CUT such as registers

Less hardware overheadLead to a more complex design

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 376

「DIP概論」- IP Testing

Factors for Choosing BIST Architecturesbull Degree of test parallelism (distributed darr)bull Fault coverage (distributed darr)bull Level of packaging (centralized darr)bull Test time (distributed darr)bull Physical constraints (embedded and separateuarr)bull Complexity of replaceable units (centralized darr)bull Factory and field of test-and-repair strategiesbull Performance degradation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 377

「DIP概論」- IP Testing

Test-Per-Clock System

LFSR SR

CUT

MISR

Some new set of faults is tested during every clock period

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 378

「DIP概論」- IP Testing

Test-Per-Scan SystemLFSR SR

CUT

MISR SR

Each new set of faults being tested requiresOne clock to conduct the testA series of shifts of the scan chain (SR)

Complete that testRead out all of the test results

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 379

「DIP概論」- IP Testing

STUMPSbull Self-Test Using a MISR and Parallel Shift register

ndash Test-per-scan

LFSR (Pseudo-Random Test Pattern Generator)

SR1 SR2 SRn

MISR

CUT1 CUT2 CUTn

Source Bardell ITCrsquo82

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 380

「DIP概論」- IP Testing

BILBObull Built-In Logic Block Observation

ndash Distributedembedded

BILBO register

BILBO0 0 shift mode0 1 reset1 0 LFSRMISR1 1 normal mode

Source Konemann 1979

z1 z2 zn

B1 B2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 381

「DIP概論」- IP Testing

Applications of BILBO (12)bull Bus-Oriented structure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 382

「DIP概論」- IP Testing

Applications of BILBO (22)bull Pipeline-oriented structure

POs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 383

「DIP概論」- IP Testing

What to Do If 2n Is Too Large

bull Using pseudorandom testingndash Eg Generate only 232 test patterns

bull Using pseudoexhaustive testingndash Eg Partitioning

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 384

「DIP概論」- IP Testing

Pseudorandom Testingbull Weighted test generation

ndash The distribution of 0s and 1s produced on the output lines of TPGs is not necessary uniform

bull Adaptive test generationndash Modify the weights based on the simulation

resultsbull (advantage) efficient in terms of test lengthbull (disadvantage) the TPG hardware is more complex

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 385

「DIP概論」- IP Testing

Weighted Test Generation

bull Using an LFSR and a combinational circuit

D Q D Q D Q

The probability of 05 for a 1is changed to 025

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 386

「DIP概論」- IP Testing

Pseudoexhaustive Testing

bull Achieve many benefits of exhaustive testing but usually require far fewer test patternsndash Rely on various forms of circuit segmentation

and attempt to test each segment exhaustivelybull A segment is a subcircuit of a circuit C

ndash Segments need not be disjoint

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 387

「DIP概論」- IP Testing

Segmentation

bull Logical segmentationndash Sensitized path segmentationndash Cone segmentation (verification testing)

bull Physical segmentation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 388

「DIP概論」- IP Testing

bull The circuit can be pseudoexhaustivelytested with 2n1 + 2n2 + 1 test patterns

n1

n2

C1

C2

Sensitized Path Segmentation (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 389

「DIP概論」- IP Testing

Sensitized Path Segmentation (22)n1

n2

C1

C2

n1

n2

C1

C2

n1

n2

C1

C2

2n1 test patterns

2n2 test patterns

1 test pattern

1

1

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 390

「DIP概論」- IP Testing

Cone Segmentation

bull An m-output circuit is logically segmented into m cones each cone consists of all logic associated with one outputndash Each cone is tested exhaustively and all cones

are tested concurrentlyhelliphellipndash Called verification testing by McCluskey[1984]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 391

「DIP概論」- IP Testing

An (n w)-CUTbull [Definition] Consider a combinational circuit

C with inputs X = x1 x2 hellip xn and outputs Y= y1 y2 hellip ym Let yi = fi(Xi) where Xi sube X Let w = maxi|Xi| We denote this circuit as an (n w)-CUT ndash Pseudoexhaustively testing an (n w)-CUT needs at

least 2w test patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 392

「DIP概論」- IP Testing

An (4 2)-CUT

y1 y2 y3 y4

x1 x2 x3 x4

Pseudoexhaustively testing this (4 2)-CUT need at least 22 test patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 393

「DIP概論」- IP Testing

Constant Weight Patternsbull [Definition] Let T be a set of n-tuples T is

said to exhaustively cover all k-subspaces if for all subsets of k bit positions each of the 2k

binary pattern appears at least once among the |T| n-tuplesndash Eg

⎥⎥⎥⎥

⎢⎢⎢⎢

=

101011110000

Tn = 3

k = 2|T| = 4

T can be a pseudoexhaustive test set for an (n w)-CUT if k ge w

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 394

「DIP概論」- IP Testing

Identification of Test Signal Inputsbull Consider a CUT with n inputs If none of

the outputs is a function of both inputs say a and b then the inputs a and b can be applied to the same test signal line

f(x y)

g(x y)

x

y

z

1 1 0 0

1 1 0 0

1 0 1 0

f(x y)

g(x y)

x

y

z

1 1 0 0

1 0 1 0

apply x and z to the same test signal line

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 395

「DIP概論」- IP Testing

MTC Circuitsbull [Definition]A circuit is said to be a maximal-test-

concurrency(MTC) circuit if the minimal number of required test signals for the circuit is equal to the maximum number of inputs upon which any output depends

f(x y)

g(x y)

x

y

z

1 1 0 0

1 0 1 0

f(x y)

g(x y)

x

y

z

1 1 0 0

1 0 1 0

0 1 1 0h(x z)

A MTC circuit A non-MTC circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 396

「DIP概論」- IP Testing

Identification of Minimal Set of Test Signals

Step 1 Generate a dependency matrix D = [dij] where dij = 1 if output i depends on input j otherwise dij = 0

Step 2 Partition the matrix into group of inputs so that two or more inputs in a group do not affect the same output

Step 3 Collapse each group to form an equivalent input called a test signal input

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 397

「DIP概論」- IP Testing

Example of Identification (12)

abcdefg

f1(a b e)f2(b c g)f3(a d e)

f4(c d e)

f5(e f)

C

f

f

f

f

f

gfedcba

D

5

4

3

2

1

01100000011100001100110001100010011

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

Step 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 398

「DIP概論」- IP Testing

Example of Identification (22)

f

f

f

f

f

gfedbca

Dg

5

4

3

2

1

01100000011010001100110001100010101

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

Step 2

I II III IV

f

f

f

f

f

Dc

5

4

3

2

1

11000111011110110111

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

Step 3

I II III IV

Transformation to a (4 3)-CUT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 399

「DIP概論」- IP Testing

Physical Segmentation

bull Insert bypass storage cells (bscs) such that in the test mode each output and bscdepends on at most w inputs and bscsndash A bypass storage cell is similar to a cell used in

boundary-scan designbull In the normal mode the inserted bsc acts a wirebull In the test mode the inserted bsc can be part of an

LFSRSR

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 400

「DIP概論」- IP Testing

gate

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 4 4

6 5

Example of Physical Segmentation (16)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 401

「DIP概論」- IP Testing

Example of Physical Segmentation (26)x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 402

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 1

Example of Physical Segmentation (36)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 403

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 2

Example of Physical Segmentation (46)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 404

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 3

Example of Physical Segmentation (56)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 405

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 4

Example of Physical Segmentation (66)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 406

「DIP概論」- IP Testing

Pseudoexhaustive Testing by LFSRSR Chains

bull Step1 Partition the circuit under test(CUT) by inserting bypass storage cells(bscs)ndash Reduce the maximum dependency

bull Step 2 Route an LFSRSR chain with a primitive feedback polynomial through the primary inputs(PIs) and bscs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 407

「DIP概論」- IP Testing

LFSRSR Chainsx4 + x3 + 1 (primitive)

PIs

+

BSCs

An LFSRSR chain with a primitive feedbackpolynomial of degree k generates the maximum sequence of length 2k-1

Exhaustively test each output cone

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 408

「DIP概論」- IP Testing

Residue Polynomials

bull For an LFSRSR with primitive feedback polynomial f(x) of degree k the residue Ri(x) of stage i is defined as

Ri(x) = xi mod f(x)

XOR network with f(x)210 k-1 k i

R0 R1 R2 Rk-1 Rk Ri

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 409

「DIP概論」- IP Testing

Example of Residue Polynomials

+x3 + x + 1

1 x x2 x+1

x2+x

x2+x+1

0 1 2 3 4 5

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 410

「DIP概論」- IP Testing

Linear Independencybull [Theorem] An output cone depending on

the inputs p1hellip pk can be exhaustively tested hArr the corresponding residues Rp1

hellipRpk

are linear independent (LI)

210 k-1 k i

R0 R1 R2 Rk-1 Rk Ri

Output G

XOR network with f(x)

R2 Rk-1 Rk is LIhArrThe cone of G is

exhaustively tested

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 411

「DIP概論」- IP Testing

Example of Linear Independency+

x3 + x + 1

1 x x2 x+1

x2+x

x2+x+1

0 1 2 3 4 5

bull If some output cone C depends on inputs 0 3 and 4the output cone can be exhaustively tested

Because 1 x+1 x2+x is LI

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 412

「DIP概論」- IP Testing

Why Not Exhaustively Testingbull Subject to the input-output relation it is not

an easy task to construct a desirable LFSRSR chain as the pseudo-exhaustive TPG for the CUTndash Not all the output cones whose input residues

are LI that is linear dependent (LD)bull Called the LD problem

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 413

「DIP概論」- IP Testing

Possible Solutions to The LD Problembull To overcome the LD problem some variants of

LFSRSR have been proposedndash LFSRXORndash Reconfigurable LFSRSRndash Permuted LFSRSRndash Convolved LFSRSRndash Multiple LFSRSRndash Cell-reordering LFSRSRndash Constant-weight LFSRSRndash Linear-code LFSRSRndash Condensed LFSRSR

These solutions encounter serious problemsThe hardware overhead maybe largeThe construction time maybe long

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 414

「DIP概論」- IP Testing

LFSRXOR+ x3 + x + 1

1 x x2 x+1

x2+x

x2+x+1

0 1 2

++

3 4 5

XOR network

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 415

「DIP概論」- IP Testing

Reconfigurable LFSRSR

0 1 2 3 4 5 6

+

7

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 416

「DIP概論」- IP Testing

Permuted LFSRSR

0 1 2 3 4 5 6

+

7

0 2 5 1 3 4 6 7

inputs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 417

「DIP概論」- IP Testing

Convolved LFSRSR

0 1 2 3 4 5 6

+

7+

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 418

「DIP概論」- IP Testing

Multiple LFSRSR

0 1 2 3

+

4 5 6 7

+

1 0 0 0 1 1 0 0

seed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 419

「DIP概論」- IP Testing

Tree-Structured LFSRSR (TLS)

bull Rationalndash The SR chain of LFSRSR unnecessarily

constraints the searching domain for constructing a pseudo-exhaustive TPG

bull Constructionndash Step 1 Backbone generationndash Step 2 Tree growing

Source Rau et al ITCrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 420

「DIP概論」- IP Testing

Backbone Generationbull Step 1 Use a selected primitive feedback

polynomial to construct the LFSR portionbull Step 2 Based on the LI constraint include

as many PIs or bscs as possible to a shift register(SR) chain connected to the LFSR with as little routing overhead as possibleThe constructed LFSR and SR portion is called the Backbone

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 421

「DIP概論」- IP Testing

Example of Backbone Generation (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 422

「DIP概論」- IP Testing

Example of Backbone Generation (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 423

「DIP概論」- IP Testing

Tree Growing

bull Based on the LI constraint try to connect isolated PIs or BSCs to the backbone with as little routing overhead as possible

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 424

「DIP概論」- IP Testing

Example of Tree Growing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 425

「DIP概論」- IP Testing

XOR-Tree Generation

bull There may be PIs or BSCs which can not be included in the scan tree after the backbone generation and tree growing processesndash Because the LI requirement can not be

satisfiedndash Referred to as the linear dependent (LD)

problem

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 426

「DIP概論」- IP Testing

Overcoming The LD Problem

bull How to overcome the LD problem using as few XORs as possiblendash Use nonzero-terms of polynomial to directly

synthesize the required residuesndash Eg Under polynomial f(x) = x3 + x + 1 we can

synthesize R4 (x2 + x) with ldquoR2 (x2) xor R1(x)rdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 427

「DIP概論」- IP Testing

Looking for Proper Residues

Rj

XOR network with f(x)210 k-1

R0 R1 R2 Rk-1

i

Ri

jN

bull [Theorem] There must exist a residue Rj j gt i to avoid the LD problem

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 428

「DIP概論」- IP Testing

Residue Replacementbull Synthesize an XOR network from the exited

backbone and tree branches for shorter routingdistance oplus

backbone

branches

isolated oplus

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 429

「DIP概論」- IP Testing

Residue Replacement Process

bull Under the polynomial f(x) = x4 + x3 +1 We can synthesize residue R10 with the existent residues R5 and R6 as follows

R10 = R9 + R7

= R8 + R6 + R7

= R7 + R5 + R6 + R7

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 430

「DIP概論」- IP Testing

Simulation Results of TLS (12) (n m k) Ckt Before Partitioning After Partitioning C432 (36 7 36) (56 27 20) C499 (41 32 41) (49 40 14) C880 (60 26 45) (75 41 20) C1355 (41 32 41) (49 40 14) C1908 (33 25 33) (47 39 19) C2670 (233 140 122) (262 169 20) C3540 (50 22 50) (118 90 20) C5315 (178 123 67) (225 170 20) C6288 (32 32 32) (87 87 20) C7552 (207 108 194) (296 197 20)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 431

「DIP概論」- IP Testing

Simulation Results of TLS (22)

PIsBSCs [16] Ckt (n m k) CPU time Backbone Branches Isolated XORs XORs

C432 (56 27 20) 056 44 12 0 0 9 C499 (49 40 14) 054 48 1 0 0 11 C880 (75 41 20) 064 69 6 0 0 13 C1355 (49 40 14) 277 47 2 0 0 11 C1908 (47 39 19) 241 41 4 2 3 10 C2670 (262 169 20) 1374 247 15 0 0 7 C3540 (118 90 20) 3482 72 45 1 6 27 C5315 (225 170 20) 7566 186 39 0 0 36 C6288 (87 87 20) 25937 59 25 3 15 25 C7552 (296 197 20) 3359 216 80 0 0 31

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 432

「DIP概論」- IP Testing

Solutions of BIST (12)

bull Exhaustivepseudoexhaustive testingbull Weighted pseudorandom testingbull Mixed mode test pattern generation

ndash Pseudorandom test patterns firstndash Deterministic test patterns followed

bull Donrsquot consider the fact that the test pattern are given in a form of testcubes with unspecified inputs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 433

「DIP概論」- IP Testing

Solutions of BIST (22)

bull Reseeding ndash Change the seeds as needed

bull Reprogram the characteristic polynomialbull Combination of two or more of the above

methods

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 434

「DIP概論」- IP Testing

Notes

Chapter 9

Boundary-Scan Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 436

「DIP概論」- IP Testing

Board Level Testing

Sn m

Sn m

n

mMUXm

TNIsolate one module (chip) from the others

Test chips and chip interconnectionsRaise the concept of boundary-scan testing

R1

R2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 437

「DIP概論」- IP Testing

History of Boundary-Scan Testingbull 1988 Joint Test Action Group (JTAG)

proposed Boundary-Scan Standardbull 1990

ndash Boundary-Scan approved as IEEE 11491ndash Boundary-Scan Description Language (BSDL)

proposed by HPbull 1993 11491a approved to replace 11491bull 1994 11491b BSDL approved

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 438

「DIP概論」- IP Testing

1149111491a

bull Testing of digital chips and interconnections between chips

bull Widely used in industryndash Eg advance CPU HDTV satellite systemhelliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 439

「DIP概論」- IP Testing

Chip Architecture for 11491

TAPC

MUX

Sin

Sout

MRsInstruction Reg

Bypass Reg

Application Logic

OptionalBIST registersScan registers

MRs Miscellaneous Registers Boundary-Scan Cell

Boundary-Scan Path

TDITMS

TCKTDO

TAP

IO Pad

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 440

「DIP概論」- IP Testing

A Typical Boundary-Scan Cell (13)

0

1

MUX

S QA

Q1D

QB

Q1D

0

1

MUX

S

INOUT

SOUT

SIN

ShiftDR

ClockDR UpdateDR

Mode_Control

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 441

「DIP概論」- IP Testing

bull As an input boundary-scan cell INcorresponds to a chip input pad OUT is tied to a normal input to the application logic

bull As an output boundary-scan cell IN corresponds to the output of the application logic OUT is tied to an output pad

A Typical Boundary-Scan Cell (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 442

「DIP概論」- IP Testing

bull Operation Modesndash Normal Mode Mode_Control = 0

bull IN -gt OUTndash Scan Mode ShiftDR = 1 ClockDR

bull TDI-gthellip-gtSIN-gtSOUT-gthellip-gtTDOndash Capture Mode ShiftDR = 0 ClockDR

bull IN-gtQA

ndash Update Mode Mode_Control = 1 UpdateDRbull QA-gtOUT

A Typical Boundary-Scan Cell (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 443

「DIP概論」- IP Testing

Board And Chip Testing

Application Logic 2

Application Logic 3 Application Logic 4

TDI

TDO

Application Logic 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 444

「DIP概論」- IP Testing

Board And Chip Test Modes

bull External Test Modendash Test the interconnection between the chips of

boardbull Sample Test Mode

ndash Sample and shift out or shift in data without interfering the normal operation of board

bull Internal Test Modendash Test the chips of board

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 445

「DIP概論」- IP Testing

External Test Mode (14)

Chip 1

Chip 2

TDI

TDO

Shift-DR(Chip 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 446

「DIP概論」- IP Testing

External Test Mode (24)

Chip 1

Chip 2

TDI

TDO

Update-DR(Chip 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 447

「DIP概論」- IP Testing

External Test Mode (34)

Chip 1

Chip 2

TDI

TDO

Capture-DR(Chip 2)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 448

「DIP概論」- IP Testing

External Test Mode (44)

Chip 1

Chip 2

TDI

TDO

Shift-DR(Chip 2)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 449

「DIP概論」- IP Testing

Sample Test Mode (12)

0

1

MUX

S QA

Q1D

QB

Q1D

0

1

MUX

S

INOUT

SOUT

SIN

ShiftDR

ClockDR UpdateDR

Mode_Control

Sample

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 450

「DIP概論」- IP Testing

Sample Test Mode (22)

0

1

MUX

S QA

Q1D

QB

Q1D

0

1

MUX

S

INOUT

SOUT

SIN

ShiftDR

ClockDR UpdateDR

Mode_Control

Shift inShift out

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 451

「DIP概論」- IP Testing

Internal Test Mode (12)

Chip 1TDI

Shift-DR

TDO

Chip 1TDI

Update-DR

TDO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 452

「DIP概論」- IP Testing

Internal Test Mode (22)

Chip 1TDI

Capture-DR

TDO

Chip 1TDI

Shift-DR

TDO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 453

「DIP概論」- IP Testing

Test Bus (12)bull A board supporting 11491 contains a test bus

consisting of at least four signalsndash TDI Test Data Inputndash TDO Test Data Outputndash TMS Test Mode Selectorndash TCK Test Clockndash TRST(optional) Test Reset

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 454

「DIP概論」- IP Testing

Test Bus (22)

bull These signals are connected to a chip via its test-bus portsndash Ring configurationndash Star configuration

bull Each chip is considered to be a slave bus and the bus is assumed to be driven by a bus master

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 455

「DIP概論」- IP Testing

Ring Configuration

TDOTDI

TMSTCK

Busmaster

TDITCKTMSTDO

1

Application chips

TDITCKTMSTDO

2

TDITCKTMSTDO

N

TAPC

Registers

TAPC

Registers

TAPC

Registers

CKTMS

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 456

「DIP概論」- IP Testing

Star Configuration

TDOTDI

TMS1

TCK

Busmaster

TDITCKTMSTDO

1

Application chips

TDITCKTMSTDO

2

TDITCKTMSTDO

N

TMSN

TMS2

TAPC

Registers

TAPC

Registers

TAPC

Registers

CKTMS

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 457

「DIP概論」- IP Testing

Test-Bus Circuitry (12)

bull The (on-chip) test-bus circuitry allows access to and control of the test features of a chip consisting of four main elementsndash Test access port(TAP)ndash TAP controller(TAPC)ndash A scannable instruction register and associated

logicndash A group of scannable test data registers(TDRs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 458

「DIP概論」- IP Testing

Test-Bus Circuitry (22)Boundary-scan register

Bypass registers

M

U

X

Decoding logic MUX

TDOTMS

TCK

Test data registers(TDRs)

TDI

optional

optional

Device identification register

User test data register

TAPC

IR clocks and controls

TDR clocks and controls

SelectEnable

OutputBuffer

Instruction register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 459

「DIP概論」- IP Testing

TAPC

bull A synchronous finite state machine with 16statesndash Inputs TCK TMSndash Outputs ShiftDR ClockDR UpdateDR ShiftIR

ClockIR UpdateIR Select Enable TCK (optional) TRST

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 460

「DIP概論」- IP Testing

States of TAPC (12)bull Test-Logic-Reset normal modebull Run-TestIdle wait for a internal test such

as BISTbull Select-DR-Scan initial a scan-data

sequence for the selected registersbull Capture-DR load data in parallelbull Shift-DR load data in serialbull Exit1-DR finish phase-1 shifting of data

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 461

「DIP概論」- IP Testing

States of TAPC (22)bull Pause-DR temporarily halt the scan

operation to allow the bus master to reload datandash Necessary during the transmission of long test

sequencesbull Exit2-DR finish phase-2 shifting of databull Update-DR parallel load from associated

shift registers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 462

「DIP概論」- IP Testing

TMS = 1

TMS = 0

TMS = 0

TMS = 1

TMS = 0

TMS = 1

TMS = 1 TMS = 0

TMS = 0

TMS = 0

TMS = 1

State Diagram of TAPCTest-Logic-Reset

Run-testIdle

TMS = 1TMS = 0

TMS = 0

TMS = 1 TMS = 1 TMS = 1

Control of data registers Control of instruction register

Capture-DR

Shift-DR

Exit1-DR

Pause-DR

Exit2-DR

Update-DR

Select-DR-Scan Select-IR-Scan

Capture-IR

Shift-IR

Exit1IR

Pause-IR

Exit2-IR

Update-IR

TMS = 1

TMS = 0

TMS = 0

TMS = 1

TMS = 0

TMS = 1

TMS = 1 TMS = 0

TMS = 0

TMS = 0

TMS = 1

TMS = 0

TMS = 1

TMS = 0

TMS = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 463

「DIP概論」- IP Testing

Test Data Registers

bull Test Data Registers(TDRs)ndash Boundary-scan registersndash Bypass register(1-bit)ndash Device Identification registersndash Registers that are part of the application logic

itself

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 464

「DIP概論」- IP Testing

bull Instruction Register(IR)ndash Shift in a new instruction while holding the

current instruction fixed as its output portsndash Specify operations to be executedndash Select TDRs

bull Each instruction enables a single serial test-data register path between TDI and TDO

Instruction Register and Instructions (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 465

「DIP概論」- IP Testing

Instruction Register and Instructions (22)

bull Instructionsndash Mandatory

bull BYPASS to reduce the length of the scan pathbull EXTEST external test modebull SAMPLE sample test mode

ndash Recommendedbull INTEST internal test modebull RUNBIST for the Run-TestIdle State

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 466

「DIP概論」- IP Testing

BYPASS (12)

Bypass register

TAPC

TDOTMS TCKTDI

Application Logic

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 467

「DIP概論」- IP Testing

BYPASS (22)

Bypass register

TAPC

TDI

Application Logic

Bypass register

TAPC

TDO

Application Logic

1 2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 468

「DIP概論」- IP Testing

Summaries of Boundary-Scan Operations

bull Instructions are sent serially over TDI into the instruction register

bull Selected test circuitry is configured to respond to the current instruction

bull Test instruction is to be executedbull Test results are shifted out through TDO

new test data on TDI may be shifted in at the same time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 469

「DIP概論」- IP Testing

bull Now the IEEE 11491b standardbull Purposes (12)

ndash To provide a standard description language for boundary scan devices

ndash To simplify the design work for boundary scan ndashautomated synthesis is possible

ndash To promote consistency throughout ASIC designers device manufacturers foundries test developers and ATE manufacturers

Boundary Scan Description Language (BSDL) (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 470

「DIP概論」- IP Testing

Boundary Scan Description Language (BSDL) (22)

bull Purposes(22)ndash For easy incorporation into software tools for

test generation analysis and failure diagnosisndash To reduce possibility of human error when

employing boundary scan in a design

Chapter 10

Memory Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 472

「DIP概論」- IP Testing

Fault Models (13)bull Stuck-at fault (SAF)

ndash The logic value of a cell or a line is always 0 or 1

bull Transition fault (TF)ndash A cell or a line that fails to undergo a 0rarr1 or

a 1rarr0bull Coupling fault (CF)

ndash A write operation to one cell changes the contents of a second cell

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 473

「DIP概論」- IP Testing

Fault Models (23)

bull Neighborhood Pattern Sensitive Fault (NPSF)ndash The content of a cell or the ability to change its

content is influenced by the contents of some other cells in the memory

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 474

「DIP概論」- IP Testing

Fault Models (33)

bull Address Decoder Fault (AF)ndash Any fault that affects address decoder

bull With a certain address no cell will be accessedbull A certain cell is never accessedbull With a certain address multiple cells are accessed

simultaneouslybull A certain cell can be accessed by multiple addresses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 475

「DIP概論」- IP Testing

Memory Chip Test Algorithms

bull Traditional testsbull Tests for SAFs TFs and CFsbull Tests for NPSFs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 476

「DIP概論」- IP Testing

Traditional TestsAlgorithms Test length Order

n is the number of bits of the memory array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 477

「DIP概論」- IP Testing

Test Time as A Function of Memory Size

Cycle time 10 nsn is the number of bits of the memory array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 478

「DIP概論」- IP Testing

Notation of March Test Algorithms

bull uArr address 0 to address n-1bull dArr address n-1 to address 0bull either waybull w0 write 0bull w1 write 1bull r0 read a cell whose value should be 0bull r1 read a cell whose value should be 1

hArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 479

「DIP概論」- IP Testing

March Test Algorithm MATS

bull Modified Algorithmic Test Sequencendash (w0) (r0 w1) (r1)

Step 1 write 0 to all cellsStep 2 for each cell

read 0 and write 1Step 3 read 1 from all cells

hArr hArr hArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 480

「DIP概論」- IP Testing

Other March Test Algorithms (13)

bull MATS+ndash (w0) uArr(r0 w1) dArr(r1 w0)

bull Marching 10ndash (w0) uArr(r0 w1 r1) dArr(r1 w0 r0)

(w1) uArr(r1 w0 r0) dArr(r0 w1 r1)bull MATS++

ndash (w0) uArr(r0 w1) dArr(r1 w0 r0)

hArrhArr

hArrhArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 481

「DIP概論」- IP Testing

bull MARCH Xndash (w0) uArr(r0 w1) dArr(r1 w0) (r0)

bull MARCH C-ndash (w0) uArr(r0 w1) uArr(r1 w0)

dArr(r0 w1) dArr(r1 w0) (r0)bull MARCH A

ndash (w0) uArr(r0 w1 w0 w1) uArr(r1 w0 w1)dArr(r1 w0 w1 w0) dArr(r0 w1 w0)

Other March Test Algorithms (23)

hArr hArr

hArr

hArr

hArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 482

「DIP概論」- IP Testing

bull MARCH Yndash (w0) uArr(r0 w1 r1) dArr(r1 w0 r0) (r0)

bull MARCH Bndash (w0) uArr(r0 w1 r1 w0 r0 w1) uArr(r1 w0 w1)dArr(r1 w0 w1 w0) dArr(r0 w1 w0)

Other March Test Algorithms (33)

hArrhArrhArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 483

「DIP概論」- IP Testing

Tests for FaultsAlgorithms Test Length Fault CoverageMATS 4n Some AFs SAFsMATS+ 5n AFs SAFsMarching 10 14n AFs SAFs TFsMATS++ 6n AFs SAFs TFsMARCH X 6n AFs SAFs TFs some CFsMARCH C- 10n AFs SAFs TFs some CFsMARCH A 15n AFs SAFs TFs some CFsMARCH Y 8n AFs SAFs TFs some CFsMARCH B 17n AFs SAFs TFs some CFsn is the number of bits of the memory array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 484

「DIP概論」- IP Testing

NPSF

bull ANPSFndash Active Neighborhood Pattern Sensitive Fault

bull PNPSFndash Passive Neighborhood Pattern Sensitive Fault

bull SNPSFndash Static Neighborhood Pattern Sensitive Fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 485

「DIP概論」- IP Testing

ANPSF

bull n changes rArr b changesndash Eg n 0 rArr 1

b 1 rArr 0

n n nn b nn n n

b base celln neighborhood cells

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 486

「DIP概論」- IP Testing

PNPSF

bull Contain n patterns rArr b cannot changendash Eg n 00000000 rArr b 0 or 1

n n nn b nn n n

b base celln neighborhood cells

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 487

「DIP概論」- IP Testing

SNPSF

bull Contain n patterns rArr b is forced to a certain valuendash Eg n 11111111 rArr b 1

n n nn b nn n n

b base celln neighborhood cells

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 488

「DIP概論」- IP Testing

DC Parametric Testing

bull OpenShort testbull Power consumption testbull Leakage testbull Threshold testbull Output drive current testbull Output short current test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 489

「DIP概論」- IP Testing

AC Parametric Testingbull Output signal

ndash The rise and fall timesbull Relationship between input signals

ndash The setup and hold timesbull Relationship between input and output

signalsndash The delay and access times

bull Successive relationship between input and output signalsndash The speed test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 490

「DIP概論」- IP Testing

Dynamic Faults

bull Recovery faultsndash Sense amplifier recoveryndash Write recovery

bull Retention faultsndash Sleeping sicknessndash Refresh line stuck-at ndash Static data loss

bull Bit-line precharge voltage imbalance faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 491

「DIP概論」- IP Testing

BIST Pros And Consbull Advantages

ndash Minimal use of testersndash Can be used for embedded RAMs

bull Disadvantagesndash Silicon area overheadndash Speed slow access timendash Extra pins or multiplexing pinsndash Testability of the test hardware itselfndash A high fault coverage is a challenge

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 492

「DIP概論」- IP Testing

Architecture of a DRAM Chip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 493

「DIP概論」- IP Testing

Typical Memory BIST Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 494

「DIP概論」- IP Testing

Multiple Memory BIST Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 495

「DIP概論」- IP Testing

Serial Testing of Embedded RAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 496

「DIP概論」- IP Testing

Built-In Self-Repair

bull BIST can only identify faulty chipbull Laser cut may be infeasible in some cases

eg field testingbull Two types

ndash Use fault-array comparatorbull Repair by cellbull Repair by column (or row)

ndash Using switch array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 497

「DIP概論」- IP Testing

BIST Using Switch Array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 498

「DIP概論」- IP Testing

BIST Using Fault-Address Comparison

Chapter 11

SOC Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 500

「DIP概論」- IP Testing

System-on-A-Chip (SOC)bull Integrate all the function blocks of a

complete system into a single chip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 501

「DIP概論」- IP Testing

Challenges vs Solutions

bull Challengesndash Capacityndash Design productivity gapndash Time-to-market (TTM)ndash helliphellip

bull Solutionsndash Core-based designndash Platform-based designndash helliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 502

「DIP概論」- IP Testing

Core-Based SOC Design

bull Coresndash Pre-defined pre-verified complex function

blocks also termed Virtual Components (VCs) or Intellectual Properties (IPs)

bull Core-based SOC designndash Reuse existed cores to implement a complete

system in a single chiprArrReduce TTM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 503

「DIP概論」- IP Testing

SOC Components

bull Simple coresbull Complex coresbull User-define logic (UDL) bull Interconnect logic and wirerArr SOC testing should cover all the

components

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 504

「DIP概論」- IP Testing

SOC Design Flow

bull SOC components -- cores are only manufactured and tested in the final systemndash It is quite difficult to test the

individual coresbull Cores usually are protected

by laws

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 505

「DIP概論」- IP Testing

Core-Based Test Challenges

bull Distributed design and test developmentbull Test access to embedded coresbull SOC-level test optimization

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 506

「DIP概論」- IP Testing

Distributed Design and Test Development

bull Core providersndash Core-internal design DFT

bull Test pattern generation for coresbull Deliver cores with the complete tests

bull Core usersndash Chip-level DFT

bull Test pattern generation for chipsndash Reuse of core-level test patternsndash Additional test patterns for non-core circuitry

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 507

「DIP概論」- IP Testing

Test Access to Embedded Cores (12)

bull Many cores are (deeply) embedded rArr No direct (functional) access to core terminalsndash Other cores between SOC pins and core

terminalsndash Often core terminals gt SOC pins

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 508

「DIP概論」- IP Testing

Test Access to Embedded Cores (22)

bull To test cores as stand-alone unitsndash Provide core test access paths from SOC pins to

core terminalsndash Isolate cores such that external influence do not

hamper the core testndash Provide test access means for outward-facing

tests

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 509

「DIP概論」- IP Testing

SOC-Level Test Optimizationbull How are embedded cores tested

ndash Stand-alone vs merged with other modulesbull Optimization of test access infrastructure

ndash Test quality and bandwidth vs area and costbull Optimization of test execution and

schedulingndash Trade-offs between test vector count and

application time power dissipation and area

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 510

「DIP概論」- IP Testing

Solutions to Challenges

bull Distributed design and test developmentndash Standardized set of deliverables

bull Test access to embedded coresndash Standardized on-chip test access hardwarendash Tools for test translation

bull SOC-level test optimizationndash Tools to evaluate trade-offs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 511

「DIP概論」- IP Testing

Test Access Architecture

bull Test pattern sourcesinkndash Generates test patternscompares test responses

bull Test access mechanism (TAM)ndash Transports test patternsresponses tofrom CUT

bull Core test wrapperndash Provides switching of core terminals to functional IO

or TAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 512

「DIP概論」- IP Testing

Off-Chip SourceSinkbull pins determines bandwidthbull More TAM area

ndash Requires expensive ATE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 513

「DIP概論」- IP Testing

On-Chip SourceSinkbull Close to core-under-test (CUT)bull Less TAM area

ndash Requires lightweight ATEbull BIST IP area

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 514

「DIP概論」- IP Testing

TAM

bull Tasksndash Transport test patterns from source to CUTndash Transport responses from CUT to sink

bull Design parametersndash Width transport capacityndash Length transport distance

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 515

「DIP概論」- IP Testing

TAM Widthbull Transport capacity

ndash Minimum meet core testrsquos data ratendash Maximum bandwidth of sourcesink

bull Trade-offsndash Test qualityndash Test application time ndash Silicon area cost

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 516

「DIP概論」- IP Testing

TAM Lengthbull Physical distance

ndash On-chip sourcesink may shorten TAM lengthndash Sharing may shorten TAM length

bull Share TAM with functional hardwarebull Go through vs pass around other modulesbull Share TAMs between multiple cores

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 517

「DIP概論」- IP Testing

TAM Implementationsbull Multiplexed accessbull Reused system bus (AMBA)bull Transparency (Macro Test SOCET)bull Boundary Scan (JTAG partial-scan variants)bull Scalable TAMs (Test Bus Test Rail)

On one SOC different TAMs may co-exist

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 518

「DIP概論」- IP Testing

Multiplexed Access (13)

bull Connect wires to all core terminals and multiplex onto existing IC pins

bull Common practice for embedded memories

bull Also used for block-based ASICs

MUX

control

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 519

「DIP概論」- IP Testing

Benefits of Multiplexed Access

bull Each embedded core can be tested as stand-alone device

bull Translation from core-level test into IC-level test is simple

bull Simple silicon debug and diagnosis

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 520

「DIP概論」- IP Testing

Drawbacks of Multiplexed Accessbull Not scalable

ndash terminals of one core gt IC pinsbull Parallelserial conversion rArr at-speed testing is

difficult

ndash Too many embedded cores bull High area costs for connecting and multiplexing all

coresbull Control circuitry for the multiplexer grows more and

more complex

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 521

「DIP概論」- IP Testing

Analysis of Multiplexed Access (13)bull Let K be the number of SOC pins available

for scan test and M be the number of control pinsrArrThe number of scan chains as TAM N =

bull For core iisinC where C is the core setndash pi the number of test patternsndash fi the number of scannable flip-flops

bull In a balanced way each chain has flip-flops

ndash ti the test time

( )⎥⎥

⎢⎢

⎢ minus2MK

⎥⎥⎥

⎢⎢⎢

Nf i

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 522

「DIP概論」- IP Testing

bull The test time ti of core i

can be reduced as

Analysis of Multiplexed Access (23)

pNfp1pN

f it ii

iiibull⎥⎥⎥

⎢⎢⎢

⎡++bull

⎥⎥⎥

⎢⎢⎢

⎡= bull

p1Nf1pt i

iii bull+bull+=

⎥⎥⎥

⎢⎢⎢

⎡⎟⎠⎞⎜

⎝⎛

Scan-In Normal Scan-Out

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 523

「DIP概論」- IP Testing

bull The total test time T of the SOC

can be reduced as

Analysis of Multiplexed Access (33)

( )sumisin

⎟⎠

⎞⎜⎝

⎛+⎥⎥⎤

⎢⎢⎡bull+=

Cip

Nf1pT i

ii

⎥⎥

⎤⎢⎢

isin+sum

isin⎟⎠

⎞⎜⎝

⎛+⎥⎥⎤

⎢⎢⎡bull=

Nf

CiCip

NfpT i

ii

i max

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 524

「DIP概論」- IP Testing

Reused System Busbull Many SOCs have an on-chip system bus

which connects to most cores especially the platform-based system

bull Reuse of the system bus as TAM is cheap wrt silicon area

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 525

「DIP概論」- IP Testing

An Example of Reused System Busbull ARMrsquos Advanced Microcontroller Bus

Architecture (AMBA)ndash The 32-bit system bus is used as TAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 526

「DIP概論」- IP Testing

Analysis of Reused System Busbull Benefits

ndash Low area cost for TAMndash Translation form core-level test into IC-level

test is independent of SOC configurationbull Drawbacks

ndash Not scalablebull Fixed bus width does not allow trade-offs

(area quality test time)ndash Functional test approach of ARM core

dominates overall IC test approachbull Difficult to integrate scan design or BIST

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 527

「DIP概論」- IP Testing

Transparencybull Transparent path

ndash Path from input to output which propagates data without information loss

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 528

「DIP概論」- IP Testing

Examples of Transparency

bull Scan chains bull Arithmetic functions add + 0 mult 1bull Embedded memories SRAM DRAM

ROMbull Basic gates AND OR INV MUX

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 529

「DIP概論」- IP Testing

Analysis of Transparency (12)

bull Benefitsndash Low area cost for TAM in case of reuse of

existing hardwarebull Drawbacks (12)

ndash Corersquos test access depends on other modulesndash Translation from core-level test into IC-level

test might be complicated eg latencies of cores

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 530

「DIP概論」- IP Testing

Analysis of Transparency (22)bull Drawbacks (22)

ndash During core design core environments are unknown

bull Insufficient transparency ndash core user has to add TAMs

bull Too much transparency ndash area costbull Multiple versions ndash expensive for core provider and

core user

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 531

「DIP概論」- IP Testing

Macro Test Philips Research

bull Generic approach for testing embedded modules

bull Originally focused on defect-oriented testing

bull Approach and tools proved useful for core test

bull May take advantage of transparent paths through modules

defect-oriented testing A type of testing where the nature of the test ismeant to directly exercise detect and isolate defects and defect effects rather than abstract fault models

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 532

「DIP概論」- IP Testing

SOCET PrincetonNEC

bull Core provider is responsible for testable and transparent cores

bull Design-for-transparency techniquebull Multiple versions of cores with different

area and transparency latency ndash Selection and trade-offs at SOC level

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 533

「DIP概論」- IP Testing

Boundary Scan (12)

bull Boundary Scan Test solves board-level interconnect testndash IEEE 11491 standard (lsquoJTAGrsquo)ndash ICs are components in SOB

bull Cores are components in SOC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 534

「DIP概論」- IP Testing

Boundary Scan (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 535

「DIP概論」- IP Testing

Examples of Boundary Scanbull Various Texas Instruments papers have

suggested the use of Boundary Scan as TAM

bull Partial Boundary Scan Ringndash No scan flip-flops on those inputs for which

stimuli can be justified from preceding logicndash ATPG techniques to find this out

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 536

「DIP概論」- IP Testing

Benefits of Boundary Scan

bull Existing well-known and well-documented standard

bull Reuse of IC-level BIST implementations augmented with private instructions for test debug emulation etc

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 537

「DIP概論」- IP Testing

Drawbacks of Boundary Scan

bull Fixed 1-bit TAM width does not allow trade-offs between silicon area test quality and test time

bull Intertwined test control and test data due to lack of pins

bull Multiple TAP controllers on one IC is against IEEE 11491 standard

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 538

「DIP概論」- IP Testing

Dedicated Scalable TAMs (12)bull Dedicated TAM

ndash Not through other modules or over existing buses bull Scalable TAM

ndash TAM width is variable to be chosen by core provideruser

bull Core user determines IC-level architecturendash How many TAMs of which widthndash Which configuration (bus rail etc)ndash Which core connects to which TAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 539

「DIP概論」- IP Testing

Dedicated Scalable TAMs (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 540

「DIP概論」- IP Testing

Example I of Dedicated Scalable TAMs

Test Bus

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 541

「DIP概論」- IP Testing

Example II of Dedicated Scalable TAMs

TestRail

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 542

「DIP概論」- IP Testing

Analysis of Dedicated Scalable TAMs (12)

bull Benefitsndash Guaranteed test access

bull Accessibility of a core does not depend on neighboring circuitry

ndash Fast and easy test expansion bull No difficult path-finding through complicated

circuitry ndash Enable ldquoplug-n-playrdquo connection at IC levelndash Allow the trade-offs between area quality and

test time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 543

「DIP概論」- IP Testing

Analysis of Dedicated Scalable TAMs (22)bull Costs

ndash Design timebull Can be minimized through standardization and

automation

ndash Silicon area ndash sharing with existing hardware is more difficult

bull But transistors are not as expensive as they used to be

ndash Performance impact bull Can be avoided if taken into account upfront

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 544

「DIP概論」- IP Testing

Daisychain Architecturecontrol

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 545

「DIP概論」- IP Testing

Analysis of Daisychain Architecture (12)

bull Reassign the indices of the cores according to a non-decreasing number of patternsndash We can scan in a pattern in all cores p1 times

pNf

1p11

C

1j

j +⎥⎥

⎤⎢⎢

⎡+ sum

=⎟⎠⎞⎜

⎝⎛

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 546

「DIP概論」- IP Testing

bull Afterwards we put core 1 in by-pass mode and test next p2 ndash p1 patterns for the other cores

bull The total test time T of the SOC is

Analysis of Daisychain Architecture (22)

⎟⎠⎞⎜

⎝⎛

=⎟⎠⎞⎜

⎝⎛ minus+

⎟⎟⎠

⎞⎜⎜⎝

⎛sum ⎥

⎤⎢⎢

⎡+minus pp

Nf

1pp 1212

C

2j

j

( ) 1ppNf

1ipp 0C

C

1i

C

ij

j1ii minus=+⎟

⎟⎠

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛sum ⎥

⎤⎢⎢

⎡+minusminussum

= =minus

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 547

「DIP概論」- IP Testing

Distribution ArchitectureScan Enables

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 548

「DIP概論」- IP Testing

Si scan clocksli length of scan chains

Reduction of Idle TimeNormal

A single scan enable

Multiple scan enables

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 549

「DIP概論」- IP Testing

Analysis of Distribution Architecture

bull We define ni to be the number of scan chains of core i

bull The total test time T of the SOC is

pnf1pt i

iii

i++=

⎥⎥⎥

⎢⎢⎢

⎡⎟⎠⎞⎜

⎝⎛

( ) ⎟⎟⎠

⎞⎜⎜⎝

⎛+⎥⎥

⎤⎢⎢

⎡+

isinp

nf1p i

i

iiCi

max

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 550

「DIP概論」- IP Testing

The Scan Chain Distribution Problem (SCDP)bull Find a distribution of a given number of

scan chains over the cores such that the total test time is minimized

FF

FF

core

FF

FF

core

A single scan chain Two scan chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 551

「DIP概論」- IP Testing

The SCDP Algorithm

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 552

「DIP概論」- IP Testing

Reduction of Scan Controlsbull Distribute as fewer scan controls as possible

over the cores such that minimal time resulted form SCDP is still maintainedndash Constructing an additional scan chain needs to

remove two scan-control signalsndash Some cores are controlled by the same scan-

control signalbull An efficient algorithm has been presented

by Aerts et al ndash ITCrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 553

「DIP概論」- IP Testing

Core Test Wrapperbull Interface between the CUT and the rest of

chipndash Provide switching capability between modes

bull Normal functional operationbull InTest inward-facing core test modebull ExTest outward-facing interconnect test modebull Bypass

ndash Width adaptationbull Serial-to-parallel conversion at core inputsbull Parallel-to-serial conversion at core outputs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 554

「DIP概論」- IP Testing

Functional-Only Connections

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 555

「DIP概論」- IP Testing

Wrapper + TAM

Daisychain

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 556

「DIP概論」- IP Testing

Wrapper Modes (14)

Normal Operation

Normal

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 557

「DIP概論」- IP Testing

Wrapper Modes (24)

InTest

InTest

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 558

「DIP概論」- IP Testing

Wrapper Modes (34)

ExTest

ExTest

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 559

「DIP概論」- IP Testing

Wrapper Modes (44)

Bypass

Bypass

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 560

「DIP概論」- IP Testing

Reasons for Modular Testingbull Test Quality

ndash Different circuit structures such as random logic memory hellip require different test methods

bull Blackboxed Embedded Corendash Implementation is not known forced to use the tests

developed by core provider

bull Divide-and-conquerndash Very large SOCs are intractable for ATPG or fault

simulation tools

bull Test Reusendash Module will be reused in other designs

Chapter 12

Introduction to IEEE P1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 562

「DIP概論」- IP Testing

IEEE P1500 lsquoSECTrsquo (12)bull Facilitate test interoperability of embedded

cores to improve efficiency of core creators integrators and manufacturersndash Standardize interface between core provider and

core userbull Core test information modelbull Test access to embedded cores

ndash Do not standardizebull Corersquos internal test methods and DFTbull Chip-level test integration and optimization

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 563

「DIP概論」- IP Testing

IEEE P1500 lsquoSECTrsquo (22)bull Membership of IEEE P1500 is on an individual

basis information and meetings are open to everyonendash httpgrouperieeeorggroups1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 564

「DIP概論」- IP Testing

IEEE P1500 Main Componentsbull Standardized scalable core test wrapperbull Core test information model

ndash Described in standardized Core Test Language (CTL)bull Two compliance levels

ndash IEEE 1500 Unwrappedndash IEEE 1500 Wrapped

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 565

「DIP概論」- IP Testing

IEEE P1500 for Mergeable Cores (13)bull Mergeable cores

ndash Cores that can be merged with surrounding circuitry to form one unit for testing

ndash Mergeable cores do not need to be mergedbull Eg Digital logic at RT- or gate-level

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 566

「DIP概論」- IP Testing

IEEE P1500 for Mergeable Cores (23)

MergeableEg digital logicAt RTgate-level

Non-MergeableEg layoutencrypted memory

Before integration

MergedCoremodule tested as part of its integration environment

Non-MergedCoremodule tested as aseparate entity with test patternsdeveloped for the coremoduleas a stand-alone unit

After integration

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 567

「DIP概論」- IP Testing

bull Challengesndash Most DFT insertion and test pattern generation take

place at gate-levelndash Core test cannot be re-used once core is mergedndash What to standardize for RTL- and other merged

cores to facilitate test interoperability

IEEE P1500 for Mergeable Cores (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 568

「DIP概論」- IP Testing

Standardized Wrapperbull IEEE P1500 is a core-level standard

ndash Implementation of SourceSink depends on test methods

ndash Implementation of TAMs depends on SOCndash Note IEEE P1500 only standardizes the

wrapper

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 569

「DIP概論」- IP Testing

Wrapper Functionsbull Transparent functional modebull Test access

ndash Inward-facing for core-internal tests (InTest)ndash Outward-facing for core-external tests (ExTest)

bull Switchable connection between core and TAM(s)ndash One lsquosingle-bit TAM Plugrsquo is mandatoryndash Zero or more lsquoMulti-bit TAM Plugsrsquo are optional

bull Optional lsquowidth adaptationrsquo for TAM plugs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 570

「DIP概論」- IP Testing

The Wrapper Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 571

「DIP概論」- IP Testing

Wrapper Elements (12)bull Wrapper Instruction Register (WIR)

ndash Controls operation of wrapperndash Mandatory optional and user-defined instructions ndash Implementation requires shiftupdate registerndash Controlled directly from WIPndash Instructions are loaded via WSI-WSO

bull Wrapper Bypass Register (WBY)ndash Mandatory bypass for serial TAM

(between WSI-WSO)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 572

「DIP概論」- IP Testing

Wrapper Elements (22)bull Wrapper Boundary Register (WBR)

ndash Controllabilityobservability on core terminalsndash Built from library of wrapper cellsndash In test mode configured to one or multiple test

access chainsndash Test data are loaded from WSI-WSO or

WPI-WPO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 573

「DIP概論」- IP Testing

Wrapper Interface (12)bull Functional inputsoutputs

ndash Number names and functions match the corersquos functional inputsoutputs

bull Wrapper Interface Port (WIP)ndash 6-bit control port for WIR and Wrapper

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 574

「DIP概論」- IP Testing

Wrapper Interface (22)bull Serial interface WSI-WSO

ndash Load instructions into WIRndash Load test data into selected wrapper registers

(WBR WBY)bull Parallel interface WPI-WPO

ndash Load test data into WBRndash User-defined width

bull Zero or more parallel ports (typical one)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 575

「DIP概論」- IP Testing

Wrapper Interface Register (WIR)bull Serial shiftupdate registerbull Scalable length

ndash Mandatory bits for mandatory wrapper modesndash Optional bits for optional wrapper modesndash User-defined bits

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 576

「DIP概論」- IP Testing

Wrapper Interface Port (WIP)bull Functions

ndash Control the operation of the WIRndash Control together with the WIR instruction the operation of the

wrapperbull Signals

WRCK lsquoWrapper Clockrsquo dedicated P1500 clock signal for WIR WBY optionally WBR

WRSTN lsquoWrapper Resetrsquo dedicated P1500 reset (asynchronous active-low) signal for WIR puts wrapper in Normal mode

SelectWIR (De-)selects WIR as register between WSI-WSO

CaptureWR Enables capture operation for selected register

ShiftWR Enables shift operation for selected register

UpdateWR Enables update operation for selected register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 577

「DIP概論」- IP Testing

Basic Wrapper Cellbull Modes

ndash Normal mode normal = 1ndash Shift mode shift = 1

bull Controllabilityndash normal = 0 =gt value in SE is driven onto cfo

bull Observabilityndash shift = 0 =gt value at cfo is captured into SE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 578

「DIP概論」- IP Testing

Wrapper Cell Optionsbull SEs can be shared with functional SEsbull Capture in Update SE instead of Shift SEbull Update SE that prevents ripple-through while

shiftingbull Multiple shift SEs for high-speed stimuli bull Mode in which lsquosafersquo value is presented at cfo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 579

「DIP概論」- IP Testing

Wrapper Cell with Only ShiftCapture SE

Dedicated SE Shared SE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 580

「DIP概論」- IP Testing

Wrapper Cell with ShiftCapture + Update SEs

Shared Updated SE

Dedicated SEs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 581

「DIP概論」- IP Testing

Scalable Wrapper Cell

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 582

「DIP概論」- IP Testing

Wrapper Instruction Set

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 583

「DIP概論」- IP Testing

Serial Interface WSI-WSO (12)bull Mandatory serial interface is used for two

purposesndash Wrapper control load instructions into the WIRndash Low-bandwidth test data access to WBR (serial TAM)

bull P1500 envisions concatenated connectionndash Daisychain is a flat interconnection methodndash Supports hierarchical design

bull Consistent interface at every level of hierarchy

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 584

「DIP概論」- IP Testing

Serial Interface WSI-WSO (22)bull Concatenated serial mechanism easy to

connect to IEEE 11491 (JTAG) TAP and TAP Controllerndash Private instructions connect daisychained serial

mechanisms between TDI and TDOndash Cores can be tested and debugged even while

SOC is soldered onto PCB

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 585

「DIP概論」- IP Testing

Parallel Interface(s) WIP-WPO (12)bull Optional parallel interface(s) are used for test

data access to WBR with user-defined scalable bandwidth

bull Optionsndash Zero Low-bandwidth serial interface is only TAMndash One SOC manufacturing test takes place via Parallel

TAM bull Serial TAM is used for loading WIR instructions and

during board-level silicon debugndash Multiple Different core tests need different

bandwidths

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 586

「DIP概論」- IP Testing

bull P1500 supports many SOC-level configurationsndash Multiplexingndash Daisychainndash Distribution

Parallel Interface(s) WIP-WPO (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 587

「DIP概論」- IP Testing

Typical Usage of P1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 588

「DIP概論」- IP Testing

P1500 Wrapper Parameters (12)bull Scalability in the follow parameters

ndash Bandwidthbull Number of WPI-WPO pairs (zero or more)bull Width of the WPI-WPO pairs (if present)

ndash Instructionsbull Optional instructionsbull User-defined instructionsbull OpCodes of instructions

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 589

「DIP概論」- IP Testing

bull WBR functionalityndash Shared or dedicated wrapper cellsndash Shift-only or Shift+Update wrapper cellsndash Storage capacity (one or more bits)ndash Location of capture (in Shift or Update register)ndash Ripple protection (with Update register or gate)ndash lsquoSafe statersquo output values

P1500 Wrapper Parameters (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 590

「DIP概論」- IP Testing

Notes

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 591

「DIP概論」- IP Testing

P1500rsquos Information Model (12)

bull The information model should allow the SOC integrator or automation tools to successfully create a complete test for the SOC

bull The information model is captured in Core Test Language (CTL) a language for expressing test-related information for reusable cores

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 592

「DIP概論」- IP Testing

bull CTL is meant to co-exist and complement information expressed as a netlist

bull The CTL description of a P1500-compliant core allows to ndash Construct a wrapper and an appropriate TAMndash Configure the code to be testedndash Configure the core for its surroundings to be

testedndash Transform core-level into SOC-level test

patterns

P1500rsquos Information Model (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 593

「DIP概論」- IP Testing

IEEE 1450 (STIL)bull IEEE 1450 - Standard Test Interface Language

(STIL) for digital test vector datandash httpgrouperieeeorggroups1450

bull STIL is meant as a common interchange format between EDA test generation and ATE test application ndash STIL is capable of describing digital test vector datandash Focus on large volume of digital data

bull Developed by EDA vendors ATE vendors and IC manufacturers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 594

「DIP概論」- IP Testing

IEEE P14506 (CTL) (12)

bull IEEE P14506 - Core Test Language bull Initially created by and developed within

IEEE P1500 to describe its information modelndash CTL syntax and semantics in IEEE P14506ndash Information model and CTL usage in IEEE

P1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 595

「DIP概論」- IP Testing

IEEE P14506 (CTL) (22)bull CTL uses STIL-like syntax

ndash Test patterns and waveforms are described in STIL

ndash CTL mandates separation of test patterns into test protocol and test data for easy expansion

ndash CTL-specific constructs describe corersquos test modes

ndash CTL-specific constructs describe corersquos integration

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 596

「DIP概論」- IP Testing

STIL - CTL Structure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 597

「DIP概論」- IP Testing

CTL Key Words

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 598

「DIP概論」- IP Testing

Usage of MacroDefs (12)

bull STIL contains the construct MacroDefsndash This can be used for separating test protocol

and data in CTL this separation is mandatory

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 599

「DIP概論」- IP Testing

Usage of MacroDefs (22)bull Typical usage

ndash Voluminous test data is coded in separate CTL file

ndash CTL for lsquo1500-Unwrappedrsquo core references test patterns with a MacroDef applicable for unwrapped core

ndash CTL for lsquo1500-Unwrappedrsquo core references same test patterns but has an updated MacroDefs

ndash SOC-level test again references same test patterns but with yet another MacroDefs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 600

「DIP概論」- IP Testing

Motivation for Dual Compliance Levels (12)

bull Testing an embedded core or module only works if properly isolated from the rest of the SOC and hence requires a wrapper

bull The P1500 wrapper is scalable in many aspects to allow optimization towardsndash Corendash SOC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 601

「DIP概論」- IP Testing

bull In order to provide additional flexibility and support multiple use scenarios P1500 standardizes two separate compliance levels

Motivation for Dual Compliance Levels (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 602

「DIP概論」- IP Testing

Two Compliance Levels (12)

bull IEEE 1500 Unwrappedndash Core does not have a complete IEEE 1500

wrapper functionndash Core has a complete IEEE Information Model

which accurately describes the corersquos tests as well as provide all information on the basis of which the core could be made lsquoIEEE 1500 Wrappedrsquo (either manually or automatically by tools)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 603

「DIP概論」- IP Testing

Two Compliance Levels (22)

bull IEEE 1500 Wrappedndash Core incorporates complete IEEE 1500 wrapper

function ndash Core has a complete Information Model which

accurately describes the corersquos tests as well as the wrapper and how to operate it

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 604

「DIP概論」- IP Testing

P1500 Use Scenario 1 (13)

bull Core provider delivers lsquoIEEE 1500 Unwrappedrsquo corendash The Information Model that comes with it

contains all relevant core test knowledge including core-related data for generation of the IEEE 1500 wrapper

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 605

「DIP概論」- IP Testing

P1500 Use Scenario 1 (23)

bull Core user makes core lsquoIEEE 1500 Wrappedrsquondash Adding IEEE 1500 Wrapperndash Upgrading the Information Model from bare

core terminals to wrapper terminals

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 606

「DIP概論」- IP Testing

P1500 Use Scenario 1 (33)

bull Can take data specific to particular system-chip into account while instantiating the wrapper (eg TAMs width of TAMs rsquosafersquo state)

bull lsquoIEEE 1500 Unwrappedrsquo guarantees fast and reliable route to lsquoIEEE 1500 Wrappedrsquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 607

「DIP概論」- IP Testing

P1500 Use Scenario 2bull Core provider delivers lsquoIEEE 1500

Wrappedrsquo core of which the wrapper is built-to-order on customer specification

bull Similar to Scenario 1 except conversion done by core provider

bull Requires cooperative information exchangebull Core provider might have expertstools for

conversion

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 608

「DIP概論」- IP Testing

P1500 Use Scenario 3 (12)

bull Core provider offers a catalogue of off-the-shelf lsquoIEEE 1500 Wrappedrsquo cores with fixed wrapper parameters

bull Core user selects the core which best matches the system chip needs

bull Allows to integrate wrapper with core in order to minimize costs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 609

「DIP概論」- IP Testing

P1500 Use Scenario 3 (22)

bull Scenario might be popular especially for hard cores

bull Large cataloguendash More work for core providerbut more choice

for core user

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 610

「DIP概論」- IP Testing

Usage of Dual Compliance Levels (12)

bull Full benefits of test interoperability are only obtained from a fully compliant lsquo1500-wrappedrsquo Core

bull Two compliance levels provide two optionsndash Make a core lsquo1500-wrappedrsquo compliant directly ndash Make an intermediate stop at lsquo1500-

Unwrappedrsquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 611

「DIP概論」- IP Testing

bull For this purpose lsquo1500-Unwrappedrsquo will also be fully standardized

Usage of Dual Compliance Levels (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 612

「DIP概論」- IP Testing

SOC Test Creation

bull Distinguish two types of circuitry within SOC ndash IEEE 1500 Wrapped Coresndash lsquoOther Circuitryrsquo

bull Unwrapped coresbull Interconnect logic and wiring

bull IEEE P1500 facilitates SOC test for both types

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 613

「DIP概論」- IP Testing

Test Creation for Compliant Cores (13)

bull Test for IEEE 1500 Wrapped core is delivered with the core in its Information Modelndash No need for core user to know the

implementation details of the core to develop a test

ndash Test re-use

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 614

「DIP概論」- IP Testing

bull Test access to core is guaranteed (provided proper TAM connections are made)

Test Creation for Compliant Cores (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 615

「DIP概論」- IP Testing

bull Translation of test from wrapper boundary to SOC pinsndash In case of one-to-one relationship between core

terminals and SOC pins simple renaming suffices

ndash Sharing TAMs with multiple cores bypasses bidirectional TAMs complicate this process

Test Creation for Compliant Cores (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 616

「DIP概論」- IP Testing

Test Creation for lsquoOther Circuitryrsquo (12)

bull Test re-use not possiblebull Typically ATPG at SOC level is required

to generate test patterns for this circuitry bull IEEE 1500 Wrapped cores are tested by

their own patterns and do not need to be included in this

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 617

「DIP概論」- IP Testing

ndash Wrapped cores should be black-boxedbull For some cores not netlist available at allbull Even if netlist is available blackboxing will reduce

the compute time for ATPG for the other circuitry substantially

ndash The P1500 Information Model provides necessary information about controllability observability features in wrapper to APTG tool

Test Creation for lsquoOther Circuitryrsquo (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 618

「DIP概論」- IP Testing

Overview of Example

Given a very small scan-testablecorebull lsquo1500-Unwrappedrsquo compliant core

ndash P1500 Information Modelbull lsquo1500-Wrappedrsquo compliant core

ndash P1500 Wrapper ndash P1500 Information Model

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 619

「DIP概論」- IP Testing

Bare Core

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 620

「DIP概論」- IP Testing

STIL Test Patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 621

「DIP概論」- IP Testing

Wrapped Core

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 622

「DIP概論」- IP Testing

Modes Instruction and Opcodes

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 623

「DIP概論」- IP Testing

Normal + Serial Bypass Modes

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 624

「DIP概論」- IP Testing

Serial in Test Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 625

「DIP概論」- IP Testing

Serial ExTest Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 626

「DIP概論」- IP Testing

Parallel InTest Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 627

「DIP概論」- IP Testing

Parallel ExTest Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 628

「DIP概論」- IP Testing

Wrapper Design (12)

bull Automated wrapper designndash Library of wrapper cellsndash Wrapper configuration depends on core

terminal types ndash Optimization for test time

bull No industry-wide standard (yet)ndash Ad-hoc wrappers may not operate in concerto

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 629

「DIP概論」- IP Testing

Wrapper Design (22)

bull Optimal wrapper design algorithm for test time minimization

Ref [Marinissen et al ndash ITCrsquo00]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 630

「DIP概論」- IP Testing

Wrapper Chain Design (12)

bull Wrapper itemsndash Wrapper input cellsndash Wrapper output cellsndash Core-internal scan chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 631

「DIP概論」- IP Testing

Wrapper Chain Design (22)

bull Wrapper chain designndash Designing the test access chains within the

wrapper from wrapperrsquos TAM input plug through all wrapper items to TAM output plug

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 632

「DIP概論」- IP Testing

Wrapper Chain Design amp Test Time (12)

bull lsquoTest Timersquo for large ICs is important cost factor ndash Test application time

=gt more time on ATE

ndash Size of test vector set =gt more expansive ATE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 633

「DIP概論」- IP Testing

bull Wrapper chain design has large impact on test time ndash Partitioning which wrapper item in which

wrapper chainndash Ordering position of wrapper item in a

wrapper chainndash Bypasses shorten wrapper chain where

possible

3

2

1

Wrapper Chain Design amp Test Time (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 634

「DIP概論」- IP Testing

Ordering of Wrapper Items

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 635

「DIP概論」- IP Testing

Bypasses (12)

bull Scan chain bypassndash Shortens wrapper chain length through during

ExTestbull Wrapper bypass

ndash Shortens wrapper chain length while testing other core up- or downstream in same TAM

ndash Contains register for plug-n-play connection of (possible) long wires

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 636

「DIP概論」- IP Testing

Bypasses (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 637

「DIP概論」- IP Testing

Partitioning of Wrapper Items (12)

bull Partition ndash x wrapper input cells all of scan length 1ndash y wrapper output cells all of scan length 1ndash z core-internal scan chains which scan length Ii

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 638

「DIP概論」- IP Testing

bull over ndash m wrapper chains

(typically m lt z lt x+y+z)such that ndash scan-in length over all wrapper chains in

minimizedndash scan-out length over all wrapper chains in

minimized

Partitioning of Wrapper Items (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 639

「DIP概論」- IP Testing

Three-Step Solution Approach (13)

1 Find partition PS of z core-internal scan chains over m wrapper chains such that maximum sum of scan lengths in any wrapper chain is minimized

(Hard)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 640

「DIP概論」- IP Testing

2 Assign x wrapper input cells to wrapper chains on top of PS such that maximum scan-in time of any wrapper chain is minimized

(Easy)

Three-Step Solution Approach (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 641

「DIP概論」- IP Testing

3 Assign y wrapper output cells to wrapper chains on top of PS such that maximum scan-out time of any wrapper chain is minimized

(Easy)

Three-Step Solution Approach (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 642

「DIP概論」- IP Testing

Wrapper Scan Chain Partitioning (12)

[Problem Definition]Givenndash Set of core-internal scan chains

S = S1 S2 hellip SZ with length L(Si)ndash m identical wrapper chains (typically mlt z)

Find ndash Partition P =P1 P2 hellip Pm of S such that

is minimizedsum isinlele P SLi

Smi)(max

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 643

「DIP概論」- IP Testing

bull Problem is equivalent to well-known NP-hard problems of Multi-Processor Scheduling and Bin Design

Wrapper Scan Chain Partitioning (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 644

「DIP概論」- IP Testing

WSCP Algorithms (13)

Polynomial-time algorithms for near-optimal resultsbull LPT(Last Processing Time)

ndash Sort items from large to smallL(S1) ge L(S2) ge hellip ge L(Sz)

ndash Assign scan chains to shortest wrapper chain so far

Ref [Grahamrsquo69]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 645

「DIP概論」- IP Testing

WSCP Algorithms (23)

bull COMBINEndash Use LPT to obtain start solution ndash Linear Search over maximum wrapper chain

lengths bull Try whether wrapper items fit a wrapper chain

length with FFD (First Fit Decreasing)

Ref [Coffman Garey Hohnson78]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 646

「DIP概論」- IP Testing

WSCP Algorithms (33)

bull LPT is fast and has good resultsndash COMBINE produces sometimes better

resultsat the expense of more CPU time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 647

「DIP概論」- IP Testing

Example Core (12)

bull Core characteristicsndash Terminals

8 functional inputs a[07]

11 functional outputs z[010]

9 scan inputs si[08]

9 scan outputs so[08]

+ 1 scan enable sc

38 core terminals in total

ndash Core-internal scan chains lengths 12 6 8 6 6 12 6 8 8 flip flops

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 648

「DIP概論」- IP Testing

Example Core (22)

bull Desired wrapper characteristicsndash Serial TAMndash 3-bit parallel TAMndash Wrapper bypassndash No scan chain bypasses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 649

「DIP概論」- IP Testing

Wrapper Result (14)bull Algorithmic results

ndash LPT max length = 26P1 = 12 8 6P2 = 12 6 6P3 = 8 8 6

ndash COMBINE max length = 24P1 = 12 12P2 = 8 8 8P3 = 6 6 6 6

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 650

「DIP概論」- IP Testing

Wrapper Result (24)

bull Operation modes (13)ndash Serial access

bull All wrapper items connected into one chain

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 651

「DIP概論」- IP Testing

Wrapper Result (34)

bull Operation modes (23)ndash Parallel access

bull All wrapper items divided over the (three) wrapper chains according to COMBINE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 652

「DIP概論」- IP Testing

Wrapper Result (44)

bull Operation modes (33)ndash Parallel pass

bull Bypass over the (three) wrapper chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 653

「DIP概論」- IP Testing

Compliance Checking (12)

bull Automatic check to assure that Core + Wrapper are compliant to standard

bull Relevant to both core provider and core user as compliance guarantees interoperability of this core with others at SOC level

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 654

「DIP概論」- IP Testing

Compliance Checking (22)

bull No industry-wide standard (yet)ndash Current compliance checkers only work for

company-internal standardsbull Wrapper generator and compliance checker

might work in concerto

Ref [Marinissen et al - ITC00]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 655

「DIP概論」- IP Testing

Wrapper Generator + Compliance Checker (13)

bull Automated wrapper design ndash corersquos netlist availablendash Compliance checker identifies still missing

wrapper functionality ndash Wrapper generator adds only required missing

hardwarendash Optional compliance checker for outgoing

inspection

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 656

「DIP概論」- IP Testing

bull Automated wrapper design ndash corersquos netlist not availablendash Wrapper generator adds full wrapper

functionalityndash Optional compliance checker for outgoing

inspection bull Manual wrapper design

ndash compliance checker for outgoing inspection

Wrapper Generator + Compliance Checker (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 657

「DIP概論」- IP Testing

bull Wrapped core usage ndash compliance checker for incoming inspection

Wrapper Generator + Compliance Checker (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 658

「DIP概論」- IP Testing

ExTest test Generation (12)

bull Test patterns for cores come from core provider

bull Core user is responsible for test patterns of SOC-specific circuitryndash Interconnect wiring ndash Interconnect logic(lsquoglue logicrsquo)ndash SOC-specific modules(lsquoUDLrsquo)

Interconnect ATPG

Normal ATPG

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 659

「DIP概論」- IP Testing

ExTest test Generation (22)

bull Interconnect ATPGndash lsquoLow-fatrsquo netlistndash Specific fault model for interconnect

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 660

「DIP概論」- IP Testing

Interconnect Faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 661

「DIP概論」- IP Testing

Interconnect ATPG

bull Determine a set of tests to detectndash Any interconnection open (S1 or S0)ndash Any shorted pair of net (wired-AND or wired-

OR)bull Solution is known as the ldquoCountingrdquo

algorithm

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 662

「DIP概論」- IP Testing

TAM Architecting (12)

bull Decision support to analyze and evaluate trade-offs for various TAM architectures at SOC levelndash How many TAMsndash Which core connects to which TAMndash How wide is each TAMndash How is the wrapper designed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 663

「DIP概論」- IP Testing

TAM Architecting (22)

bull Impact onndash Test quality ndash Test time ndash Areandash Dissipationndash Performance impact

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 664

「DIP概論」- IP Testing

Three TAM Architectures

Ref [Aerts amp Marinissen - ITC98]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 665

「DIP概論」- IP Testing

Multiplexing Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 666

「DIP概論」- IP Testing

Daisychain Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 667

「DIP概論」- IP Testing

Distribution Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 668

「DIP概論」- IP Testing

Architecture Model

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 669

「DIP概論」- IP Testing

Improved Wrapper Design

Source [Iyengar et al ndash ITCrsquo01]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 670

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (14)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 671

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (24)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 672

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (34)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 673

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (44)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 674

「DIP概論」- IP Testing

Problem Formalization (13)

bull PW Design a wrapper for a given core such that ndash The core testing time in minimized ndash The TAM width required for the core is minimized

bull PAW Determinendash An assignment of cores to TAMs of given widthsndash A wrapper design for each core

such that the SOC testing time is minimized

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 675

「DIP概論」- IP Testing

Problem Formalization (23)

bull PPAW Determinendash A partition of the total TAM width over the given number of

TAMs ndash An assignment of cores to TAMs of given widthsndash A wrapper design for each core

such that the SOC testing time is minimized

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 676

「DIP概論」- IP Testing

Problem Formalization (33)

bull PNPAW Determine ndash The number of TAMs for the SOCndash A partition of the total TAM width over the given number of

TAMs ndash An assignment of cores to TAMs of given widthsndash A wrapper design for each core

such that the SOC testing time is minimized

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 677

「DIP概論」- IP Testing

More Research Neededbull Many interesting research results are

appearing in this domainbull TAM architecting and test scheduling are

intertwinedbull Most of todayrsquos approaches focus only on

ndash lsquoTest-busrsquo like TAMs (and ignore other TAM types)

ndash InTests (and ignore ExTests)ndash Test time (and ignore other costs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 678

「DIP概論」- IP Testing

Test Expansion

bull Translation of ndash Core-level test (defined at core terminals)intondash SOC-level test defined at IC pins)

bull Test Protocol Expansion

Ref [Marinissen amp Lousberg ndash TEC97 ETW99]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 679

「DIP概論」- IP Testing

Macro Test Concept Overview (13)

bull Test = test protocol + test patternsbull Subsequent tasks automated

ndash Test protocol expansion (TPE)ndash Test protocol scheduling (TPS)ndash Test assembly (TASS)

bull Support of multiple hierarchy levels

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 680

「DIP概論」- IP Testing

bull Supports every kind of test access mechanismndash Original forcus on transparency of macros

especially core-internal scan chains

Macro Test Concept Overview (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 681

「DIP概論」- IP Testing

Macro Test Concept Overview (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 682

「DIP概論」- IP Testing

Terminology (12)

bull Pattern ndash A vector with stimulus and response values

bull Pattern List ndash The list of all patterns needed for a test of a

macrobull Test Protocol

ndash The prescription according to which a pattern should be applied

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 683

「DIP概論」- IP Testing

Terminology (22)

bull Testndash Repeated execution of a test protocol where

every time another pattern from the pattern list is filled in

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 684

「DIP概論」- IP Testing

Simple Example (12)

Ref [Marinissen amp Lousberg ndash ETW99]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 685

「DIP概論」- IP Testing

Simple Example (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 686

「DIP概論」- IP Testing

Transfer through Neighbors

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 687

「DIP概論」- IP Testing

Example SOC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 688

「DIP概論」- IP Testing

Test Protocol Expanded to SOC Pins

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 689

「DIP概論」- IP Testing

Test Assembly

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 690

「DIP概論」- IP Testing

Test Assembly Example

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 691

「DIP概論」- IP Testing

Test Scheduling (12)

bull Minimization of occupancy of resources for given core tests and SOC test infrastructure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 692

「DIP概論」- IP Testing

Test Scheduling (22)

bull Resources ndash Power dissipation during test executionRef[Zorian ndash VTS93]

[Saluja amp Agrawal ndash Trans VLSI System97]

ndash Test application timestorage capacity at ATERef[Marinissen amp Aerts ndashTECS98]

[Chakrabarrty ndash ICCAD99 TCAD00][Iyengar amp Chakrabarrty ndash VTS01][Larsson amp Peng - DATE01]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 693

「DIP概論」- IP Testing

Modifiedhelliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 694

「DIP概論」- IP Testing

Examples of Cores

bull Processor ARM hellipbull Memory RAM ROM hellipbull DSP TI hellipbull Peripheral DMA controller hellipbull Interface PCI USB UART hellipbull Multimedia JPEG MPEG hellipbull Networking Ethernet controller hellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 695

「DIP概論」- IP Testing

Chip and Board Testing

DFT BISThelliphellip

Boundary Scanhelliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 696

「DIP概論」- IP Testing

Virtual Component (VC)

bull A design block that meets the VSI (Virtual Socket Interface) specification and is used as a component in the virtual socket design environmentndash VSI is supported by the VSI Alliance (VSIA)

httpwwwvsiacom

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 697

「DIP概論」- IP Testing

Intellectual Property (IP)

bull The rights in cores that allow the owner of those rights to control the exploitation of those cores and the expression of the cores by othersndash Protected by lawsndash Liability in cases of failure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 698

「DIP概論」- IP Testing

Notes

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 699

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

h

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 700

「DIP概論」- IP Testing

Fig 6-3[1990] Fig 6-4[1990] Fig 6-5[1990] Fig 6-10[1990]

Fig 6-23[1990] Fig 6-27[1990](pp 166 done)

Fig 6-29[1990] Fig 6-30[1990]

Fig 6-34[1990] Fig 6-37[1990]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 701

「DIP概論」- IP Testing

bull Sequential controllability and observabilitybull Bugs 136amp137 144(modified)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 702

「DIP概論」- IP Testing

bull A fault model is an abstraction of the error caused by a particular physical faultsndash The purpose is to simplify the test procedure

and reduce its cost while still retaining the capability of detecting the presence of the modeled faults

ndash Defects vs faults vs errors vs failuresndash Permanent faults vs non-permanent ones

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 703

「DIP概論」- IP Testing

Acknowledgements

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 704

「DIP概論」- IP Testing

An Example of SOC

ADC

DAC

PLL

RAMROM

IP 1BUS amp INTERCONNECT

ASIC 1

UDL

DSP CPU ASIC 2IP 2

Page 2: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 2

「DIP概論」- IP Testing

Text Books

bull M L Bushnell and V D Agrawal Essentials of Electronic Testing for Digital Memory amp Mixed-Signal VLSI CircuitsKluwer Academic Publishers 2000

bull M Abramovici M A Breuer and A D Friedman Digital Systems Testing and Testable Design Computer Science Press New York 1990

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 3

「DIP概論」- IP Testing

Outline (12)

bull Introductionbull Fault Modelsbull Fault Simulationbull Test Generation (TG)bull Design for Testability (DFT) bull Advanced Scan Concepts

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 4

「DIP概論」- IP Testing

Outline (22)

bull Compression Techniquesbull Built-In Self-Test (BIST)bull Boundary-Scan Testingbull Memory Testingbull SOC Testing

Chapter 1

Introduction

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 6

「DIP概論」- IP Testing

VLSI Development FlowDetermine specification

Design the circuit

Verify the design

Develop the test procedure

Manufacture the circuit

Test the manufactured circuit

Deliver to customers

Design Errors

TestPlans

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 7

「DIP概論」- IP Testing

Why Do Circuits Fail

bull Human design errorsbull Manufacturing defects bull Package defectsbull Field (Environment) failures

ndash Temperature humidity power etc

verifytest

testtest

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 8

「DIP概論」- IP Testing

Verification vs Testingbull Verification

ndash Check for the correctness of a designbull Simulation

ndash Performed oncebull Testing

ndash Check the correctness of the manufactured circuitndash Performed repeatedly

Verification Testinglogicsoft faults realhard faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 9

「DIP概論」- IP Testing

Why Testing

bull Detect and eliminate (hard-)faulty circuits

Vdd

10

00

0

0

fault-free circuit faulty circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 10

「DIP概論」- IP Testing

How to Do Testing

Circuit Under Test

(CUT)

Test Pattern Generator

(TPG)

Output Response Analyzer(ORA)

test patterns T

outputresponses R

GoodBad

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 11

「DIP概論」- IP Testing

Related Terminologies in Testing

bull Diagnosisndash Depict the faulty sites

bull Reliabilityndash Tell whether a ldquogoodrdquo circuit will work after

some time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 12

「DIP概論」- IP Testing

Importance of Testing

N the number of transistors in a circuit (chip)p the probability that a transistor is faultyPf the probability that the chip is faulty

Pf = 1-(1-p)N

If p = 10-6 and N= 106

Pf = 632

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 13

「DIP概論」- IP Testing

Key Issues in Testing

Circuit Under Test

(CUT)

Test Pattern Generator

(TPG)

Output Response Analyzer(ORA)

test patterns T

outputresponses R

Fault Modeling Design for Testability

Test GenerationProblem

Good if R = RrsquoBad if R ne Rrsquoexpected

responses Rrsquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 14

「DIP概論」- IP Testing

Circuit Modeling

bull Describe the behavior of circuitsndash Behavior modelndash RTL modelndash Gate level modelndash helliphellip

clocks (edgelevel-sensitive)delaytiming

algorithms

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 15

「DIP概論」- IP Testing

Fault Modeling

bull Describe the effects of physical faultsbull Fault model requirements

ndash Adequately represent actual faultsndash High coverage against physical faultsndash Well-behavedndash Simple enough to use in practice

bull Eg Fault simulation test generation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 16

「DIP概論」- IP Testing

Fault Modelsbull Single stuck-at fault model

ndash Any single line x is stuck at 0 or 1bull Multiple stuck-at fault model

ndash Several lines x are stuck at 0 or 1bull Delay fault model

ndash Delay of a single path is changedbull Bridging fault model

ndash Signals x and y become AND(x y) or OR(x y)bull helliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 17

「DIP概論」- IP Testing

Single Stuck-at Fault Model (12)

bull Depict that ldquoone single linerdquo is permanently stuck at 1 or 0

EA

B

C

D F

G

A s-a-1A s-a-0E s-a-1E s-a-0

B s-a-1B s-a-0F s-a-1F s-a-0

C s-a-1C s-a-0G s-a-1G s-a-0

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

14 faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 18

「DIP概論」- IP Testing

Single Stuck-at Fault Model (22)bull Advantages

ndash Match the gate level and are well-behavedndash The number of possible faults is relatively smallndash Tests for single stuck-at faults give good coverage of

permanent faultsbull Disadvantages

ndash Dose not account for some physical fault effectsndash Few physical faults behave exactly like single-at faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 19

「DIP概論」- IP Testing

Detectability of Faults

bull A fault f is said to be detectable if there exists a test vector x such that Cf(x) ne C(x) ie f is ldquodetectedrdquo by x

Vdd

10

00

0

0

fault-free circuit C fault f is detected by (00)

xf s-a-1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 20

「DIP概論」- IP Testing

Fault Coverage (FC)FC =

the size of fault listnumber of detected faults

CA

B

6 faultsA0 A1 B0 B1 C0 C1

test vector set detected faults FC(0 0)(0 1)(1 1)(0 0) (1 1)(1 0) (0 1) (1 1)

C1A1 C1A0 B0 C0A0 B0 C0 C1ALL

1667333350006667

10000

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 21

「DIP概論」- IP Testing

Testing QualityIC

FabricationYield(Y)

Rejected Parts

Shipped PartsDefect Level(DL)

bull Yield (Y) fraction of good partsbull Defect Level (DL) fraction of shipped parts that are defectivebull Quality of shipped parts is a function of Y and FC

DL = 1 ndash Y (1 - FC)

Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 22

「DIP概論」- IP Testing

Circuit Simulationbull Determine how a good circuit should work

ndash Given input vectors determine the normal circuit output responses

EA

B

C

D F

G

1

10

0

01

1

Simulation under the input 1 0 0 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 23

「DIP概論」- IP Testing

Fault Simulation (12)

bull Determine the behavior of faulty circuitsE s-a-0 A

B

C

D F

G

1

100

0

01

10

x

Simulation under the input 1 0 0 0 with fault E s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 24

「DIP概論」- IP Testing

Fault Simulation (22)

bull Given a test vector determine all faults that are detected by this test vector

CA

B 1

10

Test vector (1 1) detects A0 B0 C1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 25

「DIP概論」- IP Testing

Test Generation (12)

bull Given a fault identify a test vector to detect this fault

A

B

C

D s-a-0

E

F

x

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 26

「DIP概論」- IP Testing

Test Generation (22)

bull Sensitizationndash To detect D s-a-0 D must be set to 1

ie A = B = 1bull Propagation

ndash To propagate the fault effect to the output F Emust be set to 1 ie C = 0

Test vector for D s-a-0 is 1 1 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 27

「DIP概論」- IP Testing

Automatic Test Pattern Generation (ATPG) (12)

bull Given a circuit identify a set of test vectors to detect all the detectable faults under the considered fault models

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 28

「DIP概論」- IP Testing

Automatic Test Pattern Generation (ATPG) (22)a circuit and the fault list

more fulats

select a fault

test generation

fault simulation

fault dropping

exit

Yes

No

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 29

「DIP概論」- IP Testing

Difficulties in Test Generation (12)

bull Reconvergent fanout

A

B

C

D s-a-1

E

F

x

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 30

「DIP概論」- IP Testing

Difficulties in Test Generation (22)bull Sequential test generation

combinational circuit

D

clk

Q

x The fault effect cannot be observed at POs

PIs POs

The test patterns cannotbe generated at PIs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 31

「DIP概論」- IP Testing

Advanced Test GenerationFC

100

of test patterns

Pseudorandom Test Pattern Generation

Deterministic Test Pattern Generation

Design for Testability (DFT)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 32

「DIP概論」- IP Testing

Testing Costs

bull Test software developmentndash Automatic test pattern generator (ATPG)ndash Fault simulation and other debugging policies

bull Design for testability (DFT)ndash Chip area overhead ie yield lossndash Performance overhead ie degradation

bull Automatic test equipments (ATEs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 33

「DIP概論」- IP Testing

Difficulties in Testing

bull Some real faults are too complex to modelbull Most testing problems are NP-completebull IO access is limitedbull ATEs are expensive

Testing is rarely complete (FC lt 100)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 34

「DIP概論」- IP Testing

The Goals of Testingbull Detect all expected faults (high fault coverage)bull Diagnose to the smallest replaceablerepairable

component (high fault resolution)bull Fast and low-cost test generationbull Fast and low-cost test applicationbull Efficient response comparisonbull High degree of automationbull Low penalties in hardware overheadperformance

Chapter 2

Fault Models

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 36

「DIP概論」- IP Testing

Faults and Errors

bull Faultsndash Physical defects within a circuit or a systemndash May or may not cause the circuit to fail

bull Errorsndash Manifestation of faults that results in incorrect

circuit or system outputs or statesndash Caused by faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 37

「DIP概論」- IP Testing

Failures

bull Deviation of a circuit or a system from its specified behaviorndash Fails to do what it should do ndash Caused by errors

bull Faults Errors and Failures

Faults rArr Errors rArr Failures

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 38

「DIP概論」- IP Testing

Why Model Faultsbull Identify target faults and describe their

effectsbull Limit the scope of test generation

ndash Create test patterns only for the modeled faultsbull Make analysis possible

ndash Compute the fault coverage for specific test patterns

ndash Associate specific faults with specific test patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 39

「DIP概論」- IP Testing

Fault Modelsbull Stuck-at faultsbull Bridging faultsbull PLA faultsbull Transistor stuck-onopen faultsbull Delay faultsbull Functional faultsbull State transition faultsbull Memory faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 40

「DIP概論」- IP Testing

Stuck-at Faultsbull Single stuck-at fault model

ndash Only a single line is permanently set to either 0 or 1

bull Multiple stuck-at fault modelndash Several stuck-at faults occur at the same time

bull For a circuit with k linesndash There are 2k single stuck-at faultsndash There are 3k-1 multiple stuck-at faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 41

「DIP概論」- IP Testing

Why Single Stuck-at Fault Model (12)

bull Complexity is greatly reducedndash Many different physical defects may be

modeled by the same logical stuck-at faultsbull Technology independent

ndash Can be applied to TTL ECL CMOS etcbull Design style independent

ndash Can be applied to gate arrays standard cells full-custom description

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 42

「DIP概論」- IP Testing

Why Single Stuck-at Fault Model (22)

bull The test patterns derived for single stuck-at faults are still valid for most defects even not accurately model some other physical defects

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

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 43

「DIP概論」- IP Testing

Bridging Faults (12)

bull Two or more normally distinct points(lines) are shorted togetherndash Logic effect depends on technology

bull Wired-AND for TTLbull Wired-OR for ECL

TTL Transistor-Transistor Logic

ECL Emitter-Coupled Logic

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 44

「DIP概論」- IP Testing

Bridging Faults (22)bull Wired-AND for TTL bull Wired-OR for ECL

A

B

f

g

A

B

f

g

A

B

f

g

A

B

f

g

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 45

「DIP概論」- IP Testing

PLA Faults

bull Stuck-at faults on inputs and outputsbull Crosspoint faults

ndash MissingExtrabull Bridging faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 46

「DIP概論」- IP Testing

Missing Crosspoint Faults in PLAbull Missing crosspoint in the AND plane

ndash Growth faultbull Missing crosspoint in the OR plane

ndash Disapperance fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 47

「DIP概論」- IP Testing

Extra Crosspoint Faults in PLAbull Extra crosspoint in the AND plane

ndash Shrinkage faultbull Extra crosspoint in the OR plane

ndash Appearance fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 48

「DIP概論」- IP Testing

Transistor Stuck-On Faults (12)

bull Also referred as stuck-short faults

stuck-on

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 49

「DIP概論」- IP Testing

Transistor Stuck-On Faults (22)

bull May cause ambiguous logic levelsndash Depend on the relative impedances of the pull-

up and pull-down networksbull Quiescent current may be increased called

IDDQ fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 50

「DIP概論」- IP Testing

Transistor Stuck-Open Faults (12)

bull May cause output floating(high impedance)

stuck-open

0 Z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 51

「DIP概論」- IP Testing

Transistor Stuck-Open Faults (22)

bull Turn the circuit into a sequential circuitndash Stuck-open faults require two-vector test

patterns

stuck-open

10 0100

two-vector test pattern

fault-free response

fault response

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 52

「DIP概論」- IP Testing

Gate Delay Faults (12)bull Slow to rise or fall

X X

R

X is slow to rise when channel resistance R is abnormally high

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 53

「DIP概論」- IP Testing

Gate Delay Faults (22)bull Detectability of gate delay faults

ndash May not be detected

slow

critical path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 54

「DIP概論」- IP Testing

Path Delay Faultsbull Propagation delay of a path exceeds the

clock intervalbull The number of paths grows exponentially

with the number of gates

XY

XY

the clock interval

propagation delay

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 55

「DIP概論」- IP Testing

Functional Faultsbull Behavioral faults

ndash Fault effects are modeled at a higher level for modules such as

bull Decodersbull Multiplexersbull Addersbull Countersbull RAMsbull ROMs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 56

「DIP概論」- IP Testing

An Example of Functional Faultsbull Decoder

ndash f(LiLj) instead of line Li line Lj is selectedndash f(LiLi+Lj) in addition to Li Lj is selectedndash f(Li0) none of the lines are selected

DecoderLi

Lj

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 57

「DIP概論」- IP Testing

State Transition Graph(STG)bull Each state transition is associated with a 4-

tuple (source input output destination state)

S1

S3S2

I1O1 I2O2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 58

「DIP概論」- IP Testing

Single State Transition Faults

bull A fault causes a single state transition to a wrong destination state

S1

S3S2

IO IO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 59

「DIP概論」- IP Testing

Memory Faults (12)

bull Parametric faultsndash Change the values of electrical parameters of

active or passive devices from their normal or expected values

bull Output levelsbull Power Consumptionbull Noise marginbull Data retention time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 60

「DIP概論」- IP Testing

Memory Faults (22)

bull Functional faultsndash Stuck faults in address register data register

and address decoderndash Cell stuck faultsndash Cell coupling faultsndash Pattern sensitive faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 61

「DIP概論」- IP Testing

Coupling Faults

bull A transition in memory bit i causes an unwanted change in memory bit j

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 62

「DIP概論」- IP Testing

Pattern Sensitive Faultsbull The presence of a faulty signal depends on

the signal values of the nearby pointsndash Most common in DRAM

0 0 00 d b0 a 0

a = b = 0 rArr d = 0 prevent writing a 1 into da = b = 1 rArr d = 1 prevent writing a 0 into d

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 63

「DIP概論」- IP Testing

Fault Detectionbull Let z BnrarrB A test pattern t detects a fault f

iff z(t)opluszf(t) = 1x1

x2

x3

z1

z2

f s-a-1 z1 = x1 x2

z2 = x2 x3

z1f = x1

z2 f= x2 x3

The test pattern 100 detects f because z1(100) = 0while z1f(100) = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 64

「DIP概論」- IP Testing

Sensitization

bull Given a test pattern t a line is said to ldquobe sensitized to a fault f by trdquo if its normal value is changed in the presence of f

bull A path composed of sensitized lines is called ldquoa sensitized pathrdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 65

「DIP概論」- IP Testing

Detectability

bull A fault f is said to be detectable if there exists a test pattern t that detects f otherwise f is a redundant fault

bull For a redundant fault f z(t) = zf(t)ndash No test pattern can simultaneously

sensitize(activate) f and create a sensitized path to a primary output(PO)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 66

「DIP概論」- IP Testing

Redundant Faultsbull G1 stuck-at-0 fault is redundant

ndash Redundant faults do not change the function of the circuit

ndash The related circuit can be removed to simplify the circuit

1

s-a-0G1

1

1

00

0

10a

b

c

z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 67

「DIP概論」- IP Testing

Fault Collapsing

bull The process to reduce the number of the faults under consideration is known as fault collapsing

bull Why fault collapsingndash Save memory space and CPU time for fault

simulation and test generation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 68

「DIP概論」- IP Testing

Fault Equivalencebull A test pattern t distinguishes between faults α and β iff zα(t) ne zβ(t)

bull Two faults α and β are said to be equivalent in a circuit iff zα(t) = zβ(t) for all tndash Denoted by αharr βndash No test patterns can distinguish between α and β

ndash Any test pattern which detects one of them detects all of them

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 69

「DIP概論」- IP Testing

Fault Equivalence of Primitive Gates (12)

bull NOTndash Input s-a-1 and output s-a-0 are equivalentndash Input s-a-0 and output s-a-1 are equivalent

bull ANDndash All s-a-0 are equivalent

bull ORndash All s-a-1 are equivalent

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 70

「DIP概論」- IP Testing

bull NANDndash All input s-a-0 and output s-a-1 are equivalent

bull NORndash All input s-a-1 and output s-a-0 are equivalent

Fault Equivalence of Primitive Gates (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 71

「DIP概論」- IP Testing

Equivalent Fault Collapsing (12)[Theorem 2-1] Under the single stuck-at faultmodel for an n-input primitive gate n+2instead of 2n+2 faults need to be considered

2n+2

n+1 n+1

equivalence

n+2cup

[Proof]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 72

「DIP概論」- IP Testing

Equivalent Fault Collapsing (22)

s-a-0

s-a-1s-a-1

s-a-1

s-a-1s-a-1

s-a-1 s-a-0

s-a-0

s-a-0

s-a-0

s-a-0 s-a-0

s-a-1

s-a-1

s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 73

「DIP概論」- IP Testing

Fault Dominancebull Let Tα be the set of all test patterns that

detect fault α We say that a fault βdominates fault α iff zα(t) = zβ(t) for all tisinTα

ndash Denoted by β rarr αndash No need to consider fault β for fault detection

Tβ supeTα

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 74

「DIP概論」- IP Testing

Fault Dominance of Primitive Gatesbull AND

ndash Output s-a-1 dominates any input s-a-1bull OR

ndash Output s-a-0 dominates any input s-a-0bull NAND

ndash Output s-a-0 dominates any input s-a-1bull NOR

ndash Output s-a-1 dominates any input s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 75

「DIP概論」- IP Testing

Dominated Fault Collapsing (12)[Theorem 2-2] Under the single stuck-at fault model for an n-input primitive gate only n+1faults need to be considered

2n+2

n+1 n+1

equivalencen+1

cup

[Proof]

n 1dominance

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 76

「DIP概論」- IP Testing

Dominated Fault Collapsing (22)

s-a-0

s-a-1s-a-1

s-a-1

s-a-1s-a-1

s-a-1 s-a-0

s-a-0

s-a-0

s-a-0

s-a-0 s-a-0

s-a-1

s-a-1

s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 77

「DIP概論」- IP Testing

Prime Faultsbull α is a prime fault if every fault dominated

by α is also equivalent to αbull Representative set of prime faults(RSPF)

ndash A set consisting of exactly one prime fault from each equivalence class of prime faults

bull Achieve 100 fault coverage ndash Only generate the test set for RSPF

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 78

「DIP概論」- IP Testing

Checkpoints (13)

bull Primary inputs and fanout branches

[Theorem 2-3] Any test set which detects all single stuck-at faults on every check point will detect all single stuck-at faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 79

「DIP概論」- IP Testing

Checkpoints (23)

a

b

c

d

e

s-a-1s-a-1

s-a-1

s-a-1s-a-1

s-a-1

s-a-1

s-a-1s-a-0

s-a-0

s-a-0s-a-0

s-a-0

s-a-0s-a-0

s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 80

「DIP概論」- IP Testing

Checkpoints (33)bull The set of checkpoint faults can be further

collapsed by using equivalence and dominance relations

a

b

c

d

e

10 checkpoint faultsa s-a-0 harr d s-a-0c s-a-0 harr e s-a-0b s-a-0 rarr d s-a-0b s-a-1 rarr d s-a-16 test patterns are enough

Chapter 3

Fault Simulation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 82

「DIP概論」- IP Testing

Simulationbull True-value simulation

ndash Compute the responses for given inputtest patterns without injecting any faults in the circuit

bull For verifying the correctness of the design

bull Fault simulationndash Compute the responses for given inputtest

patterns with injecting considered faults in the circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 83

「DIP概論」- IP Testing

Why Fault Simulation

bull To evaluate the quality of a test setndash In terms of fault coverage(FC)

bull To incorporate into ATPGndash Decrease the time for test pattern generation

bull To construct fault dictionary ndash For post-test diagnosis

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 84

「DIP概論」- IP Testing

Simulation Mechanisms

bull Compiled-code simulationndash Circuit is translated into the program where

each gate is executed for each patternbull Event-driven simulation

ndash Circuit structure and gate status are stored in a table and only those gates which are needed to be updated with a new pattern are processed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 85

「DIP概論」- IP Testing

Compiled-Code Simulation (13)levelize circuit and produce compiled-codeinitialize data variables(flip-flops and memory)for every input pattern begin

set the primary inputs to the input pattern repeat until (steady-state or maximum iteration-count are reached)begin

execute compiled-codeupdate the associated data variables(flip-flop or memory)

endend

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 86

「DIP概論」- IP Testing

Compiled-Code Simulation (23)

bull The use of compiled-code simulation is usually limited into high-level designndash Since detailed timing or delay is almost

impossible to be simulated in the translated compiled-code

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 87

「DIP概論」- IP Testing

Compiled-Code Simulation (33)

D-FF

abc

d

e

f

Compiled-Code

d = a amp b amp cf = d | ee = f

Q D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 88

「DIP概論」- IP Testing

Event-Driven Simulation (12)initialize simulation time t to 0while (event list is not empty) begin

for every event (i t) begin gate i changes at time tupdate the value of gate i schedule fanout gates of i in the event list if the associated value changes are expected

endadvance simulation time t

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 89

「DIP概論」- IP Testing

Event-Driven Simulation (22)1a

c

bd

e

f

g2

2

2

41

1 rarr0

0 rarr1

1 rarr0

0 rarr1

1 rarr0 rarr1

simulation time t event fanout

0 c = 0 d e

1

2 d = 1 e =0 f g

3

4 g = 0

5

6 f = 1 g

7

8 g = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 90

「DIP概論」- IP Testing

Logic Value Based Fault Simulationbull For functional faults such as single stuck-at

faults helliphellipndash Logic simulation on both fault-free and faulty

circuitsTest Patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 91

「DIP概論」- IP Testing

Complexity of Fault Simulation

bull Suitable for single stuck-at fault modelbull Higher than logic simulation but much

lower than test pattern generationbull In reality the complexity can be reduced by

fault collapsing and advanced techniques

patterns faults gates

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 92

「DIP概論」- IP Testing

Characteristics of Fault Simulationbull Fault activities with respect to fault-free

circuit are often sparse both in time and in spacendash For example f1 is not activated by the given

pattern(time) while f2 affects only the lower part of the circuit(space)

f1 s-a-0

f2 s-a-0

0

1

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 93

「DIP概論」- IP Testing

Efficiency of a Fault Simulator

bull Depend on its ability to exploit the sparse characteristics both in time and in space

人生最大的成就是從失敗中站起來證嚴法師靜思語

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 94

「DIP概論」- IP Testing

Classical Fault Simulation Techniques

bull Serial fault simulationbull Parallel fault simulationbull Deductive fault simulationbull Concurrent fault simulation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 95

「DIP概論」- IP Testing

Serial Fault Simulation

bull The simplest algorithm for fault simulationndash Simulate the fault-free circuit for all input

patterns and save the outputs in a file(table)ndash Simulate one faulty circuit at a time until the

target fault is detected by some one test pattern or proven to be undetectable

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 96

「DIP概論」- IP Testing

Parallel Fault Simulation

bull Simulate faulty circuits in parallel with fault-free circuit by taking advantage of inherent parallel operation of computer wordsndash The number of circuits being processed

concurrently is limited by the word length wbull Each pass at most w-1 faulty circuit are processed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 97

「DIP概論」- IP Testing

Example of Parallel Fault Simulation

0 0 0 0 0 1 0 0 1 0 1 1

1 1 1 1 1 1 0 1

1 1 0 1 1 1 0 0

0 1 0 0

1 0 0 1

1 1 1 1a

b

f

c

de

g

h

is-a-1

s-a-0

s-a-0

for fault-free circuitfor circuit with fault b s-a-1for circuit with fault f s-a-0for circuit with fault i s-a-0

rArr Faults f s-a-0 and i s-a-0 are detected by test pattern (a b f) = (1 0 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 98

「DIP概論」- IP Testing

Deductive Fault Simulation

bull Only the fault-free circuit is simulated (true-value simulation) ndash All signal values in each faulty circuit are

deduced from the fault-free circuit values and the circuit structure

bull Each signal is associated a list of faults in the circuit which can change the state of that line

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 99

「DIP概論」- IP Testing

Basic Fault List Propagation RulesInputs Output

a b cOutput Fault list

Lc

0 0 0 [La cap Lb] cup c1

[La cap Lb] cup c1

[La cap Lb] cup c1

[La cup Lb] cup c0

[La cup Lb] cup c1

[La cap Lb] cup c0

[La cap Lb] cup c0

[La cap Lb] cup c0

La cup c0

La cup c1

(1)0 1 0 (2)1 0 0 (3)1 1 1 (4)0 0 0 (5)0 1 1 (6)1 0 1 (7)1 1 1 (8)0 - 1 (9)

1 - 0 (10)

NOT

OR

AND

Gate Type

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 100

「DIP概論」- IP Testing

Example of Deductive Fault Simulation (12)ab

c 1 b0 c0

d 1 b0 d0

1 a0

1 b0

e 1 a0 b0 c0 e0

f 0 b0 d0 f1

Initially La = a0 and Lb = b0For the fanouts of b c and d Lc = b0 c0 and Ld = b0 d0

Le = [La cup Lc] cup e0 = a0 b0 c0 e0 by Rule (4)Lf = Ld cup f1 = b0 d0 f1 by Rule (10)

g

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 101

「DIP概論」- IP Testing

ab

g

1 a0

1 b1

e 1 a0 b0 c0 e0

f 0 b0 d0 f1

1 a0 c0 e0 g0

Lg = [Le cap Lf] cup g0 = a0 c0 e0 g0 by Rule (7)

c 1 b0 c0

d 1 b0 d0

Example of Deductive Fault Simulation (22)

rArr Faults a0 c0 e0 and g0 are detected by test pattern (a b) = (1 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 102

「DIP概論」- IP Testing

Concurrent Fault Simulation

bull Each gate retains a list of fault copies each of which stores the status of a fault to exhibit difference form the fault-free values

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 103

「DIP概論」- IP Testing

Example of Concurrent Fault Simulation

ab c

d g

1

1

e

f

1

11 1

1 0

0 1 0 1 1 1

b0 d0 f1

01 1

00

a0

01

1

b0

00

0

c0

01

1

d0

1

00

e0

01

1

f1

10

0

g0

1

a001 0

10 0

10 0

11 0

b0 c0 e0

rArr Faults a0 c0 e0 and g0 are detected by test pattern (a b) = (1 1)

1

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 104

「DIP概論」- IP Testing

Modern Fault Simulation Techniques

bull Parallel-Pattern Single-Fault Propagation (PPSFP)

bull Critical Path Tracing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 105

「DIP概論」- IP Testing

PPSFP

bull Based on the serial fault simulation many patterns are simulated in parallel for fault-free and faulty circuits respectivelyndash The number of patterns is limited by the word

length wbull Each pass at most w patterns are processed

ndash The basis of all modern fault simulators

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 106

「DIP概論」- IP Testing

Example of PPSFPbull Consider fault f s-a-0 and four pattern p3 p2

p1 and p0

0 1 0 1 1 0 1 0

1 0 0 1

1 1 0 1

0 1 0 1

1 0 0 0

1 1 1 1a

b

f

c

de

g

h

i

s-a-0

p3 p2 p1 p0

0 0 0 00 0 0 0

0 1 0 1

rArr Fault f s-a-0 are detected by test pattern p3 (a b f) = (1 0 1)

(faulty values)1 0 0 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 107

「DIP概論」- IP Testing

Sensitive Inputs

bull A gate input a is sensitive if complementing the value of a changes the value of the gate output

ab

1rarr0

1

c

a is sensitive

ab 0

0 c

a is not sensitive

1rarr0 0 rarr1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 108

「DIP概論」- IP Testing

Critical Pathsbull Let l(v) be the fault-free value of line l

under input pattern t We say that line l is critical with respect to t iff t detects the fault l s-a-l(v)

bull A gate input i is critical with respect to t if the gate output is critical and i is sensitive

bull A path consisting of only critical lines is said to be a critical path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 109

「DIP概論」- IP Testing

Critical Path Tracing

bull Two-step procedurendash Perform true-value simulation and identify

sensitive gate inputsndash Backtrace from POs to identify the critical lines

bull O(|G|) for fanout-free circuitsndash The fanout-free situation is very rare

bull Perform in fanout-free region and the stem faults are simulated by other methods mentioned earlier

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 110

「DIP概論」- IP Testing

Example of Critical Path Tracing (12)

a

b

f

c

d e

g

h

i

1

0

11

1

0

1fanout-free region

sensitive input

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 111

「DIP概論」- IP Testing

Example of Critical Path Tracing (22)

a

b

f

c

d e

g

h

i

1

0

11

1

0

1fanout-free region

sensitive inputcritical line

rArrFaults i0 h0 f0 e0 and d1 are detected by test pattern (a b f) = (1 0 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 112

「DIP概論」- IP Testing

Anomaly of Critical Path Tracinga

b

f

c

d e

g

h

i

1

0

11

1

0

1critical line

bull Stem criticality is hard to infer from branchesndash Eg Fault b s-a-1 is not detected by (a b f) = (1 0 1)

even though branches c and d are critical

stem

branch

branch

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 113

「DIP概論」- IP Testing

Multiple Path Sensitizationa

b

f

c

d

g

h

i

1

1

1

1

1

1fanout-free region

sensitive inputcritical line

bull Both c and d are not critical but b is critical and bs-a-0 can be detected by (a b f) = (1 1 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 114

「DIP概論」- IP Testing

Summariesbull Does specific test patterns detect specific

faultsndash Serial fault simulationndash Parallel fault simulationndash PPSFP

bull Which faults does a specific test pattern detect (suitable for ATPG)ndash Deductive fault simulationndash Concurrent fault simulationndash Critical Path Tracing

Chapter 4

Test Generation (TG)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 116

「DIP概論」- IP Testing

Test Generation (TG) Methods

bull From truth tablebull Using Boolean equationbull Using Boolean differencebull From circuit structure

Impractical

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 117

「DIP概論」- IP Testing

TG from Truth Table

bull Based on the serial fault simulationndash Impractical

ab

c

f

α s-a-0abc f fα000 0 0001 0 0010 0 0011 0 0100 0 0101 1 1110 1 0111 1 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 118

「DIP概論」- IP Testing

TG Using Boolean Equation

bull Based on the definition of detectability we have

Tα = (a b c) | f(a b c) oplus fα(a b c) = 1= (1 1 0)

bull High complexity

ab

c

f

α s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 119

「DIP概論」- IP Testing

Boolean DifferenceThe Boolean difference of f(x) with respect to xi is

)()()( 1f0fdx

xdfii

i

oplus=

where fi(0) = (x1 hellip 0 hellip xn) and fi(1) = (x1 hellip 1 hellip xn)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 120

「DIP概論」- IP Testing

Physical Meaning of Boolean Difference

bull Find all the input combinations such that the change of xi will cause the change of f(x)

bull Relationship between TG and Boolean difference

x1xixn

fcircuit0 rarr 1

0 rarr1

1rarr0or x1

xixn

fcircuit1rarr 0

1 rarr0

0 rarr1or

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 121

「DIP概論」- IP Testing

Case 1 Faults are present at PIsab

c

f

cb0cb1f0fda

xdfaa +=++bull=oplus= )(1)()()(

The set of all tests for a s-a-1 is (a b c) | a(b + c) = (0 1 x) (0 x 1)The set of all tests for a s-a-0 is (a b c) | a(b + c) = (1 1 x) (1 x 1)

TG Using Boolean Difference (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 122

「DIP概論」- IP Testing

TG Using Boolean Difference (22)Case 2 Faults are present at internal lines

ab

c

f

h = ab

caacac1f0fdh

xdfachf hh +=bull+bull=oplus=+= 11)()()(

The set of all tests for h s-a-1 is (a b c) | h(a + c) = (0 x x) (x 0 0)The set of all tests for h s-a-0 is (a b c) | h(a + c) = (1 1 0)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 123

「DIP概論」- IP Testing

Controlling and Inversion Valuesbull The value c of an input is said to be controlling

if it determines the value of the gate output regardless of the values of the other inputs then the output value is c oplus i where i for the inversion

bull The basic gates can be characterized by the two parametersndash The controlling value cndash The inversion value i

c iAND 0 0OR 1 0NAND 0 1NOR 1 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 124

「DIP概論」- IP Testing

Composite Logic Values and Operations

vvf symbol

00 0

11 1

10 D

01 D

AND 0 1 D0 0

DD0x

1DDx

00000

D x0 0

D0Dx

10xxx

DDx x

OR 0 1 D1 D

1D1x

1111

01DDx

D x0 D

11Dx

1x1xx

DDx x

5-valued operations

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 125

「DIP概論」- IP Testing

Line Justification (LJ)bull Set PIs to some values such that the specific

line has the predetermined value ab

c

f

10 = D

0

1

1

0

s-a-0D

h

ndash Eg Set both a and b to 1 h has the desired value 1 to activate the fault s-a-0 additionally set c to 0 the fault effect will be propagated to f

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 126

「DIP概論」- IP Testing

Justify(l val)Justify(l val)beginset l to valif l is a PI then returnc = controlling value of li = inversion of linval = val oplus i

if(inval = c)then for every input j of l

Justify(j inval)else

beginselect one input j of lJustify(j inval)

endend

Line justification for a fanout-free circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 127

「DIP概論」- IP Testing

TG from Circuit Structure

bull Two basic goalsndash Fault activation (FA)ndash Fault propagation (FP)

rArrLine justification (LJ)

ab

c

f

10 = D larr fault activation (FA)

0 larr fault propagation (FP)

1

1

0

s-a-0D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 128

「DIP概論」- IP Testing

TG for l s-a-vTG(l v)begin

set all values to xJustify(l v) FA if v = 0 then Propagate(l D) FP else Propagate(l D)

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 129

「DIP概論」- IP Testing

Propagate(l err)Propagate(l err) err is D or D beginset l to errif l is PO then returnk = the fanout of l c = controlling value of ki = inversion of kfor every input j of k other than lJustify(j c)

Propagate(k err oplus i)end

Error propagation for a fanout-free circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 130

「DIP概論」- IP Testing

Implication

bull Compute the values that can be uniquelydetermined and check for their consistency with the previously determined ones

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 131

「DIP概論」- IP Testing

Decision Trees

bull Decision Treesndash Consist of decision nodes for problems that the

algorithm is attempting to solvendash A branch leaving a decision node corresponds

to a decisionndash A SUCCESS terminal node labeled S

represents finding a test ndash A FAILURE terminal node labeled F

indicates the detection of an inconsistency

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 132

「DIP概論」- IP Testing

Backtracking

bull A systematic exploration of the complete space of possible solutions and recovery from incorrect decisions recovery involves restoring the state of the computation to the state existing before the incorrect decision

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 133

「DIP概論」- IP Testing

Backtracking of Incorrect Decisions

0xxx

ad

d = 0

F F

a = 0 a = 1b = 0

a = 1b = 1c = 0

bc

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 134

「DIP概論」- IP Testing

bull A FA problem is a LJ problembull A FP problem

ndash Select a FP path to a PO rArr decisionsndash Once the FP path is selected rArr a set of LJ

problemsbull A LJ problem is an either implication or

decision problem

Common Concepts of Structural TG (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 135

「DIP概論」- IP Testing

Common Concepts of Structural TG (22)

bull Incorrect decision(inconsistency) rArr Backtrack and make another decisions

bull Once the fault effect is propagated to a PO and all lines to be justified are justified the test pattern is generated otherwise the decision process is repeatedly until all possible decisions have been tried

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 136

「DIP概論」- IP Testing

A Simple Example of TG (12)

s-a-1

abc

d

e

G2

G1

G3

G5

G4

G6

f1

f2

bull FA rArr G1 = D rArr a = 1 b = 1 c = 1 rArr G2 = 0 (rArr G5 = 0) G3 = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 137

「DIP概論」- IP Testing

A Simple Example of TG (22)bull FP through G5 or G6 (the last page)

ndash Decision through G5rArr G2 = 1 inconsistency rArr backtracking

ndash Decision through G6rArr G4 = 1 rArr e = 0 rArr SUCCESS

rArrThe resulted test pattern is 111x0 G5 G6

F S

G5 G6

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 138

「DIP概論」- IP Testing

Advanced Example (14)

s-a-1

ab

cd

efh

k

l

mno

p

q

r s

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 139

「DIP概論」- IP Testing

Advanced Example (24)

bull FA rArr h = D

bull FPrArr e = 1(rArr o = 0) f = 1 rArr q = 1 r = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 140

「DIP概論」- IP Testing

Advanced Example (34)rArr Justify q = 1 rArr l = 1 or k = 1

ndash Decision l = 1rArr c = 1 d = 1 rArr m = 0 n = 0 rArr r = 0rArr inconsistency rArr backtracking

ndash Decision k = 1rArr a = 1 b = 1

rArr Justify r = 1 rArr m = 1 or n = 1rarr Decision m = 1

rArr c = 0 rArr SUCCESSrarr Decision n = 1

rArr d = 0 rArr SUCCESS

rArrThe resulted test is pattern 110x110 or 11x0110

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 141

「DIP概論」- IP Testing

Advanced Example (44)

q = 1

F

l = 1 l = 0 k = 1

r = 1

S

m = 1

S

n = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 142

「DIP概論」- IP Testing

A Generic TG AlgorithmSolve( )beginif Imply_and_check( ) = FAILUREthen return FAILURE

if(error at PO and all lines are justified)then return SUCCESS

if(no error can be propagated to a PO)then return FAILURE

select an unsolved problemrepeat

begin backtracking select one untried way to solve itif solve( ) = SUCCESS then

return SUCCESSend

until all ways to solve it have been triedreturn FAILURE

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 143

「DIP概論」- IP Testing

D-frontier And J-frontier

bull D-frontierndash The set of all gates whose output value is

currently x but have one or more fault signals on their inputs

bull J-frontierndash The set of all gates whose output value is

known but is not implied by their input values

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 144

「DIP概論」- IP Testing

Example of D-frontier

bull Initially the D-frontier is G6

s-a-1

abc

d

e

G2

G1

G3

G5

G4

G6

f1

f2

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 145

「DIP概論」- IP Testing

Example of J-frontierbull Initially the J-frontier is q = 1 r = 1

s-a-1

ab

cd

efh

k

l

mno

p

q

r s

1

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 146

「DIP概論」- IP Testing

LocalGlobal Implication

bull Local implicationndash Propagate values from one line to its immediate

inputs or outputsbull Global implication

ndash Propagation of values involves a larger area of the circuit and reconvergent fanout

bull Case analysis the SOCRATES system

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 147

「DIP概論」- IP Testing

Local Implication (Backward)

larr 1x

x

larr 0x

1

larr 0x

xlarr 1

x

x

Before

J-frontier = hellip

After1larr 1

larr 1

0larr 0

1

0x

xJ-frontier = hellip a

11

1 rarr

a

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 148

「DIP概論」- IP Testing

Local Implication (Forward) (12)bull Binary values

x

Before0 rarr x

1

x

0 rarr

x

0a

1 rarr

1 rarr

x

0a

D

1 rarr

xa

D

0 rarr

xa

J-frontier = hellip a

J-frontier = hellip a

D-frontier = hellip a

D-frontier = hellip a

x

After0

10

x

0

1

1

larr 0

0

D

1 aD

0 a

J-frontier = hellip

J-frontier = hellip

D-frontier = hellip

D-frontier = hellip

0 rarr

1 rarr

D rarr

0 rarr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 149

「DIP概論」- IP Testing

Local Implication (Forward) (22)bull Error values

Before After

x

x1D

D-frontier = hellip a

x

1

D-frontier = hellipa a

D rarr x

Dx a D-frontier = hellip a

D rarr D rarr

D rarrx D

DD rarr

D

DD-frontier = hellip a D-frontier = hellip

aD rarrx D

D0 rarr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 150

「DIP概論」- IP Testing

Unique D-drive

Before

xx a D-frontier = hellip aD

After

D rarr

larr 1D-frontier = hellip

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 151

「DIP概論」- IP Testing

x-path

bull A path is said to be a x-path if all its lines have value x

[Theorem 4-1] Let G be a gate on D-frontier The error(s) on the input(s) of G can be propagated to a PO Z if there exists at least one x-path between G and Z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 152

「DIP概論」- IP Testing

Error-Propagation Look-Ahead (12)

DD

x

x x

x

x

00

11

bull By Theorem 4-1 none of the fault effects can be observed on any POs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 153

「DIP概論」- IP Testing

Error-Propagation Look-Ahead (22)

bull Using the error-propagation look-ahead technique we may prune the decision tree by recognizing states from which any further decisions will lead to a failure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 154

「DIP概論」- IP Testing

D-Algorithm

bull FP is always given priority over LJbull Propagate fault effects on several

reconvergent paths referred to as ldquomultiple-path sensitizationrdquondash Some faults cannot be detected by sensitizing

only a single path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 155

「DIP概論」- IP Testing

The D-algorithm Implementation (12)D-alg( )begin Implicationsif Imply_and_check( ) = FAILURE

then return FAILURE

if(error not at PO) thenbeginif D-frontier = empty

then return FAILURE

repeat beginselect an untried gate G from

D-frontier Decisionsc = controlling value of Gassign c to every input of G with

value xif D-alg( ) = SUCCESS

then return SUCCESSend

until all gates from D-frontier have been tried

return FAILUREend if (error not at PO)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 156

「DIP概論」- IP Testing

if J-frontier = emptythen return SUCCESS

select a gate G from the J-frontierc = controlling value of G

repeat begin Decisionsselect an input j of G with value xassign c to jif D-alg( ) = SUCCESS

then return SUCCESSassign c to j

end

until all inputs of G are specifiedreturn FAILURE

end D-alg

The D-algorithm Implementation (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 157

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

Example of D-Algorithm (0113)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 158

「DIP概論」- IP Testing

Example of D-Algorithm (0213)bull Value computation (16)

Decisions Implications Commentsa = 0 Fault activationh = 1b = 1 Unique D-driven through gc = 1g = D D-frontier = i k m

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 159

「DIP概論」- IP Testing

Example of D-Algorithm (0313)bull Value computation (26)

Decisions Implications Commentsd = 1 Fault propagation through i

Propagate fault effects on i = Dd = 0

a single path D-frontier = k m n

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 160

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

Example of D-Algorithm (0413)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 161

「DIP概論」- IP Testing

bull Value computation (36)Decisions Implications Comments

j = 1 Fault propagation through nk = 1 Propagate fault effects onl = 1 a single path m = 1

n = De = 0e = 1k = D Contradiction

Example of D-Algorithm (0513)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 162

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

01

DContradiction

Example of D-Algorithm (0613)

D

1

11

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 163

「DIP概論」- IP Testing

bull Value computation (46)Decisions Implications Comments

e = 1 Fault propagation through kk = D Propagate fault effects on e = 0 two paths j = 1 D-frontier = m n

Example of D-Algorithm (0713)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 164

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

D

10 1

Example of D-Algorithm (0813)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 165

「DIP概論」- IP Testing

bull Value computation (56)Decisions Implications Comments

l = 1 Fault propagation through nm = 1 Propagate fault effects on

n= D two reconvergent paths f = 0

f = 1

m =D Contradiction

Example of D-Algorithm (0913)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 166

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

D

10 1

01

D

Contradiction

Example of D-Algorithm (1013)

D

1

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 167

「DIP概論」- IP Testing

bull Value computation (66)Decisions Implications Comments

f = 1 Fault propagation through mm = D Propagate fault effects onf = 0 three paths l = 1n= D Fault effects on POrsquos

Example of D-Algorithm (1113)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 168

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

D

10 1

10

D

1

D

Example of D-Algorithm (1213)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 169

「DIP概論」- IP Testing

bull Decision treendash Nodes the associated D-frontierndash Branches the taken decision ie the gate selected from the

D-frontieri k m

k m n

m nF

F S

i

n k

n m

Two times of backtracking

Example of D-Algorithm (1313)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 170

「DIP概論」- IP Testing

Partial Specification of The x Valuebull For a ldquototally unspecifiedrdquo composite value x

both v and vf are unknownndash x for 0 1 D D

bull For a ldquopartially specifiedrdquo composite value x v is binary and vf is unknown(u) vice versandash 0u for 0 D ndash 1u for D 1ndash u0 for 0 Dndash u1 for D 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 171

「DIP概論」- IP Testing

9-V Algorithmbull Similar to D-algorithm except that the

considered logic values are 0 1 D D 0u 1u u0 u1 uu (9-value)

bull Drive a D(D) through a gate G with controlling value c the values it assigns to the unspecified inputs of G correspond to the set c D(c D)

bull ub or bu (b is binary) at a PI is immediately transformed to bb

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 172

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

Example of 9-V Algorithm (17)

u1

u1

u1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 173

「DIP概論」- IP Testing

Example of 9-V Algorithm (27)

Decisions Implications Commentsa = 0 Fault activationh = 1b = 1 Unique D-driven through gc = 1g = Di = u1k = u1m = u1 D-frontier = i k m

bullV

alue computation (13)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 174

「DIP概論」- IP Testing

Example of 9-V Algorithm (37)

Decisions Implications Commentsd = 1 Fault propagation through i

i = Dd = 0

n = 1u D-frontier = k m n

bullV

alue computation (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 175

「DIP概論」- IP Testing

Example of 9-V Algorithm (47)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

u1

1

0

D

1u

u1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 176

「DIP概論」- IP Testing

Example of 9-V Algorithm (57)

bullV

alue computation (33)

Decisions Implications Commentsl = u1 Fault propagation through nj = u1

n = Df = u0f = 1f = 0

e = u0

e = 1e = 0k = D

m = D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 177

「DIP概論」- IP Testing

0

1D

Example of 9-V Algorithm (67)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

u1

u1

1

0

D

D0

1D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 178

「DIP概論」- IP Testing

Example of 9-V Algorithm (77)bull Decision tree

ndash Nodes the associated D-frontierndash Branches the taken decision ie the gate selected from the

D-frontier

i k m

k m n

S

i

n

No backtracking

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 179

「DIP概論」- IP Testing

D-Algorithm vs 9-V Algorithm

bull Whenever there are k possible paths for FPndash D-algorithm may eventually try all the 2k-1

combinations of pathsndash 9-V algorithm tries only one path at a time but

without precluding simultaneous FP on the other k-1 paths

bull Enumerate at most k ways of FP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 180

「DIP概論」- IP Testing

Inversion Parity

bull In circuits composed only of AND OR NAND NOR and NOT gates we can define the ldquoinversion parityrdquo of a path as the number taken modulo 2 of the inverting gates (NAND NOR and NOT) along that path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 181

「DIP概論」- IP Testing

Path-Oriented DEcision Making (PODEM)bull PODEM allows the value assignments for LJ

problems only on PIs ie backtracking can occur only on PIs ndash Treat a value vk to be justified for line k as an

objective (k vk)ndash Use the backtracing procedure to map the object

into a PI assignment that ldquois likely to contributerdquo to achieve the objective

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 182

「DIP概論」- IP Testing

BacktracingObjective (k vk)Step 1 Find a x-path from line k to a PI say aStep 2 Count the inversion parity of the pathStep 3 If the inversion parity is even then

return (a vk) otherwise (a vk)

Note No non-PI values are assigned during backtracing ie these values are assigned only by simulating PI assignments (implications)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 183

「DIP概論」- IP Testing

The Backtracing ImplementationBacktrace(k vk) map objective into PI assignment beginv = vk

while k is a gate output begin

i = inversion of kselect an input j of k with value xv = v oplus ik = j

endreturn (k v) k is a PI

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 184

「DIP概論」- IP Testing

Example of Backtracing ProcedureObjective (f 1)

fd

e

ca

bx

x

x

xxx

fd

e

ca

bx

1

x

10x

The first time of backtracing

fd

e

ca

bx

1

x1

0x

fd

e

ca

b1

1

0

101

The second time of backtracing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 185

「DIP概論」- IP Testing

Choosing of Objectives (12)

bull In PODEM the order of the objectives being considered is as follows1 The objectives for FA2 Repeatedly select a gate G from the D-frontier

(until some fault effect is at a PO or the D-frontier is empty) and consider the input with x value as an objective

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 186

「DIP概論」- IP Testing

Choosing of Objectives (22)

Objective( )being

the target fault is l s-a-v if (the value of l is x) then return (l v)select a gate G from the D-frontierselect an input j of G with value xc = controlling value of G return (j c)

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 187

「DIP概論」- IP Testing

The PODEM ImplementationPODEM( ) beginif (error at PO) then return SUCCESSif (test not possible) then return FAILURE(k vk) = Objective( )(j vj) = Backtrace(k vk) j is a PI Imply(j vj)if PODEM( ) = SUCCESS then return SUCCESSImply(j vj) reverse decision if PODEM( ) = SUCCESS then return SUCCESSImply(j x)return FAILURE

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 188

「DIP概論」- IP Testing

Example 1 of PODEM (18)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

D

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 189

「DIP概論」- IP Testing

Example 1 of PODEM (28)bull Value computation (13)

Objective PI Assignment Implications D-frontier Comments

(a 0) a = 0 h = 1 g

(b 1) b = 1 g(c 1) c = 1 g = D i k m

(d 1) d = 1 d = 0

i = D k m n

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 190

「DIP概論」- IP Testing

Example 1 of PODEM (38)bull Value computation (23)Objective PI Assignment Implications D-frontier Comments

(k 1) e = 0 e = 1j =0

k =1n = 1 m x-path check fails

e = 1 e = 0 reversal

j = 1k = D m n

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 191

「DIP概論」- IP Testing

Example 1 of PODEM (48)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

00

1

D

D

11

x-path(to PO)check failsrArr Backtracking

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 192

「DIP概論」- IP Testing

Example 1 of PODEM (58)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

11

0

D

D

1D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 193

「DIP概論」- IP Testing

Example 1 of PODEM (68)bull Value computation (33)Objective PI Assignment Implications D-frontier Comments

(l 1) f = 1 f = 0l = 1

m = Dn = D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 194

「DIP概論」- IP Testing

Example 1 of PODEM (78)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

11

0

D

D

11 0

D

D

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 195

「DIP概論」- IP Testing

Example 1 of PODEM (88)bull Decision tree

ndash Nodes the PIs selected to be assigned valuesndash Branches the value assigned to the PI

a0b1

c1d1

e0F f1

S

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 196

「DIP概論」- IP Testing

Features of PODEMbull PODEM examines all possible input

patterns implicitly but exhaustively as tests for a given fault ie a complete TG

bull PODEM does not needndash Consistency checkndash The J-frontierndash Backward implications

bull Generally faster than D-algorithm

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 197

「DIP概論」- IP Testing

A More Intelligent Backtracing (12)bull To guide the backtracing process of PODEM

controllability for each line is measuredndash CY1(a) the probability that line a has a value 1ndash CY0(a) the probability that line a has a value 0

bull Eg f = ab assume CY1(a) = CY0(a) = CY1(b) = CY0(b) = 05ndash CY1(f) = CY1(a) CY1(b) = 025ndash CY0(f) = 1 - CY1(f) = 075

ab f

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 198

「DIP概論」- IP Testing

bull How to guide the backtracing process using controllabilityndash Principle 1 Among several unsolved problems first

attack the hardest onendash Principle 2 Among several solutions of a problem

first try to the easiest onebull Eg

ndash Objective (c 1) rArr Choose path c-a to backtracendash Objective (c 0) rArr Choose path c-a to backtrace

A More Intelligent Backtracing (22)

ab c

CY1(a) = 033 CY0(a) = 067CY1(b) = 05 CY0(b) = 05

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 199

「DIP概論」- IP Testing

Example 2 of PODEM (14)Initial objective(G5 1)G5 is an AND gate Choose the hardest-1rArr Current objective is (G1 1)G1 is an AND gate Choose the hardest-1 rArr Arbitrarily current objective is (A 1)A is a PI Implication rArr G3 = 0

Ps Initially CY1 and CY0 for all PIs are set to 05

C1(G1) = 025

C1(G1) = 0656

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 200

「DIP概論」- IP Testing

Example 2 of PODEM (24)Is the initial objective justified No rArr Current objective (G5 1)G5 is an AND gate Choose the hardest-1rArr Current objective is (G1 1)G1 is an AND gate rArr Choose the hardest-1 rArr Arbitrarily current objective is (B 1)B is a PI rArr Implication rArr G1 = 1 G6 = 0

C1(G1) = 025

C1(G1) = 0656

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 201

「DIP概論」- IP Testing

Example 2 of PODEM (34)Is the initial objective justified No rArr Current objective (G5 1)The value of G1 is known rArr Current objective (G4 0)The value of G3 is known rArr Current objective(G2 0)A B are known rArr Current objective (C 0)C is a PI rArr Implication rArr G2 = 0 G4 = 0 G5 = D G7 = D

C1(G1) = 025

C1(G1) = 0656

No backtracking

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 202

「DIP概論」- IP Testing

Example 2 of PODEM (44)

bull If the backtracing process is not guided ndash Two times of backtracking may occur

G5rarr G4rarr G2rarr A

G5rarr G4rarr G2rarr B

G5rarr G4rarr G2rarr C

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 203

「DIP概論」- IP Testing

Head Lines

bull A line that is reachable from at least one stem is said to be bound otherwise free

bull A head line is a free line that directly feeds a bound line

head linesbound

DE

ABC

F

G

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 204

「DIP概論」- IP Testing

The Property of Head Lines[Theorem 4-2] If l is a head line the value of l can be justified without contradicting any other values previously assignedHintThe subcircuit feeding l is fanout-free

head linesbound

DE

ABC

F

G

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 205

「DIP概論」- IP Testing

Fanout-Oriented (FAN) Algorithmbull The FAN algorithm introduces two major

extensions to the backtracing concept of PODEMndash Rather than stopping at PIs backtracing in

FAN may stop at internal lines ie head lines ndash Rather than trying to satisfy one objective

FAN use a multiple-backtrace procedure that attempts to simultaneously satisfy a set of objectives

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 206

「DIP概論」- IP Testing

FAN vs PODEM

head linesbound

DE

ABC

F

G

Assume that setting G = 0 causes the D-frontier to become empty

A1B0

F C0F

1

1

G0F

1

PODEM FAN

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 207

「DIP概論」- IP Testing

Multiple Backtracing (13)Mbacktrace(Current_objectives)beginrepeat

beginremove one entry (k vk) from

Current_objectivesif k is a head line

then add (k vk) to Head_objectiveselse if k is a fanout branch

thenbegin

j = stem(k)increment number of requests at

j for vk

add j to Stem_objectivesend else if k is a fanout branch

else continue tracingbegin

i = inversion of kc = controlling value of k

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 208

「DIP概論」- IP Testing

Multiple Backtracing (23)

if(vkoplus i = c) then

beginselect an input j of k with

value xadd (j c) to

Current_objectivesend if(vkoplus i = c)

elsefor every input j of k with

value x

add (j c) to Current_objectives

end continue tracingend

until Current_objectives = empty

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 209

「DIP概論」- IP Testing

Multiple Backtracing (33)

if Stem_objectives ne emptybeginremove the highest-level stem k from

Stem_objectives

vk = most requested value of k

if(k has contradictory requirements and k is not reachable from target fault)

then return (k vk)add (k vk) to Current_objectivesreturn

Mbacktrace(Current_objectives)end if Stem_objectives ne empty

remove one objective (k vk) from Head_objectivesreturn (k vk)

end Mbacktrace

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 210

「DIP概論」- IP Testing

Generation of Conflicting Values on A Stem

0

1

0

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 211

「DIP概論」- IP Testing

Example of Multiple Backtracing (12)

AB

A1

A2E

E1

E2

G

H

I

JC

1

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 212

「DIP概論」- IP Testing

Example of Multiple Backtracing (22)

(I 1 ) (J 0 ) (I 1 )

(J 0 ) (G 0 ) (J 0 )

(G 0 ) (H 1 ) (G 0 )

(H 1 ) (A1 1 ) (E1 1) (H 1 )

(A1 1 ) (E1 1 ) (E2 1) (C 1) (A1 1 ) A(E1 1 ) (E2 1 ) (C 1 ) (E1 1 ) A E(E2 1 ) (C 1 ) (E2 1 ) A E(C 1) (C 1 ) A E C

A C(E 1 ) (E 1 ) A C(A2 0 ) (A2 1 ) A C

A C

Current_objectivesProcessed

entry Stem_objectives Head_objectives

empty

empty

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 213

「DIP概論」- IP Testing

The FAN Implementation (12)FAN( ) beginif Imply_and_check( ) =

FAILUREthen return FAILURE

if (error at PO and all bound lines are justified) then

beginjustify all unjustified head lines return SUCCESS

end

if(error not at PO and D-frontier = empty)then return FAILURE

add every unjustified bound lines to Current_objectivesselect one gate G from the D-frontier c = controlling value of Gfor every input j of G with value xadd (j c) to Current_objectives

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 214

「DIP概論」- IP Testing

The FAN Implementation (22)(i vi) = Mbackrace(Current_objectives)Assign(i vi)if FAN( ) = SUCCESSthen return SUCCESS

Assign(i vi) reverse decisionif FAN( ) = SUCCESSthen return SUCCESS

Assign(i x)return FAILURE

End FAN( )

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 215

「DIP概論」- IP Testing

ATPG (12)

bull Basic schemeinitialize the test set to NULLrepeat

generate a new test vectorevaluate fault coverage for the test vectorif the test vector is acceptable then add it to the test set

until the required fault coverage is obtained

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 216

「DIP概論」- IP Testing

ATPG (22)

bull Accelerationndash Phase I Random test patterns are generated

first to detect easy-to-detect faultsndash Phase II A deterministic TG is then performed

to generate test patterns for the remaining faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 217

「DIP概論」- IP Testing

Sequential TG

bull For circuits with unknown initial statesndash Time-frame expansion based

bull Extended D-algorithmbull 9-V sequential TG

ndash Simulation basedbull CONTEST [Agrawal and Cheng IEEE TCAD Feb

1989]

bull For circuits with known initial statesndash STALLION [Ma et al IEEE TCAD Oct 1988]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 218

「DIP概論」- IP Testing

Iterative Logic Array (ILA) Model

bull Here the model is restricted to synchronous sequential circuits

initial states

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 219

「DIP概論」- IP Testing

Extended D-algorithm1 Pick up a target fault f2 Create a copy of the combinational logic say Time-

frame 03 Generate a test pattern for f using D-algorithm for

time-frame 04 If all the fault effects are propagated into the FFrsquos

continue the fault propagation in the next time-frame5 If there are values required to be justified in the

FFrsquos continue the line justification (LJ) in the previous time-frame

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 220

「DIP概論」- IP Testing

I

OY1

Y2y1

y2 s-a-1

FF2

FF1

Example of Extended D-algorithm (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 221

「DIP概論」- IP Testing

Example of Extended D-algorithm (22)

OY1

Y2

I

y1

y2 s-a-1

time-frame 00

1

D

I

OY1

Y2

y1

y2 s-a-1

time-frame 1

1D

I

y1

y2 s-a-1

time-frame -1

0

0

Y1

Y2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 222

「DIP概論」- IP Testing

9-V Sequential TG

bull Extended D-algorithm is not completebull If 9-V instead of 5-V is used it will be a

complete algorithmndash Since it takes into account the possible repeated

effects of the fault in the ILA model

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 223

「DIP概論」- IP Testing

Example of 9-V Sequential TG (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 224

「DIP概論」- IP Testing

Example of 9-V Sequential TG (22)bull If 5-V Sequential TG is usedhelliphellip

D D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 225

「DIP概論」- IP Testing

Problems of Time-frame Approachesbull The requirements created during the

forward process (FP) have to be justified (LJ) by the backward processes laterndash Need going both forward and backward time

framesndash Need to maintain a large number of time-

framesbull How many Cyclesbull Implementation is complicated

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 226

「DIP概論」- IP Testing

Simulation-Based Approaches

bull Advantagesndash Timing is considered and asynchronous circuits

can be handledndash Can be easily implemented by modifying a

fault simulatorbull Disadvantages

ndash Can not identify undetectable faultsndash Hard-to-activate faults may not be detected

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 227

「DIP概論」- IP Testing

Difficulties of Sequential Test Generation

bull Initialization is difficultndash Justify invalid statesndash Long initialization sequences (simulator

limitations)bull Timing cannot be considered by time-frame

expansionsndash Races and hazardsndash Asynchronous circuits cannot be handled

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 228

「DIP概論」- IP Testing

Why FC of 100 Is Hard

bull If each undetected fault is redundant then FC will easily reach at 100ndash Proving that the undetected fault is a redundant

fault may be very and very hardbull How to increase FC

faultsredundant the-list fault of size thefaultsredundant the-fault undetected of size the-1

faultsredundant the-list fault of size thefaults detected the

=

=FC

Chapter 5

Design for Testability (DFT)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 230

「DIP概論」- IP Testing

Motivation bull Test costs

ndash Test Generation (TG)ndash Fault Simulationndash Test Application Timendash Memory spacendash helliphellip

bull Test difficultiesndash Sequential gt Combinationalndash helliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 231

「DIP概論」- IP Testing

Testability Measures

bull Controllabilityndash The difficulty of setting a particular logic signal

to a 0 or 1bull Observability

ndash The difficulty of observing the state of a logic signal

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 232

「DIP概論」- IP Testing

SCOAPbull Sandia ControllabilityObservability

Analysis Program [Goldstein 1979]bull Use six cost functions of type integer to

reflect the relative difficulties of controlling and observing signals in digital circuitsndash Higher numbers indicate more difficult to

control or observe signals

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 233

「DIP概論」- IP Testing

Combinational SCOAP Measures

bull For signal lndash CC0(l)

bull The combinational ldquorelative difficultyrdquo of setting l to 0

ndash CC1(l)bull The combinational ldquorelative difficultyrdquo of setting l to 1

ndash CO(l)bull The combinational ldquorelative difficultyrdquo of propagating

a fault effect from l to a PO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 234

「DIP概論」- IP Testing

bull For signal lndash SC0(l)

bull The sequential ldquorelative difficultyrdquo of setting l to 0

ndash SC1(l)bull The sequential ldquorelative difficultyrdquo of setting l to 1

ndash SO(l)bull The sequential ldquorelative difficultyrdquo of propagating a

fault effect from l to a PO

Sequential SCOAP Measures

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 235

「DIP概論」- IP Testing

Initialization

bull CC0(i) = CC1(i) = SC0(i) = SC1(i) = 1 for all PI ibull CO(o) = SO(o) = 0 for all PO obull Set others to infin

The controllabilities range between 1 and infin

The observabilities range between 0 and infin

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 236

「DIP概論」- IP Testing

Controllability of Combinational Components (12)

bull CC0(z) = CC0(a) + CC0(b) + 1bull CC1(z) = minCC1(a) CC1(b) + 1bull SC0(z) = SC0(a) + SC0(b)bull SC1(z) = minSC1(a) SC1(b)

ab z

CC0 or CC1 are related to the number of signals that may be manipulated to control SC0 or SC1 are related to the number of time-frames needed to control

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 237

「DIP概論」- IP Testing

Controllability of Combinational Components (22)ab

ab

abab

ab

ab

z

z

z

z

z

z

CC0(z) = minCC0(a) CC0(b) + 1CC1(z) = CC1(a) + CC1(b) + 1

CC0(z) = CC1(a) + CC1(b) + 1CC1(z) = minCC0(a) CC0(b) + 1CC0(z) = CC0(a) + CC0(b) + 1CC1(z) = minCC1(a) CC1(b) + 1CC0(z) = minCC1(a) CC1(b) + 1CC1(z) = CC0(a) + CC0(b) + 1

CC0(z) = minCC1(a) + CC1(b) CC0(a) + CC0(b) + 1CC1(z) = minCC0(a) + CC1(b) CC1(a) + CC0(b) + 1

CC0(z) = minCC0(a) + CC1(b) CC1(a) + CC0(b) + 1CC1(z) = minCC1(a) + CC1(b) CC0(a) + CC0(b) + 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 238

「DIP概論」- IP Testing

Controllability of Sequential Components

bull CC0(Q) = minCC0(R) CC1(R) + CC0(D) + CC0(C) + CC1(C)bull CC1(Q) = CC1(R) + CC1(D) + CC0(C) + CC1(C)bull SC0(Q) = minSC0(R) SC1(R) + SC0(D) + SC0(C) + SC1(C) + 1bull SC1(Q) = SC1(R) + SC1(D) + SC0(C) + SC1(C) + 1

D

C

Q

R

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 239

「DIP概論」- IP Testing

Observability (12)

P

QR

N

bull CO(P) = CO(N) + CC1(Q) + CC1(R) + 1bull SO(P) = SO(N) + SC1(Q) + SC1(R)

D

C

Q

R bull CO(R) = CO(Q) + CC1(Q) + CC0(R)bull SO(R) = SO(Q) + SC1(Q) + SC0(R) + 1

CO are related to the number of signals that may be manipulated to observeSO are related to the number of time-frames needed to observe

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 240

「DIP概論」- IP Testing

Observability (22)ab

ab

abab

ab

ab

z

z

z

z

z

z

CO(a) = CO(z) + CC1(b) + 1CO(b) = CO(z) + CC1(a) + 1

CO(a) = CO(z) + CC1(b) + 1CO(b) = CO(z) + CC1(a) + 1

CO(a) = CO(z) + CC0(b) + 1CO(b) = CO(z) + CC0(a) + 1CO(a) = CO(z) + CC0(b) + 1CO(b) = CO(z) + CC0(a) + 1

CO(a) = CO(z) + minCC0(b) CC1(b) + 1CO(b) = CO(z) + minCC0(a) CC1(a) + 1CO(a) = CO(z) + minCC0(b) CC1(b) + 1CO(b) = CO(z) + minCC0(a) CC1(a) + 1

zz1z2

zn

CO(z) = minCO(z1) CO(zz) helliphellip CO(zn)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 241

「DIP概論」- IP Testing

Example of SCOAP (13)

1

23

4

5

6

PI3

PI2

PI1

PO

Note ( C0 C1 )

(11)

(11)

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11)

(11)

(11)

Computation of controllability (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 242

「DIP概論」- IP Testing

Example of SCOAP (23)

Note ( C0 C1 )

(11)

(11)

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11)

(11)

(11)

(22)

(22)

(23)

(35)

(27)

(54)

Note ( C0 C1 ) O

(11)

(11)

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11)

(11)

(11)

(22)

(22)

(23)

(35)

(27)

(54) 0

Computation of controllability (22)

Computation of observability (13)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 243

「DIP概論」- IP Testing

Example of SCOAP (33)

Note ( C0 C1 ) O

(11) 5

(11) 5

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11) 9

(11) 9

(11) 9

(22) 8

(22) 8

(23) 3

(35) 5

(27) 3

(54) 0

Note ( C0 C1 ) O

(11) 5

(11) 5

1

23

4

5

6

PI3

PI2

PI1

PO

(11) 5

(11) 5

(11) 9

(11) 9

(11) 9

(22) 8

(22) 8

(23) 3

(35) 5

(27) 3

(54) 0

Computation of observability (23)

Computation of observability (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 244

「DIP概論」- IP Testing

Importance of Testability Measures

bull Speed up test generation (TG) algorithmsbull Improve the testability of the circuit under

design ndash Guide the design for testability (DFT) insertion

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 245

「DIP概論」- IP Testing

Design for Testability (DFT)

bull DFT techniquesndash Design efforts specifically employed to ensure

that a circuit is testablebull In general DFT is achieved by employing

extra hardware overheadndash Conflict between design and test engineersndash Balance between amount of DFT and gain

achieved

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 246

「DIP概論」- IP Testing

Benefits of DFTbull Fault coverage uarr (must guarantee) bull Test generation time darrbull Test lengthTest memoryTest application time darrbull Support a test hierarchy

ndash Chipsndash Boardsndash Systems

rArrPay less now and pay more latter without DFT

FC100

with DFT

of T

without DFT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 247

「DIP概論」- IP Testing

Costs Associated with DFT

bull Pin overhead uarrbull Area uarrbull Yield darrbull Performance darrbull Design time uarr

rArrThere is no free lunch

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 248

「DIP概論」- IP Testing

DFT Techniques

bull Ad hoc DFT techniquesbull Scan-based designsbull Boundary scan

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 249

「DIP概論」- IP Testing

Ad Hoc DFT Techniquesbull Test pointsbull Initializationbull Monostable multivibrators (one-shots)bull Oscillators and clocksbull Partitioning counters and shift registersbull Partitioning of large combinational circuitsbull Logic redundancybull Break global feedback paths

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 250

「DIP概論」- IP Testing

Test Pointsbull Insert test points control points (CPs) and

observation points (OPs) to enhance controllability and observability

C1 C2 C1 C2

jumper

CPOP

original circuits testable circuits

Can be done only for boards

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 251

「DIP概論」- IP Testing

01-Injection

CP1

C1

CP0

C2

01-injection

C1C2

CP00-injection 1-injection

C1C2

CP1

OP OP

OP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 252

「DIP概論」- IP Testing

01-Injection Using a MUX

NT

C1

CP C2

01-injection

MUX

0

1

OP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 253

「DIP概論」- IP Testing

IO-Pin Cost Decrement (12)

01

2n-11 2 n

X1 X2 Xn

Z

CP1CP2

CPN

DEMUX

N = 2n

Using a demultiplexer and a latchregister to implement CPs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 254

「DIP概論」- IP Testing

IO-Pin Cost Decrement (22)

01

2n-11 2 n

X1 X2 Xn

Z

OP1OP2

OPN

MUX

N = 2n

Multiplexing OPs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 255

「DIP概論」- IP Testing

Time-Sharing IO Pins (12)

PIs DEMUX

normal functional

inputsn

n

n nCPs

0

1

NT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 256

「DIP概論」- IP Testing

Time-Sharing IO Pins (22)

OPs

DEMUX

normal functional

outputs

n

n

nPOs

0

1

NT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 257

「DIP概論」- IP Testing

Selection of CPs (12)

bull Control address and data bus lines on bus-structured designs

bull Enablehold inputs to microprocessorsbull Enable and readwrite inputs to memory

devicesbull Clock and presetclear inputs to memory

devices such as flip-flops counter and shift registers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 258

「DIP概論」- IP Testing

Selection of CPs (22)

bull Data select inputs to multiplexers and demultiplexers

bull Control lines on tri-state devices

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 259

「DIP概論」- IP Testing

Selection of OPs (12)

bull Stem lines associated with signals having high fanout

bull Global feedback pathsbull Redundant signal linesbull Outputs of logic devices having many

inputs such as multiplexers and parity generators

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 260

「DIP概論」- IP Testing

Selection of OPs (22)

bull Outputs from state devices such as flip-flops counters and shift registers

bull Address control data buses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 261

「DIP概論」- IP Testing

Initialization (12)bull Design circuits to be easily initializable

ndash Donrsquot disable preset (PR) and clear (CLR) lines

PR

CLR

Vcc

Vcc

Q

Q

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 262

「DIP概論」- IP Testing

Initialization (22)bull When the preset or clear line is driven by

logic a gate can be added to achieve initialization

PR

CLR

Q

Q

C1

Clear

PR

CLR

Q

Q

C1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 263

「DIP概論」- IP Testing

Built-In Initialization Signal Generator

Vcc

t

VZ

Vcc

Z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 264

「DIP概論」- IP Testing

Monostable Multivibrators (One-Shots) (12)

bull Disable internal one-shots during test

C1C2

one-shotjumper

CPOP

jumper

OP CP

Can be done only for boards

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 265

「DIP概論」- IP Testing

Monostable Multivibrators (One-Shots) (22)

C1

C2

one-shotA

B

E (OP)

C

D

MUX

0

1

01-I

s

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 266

「DIP概論」- IP Testing

Oscillators And Clocksbull Disable internal oscillators and clocks

during test

OSCC

OP

AB

01-I

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 267

「DIP概論」- IP Testing

CountersShift Registers (12)bull Partition large counters and shift registers

into smaller units

DIN

CK

DOUTR1

DIN

CK

DOUTR2C

X1 X2

Y1 Y2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 268

「DIP概論」- IP Testing

CountersShift Registers (22)

CPdata inhibit

CPtest data

C

CPclock inhibitCPtest clock

DIN

CK

DOUT

R1

X1

Y1

CPdata inhibit

CPtest data

OP

DIN

CK

DOUT

R2

X2

Y2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 269

「DIP概論」- IP Testing

Partitioning Large Circuits (12)bull Partition large circuits into smaller

subcircuits to reduce test generation cost

C1 C2

AB

C

D

E

F G

m ns

p

q

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 270

「DIP概論」- IP Testing

Partitioning Large Circuits (22)

If 2p+n + 2q+m lt 2n+m then test time can be reduced

m

s

n

q

p

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 271

「DIP概論」- IP Testing

Logic Redundancy

bull Avoid the use of redundant logicndash Remove (for eliminating hazardshelliphellip)

bull Add test points to remove the redundancy during testing

bull Bias fault coverage

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 272

「DIP概論」- IP Testing

Global Feedback Pathsbull Provide logic to break global feedback

paths

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 273

「DIP概論」- IP Testing

Scan SystemPO

C

R

PI

C

Rrsquo

PI

Sin

Sout

PO

Original design Modified design

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 274

「DIP概論」- IP Testing

Scan Storage Cell (SSC)

DSi

N TCK

Q So

N T Q So

0 D1 Si

D QSSC

Symbol for a SSC

rArr A SSC can be used as control point (CP) andor observation point (OP)

SSC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 275

「DIP概論」- IP Testing

Simultaneous CO

C1 C2

MUX

0

1

T

D Q

CPOP

SiN T CK

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 276

「DIP概論」- IP Testing

Scan Register (SR) (12)

Sin

CK

N T

D1

Q

Q1 D2

Q

Q2 Dn

Q

Qn

DSi

N TCK

SoutSSC SSC

R

Symbol for a SR

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 277

「DIP概論」- IP Testing

Scan Register (SR) (22)

bull A scan register (SR) loads data in parallel when N T = 0 (normal mode) and shifts when N T = 1 (test mode)ndash Scan-in operation (test mode)

bull Load data into R from line Sin (control)

ndash Scan-out operation (test mode)bull Read data out of R from line Sout (observation)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 278

「DIP概論」- IP Testing

Generic Scan-Based Design

bull Full serial integrated scanbull Full isolated scanbull Nonserial scan

ndash Random-access scan

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 279

「DIP概論」- IP Testing

Full Serial Integrated Scan (12)

bull All the original storage cells are replaced by the SSCrsquos and made part of the SR

bull Sequential ATPG rarr Combinational ATPG

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 280

「DIP概論」- IP Testing

C

R

PI PO

CK

C

Rs

PI PO

CKNT Sin

Sout

Original design (Normal) Modified design (Scanned)

Full Serial Integrated Scan (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 281

「DIP概論」- IP Testing

Full Isolated Scan (12)bull The SR is not in the the normal data path

C

Rrsquo

Rs

PI PO

Sin Sout

two data input ports

shadow register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 282

「DIP概論」- IP Testing

Full Isolated Scan (22)bull Advantages

ndash Real-time testingbull A single test can be applied at the operational clock

rate of the system

ndash On-line testingbull The circuit can be tested while in normal operation

bull Disadvantagesndash Hardware overhead

bull Two data input portsbull Shadow register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 283

「DIP概論」- IP Testing

Random-Access Scan (12)C

addressable storage elements

clocks and controls

Y-address(decoder)

X-address(decoder)

Sout

SinSCK

PI PO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 284

「DIP概論」- IP Testing

Random-Access Scan (22)bull Advantages

ndash Scan in a new vector only bits that need be changed must be addressed and modified also selected bits can be observed

bull Full controllability and observability

bull Disadvantagesndash Hardware overhead

bull Considerable overhead associated with storing the addresses of the cells to be setread

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 285

「DIP概論」- IP Testing

IBM LSSD Scan Cellbull Level Sensitive Scan Design

D

Sin

Q2 Sout(L2)

Q1 (L1)

C

A

B

Normal mode A = 0 C and B activeTest mode C = 0 A and B active

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 286

「DIP概論」- IP Testing

Clock Schemebull To obtain race-free condition clocks C and

B as well as A and B are nonoverlapping

C

B

A

B

Normal mode A = 0

Test mode C = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 287

「DIP概論」- IP Testing

LSSD Double-Latch Design

Sout

Sin

CA

B

Shift Register Latch (SRL)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 288

「DIP概論」- IP Testing

LSSD Single-Latch Design

Sout

SinC2

Shift Register Latch (SRL)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 289

「DIP概論」- IP Testing

Scan Design Costsbull Hardware overheadbull Extra pinsbull High test timebull Extra slower clock controlsbull Possible performance degradationbull Some designs are not easily realizable as

scan designTest generation costs can be significantly reduced and lead to higher fault coverage

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 290

「DIP概論」- IP Testing

Notes

Chapter 6

Advanced Scan Concepts

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 292

「DIP概論」- IP Testing

Advanced Scan Concepts

bull Multiple test sessionsbull Multiple scan chainsbull Broadcast scan chainsbull Partial scan

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 293

「DIP概論」- IP Testing

Multiple Test Sessions (12)bull of test patterns

ndash C1 100 C2 200 C3 30020 bits 20 bits 20 bits

C1 C2 C3

Test time= 60 300= 18000 (cycles)

One session

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 294

「DIP概論」- IP Testing

Multiple Test Sessions (22)bull of test patterns

ndash C1 100 C2 200 C3 300

20 bits 20 bits 20 bits

C1 C2 C3

Test time= 60 100 +

40 100 +20 100

= 12000 (cycles)

Three sessions

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 295

「DIP概論」- IP Testing

Multiple Scan Chainsbull Reduce test application timebull Large pin overhead

ndash Usually test IO will share the normal IO

A single chain (long test time) Multiple chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 296

「DIP概論」- IP Testing

Broadcast Scan Chainsbull Using a single data input to support multiple

scan chains

Source Lee et al ICCADrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 297

「DIP概論」- IP Testing

Virtual Circuitsbull The inputs of circuits under test (CUTs) are

connected in a 1-to-1 manner

bull The whole virtual circuit is considered as one circuit during ATPG

bull The resulted test patterns can be shared by all CUTs Source Lee et al ICCADrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 298

「DIP概論」- IP Testing

Partial Scanbull Only a subset of flip-flops are scannedbull Trade-offs

ndash Area overheadndash TG complexity

partial scan

full scan

sequential TG

combinational TG

1000 (scanned FFrsquos)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 299

「DIP概論」- IP Testing

A Basic Method for Partial Scanbull Represent a sequential circuit with feedback

as a directed graph G = (V E)ndash Each flip-flop i is represented as vertex vi in V ndash Each combinational path from flip-flop i to j is

represented as a directed edge from vi to vj in E

Source Cheng and Agrawal IEEE TComputersrsquo90

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 300

「DIP概論」- IP Testing

Graph Representation (13)

3

1 2 4 5 6

A sequential circuit with 6 flip-flops

Graph representation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 301

「DIP概論」- IP Testing

Graph Representation (23)bull Distance between two vertices on a path is

defined as the number of vertices on that path

distance = 4

distance = 3

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 302

「DIP概論」- IP Testing

Graph Representation (33)bull Sequential depth of a circuit is defined as

the distance of the longest pathbull Cycle length is defined as the maximum

number of vertices in a cycle

Sequential depth = 6

Cycle length = 3 Cycle length = 1 Cycle length = 2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 303

「DIP概論」- IP Testing

Analysis of Sequential Circuits (13)

bull Any sequential circuit can be divided into 3 classes of subcircuits based on the directed graph representationndash Acyclic directed (testable)ndash Directed with only self-loops (testable)ndash Directed with cycles of two or more vertices

(not testable)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 304

「DIP概論」- IP Testing

Analysis of Sequential Circuits (23)

Directed with cycles of two or more vertices (not testable)

Acyclic directed (testable)

Directed with only self-loop (testable)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 305

「DIP概論」- IP Testing

Analysis of Sequential Circuits (33)

bull The number of gates or flip-flops is not the dominant factor for test generation complexity

bull Cycle length is the dominant factorndash To reduce test generation complexity cycles of

length ge 2 should be break or eliminatedbull Sequential depth is minor

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 306

「DIP概論」- IP Testing

Flip-Flop Selection Algorithm (12)

beginidentify all cyclesrepeat

for every vertex begincount the frequency of appearance in the cycle list

endselect the most frequently used vertexremove all cycles containing the selected vertex from the cycle listuntil cycle list is empty

end

bull Finding the vertex set that breaks all cycles called the feedback vertex set problem is NP-completendash Heuristics must be used to bound the computation time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 307

「DIP概論」- IP Testing

= 695

Flip-Flop Selection Algorithm (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 308

「DIP概論」- IP Testing

The BALLAST Methodology (13)bull Scan storage elements are selected such that

the remainder of circuit has some testable structurendash A complete test set can be obtained by using

combinational ATPGsequential TG

combinational TG

1000Source Gupta et al IEEE TComputersrsquo90

BALLAST

(scanned FFrsquos)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 309

「DIP概論」- IP Testing

The BALLAST Methodology (23)

Sout

Sin

HOLD(for test)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 310

「DIP概論」- IP Testing

bull Test procedure for a test pattern ndash Scan in the pattern to R3 and R6

ndash Hold the test pattern in R3 and R6 for two clock cycles such that the test response appears in R4and R5

ndash Load data to R3 and R6 and scan out

The BALLAST Methodology (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 311

「DIP概論」- IP Testing

Circuit Model (14)

bull Given a synchronous sequential circuit Sndash The combinational logic can be partitioned into

clouds where each cloud is a maximal region of connected combinational logic such that its inputs are either primary inputs or outputs of FFrsquos and its outputs are either primary outputs or inputs to FFrsquos

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 312

「DIP概論」- IP Testing

Circuit Model (24)bull A register

ndash Consists of one or more FFrsquos driven by the same clock signal

ndash Receives data from exactly one cloud and feeds exactly one cloud

bull Two typesndash Load set (L) always operates in LOAD modendash Hold set (H) two modes of operation ndash LOAD

and HOLD

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 313

「DIP概論」- IP Testing

Circuit Model (34)bull A directed graph G = (V A H W)

ndash V the set of cloudsndash A the set of connections between two clouds

through registersndash H sub A connections through HOLD registersndash W ArarrZ+ defines the number of FFrsquos in each

registersbull W(a) represent the cost of converting a register into

a scan register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 314

「DIP概論」- IP Testing

Circuit Model (44)

R3

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 315

「DIP概論」- IP Testing

Balanced Sequential Structurebull A synchronous sequential circuit S with G is said

to be a balanced sequential structure (B-structure) ifndash G is acyclic ndash forallv1 v2 isin V all directed paths from v1 to v2 are of equal

lengthndash forallh isin H if h is removed from G the resulted graph is

disconnectedbull When examining whether a circuit with scan

registers is a B-structure the arcs corresponding to scan registers must be removed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 316

「DIP概論」- IP Testing

Example of B-structure

Red arcs represent HOLD registersOthers represent LOAD registers

A B-structure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 317

「DIP概論」- IP Testing

Kernel of a B-Structure (13)bull Given a B-structure SB

ndash Combinational equivalent CB is defined as the combinational circuit formed by replacing each FF in every register in SB by a wire or an inverter

bull Single-pattern testablebull A complete single-pattern test set can be derived

using combinational test generation techniques

bull The depth d of SB

ndash The number of registers on the longest path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 318

「DIP概論」- IP Testing

Kernel of a B-Structure (23)B-structure SB (d = 2)

Combinational Equivalent CB

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 319

「DIP概論」- IP Testing

Kernel of a B-Structure (33)bull Given an input pattern I applied to SB define the

single-pattern output of SB for I as the steady-state output of SB when I is held constant at the inputs to SB and all its registers are operated in LOADmode for at least d clock cycles

bull Given some fault f in SB if the single-pattern outputs for I of the good and the faulty circuits are different then I is a single-pattern test for f

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 320

「DIP概論」- IP Testing

Outline of BALLAST1 Construct G = (V A H W)2 Remove a minimal cost set of arcs R to

construct SB

3 Determine CB of SB and a complete test set Tfor CB using a combinational ATPG

4 Construct a scan path composed of the registers in R so that they can ldquoshiftrdquo ldquoholdrdquo and ldquoloadrdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 321

「DIP概論」- IP Testing

Selection of Scan Registers1 Transform G = (V A H W) into an acyclic

graph GA by removing a minimal cost set of ldquofeedbackrdquo arcs RA (NP-complete)

2 Transform GA into a balanced graph GB by removing a minimal cost set of arcs RB (NP-complete)R = RAcupRB is the desired set for scan registers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 322

「DIP概論」- IP Testing

Test Procedurebull Operate all scan registers in the SHIFT mode for l

clock cycles (scam in the first test pattern)ndash l is the total number of FFrsquos in the scan path

bull Repeat N times N is the number of test patterns(a) Place all scan register in HOLD mode and all nonscan

registers in LOAD mode for d clock cycles(b) Operate all scan registers in LOAD Load for 1clock

cycle(c) Operate all scan register in SHIFT mode for l clock

cycles

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 323

「DIP概論」- IP Testing

Elimination of HOLD Modebull Eg By adding two dummy bits (d) between

the patterns to be scanned to R3 and R6 the HOLD mode can be eliminated

Sin

Sout1101hellip01dd10hellip101

R3 R6

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 324

「DIP概論」- IP Testing

ConclusionsMethods Partial Scan

Multiple TestSessions

Mutiple ScanChains

Broadcast ScanChains

Area Overhead

PerformanceDegradation

Extal Pins

Extral ClockControl

Test ApplicationTime

same

same

same

same

same

same

darr or uarr

darr

darr

darr

same or uarr

same

uarr

same

darr

same

same

darr

darr

same

Full Scan

Chapter 7

Compression Techniques

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 326

「DIP概論」- IP Testing

Challenges from ORA

bull A bit-by-bit comparison of observed output values with the correct values as previously computed and saved is quite inefficientndash Require a significant amount of memory

storage for saving the correct outputs associated with all test vectors

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 327

「DIP概論」- IP Testing

Response Compressionbull Compress or compact output responses into

ldquoa signaturerdquondash A circuit is tested by comparing the observed

signature with the correct computed signature

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 328

「DIP概論」- IP Testing

Error Maskingbull signature(faulty circuit)

= signature(fault-free circuit)ndash The erroneous output response is an alias of the

correct output responsebull Measurement of masking probability

ndash Compute the fraction of all possible erroneous response sequences that cause masking associated with specific compression techniques

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 329

「DIP概論」- IP Testing

Requirements of Compression Techniques

bull Easy to implement specially in the BIST environment

bull Small performance degradationbull High degree compactionbull No or small alias errors

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 330

「DIP概論」- IP Testing

Basic Compression Techniques

bull Ones-count compressionbull Transition-count compressionbull Parity-check compressionbull Syndrome Testingbull Signature Analysis

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 331

「DIP概論」- IP Testing

Ones-Count Compression (12)bull Given a single-output circuit C let the

output response of C be R = r1 r2 hellip rm

ndash In ones counting the signature 1C(R) is the number if 1s appearing in R ie

where 0 le 1C(R) le m

bull The degree of compression is ⎡log2(m+1)⎤

sum=i

irR1C )(

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 332

「DIP概論」- IP Testing

Ones-Count Compression (22)

counter

s-a-0 fault f2

s-a-1 fault f1

111100001100110010101010

00000000 = R211000000 = R110000000 = R0

Signature (ones count)1C(R0) = 11C(R1) = 21C(R2) = 0

x1x2x3

Input test patternsequence T

Output Reponses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 333

「DIP概論」- IP Testing

Analysis of Ones-Countbull Consider a circuit tested with m random

input vectors and let 1C(R0) = r 0 le r le mndash The number of m-bit sequences having r 1s is

such sequences are aliases

bull The ratio of masking sequences to all possible erroneous sequence given 1C(R0) = r is

⎥⎦

⎤⎢⎣

⎡rm

1rm

minus⎥⎦

⎤⎢⎣

)1

1rmM

2CP m

m

r1C minus

minus=(

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 334

「DIP概論」- IP Testing

Transition-Count Compressionbull TC(R) = sum

minus

=+

oplus1m

1i1ii rr

NetworkT D Q

counter

00000000 = R211000000 = R110000000 = R0

Signature (transition count)TC(R0) = 1TC(R1) = 1(undetectable fault)TC(R2) = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 335

「DIP概論」- IP Testing

bull If all faulty sequences are equally likely to occur as the response of a faulty circuit then the probability of masking is given by

Analysis of Transition-Count

122)|(

1

minusminus

=minus

m

mr

TC1CrmMP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 336

「DIP概論」- IP Testing

Parity-Check Compression

NetworkT

00000000 = R211000000 = R110000000 = R0 D Q

Signature (parity)p(R0) = 1p(R1) = 0p(R2) = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 337

「DIP概論」- IP Testing

bull All errors consisting of odd number of bit errors are detectedndash Detect all single-bit errors

bull All errors consisting of even number of bit errors are maskedndash Assume all faulty bit streams are equally likely

the probability of masking approaches frac12 as m increases

Analysis of Parity-Check

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 338

「DIP概論」- IP Testing

Syndrome Testingbull Rely on exhaustive testing ie applying all

2n test vectors to an n-input combinational circuitndash Eg Consider a single-output circuit

implementing a function fbull The syndrome S (or signature) is the normalized

number of 1s in the resulting stream ie S = K2n where K is the number of minterms in the function f

ndash A special case of ones-count compression

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 339

「DIP概論」- IP Testing

Signature Analysis

bull Signature analysis is a compression technique based on the concept of cyclic redundancy checking (CRC) and realized in hardware using linear-feedback shift registers (LFSRs)ndash The signature is the content of this register after

the last input bit has been sampled

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 340

「DIP概論」- IP Testing

LFSRs Used as Signature Analyzers

bull Single-input signature registers (SISRs)bull Multiple-input signature registers (MISRs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 341

「DIP概論」- IP Testing

SISRsbull Initial state I(x) = 0bull Final state R(x) the remainder or signature

)()()( )(or )()()(

)()( xRxPxQxG

xPxRxQ

xPxG

+=+=

G(x) Q(x)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 342

「DIP概論」- IP Testing

Example of SISRs

R(x) = x2+x4 Q(x) =1+x2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 343

「DIP概論」- IP Testing

Analysis of SISRs (12)

bull For a test bit stream of length mndash 2m possible responses of which only one is

correctndash The number of bit streams producing a specific

signature is 2m 2n = 2m-n where n is the length of the LFSR

ndash Among these streams only one is correct

( ) 21212P n

m

nm

SA nmM minusminus

congminus

minus=|

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 344

「DIP概論」- IP Testing

ndash Eg If n = 16 then(1-2-16) 100 = 999984

of erroneous responses are detectedNote This is not of faults

Analysis of SISRs (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 345

「DIP概論」- IP Testing

MISRs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 346

「DIP概論」- IP Testing

Implementation of MISRs

(a) Original (a) Modified

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 347

「DIP概論」- IP Testing

The Storage Cell for MISRs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 348

「DIP概論」- IP Testing

Notes

Chapter 8

Built-In Self-Test (BIST)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 350

「DIP概論」- IP Testing

Built-In Self-Test (BIST) (12)bull Capability of a circuit (chip board or

system) to test itself

Test Pattern Generator (TPG)

Circuit under Test (CUT)

Output Response Analyzer (ORA)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 351

「DIP概論」- IP Testing

bull On-line not placed into the test modendash Concurrent simultaneous with normal

operationndash Nonconcurrent idle normal operation

bull Off-line placed into the test modendash Functional diagnosis SW or FWndash Structural

bull LFSR-based TPG and ORAbull FC is estimated

Built-In Self-Test (BIST) (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 352

「DIP概論」- IP Testing

Glossary of BIST Test Structures (12)bull BILBO

ndash built-in logic block observation (register)bull LFSR

ndash linear feedback shift registerbull MISR

ndash multiple-input signature registerbull ORA

ndash output response analyzer

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 353

「DIP概論」- IP Testing

bull PRPG ndash pseudorandom pattern generator also referred

to as a pseudorandom number generatorbull SISR

ndash single-input signature registerbull SRSG

ndash shift-register sequence generator also a single-output PRPG

bull TPGndash test pattern generator

Glossary of BIST Test Structures (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 354

「DIP概論」- IP Testing

bull Exhaustive testingndash Exhaustive test-pattern generator

bull Pseudorandom testingndash Weighted test generatorndash Adaptive test generator

Test Pattern Generation for BIST (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 355

「DIP概論」- IP Testing

Test Pattern Generation for BIST (22)

bull Pseudoexhaustive testingndash Syndrome driver counterndash Constant-weight counterndash Combined LFSR and shift registerndash Combined LFSR and XOR gatesndash Condensed LFSRndash Cyclic LFSR

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 356

「DIP概論」- IP Testing

Exhaustive Testing

bull Apply all 2n input vectors where n is the number of inputs to CUTndash Impractical for large n

bull Detect all detectable faults that do not cause sequential behaviorndash In general not applicable to sequential circuits

bull Can use a counter or LFSR for TPG

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 357

「DIP概論」- IP Testing

bull A shift register with a linear feedback network is called a linear feedback shift register (LFSR)

bull A n-stage shift register has at most 2n statesrArr A n-stage LFSR has at most 2nndash1 stages

the linear successor of the all-zero state is itself

there4

Linear Feedback Shift Register (LFSR) (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 358

「DIP概論」- IP Testing

Linear Feedback Shift Register (LFSR) (22)

D Q D Q

S0 1 0S1 0 1S2 (=S0) 1 0

Z = 0101helliphellip2 states

Z D Q D Q D Q Z

S0 0 1 1S1 1 0 1S2 0 1 0S3 0 0 1S4 1 0 0S5 1 1 0S6 1 1 1S7 (=S0) 0 1 1

Z = 11010011101001 helliphellip7 states

linear feedback network

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 359

「DIP概論」- IP Testing

Two Types of LFSRs (12)bull Type 1 External type

D Q D Q ZD Q D Q

C1 C2 Cn-1 Cn= 1C0

= 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 360

「DIP概論」- IP Testing

Two Types of LFSRs (22)bull Type 2 Internal type

D Q

Cn-1Cn= 1

D Q

Cn-2

D Q

C1

D Q Z

C0= 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 361

「DIP概論」- IP Testing

Mathematical Operations over GF(2)

bull Multiplication(bull) bull Addition( )

bull 0 10 0 01 0 1

0 10 0 11 1 0

Eg Let C1 = 0 C2 = 1 C3 = 1 and a1 = 0 a2 = 1 a3 = 1If a0 = C1 bull a1 C2 bull a2 C3 bull a3 then a0 = 0 bull 0 1 bull 1 1 bull 1 = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 362

「DIP概論」- IP Testing

Analysis of LFSRsbull A sequence of binary numbers can be

represented using a generation function (polynomial)

bull The behavior of an LFSR can be determined by its ldquoinitial seed (S0)rdquo and ldquofeedback coefficients (Ci)rdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 363

「DIP概論」- IP Testing

Characteristic Polynomials (13)

bull Let a0 a1 hellip am hellipbe the sequence of binary numbers ndash Generation function

G(x) = a0 + a1x +hellip+ amxm + hellip=bull Let am = a0 a1 hellip am hellipbe the output

sequence of an LFSR of type 1rArr am =

xa m

mmsum

infin

=0

aC im

n

ii minus

=sum

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 364

「DIP概論」- IP Testing

bull Let the seed S0 be a-1 a-2 hellip a-n hellip

rArr G(x) = =

rArr G(x) = under GF(2)

rArr G(x) depends on the seed S0 and feedback coefficients

xa m

mmsum

infin

=0sum suminfin

= =minus⎟⎠

⎞⎜⎝

0 1m

mn

iimi xaC

( )sum

sum

=

minus

minus

minus

minus=

+

++

n

i

i

i

i

i

in

ii

xC

xaxaxC

1

1

11

1

Characteristic Polynomials (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 365

「DIP概論」- IP Testing

bull Let P(x) = 1 +

= 1 + C1x + C2x2 + hellip+ Cnxn

called the characteristic polynomial of the LFSR representing the linear feedback network

bull The degrees of all characteristic polynomials for an n-stage LFSR are nndash Eg

P(x) = x3 + x + 1

sum=

n

i

i

i xC1

D Q D Q D Q Z

Characteristic Polynomials (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 366

「DIP概論」- IP Testing

Maximum Length Sequences

bull If period p of the sequence generated by an n-stage LFSR is 2n-1 then it is a maximum length sequencendash 1rsquos = 0rsquos + 1

bull The characteristic polynomial associated with the maximum length sequence is a primitive polynomial

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 367

「DIP概論」- IP Testing

Primitive Polynomialsbull The number of primitive polynomials for n-

stage LFSR is given by

where

( ) ( )n

nn 12

2

minus=φλ

( ) prod ⎟⎟⎠

⎞⎜⎜⎝

⎛minus=

np pnn

|

11φ

n1 12 14 28 1616 204832 67108864

( )n2λ

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 368

「DIP概論」- IP Testing

Some Primitive PolynomialsEg 20 3 0 for x20 + x3 + 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 369

「DIP概論」- IP Testing

An Example of LFSR

bull 23-1 = 7 ldquoalmost completerdquo patterns are generated

D Q D Q D Q Z

S0 0 1 1S1 1 0 1S2 0 1 0S3 0 0 1S4 1 0 0S5 1 1 0S6 1 1 1S7(=S0) 0 1 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 370

「DIP概論」- IP Testing

Exhaustive Testing

D Q D Q D Q0 0 1

0 0 0

1 0 0

scan chain 3

CUT

test cycles 3+23

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 371

「DIP概論」- IP Testing

Off-Line BIST Architecturesbull Criteria

ndash Centralized or distributed BIST circuitryndash Embedded or separate BIST elements

bull Key elementsndash Test pattern generators (TPGs)ndash Output response analyzers (ORAs)ndash The circuits under test (CUTs)ndash A distribution system (DIST) for transmitting data from

TPGs to CUTs and from CUTs to ORAsndash A BIST controller for controlling the BIST circuitry

and CUT during self-test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 372

「DIP概論」- IP Testing

CentralizedSeparate BIST (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 373

「DIP概論」- IP Testing

CentralizedSeparate BIST (22)

bull During testing the BIST controller may carry out one or more of the following functionsndash Single-step the CUTs through some test

sequencendash Inhibit system clocks and control test clocksndash Communicate with other test controllers

possibly using test bussesndash Control the operation of a self-test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 374

「DIP概論」- IP Testing

DistributedSeparated BIST

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 375

「DIP概論」- IP Testing

DistributedEmbedded BIST

The TPG and ORA elements are configured from functional elements within the CUT such as registers

Less hardware overheadLead to a more complex design

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 376

「DIP概論」- IP Testing

Factors for Choosing BIST Architecturesbull Degree of test parallelism (distributed darr)bull Fault coverage (distributed darr)bull Level of packaging (centralized darr)bull Test time (distributed darr)bull Physical constraints (embedded and separateuarr)bull Complexity of replaceable units (centralized darr)bull Factory and field of test-and-repair strategiesbull Performance degradation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 377

「DIP概論」- IP Testing

Test-Per-Clock System

LFSR SR

CUT

MISR

Some new set of faults is tested during every clock period

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 378

「DIP概論」- IP Testing

Test-Per-Scan SystemLFSR SR

CUT

MISR SR

Each new set of faults being tested requiresOne clock to conduct the testA series of shifts of the scan chain (SR)

Complete that testRead out all of the test results

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 379

「DIP概論」- IP Testing

STUMPSbull Self-Test Using a MISR and Parallel Shift register

ndash Test-per-scan

LFSR (Pseudo-Random Test Pattern Generator)

SR1 SR2 SRn

MISR

CUT1 CUT2 CUTn

Source Bardell ITCrsquo82

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 380

「DIP概論」- IP Testing

BILBObull Built-In Logic Block Observation

ndash Distributedembedded

BILBO register

BILBO0 0 shift mode0 1 reset1 0 LFSRMISR1 1 normal mode

Source Konemann 1979

z1 z2 zn

B1 B2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 381

「DIP概論」- IP Testing

Applications of BILBO (12)bull Bus-Oriented structure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 382

「DIP概論」- IP Testing

Applications of BILBO (22)bull Pipeline-oriented structure

POs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 383

「DIP概論」- IP Testing

What to Do If 2n Is Too Large

bull Using pseudorandom testingndash Eg Generate only 232 test patterns

bull Using pseudoexhaustive testingndash Eg Partitioning

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 384

「DIP概論」- IP Testing

Pseudorandom Testingbull Weighted test generation

ndash The distribution of 0s and 1s produced on the output lines of TPGs is not necessary uniform

bull Adaptive test generationndash Modify the weights based on the simulation

resultsbull (advantage) efficient in terms of test lengthbull (disadvantage) the TPG hardware is more complex

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 385

「DIP概論」- IP Testing

Weighted Test Generation

bull Using an LFSR and a combinational circuit

D Q D Q D Q

The probability of 05 for a 1is changed to 025

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 386

「DIP概論」- IP Testing

Pseudoexhaustive Testing

bull Achieve many benefits of exhaustive testing but usually require far fewer test patternsndash Rely on various forms of circuit segmentation

and attempt to test each segment exhaustivelybull A segment is a subcircuit of a circuit C

ndash Segments need not be disjoint

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 387

「DIP概論」- IP Testing

Segmentation

bull Logical segmentationndash Sensitized path segmentationndash Cone segmentation (verification testing)

bull Physical segmentation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 388

「DIP概論」- IP Testing

bull The circuit can be pseudoexhaustivelytested with 2n1 + 2n2 + 1 test patterns

n1

n2

C1

C2

Sensitized Path Segmentation (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 389

「DIP概論」- IP Testing

Sensitized Path Segmentation (22)n1

n2

C1

C2

n1

n2

C1

C2

n1

n2

C1

C2

2n1 test patterns

2n2 test patterns

1 test pattern

1

1

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 390

「DIP概論」- IP Testing

Cone Segmentation

bull An m-output circuit is logically segmented into m cones each cone consists of all logic associated with one outputndash Each cone is tested exhaustively and all cones

are tested concurrentlyhelliphellipndash Called verification testing by McCluskey[1984]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 391

「DIP概論」- IP Testing

An (n w)-CUTbull [Definition] Consider a combinational circuit

C with inputs X = x1 x2 hellip xn and outputs Y= y1 y2 hellip ym Let yi = fi(Xi) where Xi sube X Let w = maxi|Xi| We denote this circuit as an (n w)-CUT ndash Pseudoexhaustively testing an (n w)-CUT needs at

least 2w test patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 392

「DIP概論」- IP Testing

An (4 2)-CUT

y1 y2 y3 y4

x1 x2 x3 x4

Pseudoexhaustively testing this (4 2)-CUT need at least 22 test patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 393

「DIP概論」- IP Testing

Constant Weight Patternsbull [Definition] Let T be a set of n-tuples T is

said to exhaustively cover all k-subspaces if for all subsets of k bit positions each of the 2k

binary pattern appears at least once among the |T| n-tuplesndash Eg

⎥⎥⎥⎥

⎢⎢⎢⎢

=

101011110000

Tn = 3

k = 2|T| = 4

T can be a pseudoexhaustive test set for an (n w)-CUT if k ge w

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 394

「DIP概論」- IP Testing

Identification of Test Signal Inputsbull Consider a CUT with n inputs If none of

the outputs is a function of both inputs say a and b then the inputs a and b can be applied to the same test signal line

f(x y)

g(x y)

x

y

z

1 1 0 0

1 1 0 0

1 0 1 0

f(x y)

g(x y)

x

y

z

1 1 0 0

1 0 1 0

apply x and z to the same test signal line

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 395

「DIP概論」- IP Testing

MTC Circuitsbull [Definition]A circuit is said to be a maximal-test-

concurrency(MTC) circuit if the minimal number of required test signals for the circuit is equal to the maximum number of inputs upon which any output depends

f(x y)

g(x y)

x

y

z

1 1 0 0

1 0 1 0

f(x y)

g(x y)

x

y

z

1 1 0 0

1 0 1 0

0 1 1 0h(x z)

A MTC circuit A non-MTC circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 396

「DIP概論」- IP Testing

Identification of Minimal Set of Test Signals

Step 1 Generate a dependency matrix D = [dij] where dij = 1 if output i depends on input j otherwise dij = 0

Step 2 Partition the matrix into group of inputs so that two or more inputs in a group do not affect the same output

Step 3 Collapse each group to form an equivalent input called a test signal input

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 397

「DIP概論」- IP Testing

Example of Identification (12)

abcdefg

f1(a b e)f2(b c g)f3(a d e)

f4(c d e)

f5(e f)

C

f

f

f

f

f

gfedcba

D

5

4

3

2

1

01100000011100001100110001100010011

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

Step 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 398

「DIP概論」- IP Testing

Example of Identification (22)

f

f

f

f

f

gfedbca

Dg

5

4

3

2

1

01100000011010001100110001100010101

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

Step 2

I II III IV

f

f

f

f

f

Dc

5

4

3

2

1

11000111011110110111

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

Step 3

I II III IV

Transformation to a (4 3)-CUT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 399

「DIP概論」- IP Testing

Physical Segmentation

bull Insert bypass storage cells (bscs) such that in the test mode each output and bscdepends on at most w inputs and bscsndash A bypass storage cell is similar to a cell used in

boundary-scan designbull In the normal mode the inserted bsc acts a wirebull In the test mode the inserted bsc can be part of an

LFSRSR

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 400

「DIP概論」- IP Testing

gate

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 4 4

6 5

Example of Physical Segmentation (16)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 401

「DIP概論」- IP Testing

Example of Physical Segmentation (26)x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 402

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 1

Example of Physical Segmentation (36)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 403

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 2

Example of Physical Segmentation (46)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 404

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 3

Example of Physical Segmentation (56)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 405

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 4

Example of Physical Segmentation (66)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 406

「DIP概論」- IP Testing

Pseudoexhaustive Testing by LFSRSR Chains

bull Step1 Partition the circuit under test(CUT) by inserting bypass storage cells(bscs)ndash Reduce the maximum dependency

bull Step 2 Route an LFSRSR chain with a primitive feedback polynomial through the primary inputs(PIs) and bscs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 407

「DIP概論」- IP Testing

LFSRSR Chainsx4 + x3 + 1 (primitive)

PIs

+

BSCs

An LFSRSR chain with a primitive feedbackpolynomial of degree k generates the maximum sequence of length 2k-1

Exhaustively test each output cone

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 408

「DIP概論」- IP Testing

Residue Polynomials

bull For an LFSRSR with primitive feedback polynomial f(x) of degree k the residue Ri(x) of stage i is defined as

Ri(x) = xi mod f(x)

XOR network with f(x)210 k-1 k i

R0 R1 R2 Rk-1 Rk Ri

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 409

「DIP概論」- IP Testing

Example of Residue Polynomials

+x3 + x + 1

1 x x2 x+1

x2+x

x2+x+1

0 1 2 3 4 5

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 410

「DIP概論」- IP Testing

Linear Independencybull [Theorem] An output cone depending on

the inputs p1hellip pk can be exhaustively tested hArr the corresponding residues Rp1

hellipRpk

are linear independent (LI)

210 k-1 k i

R0 R1 R2 Rk-1 Rk Ri

Output G

XOR network with f(x)

R2 Rk-1 Rk is LIhArrThe cone of G is

exhaustively tested

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 411

「DIP概論」- IP Testing

Example of Linear Independency+

x3 + x + 1

1 x x2 x+1

x2+x

x2+x+1

0 1 2 3 4 5

bull If some output cone C depends on inputs 0 3 and 4the output cone can be exhaustively tested

Because 1 x+1 x2+x is LI

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 412

「DIP概論」- IP Testing

Why Not Exhaustively Testingbull Subject to the input-output relation it is not

an easy task to construct a desirable LFSRSR chain as the pseudo-exhaustive TPG for the CUTndash Not all the output cones whose input residues

are LI that is linear dependent (LD)bull Called the LD problem

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 413

「DIP概論」- IP Testing

Possible Solutions to The LD Problembull To overcome the LD problem some variants of

LFSRSR have been proposedndash LFSRXORndash Reconfigurable LFSRSRndash Permuted LFSRSRndash Convolved LFSRSRndash Multiple LFSRSRndash Cell-reordering LFSRSRndash Constant-weight LFSRSRndash Linear-code LFSRSRndash Condensed LFSRSR

These solutions encounter serious problemsThe hardware overhead maybe largeThe construction time maybe long

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 414

「DIP概論」- IP Testing

LFSRXOR+ x3 + x + 1

1 x x2 x+1

x2+x

x2+x+1

0 1 2

++

3 4 5

XOR network

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 415

「DIP概論」- IP Testing

Reconfigurable LFSRSR

0 1 2 3 4 5 6

+

7

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 416

「DIP概論」- IP Testing

Permuted LFSRSR

0 1 2 3 4 5 6

+

7

0 2 5 1 3 4 6 7

inputs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 417

「DIP概論」- IP Testing

Convolved LFSRSR

0 1 2 3 4 5 6

+

7+

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 418

「DIP概論」- IP Testing

Multiple LFSRSR

0 1 2 3

+

4 5 6 7

+

1 0 0 0 1 1 0 0

seed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 419

「DIP概論」- IP Testing

Tree-Structured LFSRSR (TLS)

bull Rationalndash The SR chain of LFSRSR unnecessarily

constraints the searching domain for constructing a pseudo-exhaustive TPG

bull Constructionndash Step 1 Backbone generationndash Step 2 Tree growing

Source Rau et al ITCrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 420

「DIP概論」- IP Testing

Backbone Generationbull Step 1 Use a selected primitive feedback

polynomial to construct the LFSR portionbull Step 2 Based on the LI constraint include

as many PIs or bscs as possible to a shift register(SR) chain connected to the LFSR with as little routing overhead as possibleThe constructed LFSR and SR portion is called the Backbone

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 421

「DIP概論」- IP Testing

Example of Backbone Generation (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 422

「DIP概論」- IP Testing

Example of Backbone Generation (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 423

「DIP概論」- IP Testing

Tree Growing

bull Based on the LI constraint try to connect isolated PIs or BSCs to the backbone with as little routing overhead as possible

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 424

「DIP概論」- IP Testing

Example of Tree Growing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 425

「DIP概論」- IP Testing

XOR-Tree Generation

bull There may be PIs or BSCs which can not be included in the scan tree after the backbone generation and tree growing processesndash Because the LI requirement can not be

satisfiedndash Referred to as the linear dependent (LD)

problem

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 426

「DIP概論」- IP Testing

Overcoming The LD Problem

bull How to overcome the LD problem using as few XORs as possiblendash Use nonzero-terms of polynomial to directly

synthesize the required residuesndash Eg Under polynomial f(x) = x3 + x + 1 we can

synthesize R4 (x2 + x) with ldquoR2 (x2) xor R1(x)rdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 427

「DIP概論」- IP Testing

Looking for Proper Residues

Rj

XOR network with f(x)210 k-1

R0 R1 R2 Rk-1

i

Ri

jN

bull [Theorem] There must exist a residue Rj j gt i to avoid the LD problem

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 428

「DIP概論」- IP Testing

Residue Replacementbull Synthesize an XOR network from the exited

backbone and tree branches for shorter routingdistance oplus

backbone

branches

isolated oplus

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 429

「DIP概論」- IP Testing

Residue Replacement Process

bull Under the polynomial f(x) = x4 + x3 +1 We can synthesize residue R10 with the existent residues R5 and R6 as follows

R10 = R9 + R7

= R8 + R6 + R7

= R7 + R5 + R6 + R7

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 430

「DIP概論」- IP Testing

Simulation Results of TLS (12) (n m k) Ckt Before Partitioning After Partitioning C432 (36 7 36) (56 27 20) C499 (41 32 41) (49 40 14) C880 (60 26 45) (75 41 20) C1355 (41 32 41) (49 40 14) C1908 (33 25 33) (47 39 19) C2670 (233 140 122) (262 169 20) C3540 (50 22 50) (118 90 20) C5315 (178 123 67) (225 170 20) C6288 (32 32 32) (87 87 20) C7552 (207 108 194) (296 197 20)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 431

「DIP概論」- IP Testing

Simulation Results of TLS (22)

PIsBSCs [16] Ckt (n m k) CPU time Backbone Branches Isolated XORs XORs

C432 (56 27 20) 056 44 12 0 0 9 C499 (49 40 14) 054 48 1 0 0 11 C880 (75 41 20) 064 69 6 0 0 13 C1355 (49 40 14) 277 47 2 0 0 11 C1908 (47 39 19) 241 41 4 2 3 10 C2670 (262 169 20) 1374 247 15 0 0 7 C3540 (118 90 20) 3482 72 45 1 6 27 C5315 (225 170 20) 7566 186 39 0 0 36 C6288 (87 87 20) 25937 59 25 3 15 25 C7552 (296 197 20) 3359 216 80 0 0 31

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 432

「DIP概論」- IP Testing

Solutions of BIST (12)

bull Exhaustivepseudoexhaustive testingbull Weighted pseudorandom testingbull Mixed mode test pattern generation

ndash Pseudorandom test patterns firstndash Deterministic test patterns followed

bull Donrsquot consider the fact that the test pattern are given in a form of testcubes with unspecified inputs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 433

「DIP概論」- IP Testing

Solutions of BIST (22)

bull Reseeding ndash Change the seeds as needed

bull Reprogram the characteristic polynomialbull Combination of two or more of the above

methods

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 434

「DIP概論」- IP Testing

Notes

Chapter 9

Boundary-Scan Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 436

「DIP概論」- IP Testing

Board Level Testing

Sn m

Sn m

n

mMUXm

TNIsolate one module (chip) from the others

Test chips and chip interconnectionsRaise the concept of boundary-scan testing

R1

R2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 437

「DIP概論」- IP Testing

History of Boundary-Scan Testingbull 1988 Joint Test Action Group (JTAG)

proposed Boundary-Scan Standardbull 1990

ndash Boundary-Scan approved as IEEE 11491ndash Boundary-Scan Description Language (BSDL)

proposed by HPbull 1993 11491a approved to replace 11491bull 1994 11491b BSDL approved

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 438

「DIP概論」- IP Testing

1149111491a

bull Testing of digital chips and interconnections between chips

bull Widely used in industryndash Eg advance CPU HDTV satellite systemhelliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 439

「DIP概論」- IP Testing

Chip Architecture for 11491

TAPC

MUX

Sin

Sout

MRsInstruction Reg

Bypass Reg

Application Logic

OptionalBIST registersScan registers

MRs Miscellaneous Registers Boundary-Scan Cell

Boundary-Scan Path

TDITMS

TCKTDO

TAP

IO Pad

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 440

「DIP概論」- IP Testing

A Typical Boundary-Scan Cell (13)

0

1

MUX

S QA

Q1D

QB

Q1D

0

1

MUX

S

INOUT

SOUT

SIN

ShiftDR

ClockDR UpdateDR

Mode_Control

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 441

「DIP概論」- IP Testing

bull As an input boundary-scan cell INcorresponds to a chip input pad OUT is tied to a normal input to the application logic

bull As an output boundary-scan cell IN corresponds to the output of the application logic OUT is tied to an output pad

A Typical Boundary-Scan Cell (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 442

「DIP概論」- IP Testing

bull Operation Modesndash Normal Mode Mode_Control = 0

bull IN -gt OUTndash Scan Mode ShiftDR = 1 ClockDR

bull TDI-gthellip-gtSIN-gtSOUT-gthellip-gtTDOndash Capture Mode ShiftDR = 0 ClockDR

bull IN-gtQA

ndash Update Mode Mode_Control = 1 UpdateDRbull QA-gtOUT

A Typical Boundary-Scan Cell (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 443

「DIP概論」- IP Testing

Board And Chip Testing

Application Logic 2

Application Logic 3 Application Logic 4

TDI

TDO

Application Logic 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 444

「DIP概論」- IP Testing

Board And Chip Test Modes

bull External Test Modendash Test the interconnection between the chips of

boardbull Sample Test Mode

ndash Sample and shift out or shift in data without interfering the normal operation of board

bull Internal Test Modendash Test the chips of board

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 445

「DIP概論」- IP Testing

External Test Mode (14)

Chip 1

Chip 2

TDI

TDO

Shift-DR(Chip 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 446

「DIP概論」- IP Testing

External Test Mode (24)

Chip 1

Chip 2

TDI

TDO

Update-DR(Chip 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 447

「DIP概論」- IP Testing

External Test Mode (34)

Chip 1

Chip 2

TDI

TDO

Capture-DR(Chip 2)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 448

「DIP概論」- IP Testing

External Test Mode (44)

Chip 1

Chip 2

TDI

TDO

Shift-DR(Chip 2)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 449

「DIP概論」- IP Testing

Sample Test Mode (12)

0

1

MUX

S QA

Q1D

QB

Q1D

0

1

MUX

S

INOUT

SOUT

SIN

ShiftDR

ClockDR UpdateDR

Mode_Control

Sample

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 450

「DIP概論」- IP Testing

Sample Test Mode (22)

0

1

MUX

S QA

Q1D

QB

Q1D

0

1

MUX

S

INOUT

SOUT

SIN

ShiftDR

ClockDR UpdateDR

Mode_Control

Shift inShift out

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 451

「DIP概論」- IP Testing

Internal Test Mode (12)

Chip 1TDI

Shift-DR

TDO

Chip 1TDI

Update-DR

TDO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 452

「DIP概論」- IP Testing

Internal Test Mode (22)

Chip 1TDI

Capture-DR

TDO

Chip 1TDI

Shift-DR

TDO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 453

「DIP概論」- IP Testing

Test Bus (12)bull A board supporting 11491 contains a test bus

consisting of at least four signalsndash TDI Test Data Inputndash TDO Test Data Outputndash TMS Test Mode Selectorndash TCK Test Clockndash TRST(optional) Test Reset

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 454

「DIP概論」- IP Testing

Test Bus (22)

bull These signals are connected to a chip via its test-bus portsndash Ring configurationndash Star configuration

bull Each chip is considered to be a slave bus and the bus is assumed to be driven by a bus master

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 455

「DIP概論」- IP Testing

Ring Configuration

TDOTDI

TMSTCK

Busmaster

TDITCKTMSTDO

1

Application chips

TDITCKTMSTDO

2

TDITCKTMSTDO

N

TAPC

Registers

TAPC

Registers

TAPC

Registers

CKTMS

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 456

「DIP概論」- IP Testing

Star Configuration

TDOTDI

TMS1

TCK

Busmaster

TDITCKTMSTDO

1

Application chips

TDITCKTMSTDO

2

TDITCKTMSTDO

N

TMSN

TMS2

TAPC

Registers

TAPC

Registers

TAPC

Registers

CKTMS

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 457

「DIP概論」- IP Testing

Test-Bus Circuitry (12)

bull The (on-chip) test-bus circuitry allows access to and control of the test features of a chip consisting of four main elementsndash Test access port(TAP)ndash TAP controller(TAPC)ndash A scannable instruction register and associated

logicndash A group of scannable test data registers(TDRs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 458

「DIP概論」- IP Testing

Test-Bus Circuitry (22)Boundary-scan register

Bypass registers

M

U

X

Decoding logic MUX

TDOTMS

TCK

Test data registers(TDRs)

TDI

optional

optional

Device identification register

User test data register

TAPC

IR clocks and controls

TDR clocks and controls

SelectEnable

OutputBuffer

Instruction register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 459

「DIP概論」- IP Testing

TAPC

bull A synchronous finite state machine with 16statesndash Inputs TCK TMSndash Outputs ShiftDR ClockDR UpdateDR ShiftIR

ClockIR UpdateIR Select Enable TCK (optional) TRST

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 460

「DIP概論」- IP Testing

States of TAPC (12)bull Test-Logic-Reset normal modebull Run-TestIdle wait for a internal test such

as BISTbull Select-DR-Scan initial a scan-data

sequence for the selected registersbull Capture-DR load data in parallelbull Shift-DR load data in serialbull Exit1-DR finish phase-1 shifting of data

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 461

「DIP概論」- IP Testing

States of TAPC (22)bull Pause-DR temporarily halt the scan

operation to allow the bus master to reload datandash Necessary during the transmission of long test

sequencesbull Exit2-DR finish phase-2 shifting of databull Update-DR parallel load from associated

shift registers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 462

「DIP概論」- IP Testing

TMS = 1

TMS = 0

TMS = 0

TMS = 1

TMS = 0

TMS = 1

TMS = 1 TMS = 0

TMS = 0

TMS = 0

TMS = 1

State Diagram of TAPCTest-Logic-Reset

Run-testIdle

TMS = 1TMS = 0

TMS = 0

TMS = 1 TMS = 1 TMS = 1

Control of data registers Control of instruction register

Capture-DR

Shift-DR

Exit1-DR

Pause-DR

Exit2-DR

Update-DR

Select-DR-Scan Select-IR-Scan

Capture-IR

Shift-IR

Exit1IR

Pause-IR

Exit2-IR

Update-IR

TMS = 1

TMS = 0

TMS = 0

TMS = 1

TMS = 0

TMS = 1

TMS = 1 TMS = 0

TMS = 0

TMS = 0

TMS = 1

TMS = 0

TMS = 1

TMS = 0

TMS = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 463

「DIP概論」- IP Testing

Test Data Registers

bull Test Data Registers(TDRs)ndash Boundary-scan registersndash Bypass register(1-bit)ndash Device Identification registersndash Registers that are part of the application logic

itself

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 464

「DIP概論」- IP Testing

bull Instruction Register(IR)ndash Shift in a new instruction while holding the

current instruction fixed as its output portsndash Specify operations to be executedndash Select TDRs

bull Each instruction enables a single serial test-data register path between TDI and TDO

Instruction Register and Instructions (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 465

「DIP概論」- IP Testing

Instruction Register and Instructions (22)

bull Instructionsndash Mandatory

bull BYPASS to reduce the length of the scan pathbull EXTEST external test modebull SAMPLE sample test mode

ndash Recommendedbull INTEST internal test modebull RUNBIST for the Run-TestIdle State

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 466

「DIP概論」- IP Testing

BYPASS (12)

Bypass register

TAPC

TDOTMS TCKTDI

Application Logic

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 467

「DIP概論」- IP Testing

BYPASS (22)

Bypass register

TAPC

TDI

Application Logic

Bypass register

TAPC

TDO

Application Logic

1 2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 468

「DIP概論」- IP Testing

Summaries of Boundary-Scan Operations

bull Instructions are sent serially over TDI into the instruction register

bull Selected test circuitry is configured to respond to the current instruction

bull Test instruction is to be executedbull Test results are shifted out through TDO

new test data on TDI may be shifted in at the same time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 469

「DIP概論」- IP Testing

bull Now the IEEE 11491b standardbull Purposes (12)

ndash To provide a standard description language for boundary scan devices

ndash To simplify the design work for boundary scan ndashautomated synthesis is possible

ndash To promote consistency throughout ASIC designers device manufacturers foundries test developers and ATE manufacturers

Boundary Scan Description Language (BSDL) (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 470

「DIP概論」- IP Testing

Boundary Scan Description Language (BSDL) (22)

bull Purposes(22)ndash For easy incorporation into software tools for

test generation analysis and failure diagnosisndash To reduce possibility of human error when

employing boundary scan in a design

Chapter 10

Memory Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 472

「DIP概論」- IP Testing

Fault Models (13)bull Stuck-at fault (SAF)

ndash The logic value of a cell or a line is always 0 or 1

bull Transition fault (TF)ndash A cell or a line that fails to undergo a 0rarr1 or

a 1rarr0bull Coupling fault (CF)

ndash A write operation to one cell changes the contents of a second cell

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 473

「DIP概論」- IP Testing

Fault Models (23)

bull Neighborhood Pattern Sensitive Fault (NPSF)ndash The content of a cell or the ability to change its

content is influenced by the contents of some other cells in the memory

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 474

「DIP概論」- IP Testing

Fault Models (33)

bull Address Decoder Fault (AF)ndash Any fault that affects address decoder

bull With a certain address no cell will be accessedbull A certain cell is never accessedbull With a certain address multiple cells are accessed

simultaneouslybull A certain cell can be accessed by multiple addresses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 475

「DIP概論」- IP Testing

Memory Chip Test Algorithms

bull Traditional testsbull Tests for SAFs TFs and CFsbull Tests for NPSFs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 476

「DIP概論」- IP Testing

Traditional TestsAlgorithms Test length Order

n is the number of bits of the memory array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 477

「DIP概論」- IP Testing

Test Time as A Function of Memory Size

Cycle time 10 nsn is the number of bits of the memory array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 478

「DIP概論」- IP Testing

Notation of March Test Algorithms

bull uArr address 0 to address n-1bull dArr address n-1 to address 0bull either waybull w0 write 0bull w1 write 1bull r0 read a cell whose value should be 0bull r1 read a cell whose value should be 1

hArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 479

「DIP概論」- IP Testing

March Test Algorithm MATS

bull Modified Algorithmic Test Sequencendash (w0) (r0 w1) (r1)

Step 1 write 0 to all cellsStep 2 for each cell

read 0 and write 1Step 3 read 1 from all cells

hArr hArr hArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 480

「DIP概論」- IP Testing

Other March Test Algorithms (13)

bull MATS+ndash (w0) uArr(r0 w1) dArr(r1 w0)

bull Marching 10ndash (w0) uArr(r0 w1 r1) dArr(r1 w0 r0)

(w1) uArr(r1 w0 r0) dArr(r0 w1 r1)bull MATS++

ndash (w0) uArr(r0 w1) dArr(r1 w0 r0)

hArrhArr

hArrhArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 481

「DIP概論」- IP Testing

bull MARCH Xndash (w0) uArr(r0 w1) dArr(r1 w0) (r0)

bull MARCH C-ndash (w0) uArr(r0 w1) uArr(r1 w0)

dArr(r0 w1) dArr(r1 w0) (r0)bull MARCH A

ndash (w0) uArr(r0 w1 w0 w1) uArr(r1 w0 w1)dArr(r1 w0 w1 w0) dArr(r0 w1 w0)

Other March Test Algorithms (23)

hArr hArr

hArr

hArr

hArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 482

「DIP概論」- IP Testing

bull MARCH Yndash (w0) uArr(r0 w1 r1) dArr(r1 w0 r0) (r0)

bull MARCH Bndash (w0) uArr(r0 w1 r1 w0 r0 w1) uArr(r1 w0 w1)dArr(r1 w0 w1 w0) dArr(r0 w1 w0)

Other March Test Algorithms (33)

hArrhArrhArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 483

「DIP概論」- IP Testing

Tests for FaultsAlgorithms Test Length Fault CoverageMATS 4n Some AFs SAFsMATS+ 5n AFs SAFsMarching 10 14n AFs SAFs TFsMATS++ 6n AFs SAFs TFsMARCH X 6n AFs SAFs TFs some CFsMARCH C- 10n AFs SAFs TFs some CFsMARCH A 15n AFs SAFs TFs some CFsMARCH Y 8n AFs SAFs TFs some CFsMARCH B 17n AFs SAFs TFs some CFsn is the number of bits of the memory array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 484

「DIP概論」- IP Testing

NPSF

bull ANPSFndash Active Neighborhood Pattern Sensitive Fault

bull PNPSFndash Passive Neighborhood Pattern Sensitive Fault

bull SNPSFndash Static Neighborhood Pattern Sensitive Fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 485

「DIP概論」- IP Testing

ANPSF

bull n changes rArr b changesndash Eg n 0 rArr 1

b 1 rArr 0

n n nn b nn n n

b base celln neighborhood cells

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 486

「DIP概論」- IP Testing

PNPSF

bull Contain n patterns rArr b cannot changendash Eg n 00000000 rArr b 0 or 1

n n nn b nn n n

b base celln neighborhood cells

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 487

「DIP概論」- IP Testing

SNPSF

bull Contain n patterns rArr b is forced to a certain valuendash Eg n 11111111 rArr b 1

n n nn b nn n n

b base celln neighborhood cells

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 488

「DIP概論」- IP Testing

DC Parametric Testing

bull OpenShort testbull Power consumption testbull Leakage testbull Threshold testbull Output drive current testbull Output short current test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 489

「DIP概論」- IP Testing

AC Parametric Testingbull Output signal

ndash The rise and fall timesbull Relationship between input signals

ndash The setup and hold timesbull Relationship between input and output

signalsndash The delay and access times

bull Successive relationship between input and output signalsndash The speed test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 490

「DIP概論」- IP Testing

Dynamic Faults

bull Recovery faultsndash Sense amplifier recoveryndash Write recovery

bull Retention faultsndash Sleeping sicknessndash Refresh line stuck-at ndash Static data loss

bull Bit-line precharge voltage imbalance faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 491

「DIP概論」- IP Testing

BIST Pros And Consbull Advantages

ndash Minimal use of testersndash Can be used for embedded RAMs

bull Disadvantagesndash Silicon area overheadndash Speed slow access timendash Extra pins or multiplexing pinsndash Testability of the test hardware itselfndash A high fault coverage is a challenge

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 492

「DIP概論」- IP Testing

Architecture of a DRAM Chip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 493

「DIP概論」- IP Testing

Typical Memory BIST Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 494

「DIP概論」- IP Testing

Multiple Memory BIST Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 495

「DIP概論」- IP Testing

Serial Testing of Embedded RAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 496

「DIP概論」- IP Testing

Built-In Self-Repair

bull BIST can only identify faulty chipbull Laser cut may be infeasible in some cases

eg field testingbull Two types

ndash Use fault-array comparatorbull Repair by cellbull Repair by column (or row)

ndash Using switch array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 497

「DIP概論」- IP Testing

BIST Using Switch Array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 498

「DIP概論」- IP Testing

BIST Using Fault-Address Comparison

Chapter 11

SOC Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 500

「DIP概論」- IP Testing

System-on-A-Chip (SOC)bull Integrate all the function blocks of a

complete system into a single chip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 501

「DIP概論」- IP Testing

Challenges vs Solutions

bull Challengesndash Capacityndash Design productivity gapndash Time-to-market (TTM)ndash helliphellip

bull Solutionsndash Core-based designndash Platform-based designndash helliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 502

「DIP概論」- IP Testing

Core-Based SOC Design

bull Coresndash Pre-defined pre-verified complex function

blocks also termed Virtual Components (VCs) or Intellectual Properties (IPs)

bull Core-based SOC designndash Reuse existed cores to implement a complete

system in a single chiprArrReduce TTM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 503

「DIP概論」- IP Testing

SOC Components

bull Simple coresbull Complex coresbull User-define logic (UDL) bull Interconnect logic and wirerArr SOC testing should cover all the

components

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 504

「DIP概論」- IP Testing

SOC Design Flow

bull SOC components -- cores are only manufactured and tested in the final systemndash It is quite difficult to test the

individual coresbull Cores usually are protected

by laws

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 505

「DIP概論」- IP Testing

Core-Based Test Challenges

bull Distributed design and test developmentbull Test access to embedded coresbull SOC-level test optimization

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 506

「DIP概論」- IP Testing

Distributed Design and Test Development

bull Core providersndash Core-internal design DFT

bull Test pattern generation for coresbull Deliver cores with the complete tests

bull Core usersndash Chip-level DFT

bull Test pattern generation for chipsndash Reuse of core-level test patternsndash Additional test patterns for non-core circuitry

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 507

「DIP概論」- IP Testing

Test Access to Embedded Cores (12)

bull Many cores are (deeply) embedded rArr No direct (functional) access to core terminalsndash Other cores between SOC pins and core

terminalsndash Often core terminals gt SOC pins

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 508

「DIP概論」- IP Testing

Test Access to Embedded Cores (22)

bull To test cores as stand-alone unitsndash Provide core test access paths from SOC pins to

core terminalsndash Isolate cores such that external influence do not

hamper the core testndash Provide test access means for outward-facing

tests

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 509

「DIP概論」- IP Testing

SOC-Level Test Optimizationbull How are embedded cores tested

ndash Stand-alone vs merged with other modulesbull Optimization of test access infrastructure

ndash Test quality and bandwidth vs area and costbull Optimization of test execution and

schedulingndash Trade-offs between test vector count and

application time power dissipation and area

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 510

「DIP概論」- IP Testing

Solutions to Challenges

bull Distributed design and test developmentndash Standardized set of deliverables

bull Test access to embedded coresndash Standardized on-chip test access hardwarendash Tools for test translation

bull SOC-level test optimizationndash Tools to evaluate trade-offs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 511

「DIP概論」- IP Testing

Test Access Architecture

bull Test pattern sourcesinkndash Generates test patternscompares test responses

bull Test access mechanism (TAM)ndash Transports test patternsresponses tofrom CUT

bull Core test wrapperndash Provides switching of core terminals to functional IO

or TAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 512

「DIP概論」- IP Testing

Off-Chip SourceSinkbull pins determines bandwidthbull More TAM area

ndash Requires expensive ATE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 513

「DIP概論」- IP Testing

On-Chip SourceSinkbull Close to core-under-test (CUT)bull Less TAM area

ndash Requires lightweight ATEbull BIST IP area

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 514

「DIP概論」- IP Testing

TAM

bull Tasksndash Transport test patterns from source to CUTndash Transport responses from CUT to sink

bull Design parametersndash Width transport capacityndash Length transport distance

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 515

「DIP概論」- IP Testing

TAM Widthbull Transport capacity

ndash Minimum meet core testrsquos data ratendash Maximum bandwidth of sourcesink

bull Trade-offsndash Test qualityndash Test application time ndash Silicon area cost

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 516

「DIP概論」- IP Testing

TAM Lengthbull Physical distance

ndash On-chip sourcesink may shorten TAM lengthndash Sharing may shorten TAM length

bull Share TAM with functional hardwarebull Go through vs pass around other modulesbull Share TAMs between multiple cores

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 517

「DIP概論」- IP Testing

TAM Implementationsbull Multiplexed accessbull Reused system bus (AMBA)bull Transparency (Macro Test SOCET)bull Boundary Scan (JTAG partial-scan variants)bull Scalable TAMs (Test Bus Test Rail)

On one SOC different TAMs may co-exist

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 518

「DIP概論」- IP Testing

Multiplexed Access (13)

bull Connect wires to all core terminals and multiplex onto existing IC pins

bull Common practice for embedded memories

bull Also used for block-based ASICs

MUX

control

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 519

「DIP概論」- IP Testing

Benefits of Multiplexed Access

bull Each embedded core can be tested as stand-alone device

bull Translation from core-level test into IC-level test is simple

bull Simple silicon debug and diagnosis

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 520

「DIP概論」- IP Testing

Drawbacks of Multiplexed Accessbull Not scalable

ndash terminals of one core gt IC pinsbull Parallelserial conversion rArr at-speed testing is

difficult

ndash Too many embedded cores bull High area costs for connecting and multiplexing all

coresbull Control circuitry for the multiplexer grows more and

more complex

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 521

「DIP概論」- IP Testing

Analysis of Multiplexed Access (13)bull Let K be the number of SOC pins available

for scan test and M be the number of control pinsrArrThe number of scan chains as TAM N =

bull For core iisinC where C is the core setndash pi the number of test patternsndash fi the number of scannable flip-flops

bull In a balanced way each chain has flip-flops

ndash ti the test time

( )⎥⎥

⎢⎢

⎢ minus2MK

⎥⎥⎥

⎢⎢⎢

Nf i

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 522

「DIP概論」- IP Testing

bull The test time ti of core i

can be reduced as

Analysis of Multiplexed Access (23)

pNfp1pN

f it ii

iiibull⎥⎥⎥

⎢⎢⎢

⎡++bull

⎥⎥⎥

⎢⎢⎢

⎡= bull

p1Nf1pt i

iii bull+bull+=

⎥⎥⎥

⎢⎢⎢

⎡⎟⎠⎞⎜

⎝⎛

Scan-In Normal Scan-Out

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 523

「DIP概論」- IP Testing

bull The total test time T of the SOC

can be reduced as

Analysis of Multiplexed Access (33)

( )sumisin

⎟⎠

⎞⎜⎝

⎛+⎥⎥⎤

⎢⎢⎡bull+=

Cip

Nf1pT i

ii

⎥⎥

⎤⎢⎢

isin+sum

isin⎟⎠

⎞⎜⎝

⎛+⎥⎥⎤

⎢⎢⎡bull=

Nf

CiCip

NfpT i

ii

i max

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 524

「DIP概論」- IP Testing

Reused System Busbull Many SOCs have an on-chip system bus

which connects to most cores especially the platform-based system

bull Reuse of the system bus as TAM is cheap wrt silicon area

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 525

「DIP概論」- IP Testing

An Example of Reused System Busbull ARMrsquos Advanced Microcontroller Bus

Architecture (AMBA)ndash The 32-bit system bus is used as TAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 526

「DIP概論」- IP Testing

Analysis of Reused System Busbull Benefits

ndash Low area cost for TAMndash Translation form core-level test into IC-level

test is independent of SOC configurationbull Drawbacks

ndash Not scalablebull Fixed bus width does not allow trade-offs

(area quality test time)ndash Functional test approach of ARM core

dominates overall IC test approachbull Difficult to integrate scan design or BIST

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 527

「DIP概論」- IP Testing

Transparencybull Transparent path

ndash Path from input to output which propagates data without information loss

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 528

「DIP概論」- IP Testing

Examples of Transparency

bull Scan chains bull Arithmetic functions add + 0 mult 1bull Embedded memories SRAM DRAM

ROMbull Basic gates AND OR INV MUX

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 529

「DIP概論」- IP Testing

Analysis of Transparency (12)

bull Benefitsndash Low area cost for TAM in case of reuse of

existing hardwarebull Drawbacks (12)

ndash Corersquos test access depends on other modulesndash Translation from core-level test into IC-level

test might be complicated eg latencies of cores

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 530

「DIP概論」- IP Testing

Analysis of Transparency (22)bull Drawbacks (22)

ndash During core design core environments are unknown

bull Insufficient transparency ndash core user has to add TAMs

bull Too much transparency ndash area costbull Multiple versions ndash expensive for core provider and

core user

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 531

「DIP概論」- IP Testing

Macro Test Philips Research

bull Generic approach for testing embedded modules

bull Originally focused on defect-oriented testing

bull Approach and tools proved useful for core test

bull May take advantage of transparent paths through modules

defect-oriented testing A type of testing where the nature of the test ismeant to directly exercise detect and isolate defects and defect effects rather than abstract fault models

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 532

「DIP概論」- IP Testing

SOCET PrincetonNEC

bull Core provider is responsible for testable and transparent cores

bull Design-for-transparency techniquebull Multiple versions of cores with different

area and transparency latency ndash Selection and trade-offs at SOC level

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 533

「DIP概論」- IP Testing

Boundary Scan (12)

bull Boundary Scan Test solves board-level interconnect testndash IEEE 11491 standard (lsquoJTAGrsquo)ndash ICs are components in SOB

bull Cores are components in SOC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 534

「DIP概論」- IP Testing

Boundary Scan (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 535

「DIP概論」- IP Testing

Examples of Boundary Scanbull Various Texas Instruments papers have

suggested the use of Boundary Scan as TAM

bull Partial Boundary Scan Ringndash No scan flip-flops on those inputs for which

stimuli can be justified from preceding logicndash ATPG techniques to find this out

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 536

「DIP概論」- IP Testing

Benefits of Boundary Scan

bull Existing well-known and well-documented standard

bull Reuse of IC-level BIST implementations augmented with private instructions for test debug emulation etc

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 537

「DIP概論」- IP Testing

Drawbacks of Boundary Scan

bull Fixed 1-bit TAM width does not allow trade-offs between silicon area test quality and test time

bull Intertwined test control and test data due to lack of pins

bull Multiple TAP controllers on one IC is against IEEE 11491 standard

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 538

「DIP概論」- IP Testing

Dedicated Scalable TAMs (12)bull Dedicated TAM

ndash Not through other modules or over existing buses bull Scalable TAM

ndash TAM width is variable to be chosen by core provideruser

bull Core user determines IC-level architecturendash How many TAMs of which widthndash Which configuration (bus rail etc)ndash Which core connects to which TAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 539

「DIP概論」- IP Testing

Dedicated Scalable TAMs (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 540

「DIP概論」- IP Testing

Example I of Dedicated Scalable TAMs

Test Bus

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 541

「DIP概論」- IP Testing

Example II of Dedicated Scalable TAMs

TestRail

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 542

「DIP概論」- IP Testing

Analysis of Dedicated Scalable TAMs (12)

bull Benefitsndash Guaranteed test access

bull Accessibility of a core does not depend on neighboring circuitry

ndash Fast and easy test expansion bull No difficult path-finding through complicated

circuitry ndash Enable ldquoplug-n-playrdquo connection at IC levelndash Allow the trade-offs between area quality and

test time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 543

「DIP概論」- IP Testing

Analysis of Dedicated Scalable TAMs (22)bull Costs

ndash Design timebull Can be minimized through standardization and

automation

ndash Silicon area ndash sharing with existing hardware is more difficult

bull But transistors are not as expensive as they used to be

ndash Performance impact bull Can be avoided if taken into account upfront

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 544

「DIP概論」- IP Testing

Daisychain Architecturecontrol

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 545

「DIP概論」- IP Testing

Analysis of Daisychain Architecture (12)

bull Reassign the indices of the cores according to a non-decreasing number of patternsndash We can scan in a pattern in all cores p1 times

pNf

1p11

C

1j

j +⎥⎥

⎤⎢⎢

⎡+ sum

=⎟⎠⎞⎜

⎝⎛

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 546

「DIP概論」- IP Testing

bull Afterwards we put core 1 in by-pass mode and test next p2 ndash p1 patterns for the other cores

bull The total test time T of the SOC is

Analysis of Daisychain Architecture (22)

⎟⎠⎞⎜

⎝⎛

=⎟⎠⎞⎜

⎝⎛ minus+

⎟⎟⎠

⎞⎜⎜⎝

⎛sum ⎥

⎤⎢⎢

⎡+minus pp

Nf

1pp 1212

C

2j

j

( ) 1ppNf

1ipp 0C

C

1i

C

ij

j1ii minus=+⎟

⎟⎠

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛sum ⎥

⎤⎢⎢

⎡+minusminussum

= =minus

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 547

「DIP概論」- IP Testing

Distribution ArchitectureScan Enables

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 548

「DIP概論」- IP Testing

Si scan clocksli length of scan chains

Reduction of Idle TimeNormal

A single scan enable

Multiple scan enables

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 549

「DIP概論」- IP Testing

Analysis of Distribution Architecture

bull We define ni to be the number of scan chains of core i

bull The total test time T of the SOC is

pnf1pt i

iii

i++=

⎥⎥⎥

⎢⎢⎢

⎡⎟⎠⎞⎜

⎝⎛

( ) ⎟⎟⎠

⎞⎜⎜⎝

⎛+⎥⎥

⎤⎢⎢

⎡+

isinp

nf1p i

i

iiCi

max

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 550

「DIP概論」- IP Testing

The Scan Chain Distribution Problem (SCDP)bull Find a distribution of a given number of

scan chains over the cores such that the total test time is minimized

FF

FF

core

FF

FF

core

A single scan chain Two scan chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 551

「DIP概論」- IP Testing

The SCDP Algorithm

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 552

「DIP概論」- IP Testing

Reduction of Scan Controlsbull Distribute as fewer scan controls as possible

over the cores such that minimal time resulted form SCDP is still maintainedndash Constructing an additional scan chain needs to

remove two scan-control signalsndash Some cores are controlled by the same scan-

control signalbull An efficient algorithm has been presented

by Aerts et al ndash ITCrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 553

「DIP概論」- IP Testing

Core Test Wrapperbull Interface between the CUT and the rest of

chipndash Provide switching capability between modes

bull Normal functional operationbull InTest inward-facing core test modebull ExTest outward-facing interconnect test modebull Bypass

ndash Width adaptationbull Serial-to-parallel conversion at core inputsbull Parallel-to-serial conversion at core outputs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 554

「DIP概論」- IP Testing

Functional-Only Connections

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 555

「DIP概論」- IP Testing

Wrapper + TAM

Daisychain

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 556

「DIP概論」- IP Testing

Wrapper Modes (14)

Normal Operation

Normal

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 557

「DIP概論」- IP Testing

Wrapper Modes (24)

InTest

InTest

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 558

「DIP概論」- IP Testing

Wrapper Modes (34)

ExTest

ExTest

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 559

「DIP概論」- IP Testing

Wrapper Modes (44)

Bypass

Bypass

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 560

「DIP概論」- IP Testing

Reasons for Modular Testingbull Test Quality

ndash Different circuit structures such as random logic memory hellip require different test methods

bull Blackboxed Embedded Corendash Implementation is not known forced to use the tests

developed by core provider

bull Divide-and-conquerndash Very large SOCs are intractable for ATPG or fault

simulation tools

bull Test Reusendash Module will be reused in other designs

Chapter 12

Introduction to IEEE P1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 562

「DIP概論」- IP Testing

IEEE P1500 lsquoSECTrsquo (12)bull Facilitate test interoperability of embedded

cores to improve efficiency of core creators integrators and manufacturersndash Standardize interface between core provider and

core userbull Core test information modelbull Test access to embedded cores

ndash Do not standardizebull Corersquos internal test methods and DFTbull Chip-level test integration and optimization

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 563

「DIP概論」- IP Testing

IEEE P1500 lsquoSECTrsquo (22)bull Membership of IEEE P1500 is on an individual

basis information and meetings are open to everyonendash httpgrouperieeeorggroups1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 564

「DIP概論」- IP Testing

IEEE P1500 Main Componentsbull Standardized scalable core test wrapperbull Core test information model

ndash Described in standardized Core Test Language (CTL)bull Two compliance levels

ndash IEEE 1500 Unwrappedndash IEEE 1500 Wrapped

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 565

「DIP概論」- IP Testing

IEEE P1500 for Mergeable Cores (13)bull Mergeable cores

ndash Cores that can be merged with surrounding circuitry to form one unit for testing

ndash Mergeable cores do not need to be mergedbull Eg Digital logic at RT- or gate-level

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 566

「DIP概論」- IP Testing

IEEE P1500 for Mergeable Cores (23)

MergeableEg digital logicAt RTgate-level

Non-MergeableEg layoutencrypted memory

Before integration

MergedCoremodule tested as part of its integration environment

Non-MergedCoremodule tested as aseparate entity with test patternsdeveloped for the coremoduleas a stand-alone unit

After integration

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 567

「DIP概論」- IP Testing

bull Challengesndash Most DFT insertion and test pattern generation take

place at gate-levelndash Core test cannot be re-used once core is mergedndash What to standardize for RTL- and other merged

cores to facilitate test interoperability

IEEE P1500 for Mergeable Cores (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 568

「DIP概論」- IP Testing

Standardized Wrapperbull IEEE P1500 is a core-level standard

ndash Implementation of SourceSink depends on test methods

ndash Implementation of TAMs depends on SOCndash Note IEEE P1500 only standardizes the

wrapper

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 569

「DIP概論」- IP Testing

Wrapper Functionsbull Transparent functional modebull Test access

ndash Inward-facing for core-internal tests (InTest)ndash Outward-facing for core-external tests (ExTest)

bull Switchable connection between core and TAM(s)ndash One lsquosingle-bit TAM Plugrsquo is mandatoryndash Zero or more lsquoMulti-bit TAM Plugsrsquo are optional

bull Optional lsquowidth adaptationrsquo for TAM plugs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 570

「DIP概論」- IP Testing

The Wrapper Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 571

「DIP概論」- IP Testing

Wrapper Elements (12)bull Wrapper Instruction Register (WIR)

ndash Controls operation of wrapperndash Mandatory optional and user-defined instructions ndash Implementation requires shiftupdate registerndash Controlled directly from WIPndash Instructions are loaded via WSI-WSO

bull Wrapper Bypass Register (WBY)ndash Mandatory bypass for serial TAM

(between WSI-WSO)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 572

「DIP概論」- IP Testing

Wrapper Elements (22)bull Wrapper Boundary Register (WBR)

ndash Controllabilityobservability on core terminalsndash Built from library of wrapper cellsndash In test mode configured to one or multiple test

access chainsndash Test data are loaded from WSI-WSO or

WPI-WPO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 573

「DIP概論」- IP Testing

Wrapper Interface (12)bull Functional inputsoutputs

ndash Number names and functions match the corersquos functional inputsoutputs

bull Wrapper Interface Port (WIP)ndash 6-bit control port for WIR and Wrapper

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 574

「DIP概論」- IP Testing

Wrapper Interface (22)bull Serial interface WSI-WSO

ndash Load instructions into WIRndash Load test data into selected wrapper registers

(WBR WBY)bull Parallel interface WPI-WPO

ndash Load test data into WBRndash User-defined width

bull Zero or more parallel ports (typical one)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 575

「DIP概論」- IP Testing

Wrapper Interface Register (WIR)bull Serial shiftupdate registerbull Scalable length

ndash Mandatory bits for mandatory wrapper modesndash Optional bits for optional wrapper modesndash User-defined bits

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 576

「DIP概論」- IP Testing

Wrapper Interface Port (WIP)bull Functions

ndash Control the operation of the WIRndash Control together with the WIR instruction the operation of the

wrapperbull Signals

WRCK lsquoWrapper Clockrsquo dedicated P1500 clock signal for WIR WBY optionally WBR

WRSTN lsquoWrapper Resetrsquo dedicated P1500 reset (asynchronous active-low) signal for WIR puts wrapper in Normal mode

SelectWIR (De-)selects WIR as register between WSI-WSO

CaptureWR Enables capture operation for selected register

ShiftWR Enables shift operation for selected register

UpdateWR Enables update operation for selected register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 577

「DIP概論」- IP Testing

Basic Wrapper Cellbull Modes

ndash Normal mode normal = 1ndash Shift mode shift = 1

bull Controllabilityndash normal = 0 =gt value in SE is driven onto cfo

bull Observabilityndash shift = 0 =gt value at cfo is captured into SE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 578

「DIP概論」- IP Testing

Wrapper Cell Optionsbull SEs can be shared with functional SEsbull Capture in Update SE instead of Shift SEbull Update SE that prevents ripple-through while

shiftingbull Multiple shift SEs for high-speed stimuli bull Mode in which lsquosafersquo value is presented at cfo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 579

「DIP概論」- IP Testing

Wrapper Cell with Only ShiftCapture SE

Dedicated SE Shared SE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 580

「DIP概論」- IP Testing

Wrapper Cell with ShiftCapture + Update SEs

Shared Updated SE

Dedicated SEs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 581

「DIP概論」- IP Testing

Scalable Wrapper Cell

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 582

「DIP概論」- IP Testing

Wrapper Instruction Set

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 583

「DIP概論」- IP Testing

Serial Interface WSI-WSO (12)bull Mandatory serial interface is used for two

purposesndash Wrapper control load instructions into the WIRndash Low-bandwidth test data access to WBR (serial TAM)

bull P1500 envisions concatenated connectionndash Daisychain is a flat interconnection methodndash Supports hierarchical design

bull Consistent interface at every level of hierarchy

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 584

「DIP概論」- IP Testing

Serial Interface WSI-WSO (22)bull Concatenated serial mechanism easy to

connect to IEEE 11491 (JTAG) TAP and TAP Controllerndash Private instructions connect daisychained serial

mechanisms between TDI and TDOndash Cores can be tested and debugged even while

SOC is soldered onto PCB

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 585

「DIP概論」- IP Testing

Parallel Interface(s) WIP-WPO (12)bull Optional parallel interface(s) are used for test

data access to WBR with user-defined scalable bandwidth

bull Optionsndash Zero Low-bandwidth serial interface is only TAMndash One SOC manufacturing test takes place via Parallel

TAM bull Serial TAM is used for loading WIR instructions and

during board-level silicon debugndash Multiple Different core tests need different

bandwidths

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 586

「DIP概論」- IP Testing

bull P1500 supports many SOC-level configurationsndash Multiplexingndash Daisychainndash Distribution

Parallel Interface(s) WIP-WPO (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 587

「DIP概論」- IP Testing

Typical Usage of P1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 588

「DIP概論」- IP Testing

P1500 Wrapper Parameters (12)bull Scalability in the follow parameters

ndash Bandwidthbull Number of WPI-WPO pairs (zero or more)bull Width of the WPI-WPO pairs (if present)

ndash Instructionsbull Optional instructionsbull User-defined instructionsbull OpCodes of instructions

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 589

「DIP概論」- IP Testing

bull WBR functionalityndash Shared or dedicated wrapper cellsndash Shift-only or Shift+Update wrapper cellsndash Storage capacity (one or more bits)ndash Location of capture (in Shift or Update register)ndash Ripple protection (with Update register or gate)ndash lsquoSafe statersquo output values

P1500 Wrapper Parameters (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 590

「DIP概論」- IP Testing

Notes

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 591

「DIP概論」- IP Testing

P1500rsquos Information Model (12)

bull The information model should allow the SOC integrator or automation tools to successfully create a complete test for the SOC

bull The information model is captured in Core Test Language (CTL) a language for expressing test-related information for reusable cores

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 592

「DIP概論」- IP Testing

bull CTL is meant to co-exist and complement information expressed as a netlist

bull The CTL description of a P1500-compliant core allows to ndash Construct a wrapper and an appropriate TAMndash Configure the code to be testedndash Configure the core for its surroundings to be

testedndash Transform core-level into SOC-level test

patterns

P1500rsquos Information Model (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 593

「DIP概論」- IP Testing

IEEE 1450 (STIL)bull IEEE 1450 - Standard Test Interface Language

(STIL) for digital test vector datandash httpgrouperieeeorggroups1450

bull STIL is meant as a common interchange format between EDA test generation and ATE test application ndash STIL is capable of describing digital test vector datandash Focus on large volume of digital data

bull Developed by EDA vendors ATE vendors and IC manufacturers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 594

「DIP概論」- IP Testing

IEEE P14506 (CTL) (12)

bull IEEE P14506 - Core Test Language bull Initially created by and developed within

IEEE P1500 to describe its information modelndash CTL syntax and semantics in IEEE P14506ndash Information model and CTL usage in IEEE

P1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 595

「DIP概論」- IP Testing

IEEE P14506 (CTL) (22)bull CTL uses STIL-like syntax

ndash Test patterns and waveforms are described in STIL

ndash CTL mandates separation of test patterns into test protocol and test data for easy expansion

ndash CTL-specific constructs describe corersquos test modes

ndash CTL-specific constructs describe corersquos integration

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 596

「DIP概論」- IP Testing

STIL - CTL Structure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 597

「DIP概論」- IP Testing

CTL Key Words

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 598

「DIP概論」- IP Testing

Usage of MacroDefs (12)

bull STIL contains the construct MacroDefsndash This can be used for separating test protocol

and data in CTL this separation is mandatory

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 599

「DIP概論」- IP Testing

Usage of MacroDefs (22)bull Typical usage

ndash Voluminous test data is coded in separate CTL file

ndash CTL for lsquo1500-Unwrappedrsquo core references test patterns with a MacroDef applicable for unwrapped core

ndash CTL for lsquo1500-Unwrappedrsquo core references same test patterns but has an updated MacroDefs

ndash SOC-level test again references same test patterns but with yet another MacroDefs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 600

「DIP概論」- IP Testing

Motivation for Dual Compliance Levels (12)

bull Testing an embedded core or module only works if properly isolated from the rest of the SOC and hence requires a wrapper

bull The P1500 wrapper is scalable in many aspects to allow optimization towardsndash Corendash SOC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 601

「DIP概論」- IP Testing

bull In order to provide additional flexibility and support multiple use scenarios P1500 standardizes two separate compliance levels

Motivation for Dual Compliance Levels (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 602

「DIP概論」- IP Testing

Two Compliance Levels (12)

bull IEEE 1500 Unwrappedndash Core does not have a complete IEEE 1500

wrapper functionndash Core has a complete IEEE Information Model

which accurately describes the corersquos tests as well as provide all information on the basis of which the core could be made lsquoIEEE 1500 Wrappedrsquo (either manually or automatically by tools)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 603

「DIP概論」- IP Testing

Two Compliance Levels (22)

bull IEEE 1500 Wrappedndash Core incorporates complete IEEE 1500 wrapper

function ndash Core has a complete Information Model which

accurately describes the corersquos tests as well as the wrapper and how to operate it

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 604

「DIP概論」- IP Testing

P1500 Use Scenario 1 (13)

bull Core provider delivers lsquoIEEE 1500 Unwrappedrsquo corendash The Information Model that comes with it

contains all relevant core test knowledge including core-related data for generation of the IEEE 1500 wrapper

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 605

「DIP概論」- IP Testing

P1500 Use Scenario 1 (23)

bull Core user makes core lsquoIEEE 1500 Wrappedrsquondash Adding IEEE 1500 Wrapperndash Upgrading the Information Model from bare

core terminals to wrapper terminals

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 606

「DIP概論」- IP Testing

P1500 Use Scenario 1 (33)

bull Can take data specific to particular system-chip into account while instantiating the wrapper (eg TAMs width of TAMs rsquosafersquo state)

bull lsquoIEEE 1500 Unwrappedrsquo guarantees fast and reliable route to lsquoIEEE 1500 Wrappedrsquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 607

「DIP概論」- IP Testing

P1500 Use Scenario 2bull Core provider delivers lsquoIEEE 1500

Wrappedrsquo core of which the wrapper is built-to-order on customer specification

bull Similar to Scenario 1 except conversion done by core provider

bull Requires cooperative information exchangebull Core provider might have expertstools for

conversion

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 608

「DIP概論」- IP Testing

P1500 Use Scenario 3 (12)

bull Core provider offers a catalogue of off-the-shelf lsquoIEEE 1500 Wrappedrsquo cores with fixed wrapper parameters

bull Core user selects the core which best matches the system chip needs

bull Allows to integrate wrapper with core in order to minimize costs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 609

「DIP概論」- IP Testing

P1500 Use Scenario 3 (22)

bull Scenario might be popular especially for hard cores

bull Large cataloguendash More work for core providerbut more choice

for core user

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 610

「DIP概論」- IP Testing

Usage of Dual Compliance Levels (12)

bull Full benefits of test interoperability are only obtained from a fully compliant lsquo1500-wrappedrsquo Core

bull Two compliance levels provide two optionsndash Make a core lsquo1500-wrappedrsquo compliant directly ndash Make an intermediate stop at lsquo1500-

Unwrappedrsquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 611

「DIP概論」- IP Testing

bull For this purpose lsquo1500-Unwrappedrsquo will also be fully standardized

Usage of Dual Compliance Levels (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 612

「DIP概論」- IP Testing

SOC Test Creation

bull Distinguish two types of circuitry within SOC ndash IEEE 1500 Wrapped Coresndash lsquoOther Circuitryrsquo

bull Unwrapped coresbull Interconnect logic and wiring

bull IEEE P1500 facilitates SOC test for both types

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 613

「DIP概論」- IP Testing

Test Creation for Compliant Cores (13)

bull Test for IEEE 1500 Wrapped core is delivered with the core in its Information Modelndash No need for core user to know the

implementation details of the core to develop a test

ndash Test re-use

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 614

「DIP概論」- IP Testing

bull Test access to core is guaranteed (provided proper TAM connections are made)

Test Creation for Compliant Cores (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 615

「DIP概論」- IP Testing

bull Translation of test from wrapper boundary to SOC pinsndash In case of one-to-one relationship between core

terminals and SOC pins simple renaming suffices

ndash Sharing TAMs with multiple cores bypasses bidirectional TAMs complicate this process

Test Creation for Compliant Cores (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 616

「DIP概論」- IP Testing

Test Creation for lsquoOther Circuitryrsquo (12)

bull Test re-use not possiblebull Typically ATPG at SOC level is required

to generate test patterns for this circuitry bull IEEE 1500 Wrapped cores are tested by

their own patterns and do not need to be included in this

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 617

「DIP概論」- IP Testing

ndash Wrapped cores should be black-boxedbull For some cores not netlist available at allbull Even if netlist is available blackboxing will reduce

the compute time for ATPG for the other circuitry substantially

ndash The P1500 Information Model provides necessary information about controllability observability features in wrapper to APTG tool

Test Creation for lsquoOther Circuitryrsquo (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 618

「DIP概論」- IP Testing

Overview of Example

Given a very small scan-testablecorebull lsquo1500-Unwrappedrsquo compliant core

ndash P1500 Information Modelbull lsquo1500-Wrappedrsquo compliant core

ndash P1500 Wrapper ndash P1500 Information Model

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 619

「DIP概論」- IP Testing

Bare Core

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 620

「DIP概論」- IP Testing

STIL Test Patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 621

「DIP概論」- IP Testing

Wrapped Core

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 622

「DIP概論」- IP Testing

Modes Instruction and Opcodes

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 623

「DIP概論」- IP Testing

Normal + Serial Bypass Modes

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 624

「DIP概論」- IP Testing

Serial in Test Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 625

「DIP概論」- IP Testing

Serial ExTest Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 626

「DIP概論」- IP Testing

Parallel InTest Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 627

「DIP概論」- IP Testing

Parallel ExTest Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 628

「DIP概論」- IP Testing

Wrapper Design (12)

bull Automated wrapper designndash Library of wrapper cellsndash Wrapper configuration depends on core

terminal types ndash Optimization for test time

bull No industry-wide standard (yet)ndash Ad-hoc wrappers may not operate in concerto

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 629

「DIP概論」- IP Testing

Wrapper Design (22)

bull Optimal wrapper design algorithm for test time minimization

Ref [Marinissen et al ndash ITCrsquo00]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 630

「DIP概論」- IP Testing

Wrapper Chain Design (12)

bull Wrapper itemsndash Wrapper input cellsndash Wrapper output cellsndash Core-internal scan chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 631

「DIP概論」- IP Testing

Wrapper Chain Design (22)

bull Wrapper chain designndash Designing the test access chains within the

wrapper from wrapperrsquos TAM input plug through all wrapper items to TAM output plug

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 632

「DIP概論」- IP Testing

Wrapper Chain Design amp Test Time (12)

bull lsquoTest Timersquo for large ICs is important cost factor ndash Test application time

=gt more time on ATE

ndash Size of test vector set =gt more expansive ATE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 633

「DIP概論」- IP Testing

bull Wrapper chain design has large impact on test time ndash Partitioning which wrapper item in which

wrapper chainndash Ordering position of wrapper item in a

wrapper chainndash Bypasses shorten wrapper chain where

possible

3

2

1

Wrapper Chain Design amp Test Time (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 634

「DIP概論」- IP Testing

Ordering of Wrapper Items

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 635

「DIP概論」- IP Testing

Bypasses (12)

bull Scan chain bypassndash Shortens wrapper chain length through during

ExTestbull Wrapper bypass

ndash Shortens wrapper chain length while testing other core up- or downstream in same TAM

ndash Contains register for plug-n-play connection of (possible) long wires

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 636

「DIP概論」- IP Testing

Bypasses (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 637

「DIP概論」- IP Testing

Partitioning of Wrapper Items (12)

bull Partition ndash x wrapper input cells all of scan length 1ndash y wrapper output cells all of scan length 1ndash z core-internal scan chains which scan length Ii

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 638

「DIP概論」- IP Testing

bull over ndash m wrapper chains

(typically m lt z lt x+y+z)such that ndash scan-in length over all wrapper chains in

minimizedndash scan-out length over all wrapper chains in

minimized

Partitioning of Wrapper Items (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 639

「DIP概論」- IP Testing

Three-Step Solution Approach (13)

1 Find partition PS of z core-internal scan chains over m wrapper chains such that maximum sum of scan lengths in any wrapper chain is minimized

(Hard)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 640

「DIP概論」- IP Testing

2 Assign x wrapper input cells to wrapper chains on top of PS such that maximum scan-in time of any wrapper chain is minimized

(Easy)

Three-Step Solution Approach (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 641

「DIP概論」- IP Testing

3 Assign y wrapper output cells to wrapper chains on top of PS such that maximum scan-out time of any wrapper chain is minimized

(Easy)

Three-Step Solution Approach (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 642

「DIP概論」- IP Testing

Wrapper Scan Chain Partitioning (12)

[Problem Definition]Givenndash Set of core-internal scan chains

S = S1 S2 hellip SZ with length L(Si)ndash m identical wrapper chains (typically mlt z)

Find ndash Partition P =P1 P2 hellip Pm of S such that

is minimizedsum isinlele P SLi

Smi)(max

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 643

「DIP概論」- IP Testing

bull Problem is equivalent to well-known NP-hard problems of Multi-Processor Scheduling and Bin Design

Wrapper Scan Chain Partitioning (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 644

「DIP概論」- IP Testing

WSCP Algorithms (13)

Polynomial-time algorithms for near-optimal resultsbull LPT(Last Processing Time)

ndash Sort items from large to smallL(S1) ge L(S2) ge hellip ge L(Sz)

ndash Assign scan chains to shortest wrapper chain so far

Ref [Grahamrsquo69]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 645

「DIP概論」- IP Testing

WSCP Algorithms (23)

bull COMBINEndash Use LPT to obtain start solution ndash Linear Search over maximum wrapper chain

lengths bull Try whether wrapper items fit a wrapper chain

length with FFD (First Fit Decreasing)

Ref [Coffman Garey Hohnson78]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 646

「DIP概論」- IP Testing

WSCP Algorithms (33)

bull LPT is fast and has good resultsndash COMBINE produces sometimes better

resultsat the expense of more CPU time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 647

「DIP概論」- IP Testing

Example Core (12)

bull Core characteristicsndash Terminals

8 functional inputs a[07]

11 functional outputs z[010]

9 scan inputs si[08]

9 scan outputs so[08]

+ 1 scan enable sc

38 core terminals in total

ndash Core-internal scan chains lengths 12 6 8 6 6 12 6 8 8 flip flops

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 648

「DIP概論」- IP Testing

Example Core (22)

bull Desired wrapper characteristicsndash Serial TAMndash 3-bit parallel TAMndash Wrapper bypassndash No scan chain bypasses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 649

「DIP概論」- IP Testing

Wrapper Result (14)bull Algorithmic results

ndash LPT max length = 26P1 = 12 8 6P2 = 12 6 6P3 = 8 8 6

ndash COMBINE max length = 24P1 = 12 12P2 = 8 8 8P3 = 6 6 6 6

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 650

「DIP概論」- IP Testing

Wrapper Result (24)

bull Operation modes (13)ndash Serial access

bull All wrapper items connected into one chain

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 651

「DIP概論」- IP Testing

Wrapper Result (34)

bull Operation modes (23)ndash Parallel access

bull All wrapper items divided over the (three) wrapper chains according to COMBINE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 652

「DIP概論」- IP Testing

Wrapper Result (44)

bull Operation modes (33)ndash Parallel pass

bull Bypass over the (three) wrapper chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 653

「DIP概論」- IP Testing

Compliance Checking (12)

bull Automatic check to assure that Core + Wrapper are compliant to standard

bull Relevant to both core provider and core user as compliance guarantees interoperability of this core with others at SOC level

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 654

「DIP概論」- IP Testing

Compliance Checking (22)

bull No industry-wide standard (yet)ndash Current compliance checkers only work for

company-internal standardsbull Wrapper generator and compliance checker

might work in concerto

Ref [Marinissen et al - ITC00]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 655

「DIP概論」- IP Testing

Wrapper Generator + Compliance Checker (13)

bull Automated wrapper design ndash corersquos netlist availablendash Compliance checker identifies still missing

wrapper functionality ndash Wrapper generator adds only required missing

hardwarendash Optional compliance checker for outgoing

inspection

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 656

「DIP概論」- IP Testing

bull Automated wrapper design ndash corersquos netlist not availablendash Wrapper generator adds full wrapper

functionalityndash Optional compliance checker for outgoing

inspection bull Manual wrapper design

ndash compliance checker for outgoing inspection

Wrapper Generator + Compliance Checker (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 657

「DIP概論」- IP Testing

bull Wrapped core usage ndash compliance checker for incoming inspection

Wrapper Generator + Compliance Checker (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 658

「DIP概論」- IP Testing

ExTest test Generation (12)

bull Test patterns for cores come from core provider

bull Core user is responsible for test patterns of SOC-specific circuitryndash Interconnect wiring ndash Interconnect logic(lsquoglue logicrsquo)ndash SOC-specific modules(lsquoUDLrsquo)

Interconnect ATPG

Normal ATPG

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 659

「DIP概論」- IP Testing

ExTest test Generation (22)

bull Interconnect ATPGndash lsquoLow-fatrsquo netlistndash Specific fault model for interconnect

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 660

「DIP概論」- IP Testing

Interconnect Faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 661

「DIP概論」- IP Testing

Interconnect ATPG

bull Determine a set of tests to detectndash Any interconnection open (S1 or S0)ndash Any shorted pair of net (wired-AND or wired-

OR)bull Solution is known as the ldquoCountingrdquo

algorithm

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 662

「DIP概論」- IP Testing

TAM Architecting (12)

bull Decision support to analyze and evaluate trade-offs for various TAM architectures at SOC levelndash How many TAMsndash Which core connects to which TAMndash How wide is each TAMndash How is the wrapper designed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 663

「DIP概論」- IP Testing

TAM Architecting (22)

bull Impact onndash Test quality ndash Test time ndash Areandash Dissipationndash Performance impact

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 664

「DIP概論」- IP Testing

Three TAM Architectures

Ref [Aerts amp Marinissen - ITC98]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 665

「DIP概論」- IP Testing

Multiplexing Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 666

「DIP概論」- IP Testing

Daisychain Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 667

「DIP概論」- IP Testing

Distribution Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 668

「DIP概論」- IP Testing

Architecture Model

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 669

「DIP概論」- IP Testing

Improved Wrapper Design

Source [Iyengar et al ndash ITCrsquo01]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 670

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (14)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 671

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (24)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 672

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (34)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 673

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (44)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 674

「DIP概論」- IP Testing

Problem Formalization (13)

bull PW Design a wrapper for a given core such that ndash The core testing time in minimized ndash The TAM width required for the core is minimized

bull PAW Determinendash An assignment of cores to TAMs of given widthsndash A wrapper design for each core

such that the SOC testing time is minimized

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 675

「DIP概論」- IP Testing

Problem Formalization (23)

bull PPAW Determinendash A partition of the total TAM width over the given number of

TAMs ndash An assignment of cores to TAMs of given widthsndash A wrapper design for each core

such that the SOC testing time is minimized

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 676

「DIP概論」- IP Testing

Problem Formalization (33)

bull PNPAW Determine ndash The number of TAMs for the SOCndash A partition of the total TAM width over the given number of

TAMs ndash An assignment of cores to TAMs of given widthsndash A wrapper design for each core

such that the SOC testing time is minimized

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 677

「DIP概論」- IP Testing

More Research Neededbull Many interesting research results are

appearing in this domainbull TAM architecting and test scheduling are

intertwinedbull Most of todayrsquos approaches focus only on

ndash lsquoTest-busrsquo like TAMs (and ignore other TAM types)

ndash InTests (and ignore ExTests)ndash Test time (and ignore other costs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 678

「DIP概論」- IP Testing

Test Expansion

bull Translation of ndash Core-level test (defined at core terminals)intondash SOC-level test defined at IC pins)

bull Test Protocol Expansion

Ref [Marinissen amp Lousberg ndash TEC97 ETW99]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 679

「DIP概論」- IP Testing

Macro Test Concept Overview (13)

bull Test = test protocol + test patternsbull Subsequent tasks automated

ndash Test protocol expansion (TPE)ndash Test protocol scheduling (TPS)ndash Test assembly (TASS)

bull Support of multiple hierarchy levels

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 680

「DIP概論」- IP Testing

bull Supports every kind of test access mechanismndash Original forcus on transparency of macros

especially core-internal scan chains

Macro Test Concept Overview (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 681

「DIP概論」- IP Testing

Macro Test Concept Overview (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 682

「DIP概論」- IP Testing

Terminology (12)

bull Pattern ndash A vector with stimulus and response values

bull Pattern List ndash The list of all patterns needed for a test of a

macrobull Test Protocol

ndash The prescription according to which a pattern should be applied

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 683

「DIP概論」- IP Testing

Terminology (22)

bull Testndash Repeated execution of a test protocol where

every time another pattern from the pattern list is filled in

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 684

「DIP概論」- IP Testing

Simple Example (12)

Ref [Marinissen amp Lousberg ndash ETW99]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 685

「DIP概論」- IP Testing

Simple Example (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 686

「DIP概論」- IP Testing

Transfer through Neighbors

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 687

「DIP概論」- IP Testing

Example SOC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 688

「DIP概論」- IP Testing

Test Protocol Expanded to SOC Pins

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 689

「DIP概論」- IP Testing

Test Assembly

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 690

「DIP概論」- IP Testing

Test Assembly Example

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 691

「DIP概論」- IP Testing

Test Scheduling (12)

bull Minimization of occupancy of resources for given core tests and SOC test infrastructure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 692

「DIP概論」- IP Testing

Test Scheduling (22)

bull Resources ndash Power dissipation during test executionRef[Zorian ndash VTS93]

[Saluja amp Agrawal ndash Trans VLSI System97]

ndash Test application timestorage capacity at ATERef[Marinissen amp Aerts ndashTECS98]

[Chakrabarrty ndash ICCAD99 TCAD00][Iyengar amp Chakrabarrty ndash VTS01][Larsson amp Peng - DATE01]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 693

「DIP概論」- IP Testing

Modifiedhelliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 694

「DIP概論」- IP Testing

Examples of Cores

bull Processor ARM hellipbull Memory RAM ROM hellipbull DSP TI hellipbull Peripheral DMA controller hellipbull Interface PCI USB UART hellipbull Multimedia JPEG MPEG hellipbull Networking Ethernet controller hellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 695

「DIP概論」- IP Testing

Chip and Board Testing

DFT BISThelliphellip

Boundary Scanhelliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 696

「DIP概論」- IP Testing

Virtual Component (VC)

bull A design block that meets the VSI (Virtual Socket Interface) specification and is used as a component in the virtual socket design environmentndash VSI is supported by the VSI Alliance (VSIA)

httpwwwvsiacom

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 697

「DIP概論」- IP Testing

Intellectual Property (IP)

bull The rights in cores that allow the owner of those rights to control the exploitation of those cores and the expression of the cores by othersndash Protected by lawsndash Liability in cases of failure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 698

「DIP概論」- IP Testing

Notes

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 699

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

h

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 700

「DIP概論」- IP Testing

Fig 6-3[1990] Fig 6-4[1990] Fig 6-5[1990] Fig 6-10[1990]

Fig 6-23[1990] Fig 6-27[1990](pp 166 done)

Fig 6-29[1990] Fig 6-30[1990]

Fig 6-34[1990] Fig 6-37[1990]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 701

「DIP概論」- IP Testing

bull Sequential controllability and observabilitybull Bugs 136amp137 144(modified)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 702

「DIP概論」- IP Testing

bull A fault model is an abstraction of the error caused by a particular physical faultsndash The purpose is to simplify the test procedure

and reduce its cost while still retaining the capability of detecting the presence of the modeled faults

ndash Defects vs faults vs errors vs failuresndash Permanent faults vs non-permanent ones

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 703

「DIP概論」- IP Testing

Acknowledgements

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 704

「DIP概論」- IP Testing

An Example of SOC

ADC

DAC

PLL

RAMROM

IP 1BUS amp INTERCONNECT

ASIC 1

UDL

DSP CPU ASIC 2IP 2

Page 3: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 3

「DIP概論」- IP Testing

Outline (12)

bull Introductionbull Fault Modelsbull Fault Simulationbull Test Generation (TG)bull Design for Testability (DFT) bull Advanced Scan Concepts

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 4

「DIP概論」- IP Testing

Outline (22)

bull Compression Techniquesbull Built-In Self-Test (BIST)bull Boundary-Scan Testingbull Memory Testingbull SOC Testing

Chapter 1

Introduction

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 6

「DIP概論」- IP Testing

VLSI Development FlowDetermine specification

Design the circuit

Verify the design

Develop the test procedure

Manufacture the circuit

Test the manufactured circuit

Deliver to customers

Design Errors

TestPlans

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 7

「DIP概論」- IP Testing

Why Do Circuits Fail

bull Human design errorsbull Manufacturing defects bull Package defectsbull Field (Environment) failures

ndash Temperature humidity power etc

verifytest

testtest

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 8

「DIP概論」- IP Testing

Verification vs Testingbull Verification

ndash Check for the correctness of a designbull Simulation

ndash Performed oncebull Testing

ndash Check the correctness of the manufactured circuitndash Performed repeatedly

Verification Testinglogicsoft faults realhard faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 9

「DIP概論」- IP Testing

Why Testing

bull Detect and eliminate (hard-)faulty circuits

Vdd

10

00

0

0

fault-free circuit faulty circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 10

「DIP概論」- IP Testing

How to Do Testing

Circuit Under Test

(CUT)

Test Pattern Generator

(TPG)

Output Response Analyzer(ORA)

test patterns T

outputresponses R

GoodBad

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 11

「DIP概論」- IP Testing

Related Terminologies in Testing

bull Diagnosisndash Depict the faulty sites

bull Reliabilityndash Tell whether a ldquogoodrdquo circuit will work after

some time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 12

「DIP概論」- IP Testing

Importance of Testing

N the number of transistors in a circuit (chip)p the probability that a transistor is faultyPf the probability that the chip is faulty

Pf = 1-(1-p)N

If p = 10-6 and N= 106

Pf = 632

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 13

「DIP概論」- IP Testing

Key Issues in Testing

Circuit Under Test

(CUT)

Test Pattern Generator

(TPG)

Output Response Analyzer(ORA)

test patterns T

outputresponses R

Fault Modeling Design for Testability

Test GenerationProblem

Good if R = RrsquoBad if R ne Rrsquoexpected

responses Rrsquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 14

「DIP概論」- IP Testing

Circuit Modeling

bull Describe the behavior of circuitsndash Behavior modelndash RTL modelndash Gate level modelndash helliphellip

clocks (edgelevel-sensitive)delaytiming

algorithms

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 15

「DIP概論」- IP Testing

Fault Modeling

bull Describe the effects of physical faultsbull Fault model requirements

ndash Adequately represent actual faultsndash High coverage against physical faultsndash Well-behavedndash Simple enough to use in practice

bull Eg Fault simulation test generation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 16

「DIP概論」- IP Testing

Fault Modelsbull Single stuck-at fault model

ndash Any single line x is stuck at 0 or 1bull Multiple stuck-at fault model

ndash Several lines x are stuck at 0 or 1bull Delay fault model

ndash Delay of a single path is changedbull Bridging fault model

ndash Signals x and y become AND(x y) or OR(x y)bull helliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 17

「DIP概論」- IP Testing

Single Stuck-at Fault Model (12)

bull Depict that ldquoone single linerdquo is permanently stuck at 1 or 0

EA

B

C

D F

G

A s-a-1A s-a-0E s-a-1E s-a-0

B s-a-1B s-a-0F s-a-1F s-a-0

C s-a-1C s-a-0G s-a-1G s-a-0

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

14 faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 18

「DIP概論」- IP Testing

Single Stuck-at Fault Model (22)bull Advantages

ndash Match the gate level and are well-behavedndash The number of possible faults is relatively smallndash Tests for single stuck-at faults give good coverage of

permanent faultsbull Disadvantages

ndash Dose not account for some physical fault effectsndash Few physical faults behave exactly like single-at faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 19

「DIP概論」- IP Testing

Detectability of Faults

bull A fault f is said to be detectable if there exists a test vector x such that Cf(x) ne C(x) ie f is ldquodetectedrdquo by x

Vdd

10

00

0

0

fault-free circuit C fault f is detected by (00)

xf s-a-1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 20

「DIP概論」- IP Testing

Fault Coverage (FC)FC =

the size of fault listnumber of detected faults

CA

B

6 faultsA0 A1 B0 B1 C0 C1

test vector set detected faults FC(0 0)(0 1)(1 1)(0 0) (1 1)(1 0) (0 1) (1 1)

C1A1 C1A0 B0 C0A0 B0 C0 C1ALL

1667333350006667

10000

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 21

「DIP概論」- IP Testing

Testing QualityIC

FabricationYield(Y)

Rejected Parts

Shipped PartsDefect Level(DL)

bull Yield (Y) fraction of good partsbull Defect Level (DL) fraction of shipped parts that are defectivebull Quality of shipped parts is a function of Y and FC

DL = 1 ndash Y (1 - FC)

Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 22

「DIP概論」- IP Testing

Circuit Simulationbull Determine how a good circuit should work

ndash Given input vectors determine the normal circuit output responses

EA

B

C

D F

G

1

10

0

01

1

Simulation under the input 1 0 0 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 23

「DIP概論」- IP Testing

Fault Simulation (12)

bull Determine the behavior of faulty circuitsE s-a-0 A

B

C

D F

G

1

100

0

01

10

x

Simulation under the input 1 0 0 0 with fault E s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 24

「DIP概論」- IP Testing

Fault Simulation (22)

bull Given a test vector determine all faults that are detected by this test vector

CA

B 1

10

Test vector (1 1) detects A0 B0 C1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 25

「DIP概論」- IP Testing

Test Generation (12)

bull Given a fault identify a test vector to detect this fault

A

B

C

D s-a-0

E

F

x

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 26

「DIP概論」- IP Testing

Test Generation (22)

bull Sensitizationndash To detect D s-a-0 D must be set to 1

ie A = B = 1bull Propagation

ndash To propagate the fault effect to the output F Emust be set to 1 ie C = 0

Test vector for D s-a-0 is 1 1 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 27

「DIP概論」- IP Testing

Automatic Test Pattern Generation (ATPG) (12)

bull Given a circuit identify a set of test vectors to detect all the detectable faults under the considered fault models

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 28

「DIP概論」- IP Testing

Automatic Test Pattern Generation (ATPG) (22)a circuit and the fault list

more fulats

select a fault

test generation

fault simulation

fault dropping

exit

Yes

No

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 29

「DIP概論」- IP Testing

Difficulties in Test Generation (12)

bull Reconvergent fanout

A

B

C

D s-a-1

E

F

x

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 30

「DIP概論」- IP Testing

Difficulties in Test Generation (22)bull Sequential test generation

combinational circuit

D

clk

Q

x The fault effect cannot be observed at POs

PIs POs

The test patterns cannotbe generated at PIs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 31

「DIP概論」- IP Testing

Advanced Test GenerationFC

100

of test patterns

Pseudorandom Test Pattern Generation

Deterministic Test Pattern Generation

Design for Testability (DFT)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 32

「DIP概論」- IP Testing

Testing Costs

bull Test software developmentndash Automatic test pattern generator (ATPG)ndash Fault simulation and other debugging policies

bull Design for testability (DFT)ndash Chip area overhead ie yield lossndash Performance overhead ie degradation

bull Automatic test equipments (ATEs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 33

「DIP概論」- IP Testing

Difficulties in Testing

bull Some real faults are too complex to modelbull Most testing problems are NP-completebull IO access is limitedbull ATEs are expensive

Testing is rarely complete (FC lt 100)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 34

「DIP概論」- IP Testing

The Goals of Testingbull Detect all expected faults (high fault coverage)bull Diagnose to the smallest replaceablerepairable

component (high fault resolution)bull Fast and low-cost test generationbull Fast and low-cost test applicationbull Efficient response comparisonbull High degree of automationbull Low penalties in hardware overheadperformance

Chapter 2

Fault Models

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 36

「DIP概論」- IP Testing

Faults and Errors

bull Faultsndash Physical defects within a circuit or a systemndash May or may not cause the circuit to fail

bull Errorsndash Manifestation of faults that results in incorrect

circuit or system outputs or statesndash Caused by faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 37

「DIP概論」- IP Testing

Failures

bull Deviation of a circuit or a system from its specified behaviorndash Fails to do what it should do ndash Caused by errors

bull Faults Errors and Failures

Faults rArr Errors rArr Failures

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 38

「DIP概論」- IP Testing

Why Model Faultsbull Identify target faults and describe their

effectsbull Limit the scope of test generation

ndash Create test patterns only for the modeled faultsbull Make analysis possible

ndash Compute the fault coverage for specific test patterns

ndash Associate specific faults with specific test patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 39

「DIP概論」- IP Testing

Fault Modelsbull Stuck-at faultsbull Bridging faultsbull PLA faultsbull Transistor stuck-onopen faultsbull Delay faultsbull Functional faultsbull State transition faultsbull Memory faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 40

「DIP概論」- IP Testing

Stuck-at Faultsbull Single stuck-at fault model

ndash Only a single line is permanently set to either 0 or 1

bull Multiple stuck-at fault modelndash Several stuck-at faults occur at the same time

bull For a circuit with k linesndash There are 2k single stuck-at faultsndash There are 3k-1 multiple stuck-at faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 41

「DIP概論」- IP Testing

Why Single Stuck-at Fault Model (12)

bull Complexity is greatly reducedndash Many different physical defects may be

modeled by the same logical stuck-at faultsbull Technology independent

ndash Can be applied to TTL ECL CMOS etcbull Design style independent

ndash Can be applied to gate arrays standard cells full-custom description

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 42

「DIP概論」- IP Testing

Why Single Stuck-at Fault Model (22)

bull The test patterns derived for single stuck-at faults are still valid for most defects even not accurately model some other physical defects

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

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 43

「DIP概論」- IP Testing

Bridging Faults (12)

bull Two or more normally distinct points(lines) are shorted togetherndash Logic effect depends on technology

bull Wired-AND for TTLbull Wired-OR for ECL

TTL Transistor-Transistor Logic

ECL Emitter-Coupled Logic

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 44

「DIP概論」- IP Testing

Bridging Faults (22)bull Wired-AND for TTL bull Wired-OR for ECL

A

B

f

g

A

B

f

g

A

B

f

g

A

B

f

g

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 45

「DIP概論」- IP Testing

PLA Faults

bull Stuck-at faults on inputs and outputsbull Crosspoint faults

ndash MissingExtrabull Bridging faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 46

「DIP概論」- IP Testing

Missing Crosspoint Faults in PLAbull Missing crosspoint in the AND plane

ndash Growth faultbull Missing crosspoint in the OR plane

ndash Disapperance fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 47

「DIP概論」- IP Testing

Extra Crosspoint Faults in PLAbull Extra crosspoint in the AND plane

ndash Shrinkage faultbull Extra crosspoint in the OR plane

ndash Appearance fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 48

「DIP概論」- IP Testing

Transistor Stuck-On Faults (12)

bull Also referred as stuck-short faults

stuck-on

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 49

「DIP概論」- IP Testing

Transistor Stuck-On Faults (22)

bull May cause ambiguous logic levelsndash Depend on the relative impedances of the pull-

up and pull-down networksbull Quiescent current may be increased called

IDDQ fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 50

「DIP概論」- IP Testing

Transistor Stuck-Open Faults (12)

bull May cause output floating(high impedance)

stuck-open

0 Z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 51

「DIP概論」- IP Testing

Transistor Stuck-Open Faults (22)

bull Turn the circuit into a sequential circuitndash Stuck-open faults require two-vector test

patterns

stuck-open

10 0100

two-vector test pattern

fault-free response

fault response

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 52

「DIP概論」- IP Testing

Gate Delay Faults (12)bull Slow to rise or fall

X X

R

X is slow to rise when channel resistance R is abnormally high

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 53

「DIP概論」- IP Testing

Gate Delay Faults (22)bull Detectability of gate delay faults

ndash May not be detected

slow

critical path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 54

「DIP概論」- IP Testing

Path Delay Faultsbull Propagation delay of a path exceeds the

clock intervalbull The number of paths grows exponentially

with the number of gates

XY

XY

the clock interval

propagation delay

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 55

「DIP概論」- IP Testing

Functional Faultsbull Behavioral faults

ndash Fault effects are modeled at a higher level for modules such as

bull Decodersbull Multiplexersbull Addersbull Countersbull RAMsbull ROMs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 56

「DIP概論」- IP Testing

An Example of Functional Faultsbull Decoder

ndash f(LiLj) instead of line Li line Lj is selectedndash f(LiLi+Lj) in addition to Li Lj is selectedndash f(Li0) none of the lines are selected

DecoderLi

Lj

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 57

「DIP概論」- IP Testing

State Transition Graph(STG)bull Each state transition is associated with a 4-

tuple (source input output destination state)

S1

S3S2

I1O1 I2O2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 58

「DIP概論」- IP Testing

Single State Transition Faults

bull A fault causes a single state transition to a wrong destination state

S1

S3S2

IO IO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 59

「DIP概論」- IP Testing

Memory Faults (12)

bull Parametric faultsndash Change the values of electrical parameters of

active or passive devices from their normal or expected values

bull Output levelsbull Power Consumptionbull Noise marginbull Data retention time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 60

「DIP概論」- IP Testing

Memory Faults (22)

bull Functional faultsndash Stuck faults in address register data register

and address decoderndash Cell stuck faultsndash Cell coupling faultsndash Pattern sensitive faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 61

「DIP概論」- IP Testing

Coupling Faults

bull A transition in memory bit i causes an unwanted change in memory bit j

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 62

「DIP概論」- IP Testing

Pattern Sensitive Faultsbull The presence of a faulty signal depends on

the signal values of the nearby pointsndash Most common in DRAM

0 0 00 d b0 a 0

a = b = 0 rArr d = 0 prevent writing a 1 into da = b = 1 rArr d = 1 prevent writing a 0 into d

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 63

「DIP概論」- IP Testing

Fault Detectionbull Let z BnrarrB A test pattern t detects a fault f

iff z(t)opluszf(t) = 1x1

x2

x3

z1

z2

f s-a-1 z1 = x1 x2

z2 = x2 x3

z1f = x1

z2 f= x2 x3

The test pattern 100 detects f because z1(100) = 0while z1f(100) = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 64

「DIP概論」- IP Testing

Sensitization

bull Given a test pattern t a line is said to ldquobe sensitized to a fault f by trdquo if its normal value is changed in the presence of f

bull A path composed of sensitized lines is called ldquoa sensitized pathrdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 65

「DIP概論」- IP Testing

Detectability

bull A fault f is said to be detectable if there exists a test pattern t that detects f otherwise f is a redundant fault

bull For a redundant fault f z(t) = zf(t)ndash No test pattern can simultaneously

sensitize(activate) f and create a sensitized path to a primary output(PO)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 66

「DIP概論」- IP Testing

Redundant Faultsbull G1 stuck-at-0 fault is redundant

ndash Redundant faults do not change the function of the circuit

ndash The related circuit can be removed to simplify the circuit

1

s-a-0G1

1

1

00

0

10a

b

c

z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 67

「DIP概論」- IP Testing

Fault Collapsing

bull The process to reduce the number of the faults under consideration is known as fault collapsing

bull Why fault collapsingndash Save memory space and CPU time for fault

simulation and test generation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 68

「DIP概論」- IP Testing

Fault Equivalencebull A test pattern t distinguishes between faults α and β iff zα(t) ne zβ(t)

bull Two faults α and β are said to be equivalent in a circuit iff zα(t) = zβ(t) for all tndash Denoted by αharr βndash No test patterns can distinguish between α and β

ndash Any test pattern which detects one of them detects all of them

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 69

「DIP概論」- IP Testing

Fault Equivalence of Primitive Gates (12)

bull NOTndash Input s-a-1 and output s-a-0 are equivalentndash Input s-a-0 and output s-a-1 are equivalent

bull ANDndash All s-a-0 are equivalent

bull ORndash All s-a-1 are equivalent

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 70

「DIP概論」- IP Testing

bull NANDndash All input s-a-0 and output s-a-1 are equivalent

bull NORndash All input s-a-1 and output s-a-0 are equivalent

Fault Equivalence of Primitive Gates (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 71

「DIP概論」- IP Testing

Equivalent Fault Collapsing (12)[Theorem 2-1] Under the single stuck-at faultmodel for an n-input primitive gate n+2instead of 2n+2 faults need to be considered

2n+2

n+1 n+1

equivalence

n+2cup

[Proof]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 72

「DIP概論」- IP Testing

Equivalent Fault Collapsing (22)

s-a-0

s-a-1s-a-1

s-a-1

s-a-1s-a-1

s-a-1 s-a-0

s-a-0

s-a-0

s-a-0

s-a-0 s-a-0

s-a-1

s-a-1

s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 73

「DIP概論」- IP Testing

Fault Dominancebull Let Tα be the set of all test patterns that

detect fault α We say that a fault βdominates fault α iff zα(t) = zβ(t) for all tisinTα

ndash Denoted by β rarr αndash No need to consider fault β for fault detection

Tβ supeTα

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 74

「DIP概論」- IP Testing

Fault Dominance of Primitive Gatesbull AND

ndash Output s-a-1 dominates any input s-a-1bull OR

ndash Output s-a-0 dominates any input s-a-0bull NAND

ndash Output s-a-0 dominates any input s-a-1bull NOR

ndash Output s-a-1 dominates any input s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 75

「DIP概論」- IP Testing

Dominated Fault Collapsing (12)[Theorem 2-2] Under the single stuck-at fault model for an n-input primitive gate only n+1faults need to be considered

2n+2

n+1 n+1

equivalencen+1

cup

[Proof]

n 1dominance

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 76

「DIP概論」- IP Testing

Dominated Fault Collapsing (22)

s-a-0

s-a-1s-a-1

s-a-1

s-a-1s-a-1

s-a-1 s-a-0

s-a-0

s-a-0

s-a-0

s-a-0 s-a-0

s-a-1

s-a-1

s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 77

「DIP概論」- IP Testing

Prime Faultsbull α is a prime fault if every fault dominated

by α is also equivalent to αbull Representative set of prime faults(RSPF)

ndash A set consisting of exactly one prime fault from each equivalence class of prime faults

bull Achieve 100 fault coverage ndash Only generate the test set for RSPF

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 78

「DIP概論」- IP Testing

Checkpoints (13)

bull Primary inputs and fanout branches

[Theorem 2-3] Any test set which detects all single stuck-at faults on every check point will detect all single stuck-at faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 79

「DIP概論」- IP Testing

Checkpoints (23)

a

b

c

d

e

s-a-1s-a-1

s-a-1

s-a-1s-a-1

s-a-1

s-a-1

s-a-1s-a-0

s-a-0

s-a-0s-a-0

s-a-0

s-a-0s-a-0

s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 80

「DIP概論」- IP Testing

Checkpoints (33)bull The set of checkpoint faults can be further

collapsed by using equivalence and dominance relations

a

b

c

d

e

10 checkpoint faultsa s-a-0 harr d s-a-0c s-a-0 harr e s-a-0b s-a-0 rarr d s-a-0b s-a-1 rarr d s-a-16 test patterns are enough

Chapter 3

Fault Simulation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 82

「DIP概論」- IP Testing

Simulationbull True-value simulation

ndash Compute the responses for given inputtest patterns without injecting any faults in the circuit

bull For verifying the correctness of the design

bull Fault simulationndash Compute the responses for given inputtest

patterns with injecting considered faults in the circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 83

「DIP概論」- IP Testing

Why Fault Simulation

bull To evaluate the quality of a test setndash In terms of fault coverage(FC)

bull To incorporate into ATPGndash Decrease the time for test pattern generation

bull To construct fault dictionary ndash For post-test diagnosis

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 84

「DIP概論」- IP Testing

Simulation Mechanisms

bull Compiled-code simulationndash Circuit is translated into the program where

each gate is executed for each patternbull Event-driven simulation

ndash Circuit structure and gate status are stored in a table and only those gates which are needed to be updated with a new pattern are processed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 85

「DIP概論」- IP Testing

Compiled-Code Simulation (13)levelize circuit and produce compiled-codeinitialize data variables(flip-flops and memory)for every input pattern begin

set the primary inputs to the input pattern repeat until (steady-state or maximum iteration-count are reached)begin

execute compiled-codeupdate the associated data variables(flip-flop or memory)

endend

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 86

「DIP概論」- IP Testing

Compiled-Code Simulation (23)

bull The use of compiled-code simulation is usually limited into high-level designndash Since detailed timing or delay is almost

impossible to be simulated in the translated compiled-code

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 87

「DIP概論」- IP Testing

Compiled-Code Simulation (33)

D-FF

abc

d

e

f

Compiled-Code

d = a amp b amp cf = d | ee = f

Q D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 88

「DIP概論」- IP Testing

Event-Driven Simulation (12)initialize simulation time t to 0while (event list is not empty) begin

for every event (i t) begin gate i changes at time tupdate the value of gate i schedule fanout gates of i in the event list if the associated value changes are expected

endadvance simulation time t

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 89

「DIP概論」- IP Testing

Event-Driven Simulation (22)1a

c

bd

e

f

g2

2

2

41

1 rarr0

0 rarr1

1 rarr0

0 rarr1

1 rarr0 rarr1

simulation time t event fanout

0 c = 0 d e

1

2 d = 1 e =0 f g

3

4 g = 0

5

6 f = 1 g

7

8 g = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 90

「DIP概論」- IP Testing

Logic Value Based Fault Simulationbull For functional faults such as single stuck-at

faults helliphellipndash Logic simulation on both fault-free and faulty

circuitsTest Patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 91

「DIP概論」- IP Testing

Complexity of Fault Simulation

bull Suitable for single stuck-at fault modelbull Higher than logic simulation but much

lower than test pattern generationbull In reality the complexity can be reduced by

fault collapsing and advanced techniques

patterns faults gates

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 92

「DIP概論」- IP Testing

Characteristics of Fault Simulationbull Fault activities with respect to fault-free

circuit are often sparse both in time and in spacendash For example f1 is not activated by the given

pattern(time) while f2 affects only the lower part of the circuit(space)

f1 s-a-0

f2 s-a-0

0

1

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 93

「DIP概論」- IP Testing

Efficiency of a Fault Simulator

bull Depend on its ability to exploit the sparse characteristics both in time and in space

人生最大的成就是從失敗中站起來證嚴法師靜思語

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 94

「DIP概論」- IP Testing

Classical Fault Simulation Techniques

bull Serial fault simulationbull Parallel fault simulationbull Deductive fault simulationbull Concurrent fault simulation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 95

「DIP概論」- IP Testing

Serial Fault Simulation

bull The simplest algorithm for fault simulationndash Simulate the fault-free circuit for all input

patterns and save the outputs in a file(table)ndash Simulate one faulty circuit at a time until the

target fault is detected by some one test pattern or proven to be undetectable

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 96

「DIP概論」- IP Testing

Parallel Fault Simulation

bull Simulate faulty circuits in parallel with fault-free circuit by taking advantage of inherent parallel operation of computer wordsndash The number of circuits being processed

concurrently is limited by the word length wbull Each pass at most w-1 faulty circuit are processed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 97

「DIP概論」- IP Testing

Example of Parallel Fault Simulation

0 0 0 0 0 1 0 0 1 0 1 1

1 1 1 1 1 1 0 1

1 1 0 1 1 1 0 0

0 1 0 0

1 0 0 1

1 1 1 1a

b

f

c

de

g

h

is-a-1

s-a-0

s-a-0

for fault-free circuitfor circuit with fault b s-a-1for circuit with fault f s-a-0for circuit with fault i s-a-0

rArr Faults f s-a-0 and i s-a-0 are detected by test pattern (a b f) = (1 0 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 98

「DIP概論」- IP Testing

Deductive Fault Simulation

bull Only the fault-free circuit is simulated (true-value simulation) ndash All signal values in each faulty circuit are

deduced from the fault-free circuit values and the circuit structure

bull Each signal is associated a list of faults in the circuit which can change the state of that line

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 99

「DIP概論」- IP Testing

Basic Fault List Propagation RulesInputs Output

a b cOutput Fault list

Lc

0 0 0 [La cap Lb] cup c1

[La cap Lb] cup c1

[La cap Lb] cup c1

[La cup Lb] cup c0

[La cup Lb] cup c1

[La cap Lb] cup c0

[La cap Lb] cup c0

[La cap Lb] cup c0

La cup c0

La cup c1

(1)0 1 0 (2)1 0 0 (3)1 1 1 (4)0 0 0 (5)0 1 1 (6)1 0 1 (7)1 1 1 (8)0 - 1 (9)

1 - 0 (10)

NOT

OR

AND

Gate Type

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 100

「DIP概論」- IP Testing

Example of Deductive Fault Simulation (12)ab

c 1 b0 c0

d 1 b0 d0

1 a0

1 b0

e 1 a0 b0 c0 e0

f 0 b0 d0 f1

Initially La = a0 and Lb = b0For the fanouts of b c and d Lc = b0 c0 and Ld = b0 d0

Le = [La cup Lc] cup e0 = a0 b0 c0 e0 by Rule (4)Lf = Ld cup f1 = b0 d0 f1 by Rule (10)

g

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 101

「DIP概論」- IP Testing

ab

g

1 a0

1 b1

e 1 a0 b0 c0 e0

f 0 b0 d0 f1

1 a0 c0 e0 g0

Lg = [Le cap Lf] cup g0 = a0 c0 e0 g0 by Rule (7)

c 1 b0 c0

d 1 b0 d0

Example of Deductive Fault Simulation (22)

rArr Faults a0 c0 e0 and g0 are detected by test pattern (a b) = (1 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 102

「DIP概論」- IP Testing

Concurrent Fault Simulation

bull Each gate retains a list of fault copies each of which stores the status of a fault to exhibit difference form the fault-free values

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 103

「DIP概論」- IP Testing

Example of Concurrent Fault Simulation

ab c

d g

1

1

e

f

1

11 1

1 0

0 1 0 1 1 1

b0 d0 f1

01 1

00

a0

01

1

b0

00

0

c0

01

1

d0

1

00

e0

01

1

f1

10

0

g0

1

a001 0

10 0

10 0

11 0

b0 c0 e0

rArr Faults a0 c0 e0 and g0 are detected by test pattern (a b) = (1 1)

1

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 104

「DIP概論」- IP Testing

Modern Fault Simulation Techniques

bull Parallel-Pattern Single-Fault Propagation (PPSFP)

bull Critical Path Tracing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 105

「DIP概論」- IP Testing

PPSFP

bull Based on the serial fault simulation many patterns are simulated in parallel for fault-free and faulty circuits respectivelyndash The number of patterns is limited by the word

length wbull Each pass at most w patterns are processed

ndash The basis of all modern fault simulators

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 106

「DIP概論」- IP Testing

Example of PPSFPbull Consider fault f s-a-0 and four pattern p3 p2

p1 and p0

0 1 0 1 1 0 1 0

1 0 0 1

1 1 0 1

0 1 0 1

1 0 0 0

1 1 1 1a

b

f

c

de

g

h

i

s-a-0

p3 p2 p1 p0

0 0 0 00 0 0 0

0 1 0 1

rArr Fault f s-a-0 are detected by test pattern p3 (a b f) = (1 0 1)

(faulty values)1 0 0 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 107

「DIP概論」- IP Testing

Sensitive Inputs

bull A gate input a is sensitive if complementing the value of a changes the value of the gate output

ab

1rarr0

1

c

a is sensitive

ab 0

0 c

a is not sensitive

1rarr0 0 rarr1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 108

「DIP概論」- IP Testing

Critical Pathsbull Let l(v) be the fault-free value of line l

under input pattern t We say that line l is critical with respect to t iff t detects the fault l s-a-l(v)

bull A gate input i is critical with respect to t if the gate output is critical and i is sensitive

bull A path consisting of only critical lines is said to be a critical path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 109

「DIP概論」- IP Testing

Critical Path Tracing

bull Two-step procedurendash Perform true-value simulation and identify

sensitive gate inputsndash Backtrace from POs to identify the critical lines

bull O(|G|) for fanout-free circuitsndash The fanout-free situation is very rare

bull Perform in fanout-free region and the stem faults are simulated by other methods mentioned earlier

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 110

「DIP概論」- IP Testing

Example of Critical Path Tracing (12)

a

b

f

c

d e

g

h

i

1

0

11

1

0

1fanout-free region

sensitive input

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 111

「DIP概論」- IP Testing

Example of Critical Path Tracing (22)

a

b

f

c

d e

g

h

i

1

0

11

1

0

1fanout-free region

sensitive inputcritical line

rArrFaults i0 h0 f0 e0 and d1 are detected by test pattern (a b f) = (1 0 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 112

「DIP概論」- IP Testing

Anomaly of Critical Path Tracinga

b

f

c

d e

g

h

i

1

0

11

1

0

1critical line

bull Stem criticality is hard to infer from branchesndash Eg Fault b s-a-1 is not detected by (a b f) = (1 0 1)

even though branches c and d are critical

stem

branch

branch

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 113

「DIP概論」- IP Testing

Multiple Path Sensitizationa

b

f

c

d

g

h

i

1

1

1

1

1

1fanout-free region

sensitive inputcritical line

bull Both c and d are not critical but b is critical and bs-a-0 can be detected by (a b f) = (1 1 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 114

「DIP概論」- IP Testing

Summariesbull Does specific test patterns detect specific

faultsndash Serial fault simulationndash Parallel fault simulationndash PPSFP

bull Which faults does a specific test pattern detect (suitable for ATPG)ndash Deductive fault simulationndash Concurrent fault simulationndash Critical Path Tracing

Chapter 4

Test Generation (TG)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 116

「DIP概論」- IP Testing

Test Generation (TG) Methods

bull From truth tablebull Using Boolean equationbull Using Boolean differencebull From circuit structure

Impractical

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 117

「DIP概論」- IP Testing

TG from Truth Table

bull Based on the serial fault simulationndash Impractical

ab

c

f

α s-a-0abc f fα000 0 0001 0 0010 0 0011 0 0100 0 0101 1 1110 1 0111 1 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 118

「DIP概論」- IP Testing

TG Using Boolean Equation

bull Based on the definition of detectability we have

Tα = (a b c) | f(a b c) oplus fα(a b c) = 1= (1 1 0)

bull High complexity

ab

c

f

α s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 119

「DIP概論」- IP Testing

Boolean DifferenceThe Boolean difference of f(x) with respect to xi is

)()()( 1f0fdx

xdfii

i

oplus=

where fi(0) = (x1 hellip 0 hellip xn) and fi(1) = (x1 hellip 1 hellip xn)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 120

「DIP概論」- IP Testing

Physical Meaning of Boolean Difference

bull Find all the input combinations such that the change of xi will cause the change of f(x)

bull Relationship between TG and Boolean difference

x1xixn

fcircuit0 rarr 1

0 rarr1

1rarr0or x1

xixn

fcircuit1rarr 0

1 rarr0

0 rarr1or

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 121

「DIP概論」- IP Testing

Case 1 Faults are present at PIsab

c

f

cb0cb1f0fda

xdfaa +=++bull=oplus= )(1)()()(

The set of all tests for a s-a-1 is (a b c) | a(b + c) = (0 1 x) (0 x 1)The set of all tests for a s-a-0 is (a b c) | a(b + c) = (1 1 x) (1 x 1)

TG Using Boolean Difference (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 122

「DIP概論」- IP Testing

TG Using Boolean Difference (22)Case 2 Faults are present at internal lines

ab

c

f

h = ab

caacac1f0fdh

xdfachf hh +=bull+bull=oplus=+= 11)()()(

The set of all tests for h s-a-1 is (a b c) | h(a + c) = (0 x x) (x 0 0)The set of all tests for h s-a-0 is (a b c) | h(a + c) = (1 1 0)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 123

「DIP概論」- IP Testing

Controlling and Inversion Valuesbull The value c of an input is said to be controlling

if it determines the value of the gate output regardless of the values of the other inputs then the output value is c oplus i where i for the inversion

bull The basic gates can be characterized by the two parametersndash The controlling value cndash The inversion value i

c iAND 0 0OR 1 0NAND 0 1NOR 1 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 124

「DIP概論」- IP Testing

Composite Logic Values and Operations

vvf symbol

00 0

11 1

10 D

01 D

AND 0 1 D0 0

DD0x

1DDx

00000

D x0 0

D0Dx

10xxx

DDx x

OR 0 1 D1 D

1D1x

1111

01DDx

D x0 D

11Dx

1x1xx

DDx x

5-valued operations

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 125

「DIP概論」- IP Testing

Line Justification (LJ)bull Set PIs to some values such that the specific

line has the predetermined value ab

c

f

10 = D

0

1

1

0

s-a-0D

h

ndash Eg Set both a and b to 1 h has the desired value 1 to activate the fault s-a-0 additionally set c to 0 the fault effect will be propagated to f

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 126

「DIP概論」- IP Testing

Justify(l val)Justify(l val)beginset l to valif l is a PI then returnc = controlling value of li = inversion of linval = val oplus i

if(inval = c)then for every input j of l

Justify(j inval)else

beginselect one input j of lJustify(j inval)

endend

Line justification for a fanout-free circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 127

「DIP概論」- IP Testing

TG from Circuit Structure

bull Two basic goalsndash Fault activation (FA)ndash Fault propagation (FP)

rArrLine justification (LJ)

ab

c

f

10 = D larr fault activation (FA)

0 larr fault propagation (FP)

1

1

0

s-a-0D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 128

「DIP概論」- IP Testing

TG for l s-a-vTG(l v)begin

set all values to xJustify(l v) FA if v = 0 then Propagate(l D) FP else Propagate(l D)

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 129

「DIP概論」- IP Testing

Propagate(l err)Propagate(l err) err is D or D beginset l to errif l is PO then returnk = the fanout of l c = controlling value of ki = inversion of kfor every input j of k other than lJustify(j c)

Propagate(k err oplus i)end

Error propagation for a fanout-free circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 130

「DIP概論」- IP Testing

Implication

bull Compute the values that can be uniquelydetermined and check for their consistency with the previously determined ones

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 131

「DIP概論」- IP Testing

Decision Trees

bull Decision Treesndash Consist of decision nodes for problems that the

algorithm is attempting to solvendash A branch leaving a decision node corresponds

to a decisionndash A SUCCESS terminal node labeled S

represents finding a test ndash A FAILURE terminal node labeled F

indicates the detection of an inconsistency

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 132

「DIP概論」- IP Testing

Backtracking

bull A systematic exploration of the complete space of possible solutions and recovery from incorrect decisions recovery involves restoring the state of the computation to the state existing before the incorrect decision

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 133

「DIP概論」- IP Testing

Backtracking of Incorrect Decisions

0xxx

ad

d = 0

F F

a = 0 a = 1b = 0

a = 1b = 1c = 0

bc

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 134

「DIP概論」- IP Testing

bull A FA problem is a LJ problembull A FP problem

ndash Select a FP path to a PO rArr decisionsndash Once the FP path is selected rArr a set of LJ

problemsbull A LJ problem is an either implication or

decision problem

Common Concepts of Structural TG (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 135

「DIP概論」- IP Testing

Common Concepts of Structural TG (22)

bull Incorrect decision(inconsistency) rArr Backtrack and make another decisions

bull Once the fault effect is propagated to a PO and all lines to be justified are justified the test pattern is generated otherwise the decision process is repeatedly until all possible decisions have been tried

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 136

「DIP概論」- IP Testing

A Simple Example of TG (12)

s-a-1

abc

d

e

G2

G1

G3

G5

G4

G6

f1

f2

bull FA rArr G1 = D rArr a = 1 b = 1 c = 1 rArr G2 = 0 (rArr G5 = 0) G3 = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 137

「DIP概論」- IP Testing

A Simple Example of TG (22)bull FP through G5 or G6 (the last page)

ndash Decision through G5rArr G2 = 1 inconsistency rArr backtracking

ndash Decision through G6rArr G4 = 1 rArr e = 0 rArr SUCCESS

rArrThe resulted test pattern is 111x0 G5 G6

F S

G5 G6

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 138

「DIP概論」- IP Testing

Advanced Example (14)

s-a-1

ab

cd

efh

k

l

mno

p

q

r s

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 139

「DIP概論」- IP Testing

Advanced Example (24)

bull FA rArr h = D

bull FPrArr e = 1(rArr o = 0) f = 1 rArr q = 1 r = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 140

「DIP概論」- IP Testing

Advanced Example (34)rArr Justify q = 1 rArr l = 1 or k = 1

ndash Decision l = 1rArr c = 1 d = 1 rArr m = 0 n = 0 rArr r = 0rArr inconsistency rArr backtracking

ndash Decision k = 1rArr a = 1 b = 1

rArr Justify r = 1 rArr m = 1 or n = 1rarr Decision m = 1

rArr c = 0 rArr SUCCESSrarr Decision n = 1

rArr d = 0 rArr SUCCESS

rArrThe resulted test is pattern 110x110 or 11x0110

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 141

「DIP概論」- IP Testing

Advanced Example (44)

q = 1

F

l = 1 l = 0 k = 1

r = 1

S

m = 1

S

n = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 142

「DIP概論」- IP Testing

A Generic TG AlgorithmSolve( )beginif Imply_and_check( ) = FAILUREthen return FAILURE

if(error at PO and all lines are justified)then return SUCCESS

if(no error can be propagated to a PO)then return FAILURE

select an unsolved problemrepeat

begin backtracking select one untried way to solve itif solve( ) = SUCCESS then

return SUCCESSend

until all ways to solve it have been triedreturn FAILURE

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 143

「DIP概論」- IP Testing

D-frontier And J-frontier

bull D-frontierndash The set of all gates whose output value is

currently x but have one or more fault signals on their inputs

bull J-frontierndash The set of all gates whose output value is

known but is not implied by their input values

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 144

「DIP概論」- IP Testing

Example of D-frontier

bull Initially the D-frontier is G6

s-a-1

abc

d

e

G2

G1

G3

G5

G4

G6

f1

f2

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 145

「DIP概論」- IP Testing

Example of J-frontierbull Initially the J-frontier is q = 1 r = 1

s-a-1

ab

cd

efh

k

l

mno

p

q

r s

1

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 146

「DIP概論」- IP Testing

LocalGlobal Implication

bull Local implicationndash Propagate values from one line to its immediate

inputs or outputsbull Global implication

ndash Propagation of values involves a larger area of the circuit and reconvergent fanout

bull Case analysis the SOCRATES system

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 147

「DIP概論」- IP Testing

Local Implication (Backward)

larr 1x

x

larr 0x

1

larr 0x

xlarr 1

x

x

Before

J-frontier = hellip

After1larr 1

larr 1

0larr 0

1

0x

xJ-frontier = hellip a

11

1 rarr

a

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 148

「DIP概論」- IP Testing

Local Implication (Forward) (12)bull Binary values

x

Before0 rarr x

1

x

0 rarr

x

0a

1 rarr

1 rarr

x

0a

D

1 rarr

xa

D

0 rarr

xa

J-frontier = hellip a

J-frontier = hellip a

D-frontier = hellip a

D-frontier = hellip a

x

After0

10

x

0

1

1

larr 0

0

D

1 aD

0 a

J-frontier = hellip

J-frontier = hellip

D-frontier = hellip

D-frontier = hellip

0 rarr

1 rarr

D rarr

0 rarr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 149

「DIP概論」- IP Testing

Local Implication (Forward) (22)bull Error values

Before After

x

x1D

D-frontier = hellip a

x

1

D-frontier = hellipa a

D rarr x

Dx a D-frontier = hellip a

D rarr D rarr

D rarrx D

DD rarr

D

DD-frontier = hellip a D-frontier = hellip

aD rarrx D

D0 rarr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 150

「DIP概論」- IP Testing

Unique D-drive

Before

xx a D-frontier = hellip aD

After

D rarr

larr 1D-frontier = hellip

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 151

「DIP概論」- IP Testing

x-path

bull A path is said to be a x-path if all its lines have value x

[Theorem 4-1] Let G be a gate on D-frontier The error(s) on the input(s) of G can be propagated to a PO Z if there exists at least one x-path between G and Z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 152

「DIP概論」- IP Testing

Error-Propagation Look-Ahead (12)

DD

x

x x

x

x

00

11

bull By Theorem 4-1 none of the fault effects can be observed on any POs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 153

「DIP概論」- IP Testing

Error-Propagation Look-Ahead (22)

bull Using the error-propagation look-ahead technique we may prune the decision tree by recognizing states from which any further decisions will lead to a failure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 154

「DIP概論」- IP Testing

D-Algorithm

bull FP is always given priority over LJbull Propagate fault effects on several

reconvergent paths referred to as ldquomultiple-path sensitizationrdquondash Some faults cannot be detected by sensitizing

only a single path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 155

「DIP概論」- IP Testing

The D-algorithm Implementation (12)D-alg( )begin Implicationsif Imply_and_check( ) = FAILURE

then return FAILURE

if(error not at PO) thenbeginif D-frontier = empty

then return FAILURE

repeat beginselect an untried gate G from

D-frontier Decisionsc = controlling value of Gassign c to every input of G with

value xif D-alg( ) = SUCCESS

then return SUCCESSend

until all gates from D-frontier have been tried

return FAILUREend if (error not at PO)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 156

「DIP概論」- IP Testing

if J-frontier = emptythen return SUCCESS

select a gate G from the J-frontierc = controlling value of G

repeat begin Decisionsselect an input j of G with value xassign c to jif D-alg( ) = SUCCESS

then return SUCCESSassign c to j

end

until all inputs of G are specifiedreturn FAILURE

end D-alg

The D-algorithm Implementation (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 157

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

Example of D-Algorithm (0113)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 158

「DIP概論」- IP Testing

Example of D-Algorithm (0213)bull Value computation (16)

Decisions Implications Commentsa = 0 Fault activationh = 1b = 1 Unique D-driven through gc = 1g = D D-frontier = i k m

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 159

「DIP概論」- IP Testing

Example of D-Algorithm (0313)bull Value computation (26)

Decisions Implications Commentsd = 1 Fault propagation through i

Propagate fault effects on i = Dd = 0

a single path D-frontier = k m n

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 160

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

Example of D-Algorithm (0413)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 161

「DIP概論」- IP Testing

bull Value computation (36)Decisions Implications Comments

j = 1 Fault propagation through nk = 1 Propagate fault effects onl = 1 a single path m = 1

n = De = 0e = 1k = D Contradiction

Example of D-Algorithm (0513)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 162

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

01

DContradiction

Example of D-Algorithm (0613)

D

1

11

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 163

「DIP概論」- IP Testing

bull Value computation (46)Decisions Implications Comments

e = 1 Fault propagation through kk = D Propagate fault effects on e = 0 two paths j = 1 D-frontier = m n

Example of D-Algorithm (0713)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 164

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

D

10 1

Example of D-Algorithm (0813)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 165

「DIP概論」- IP Testing

bull Value computation (56)Decisions Implications Comments

l = 1 Fault propagation through nm = 1 Propagate fault effects on

n= D two reconvergent paths f = 0

f = 1

m =D Contradiction

Example of D-Algorithm (0913)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 166

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

D

10 1

01

D

Contradiction

Example of D-Algorithm (1013)

D

1

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 167

「DIP概論」- IP Testing

bull Value computation (66)Decisions Implications Comments

f = 1 Fault propagation through mm = D Propagate fault effects onf = 0 three paths l = 1n= D Fault effects on POrsquos

Example of D-Algorithm (1113)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 168

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

D

10 1

10

D

1

D

Example of D-Algorithm (1213)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 169

「DIP概論」- IP Testing

bull Decision treendash Nodes the associated D-frontierndash Branches the taken decision ie the gate selected from the

D-frontieri k m

k m n

m nF

F S

i

n k

n m

Two times of backtracking

Example of D-Algorithm (1313)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 170

「DIP概論」- IP Testing

Partial Specification of The x Valuebull For a ldquototally unspecifiedrdquo composite value x

both v and vf are unknownndash x for 0 1 D D

bull For a ldquopartially specifiedrdquo composite value x v is binary and vf is unknown(u) vice versandash 0u for 0 D ndash 1u for D 1ndash u0 for 0 Dndash u1 for D 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 171

「DIP概論」- IP Testing

9-V Algorithmbull Similar to D-algorithm except that the

considered logic values are 0 1 D D 0u 1u u0 u1 uu (9-value)

bull Drive a D(D) through a gate G with controlling value c the values it assigns to the unspecified inputs of G correspond to the set c D(c D)

bull ub or bu (b is binary) at a PI is immediately transformed to bb

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 172

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

Example of 9-V Algorithm (17)

u1

u1

u1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 173

「DIP概論」- IP Testing

Example of 9-V Algorithm (27)

Decisions Implications Commentsa = 0 Fault activationh = 1b = 1 Unique D-driven through gc = 1g = Di = u1k = u1m = u1 D-frontier = i k m

bullV

alue computation (13)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 174

「DIP概論」- IP Testing

Example of 9-V Algorithm (37)

Decisions Implications Commentsd = 1 Fault propagation through i

i = Dd = 0

n = 1u D-frontier = k m n

bullV

alue computation (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 175

「DIP概論」- IP Testing

Example of 9-V Algorithm (47)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

u1

1

0

D

1u

u1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 176

「DIP概論」- IP Testing

Example of 9-V Algorithm (57)

bullV

alue computation (33)

Decisions Implications Commentsl = u1 Fault propagation through nj = u1

n = Df = u0f = 1f = 0

e = u0

e = 1e = 0k = D

m = D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 177

「DIP概論」- IP Testing

0

1D

Example of 9-V Algorithm (67)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

u1

u1

1

0

D

D0

1D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 178

「DIP概論」- IP Testing

Example of 9-V Algorithm (77)bull Decision tree

ndash Nodes the associated D-frontierndash Branches the taken decision ie the gate selected from the

D-frontier

i k m

k m n

S

i

n

No backtracking

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 179

「DIP概論」- IP Testing

D-Algorithm vs 9-V Algorithm

bull Whenever there are k possible paths for FPndash D-algorithm may eventually try all the 2k-1

combinations of pathsndash 9-V algorithm tries only one path at a time but

without precluding simultaneous FP on the other k-1 paths

bull Enumerate at most k ways of FP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 180

「DIP概論」- IP Testing

Inversion Parity

bull In circuits composed only of AND OR NAND NOR and NOT gates we can define the ldquoinversion parityrdquo of a path as the number taken modulo 2 of the inverting gates (NAND NOR and NOT) along that path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 181

「DIP概論」- IP Testing

Path-Oriented DEcision Making (PODEM)bull PODEM allows the value assignments for LJ

problems only on PIs ie backtracking can occur only on PIs ndash Treat a value vk to be justified for line k as an

objective (k vk)ndash Use the backtracing procedure to map the object

into a PI assignment that ldquois likely to contributerdquo to achieve the objective

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 182

「DIP概論」- IP Testing

BacktracingObjective (k vk)Step 1 Find a x-path from line k to a PI say aStep 2 Count the inversion parity of the pathStep 3 If the inversion parity is even then

return (a vk) otherwise (a vk)

Note No non-PI values are assigned during backtracing ie these values are assigned only by simulating PI assignments (implications)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 183

「DIP概論」- IP Testing

The Backtracing ImplementationBacktrace(k vk) map objective into PI assignment beginv = vk

while k is a gate output begin

i = inversion of kselect an input j of k with value xv = v oplus ik = j

endreturn (k v) k is a PI

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 184

「DIP概論」- IP Testing

Example of Backtracing ProcedureObjective (f 1)

fd

e

ca

bx

x

x

xxx

fd

e

ca

bx

1

x

10x

The first time of backtracing

fd

e

ca

bx

1

x1

0x

fd

e

ca

b1

1

0

101

The second time of backtracing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 185

「DIP概論」- IP Testing

Choosing of Objectives (12)

bull In PODEM the order of the objectives being considered is as follows1 The objectives for FA2 Repeatedly select a gate G from the D-frontier

(until some fault effect is at a PO or the D-frontier is empty) and consider the input with x value as an objective

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 186

「DIP概論」- IP Testing

Choosing of Objectives (22)

Objective( )being

the target fault is l s-a-v if (the value of l is x) then return (l v)select a gate G from the D-frontierselect an input j of G with value xc = controlling value of G return (j c)

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 187

「DIP概論」- IP Testing

The PODEM ImplementationPODEM( ) beginif (error at PO) then return SUCCESSif (test not possible) then return FAILURE(k vk) = Objective( )(j vj) = Backtrace(k vk) j is a PI Imply(j vj)if PODEM( ) = SUCCESS then return SUCCESSImply(j vj) reverse decision if PODEM( ) = SUCCESS then return SUCCESSImply(j x)return FAILURE

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 188

「DIP概論」- IP Testing

Example 1 of PODEM (18)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

D

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 189

「DIP概論」- IP Testing

Example 1 of PODEM (28)bull Value computation (13)

Objective PI Assignment Implications D-frontier Comments

(a 0) a = 0 h = 1 g

(b 1) b = 1 g(c 1) c = 1 g = D i k m

(d 1) d = 1 d = 0

i = D k m n

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 190

「DIP概論」- IP Testing

Example 1 of PODEM (38)bull Value computation (23)Objective PI Assignment Implications D-frontier Comments

(k 1) e = 0 e = 1j =0

k =1n = 1 m x-path check fails

e = 1 e = 0 reversal

j = 1k = D m n

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 191

「DIP概論」- IP Testing

Example 1 of PODEM (48)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

00

1

D

D

11

x-path(to PO)check failsrArr Backtracking

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 192

「DIP概論」- IP Testing

Example 1 of PODEM (58)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

11

0

D

D

1D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 193

「DIP概論」- IP Testing

Example 1 of PODEM (68)bull Value computation (33)Objective PI Assignment Implications D-frontier Comments

(l 1) f = 1 f = 0l = 1

m = Dn = D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 194

「DIP概論」- IP Testing

Example 1 of PODEM (78)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

11

0

D

D

11 0

D

D

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 195

「DIP概論」- IP Testing

Example 1 of PODEM (88)bull Decision tree

ndash Nodes the PIs selected to be assigned valuesndash Branches the value assigned to the PI

a0b1

c1d1

e0F f1

S

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 196

「DIP概論」- IP Testing

Features of PODEMbull PODEM examines all possible input

patterns implicitly but exhaustively as tests for a given fault ie a complete TG

bull PODEM does not needndash Consistency checkndash The J-frontierndash Backward implications

bull Generally faster than D-algorithm

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 197

「DIP概論」- IP Testing

A More Intelligent Backtracing (12)bull To guide the backtracing process of PODEM

controllability for each line is measuredndash CY1(a) the probability that line a has a value 1ndash CY0(a) the probability that line a has a value 0

bull Eg f = ab assume CY1(a) = CY0(a) = CY1(b) = CY0(b) = 05ndash CY1(f) = CY1(a) CY1(b) = 025ndash CY0(f) = 1 - CY1(f) = 075

ab f

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 198

「DIP概論」- IP Testing

bull How to guide the backtracing process using controllabilityndash Principle 1 Among several unsolved problems first

attack the hardest onendash Principle 2 Among several solutions of a problem

first try to the easiest onebull Eg

ndash Objective (c 1) rArr Choose path c-a to backtracendash Objective (c 0) rArr Choose path c-a to backtrace

A More Intelligent Backtracing (22)

ab c

CY1(a) = 033 CY0(a) = 067CY1(b) = 05 CY0(b) = 05

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 199

「DIP概論」- IP Testing

Example 2 of PODEM (14)Initial objective(G5 1)G5 is an AND gate Choose the hardest-1rArr Current objective is (G1 1)G1 is an AND gate Choose the hardest-1 rArr Arbitrarily current objective is (A 1)A is a PI Implication rArr G3 = 0

Ps Initially CY1 and CY0 for all PIs are set to 05

C1(G1) = 025

C1(G1) = 0656

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 200

「DIP概論」- IP Testing

Example 2 of PODEM (24)Is the initial objective justified No rArr Current objective (G5 1)G5 is an AND gate Choose the hardest-1rArr Current objective is (G1 1)G1 is an AND gate rArr Choose the hardest-1 rArr Arbitrarily current objective is (B 1)B is a PI rArr Implication rArr G1 = 1 G6 = 0

C1(G1) = 025

C1(G1) = 0656

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 201

「DIP概論」- IP Testing

Example 2 of PODEM (34)Is the initial objective justified No rArr Current objective (G5 1)The value of G1 is known rArr Current objective (G4 0)The value of G3 is known rArr Current objective(G2 0)A B are known rArr Current objective (C 0)C is a PI rArr Implication rArr G2 = 0 G4 = 0 G5 = D G7 = D

C1(G1) = 025

C1(G1) = 0656

No backtracking

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 202

「DIP概論」- IP Testing

Example 2 of PODEM (44)

bull If the backtracing process is not guided ndash Two times of backtracking may occur

G5rarr G4rarr G2rarr A

G5rarr G4rarr G2rarr B

G5rarr G4rarr G2rarr C

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 203

「DIP概論」- IP Testing

Head Lines

bull A line that is reachable from at least one stem is said to be bound otherwise free

bull A head line is a free line that directly feeds a bound line

head linesbound

DE

ABC

F

G

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 204

「DIP概論」- IP Testing

The Property of Head Lines[Theorem 4-2] If l is a head line the value of l can be justified without contradicting any other values previously assignedHintThe subcircuit feeding l is fanout-free

head linesbound

DE

ABC

F

G

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 205

「DIP概論」- IP Testing

Fanout-Oriented (FAN) Algorithmbull The FAN algorithm introduces two major

extensions to the backtracing concept of PODEMndash Rather than stopping at PIs backtracing in

FAN may stop at internal lines ie head lines ndash Rather than trying to satisfy one objective

FAN use a multiple-backtrace procedure that attempts to simultaneously satisfy a set of objectives

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 206

「DIP概論」- IP Testing

FAN vs PODEM

head linesbound

DE

ABC

F

G

Assume that setting G = 0 causes the D-frontier to become empty

A1B0

F C0F

1

1

G0F

1

PODEM FAN

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 207

「DIP概論」- IP Testing

Multiple Backtracing (13)Mbacktrace(Current_objectives)beginrepeat

beginremove one entry (k vk) from

Current_objectivesif k is a head line

then add (k vk) to Head_objectiveselse if k is a fanout branch

thenbegin

j = stem(k)increment number of requests at

j for vk

add j to Stem_objectivesend else if k is a fanout branch

else continue tracingbegin

i = inversion of kc = controlling value of k

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 208

「DIP概論」- IP Testing

Multiple Backtracing (23)

if(vkoplus i = c) then

beginselect an input j of k with

value xadd (j c) to

Current_objectivesend if(vkoplus i = c)

elsefor every input j of k with

value x

add (j c) to Current_objectives

end continue tracingend

until Current_objectives = empty

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 209

「DIP概論」- IP Testing

Multiple Backtracing (33)

if Stem_objectives ne emptybeginremove the highest-level stem k from

Stem_objectives

vk = most requested value of k

if(k has contradictory requirements and k is not reachable from target fault)

then return (k vk)add (k vk) to Current_objectivesreturn

Mbacktrace(Current_objectives)end if Stem_objectives ne empty

remove one objective (k vk) from Head_objectivesreturn (k vk)

end Mbacktrace

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 210

「DIP概論」- IP Testing

Generation of Conflicting Values on A Stem

0

1

0

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 211

「DIP概論」- IP Testing

Example of Multiple Backtracing (12)

AB

A1

A2E

E1

E2

G

H

I

JC

1

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 212

「DIP概論」- IP Testing

Example of Multiple Backtracing (22)

(I 1 ) (J 0 ) (I 1 )

(J 0 ) (G 0 ) (J 0 )

(G 0 ) (H 1 ) (G 0 )

(H 1 ) (A1 1 ) (E1 1) (H 1 )

(A1 1 ) (E1 1 ) (E2 1) (C 1) (A1 1 ) A(E1 1 ) (E2 1 ) (C 1 ) (E1 1 ) A E(E2 1 ) (C 1 ) (E2 1 ) A E(C 1) (C 1 ) A E C

A C(E 1 ) (E 1 ) A C(A2 0 ) (A2 1 ) A C

A C

Current_objectivesProcessed

entry Stem_objectives Head_objectives

empty

empty

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 213

「DIP概論」- IP Testing

The FAN Implementation (12)FAN( ) beginif Imply_and_check( ) =

FAILUREthen return FAILURE

if (error at PO and all bound lines are justified) then

beginjustify all unjustified head lines return SUCCESS

end

if(error not at PO and D-frontier = empty)then return FAILURE

add every unjustified bound lines to Current_objectivesselect one gate G from the D-frontier c = controlling value of Gfor every input j of G with value xadd (j c) to Current_objectives

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 214

「DIP概論」- IP Testing

The FAN Implementation (22)(i vi) = Mbackrace(Current_objectives)Assign(i vi)if FAN( ) = SUCCESSthen return SUCCESS

Assign(i vi) reverse decisionif FAN( ) = SUCCESSthen return SUCCESS

Assign(i x)return FAILURE

End FAN( )

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 215

「DIP概論」- IP Testing

ATPG (12)

bull Basic schemeinitialize the test set to NULLrepeat

generate a new test vectorevaluate fault coverage for the test vectorif the test vector is acceptable then add it to the test set

until the required fault coverage is obtained

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 216

「DIP概論」- IP Testing

ATPG (22)

bull Accelerationndash Phase I Random test patterns are generated

first to detect easy-to-detect faultsndash Phase II A deterministic TG is then performed

to generate test patterns for the remaining faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 217

「DIP概論」- IP Testing

Sequential TG

bull For circuits with unknown initial statesndash Time-frame expansion based

bull Extended D-algorithmbull 9-V sequential TG

ndash Simulation basedbull CONTEST [Agrawal and Cheng IEEE TCAD Feb

1989]

bull For circuits with known initial statesndash STALLION [Ma et al IEEE TCAD Oct 1988]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 218

「DIP概論」- IP Testing

Iterative Logic Array (ILA) Model

bull Here the model is restricted to synchronous sequential circuits

initial states

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 219

「DIP概論」- IP Testing

Extended D-algorithm1 Pick up a target fault f2 Create a copy of the combinational logic say Time-

frame 03 Generate a test pattern for f using D-algorithm for

time-frame 04 If all the fault effects are propagated into the FFrsquos

continue the fault propagation in the next time-frame5 If there are values required to be justified in the

FFrsquos continue the line justification (LJ) in the previous time-frame

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 220

「DIP概論」- IP Testing

I

OY1

Y2y1

y2 s-a-1

FF2

FF1

Example of Extended D-algorithm (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 221

「DIP概論」- IP Testing

Example of Extended D-algorithm (22)

OY1

Y2

I

y1

y2 s-a-1

time-frame 00

1

D

I

OY1

Y2

y1

y2 s-a-1

time-frame 1

1D

I

y1

y2 s-a-1

time-frame -1

0

0

Y1

Y2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 222

「DIP概論」- IP Testing

9-V Sequential TG

bull Extended D-algorithm is not completebull If 9-V instead of 5-V is used it will be a

complete algorithmndash Since it takes into account the possible repeated

effects of the fault in the ILA model

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 223

「DIP概論」- IP Testing

Example of 9-V Sequential TG (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 224

「DIP概論」- IP Testing

Example of 9-V Sequential TG (22)bull If 5-V Sequential TG is usedhelliphellip

D D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 225

「DIP概論」- IP Testing

Problems of Time-frame Approachesbull The requirements created during the

forward process (FP) have to be justified (LJ) by the backward processes laterndash Need going both forward and backward time

framesndash Need to maintain a large number of time-

framesbull How many Cyclesbull Implementation is complicated

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 226

「DIP概論」- IP Testing

Simulation-Based Approaches

bull Advantagesndash Timing is considered and asynchronous circuits

can be handledndash Can be easily implemented by modifying a

fault simulatorbull Disadvantages

ndash Can not identify undetectable faultsndash Hard-to-activate faults may not be detected

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 227

「DIP概論」- IP Testing

Difficulties of Sequential Test Generation

bull Initialization is difficultndash Justify invalid statesndash Long initialization sequences (simulator

limitations)bull Timing cannot be considered by time-frame

expansionsndash Races and hazardsndash Asynchronous circuits cannot be handled

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 228

「DIP概論」- IP Testing

Why FC of 100 Is Hard

bull If each undetected fault is redundant then FC will easily reach at 100ndash Proving that the undetected fault is a redundant

fault may be very and very hardbull How to increase FC

faultsredundant the-list fault of size thefaultsredundant the-fault undetected of size the-1

faultsredundant the-list fault of size thefaults detected the

=

=FC

Chapter 5

Design for Testability (DFT)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 230

「DIP概論」- IP Testing

Motivation bull Test costs

ndash Test Generation (TG)ndash Fault Simulationndash Test Application Timendash Memory spacendash helliphellip

bull Test difficultiesndash Sequential gt Combinationalndash helliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 231

「DIP概論」- IP Testing

Testability Measures

bull Controllabilityndash The difficulty of setting a particular logic signal

to a 0 or 1bull Observability

ndash The difficulty of observing the state of a logic signal

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 232

「DIP概論」- IP Testing

SCOAPbull Sandia ControllabilityObservability

Analysis Program [Goldstein 1979]bull Use six cost functions of type integer to

reflect the relative difficulties of controlling and observing signals in digital circuitsndash Higher numbers indicate more difficult to

control or observe signals

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 233

「DIP概論」- IP Testing

Combinational SCOAP Measures

bull For signal lndash CC0(l)

bull The combinational ldquorelative difficultyrdquo of setting l to 0

ndash CC1(l)bull The combinational ldquorelative difficultyrdquo of setting l to 1

ndash CO(l)bull The combinational ldquorelative difficultyrdquo of propagating

a fault effect from l to a PO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 234

「DIP概論」- IP Testing

bull For signal lndash SC0(l)

bull The sequential ldquorelative difficultyrdquo of setting l to 0

ndash SC1(l)bull The sequential ldquorelative difficultyrdquo of setting l to 1

ndash SO(l)bull The sequential ldquorelative difficultyrdquo of propagating a

fault effect from l to a PO

Sequential SCOAP Measures

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 235

「DIP概論」- IP Testing

Initialization

bull CC0(i) = CC1(i) = SC0(i) = SC1(i) = 1 for all PI ibull CO(o) = SO(o) = 0 for all PO obull Set others to infin

The controllabilities range between 1 and infin

The observabilities range between 0 and infin

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 236

「DIP概論」- IP Testing

Controllability of Combinational Components (12)

bull CC0(z) = CC0(a) + CC0(b) + 1bull CC1(z) = minCC1(a) CC1(b) + 1bull SC0(z) = SC0(a) + SC0(b)bull SC1(z) = minSC1(a) SC1(b)

ab z

CC0 or CC1 are related to the number of signals that may be manipulated to control SC0 or SC1 are related to the number of time-frames needed to control

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 237

「DIP概論」- IP Testing

Controllability of Combinational Components (22)ab

ab

abab

ab

ab

z

z

z

z

z

z

CC0(z) = minCC0(a) CC0(b) + 1CC1(z) = CC1(a) + CC1(b) + 1

CC0(z) = CC1(a) + CC1(b) + 1CC1(z) = minCC0(a) CC0(b) + 1CC0(z) = CC0(a) + CC0(b) + 1CC1(z) = minCC1(a) CC1(b) + 1CC0(z) = minCC1(a) CC1(b) + 1CC1(z) = CC0(a) + CC0(b) + 1

CC0(z) = minCC1(a) + CC1(b) CC0(a) + CC0(b) + 1CC1(z) = minCC0(a) + CC1(b) CC1(a) + CC0(b) + 1

CC0(z) = minCC0(a) + CC1(b) CC1(a) + CC0(b) + 1CC1(z) = minCC1(a) + CC1(b) CC0(a) + CC0(b) + 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 238

「DIP概論」- IP Testing

Controllability of Sequential Components

bull CC0(Q) = minCC0(R) CC1(R) + CC0(D) + CC0(C) + CC1(C)bull CC1(Q) = CC1(R) + CC1(D) + CC0(C) + CC1(C)bull SC0(Q) = minSC0(R) SC1(R) + SC0(D) + SC0(C) + SC1(C) + 1bull SC1(Q) = SC1(R) + SC1(D) + SC0(C) + SC1(C) + 1

D

C

Q

R

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 239

「DIP概論」- IP Testing

Observability (12)

P

QR

N

bull CO(P) = CO(N) + CC1(Q) + CC1(R) + 1bull SO(P) = SO(N) + SC1(Q) + SC1(R)

D

C

Q

R bull CO(R) = CO(Q) + CC1(Q) + CC0(R)bull SO(R) = SO(Q) + SC1(Q) + SC0(R) + 1

CO are related to the number of signals that may be manipulated to observeSO are related to the number of time-frames needed to observe

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 240

「DIP概論」- IP Testing

Observability (22)ab

ab

abab

ab

ab

z

z

z

z

z

z

CO(a) = CO(z) + CC1(b) + 1CO(b) = CO(z) + CC1(a) + 1

CO(a) = CO(z) + CC1(b) + 1CO(b) = CO(z) + CC1(a) + 1

CO(a) = CO(z) + CC0(b) + 1CO(b) = CO(z) + CC0(a) + 1CO(a) = CO(z) + CC0(b) + 1CO(b) = CO(z) + CC0(a) + 1

CO(a) = CO(z) + minCC0(b) CC1(b) + 1CO(b) = CO(z) + minCC0(a) CC1(a) + 1CO(a) = CO(z) + minCC0(b) CC1(b) + 1CO(b) = CO(z) + minCC0(a) CC1(a) + 1

zz1z2

zn

CO(z) = minCO(z1) CO(zz) helliphellip CO(zn)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 241

「DIP概論」- IP Testing

Example of SCOAP (13)

1

23

4

5

6

PI3

PI2

PI1

PO

Note ( C0 C1 )

(11)

(11)

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11)

(11)

(11)

Computation of controllability (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 242

「DIP概論」- IP Testing

Example of SCOAP (23)

Note ( C0 C1 )

(11)

(11)

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11)

(11)

(11)

(22)

(22)

(23)

(35)

(27)

(54)

Note ( C0 C1 ) O

(11)

(11)

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11)

(11)

(11)

(22)

(22)

(23)

(35)

(27)

(54) 0

Computation of controllability (22)

Computation of observability (13)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 243

「DIP概論」- IP Testing

Example of SCOAP (33)

Note ( C0 C1 ) O

(11) 5

(11) 5

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11) 9

(11) 9

(11) 9

(22) 8

(22) 8

(23) 3

(35) 5

(27) 3

(54) 0

Note ( C0 C1 ) O

(11) 5

(11) 5

1

23

4

5

6

PI3

PI2

PI1

PO

(11) 5

(11) 5

(11) 9

(11) 9

(11) 9

(22) 8

(22) 8

(23) 3

(35) 5

(27) 3

(54) 0

Computation of observability (23)

Computation of observability (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 244

「DIP概論」- IP Testing

Importance of Testability Measures

bull Speed up test generation (TG) algorithmsbull Improve the testability of the circuit under

design ndash Guide the design for testability (DFT) insertion

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 245

「DIP概論」- IP Testing

Design for Testability (DFT)

bull DFT techniquesndash Design efforts specifically employed to ensure

that a circuit is testablebull In general DFT is achieved by employing

extra hardware overheadndash Conflict between design and test engineersndash Balance between amount of DFT and gain

achieved

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 246

「DIP概論」- IP Testing

Benefits of DFTbull Fault coverage uarr (must guarantee) bull Test generation time darrbull Test lengthTest memoryTest application time darrbull Support a test hierarchy

ndash Chipsndash Boardsndash Systems

rArrPay less now and pay more latter without DFT

FC100

with DFT

of T

without DFT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 247

「DIP概論」- IP Testing

Costs Associated with DFT

bull Pin overhead uarrbull Area uarrbull Yield darrbull Performance darrbull Design time uarr

rArrThere is no free lunch

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 248

「DIP概論」- IP Testing

DFT Techniques

bull Ad hoc DFT techniquesbull Scan-based designsbull Boundary scan

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 249

「DIP概論」- IP Testing

Ad Hoc DFT Techniquesbull Test pointsbull Initializationbull Monostable multivibrators (one-shots)bull Oscillators and clocksbull Partitioning counters and shift registersbull Partitioning of large combinational circuitsbull Logic redundancybull Break global feedback paths

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 250

「DIP概論」- IP Testing

Test Pointsbull Insert test points control points (CPs) and

observation points (OPs) to enhance controllability and observability

C1 C2 C1 C2

jumper

CPOP

original circuits testable circuits

Can be done only for boards

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 251

「DIP概論」- IP Testing

01-Injection

CP1

C1

CP0

C2

01-injection

C1C2

CP00-injection 1-injection

C1C2

CP1

OP OP

OP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 252

「DIP概論」- IP Testing

01-Injection Using a MUX

NT

C1

CP C2

01-injection

MUX

0

1

OP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 253

「DIP概論」- IP Testing

IO-Pin Cost Decrement (12)

01

2n-11 2 n

X1 X2 Xn

Z

CP1CP2

CPN

DEMUX

N = 2n

Using a demultiplexer and a latchregister to implement CPs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 254

「DIP概論」- IP Testing

IO-Pin Cost Decrement (22)

01

2n-11 2 n

X1 X2 Xn

Z

OP1OP2

OPN

MUX

N = 2n

Multiplexing OPs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 255

「DIP概論」- IP Testing

Time-Sharing IO Pins (12)

PIs DEMUX

normal functional

inputsn

n

n nCPs

0

1

NT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 256

「DIP概論」- IP Testing

Time-Sharing IO Pins (22)

OPs

DEMUX

normal functional

outputs

n

n

nPOs

0

1

NT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 257

「DIP概論」- IP Testing

Selection of CPs (12)

bull Control address and data bus lines on bus-structured designs

bull Enablehold inputs to microprocessorsbull Enable and readwrite inputs to memory

devicesbull Clock and presetclear inputs to memory

devices such as flip-flops counter and shift registers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 258

「DIP概論」- IP Testing

Selection of CPs (22)

bull Data select inputs to multiplexers and demultiplexers

bull Control lines on tri-state devices

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 259

「DIP概論」- IP Testing

Selection of OPs (12)

bull Stem lines associated with signals having high fanout

bull Global feedback pathsbull Redundant signal linesbull Outputs of logic devices having many

inputs such as multiplexers and parity generators

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 260

「DIP概論」- IP Testing

Selection of OPs (22)

bull Outputs from state devices such as flip-flops counters and shift registers

bull Address control data buses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 261

「DIP概論」- IP Testing

Initialization (12)bull Design circuits to be easily initializable

ndash Donrsquot disable preset (PR) and clear (CLR) lines

PR

CLR

Vcc

Vcc

Q

Q

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 262

「DIP概論」- IP Testing

Initialization (22)bull When the preset or clear line is driven by

logic a gate can be added to achieve initialization

PR

CLR

Q

Q

C1

Clear

PR

CLR

Q

Q

C1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 263

「DIP概論」- IP Testing

Built-In Initialization Signal Generator

Vcc

t

VZ

Vcc

Z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 264

「DIP概論」- IP Testing

Monostable Multivibrators (One-Shots) (12)

bull Disable internal one-shots during test

C1C2

one-shotjumper

CPOP

jumper

OP CP

Can be done only for boards

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 265

「DIP概論」- IP Testing

Monostable Multivibrators (One-Shots) (22)

C1

C2

one-shotA

B

E (OP)

C

D

MUX

0

1

01-I

s

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 266

「DIP概論」- IP Testing

Oscillators And Clocksbull Disable internal oscillators and clocks

during test

OSCC

OP

AB

01-I

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 267

「DIP概論」- IP Testing

CountersShift Registers (12)bull Partition large counters and shift registers

into smaller units

DIN

CK

DOUTR1

DIN

CK

DOUTR2C

X1 X2

Y1 Y2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 268

「DIP概論」- IP Testing

CountersShift Registers (22)

CPdata inhibit

CPtest data

C

CPclock inhibitCPtest clock

DIN

CK

DOUT

R1

X1

Y1

CPdata inhibit

CPtest data

OP

DIN

CK

DOUT

R2

X2

Y2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 269

「DIP概論」- IP Testing

Partitioning Large Circuits (12)bull Partition large circuits into smaller

subcircuits to reduce test generation cost

C1 C2

AB

C

D

E

F G

m ns

p

q

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 270

「DIP概論」- IP Testing

Partitioning Large Circuits (22)

If 2p+n + 2q+m lt 2n+m then test time can be reduced

m

s

n

q

p

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 271

「DIP概論」- IP Testing

Logic Redundancy

bull Avoid the use of redundant logicndash Remove (for eliminating hazardshelliphellip)

bull Add test points to remove the redundancy during testing

bull Bias fault coverage

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 272

「DIP概論」- IP Testing

Global Feedback Pathsbull Provide logic to break global feedback

paths

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 273

「DIP概論」- IP Testing

Scan SystemPO

C

R

PI

C

Rrsquo

PI

Sin

Sout

PO

Original design Modified design

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 274

「DIP概論」- IP Testing

Scan Storage Cell (SSC)

DSi

N TCK

Q So

N T Q So

0 D1 Si

D QSSC

Symbol for a SSC

rArr A SSC can be used as control point (CP) andor observation point (OP)

SSC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 275

「DIP概論」- IP Testing

Simultaneous CO

C1 C2

MUX

0

1

T

D Q

CPOP

SiN T CK

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 276

「DIP概論」- IP Testing

Scan Register (SR) (12)

Sin

CK

N T

D1

Q

Q1 D2

Q

Q2 Dn

Q

Qn

DSi

N TCK

SoutSSC SSC

R

Symbol for a SR

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 277

「DIP概論」- IP Testing

Scan Register (SR) (22)

bull A scan register (SR) loads data in parallel when N T = 0 (normal mode) and shifts when N T = 1 (test mode)ndash Scan-in operation (test mode)

bull Load data into R from line Sin (control)

ndash Scan-out operation (test mode)bull Read data out of R from line Sout (observation)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 278

「DIP概論」- IP Testing

Generic Scan-Based Design

bull Full serial integrated scanbull Full isolated scanbull Nonserial scan

ndash Random-access scan

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 279

「DIP概論」- IP Testing

Full Serial Integrated Scan (12)

bull All the original storage cells are replaced by the SSCrsquos and made part of the SR

bull Sequential ATPG rarr Combinational ATPG

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 280

「DIP概論」- IP Testing

C

R

PI PO

CK

C

Rs

PI PO

CKNT Sin

Sout

Original design (Normal) Modified design (Scanned)

Full Serial Integrated Scan (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 281

「DIP概論」- IP Testing

Full Isolated Scan (12)bull The SR is not in the the normal data path

C

Rrsquo

Rs

PI PO

Sin Sout

two data input ports

shadow register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 282

「DIP概論」- IP Testing

Full Isolated Scan (22)bull Advantages

ndash Real-time testingbull A single test can be applied at the operational clock

rate of the system

ndash On-line testingbull The circuit can be tested while in normal operation

bull Disadvantagesndash Hardware overhead

bull Two data input portsbull Shadow register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 283

「DIP概論」- IP Testing

Random-Access Scan (12)C

addressable storage elements

clocks and controls

Y-address(decoder)

X-address(decoder)

Sout

SinSCK

PI PO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 284

「DIP概論」- IP Testing

Random-Access Scan (22)bull Advantages

ndash Scan in a new vector only bits that need be changed must be addressed and modified also selected bits can be observed

bull Full controllability and observability

bull Disadvantagesndash Hardware overhead

bull Considerable overhead associated with storing the addresses of the cells to be setread

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 285

「DIP概論」- IP Testing

IBM LSSD Scan Cellbull Level Sensitive Scan Design

D

Sin

Q2 Sout(L2)

Q1 (L1)

C

A

B

Normal mode A = 0 C and B activeTest mode C = 0 A and B active

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 286

「DIP概論」- IP Testing

Clock Schemebull To obtain race-free condition clocks C and

B as well as A and B are nonoverlapping

C

B

A

B

Normal mode A = 0

Test mode C = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 287

「DIP概論」- IP Testing

LSSD Double-Latch Design

Sout

Sin

CA

B

Shift Register Latch (SRL)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 288

「DIP概論」- IP Testing

LSSD Single-Latch Design

Sout

SinC2

Shift Register Latch (SRL)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 289

「DIP概論」- IP Testing

Scan Design Costsbull Hardware overheadbull Extra pinsbull High test timebull Extra slower clock controlsbull Possible performance degradationbull Some designs are not easily realizable as

scan designTest generation costs can be significantly reduced and lead to higher fault coverage

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 290

「DIP概論」- IP Testing

Notes

Chapter 6

Advanced Scan Concepts

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 292

「DIP概論」- IP Testing

Advanced Scan Concepts

bull Multiple test sessionsbull Multiple scan chainsbull Broadcast scan chainsbull Partial scan

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 293

「DIP概論」- IP Testing

Multiple Test Sessions (12)bull of test patterns

ndash C1 100 C2 200 C3 30020 bits 20 bits 20 bits

C1 C2 C3

Test time= 60 300= 18000 (cycles)

One session

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 294

「DIP概論」- IP Testing

Multiple Test Sessions (22)bull of test patterns

ndash C1 100 C2 200 C3 300

20 bits 20 bits 20 bits

C1 C2 C3

Test time= 60 100 +

40 100 +20 100

= 12000 (cycles)

Three sessions

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 295

「DIP概論」- IP Testing

Multiple Scan Chainsbull Reduce test application timebull Large pin overhead

ndash Usually test IO will share the normal IO

A single chain (long test time) Multiple chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 296

「DIP概論」- IP Testing

Broadcast Scan Chainsbull Using a single data input to support multiple

scan chains

Source Lee et al ICCADrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 297

「DIP概論」- IP Testing

Virtual Circuitsbull The inputs of circuits under test (CUTs) are

connected in a 1-to-1 manner

bull The whole virtual circuit is considered as one circuit during ATPG

bull The resulted test patterns can be shared by all CUTs Source Lee et al ICCADrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 298

「DIP概論」- IP Testing

Partial Scanbull Only a subset of flip-flops are scannedbull Trade-offs

ndash Area overheadndash TG complexity

partial scan

full scan

sequential TG

combinational TG

1000 (scanned FFrsquos)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 299

「DIP概論」- IP Testing

A Basic Method for Partial Scanbull Represent a sequential circuit with feedback

as a directed graph G = (V E)ndash Each flip-flop i is represented as vertex vi in V ndash Each combinational path from flip-flop i to j is

represented as a directed edge from vi to vj in E

Source Cheng and Agrawal IEEE TComputersrsquo90

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 300

「DIP概論」- IP Testing

Graph Representation (13)

3

1 2 4 5 6

A sequential circuit with 6 flip-flops

Graph representation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 301

「DIP概論」- IP Testing

Graph Representation (23)bull Distance between two vertices on a path is

defined as the number of vertices on that path

distance = 4

distance = 3

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 302

「DIP概論」- IP Testing

Graph Representation (33)bull Sequential depth of a circuit is defined as

the distance of the longest pathbull Cycle length is defined as the maximum

number of vertices in a cycle

Sequential depth = 6

Cycle length = 3 Cycle length = 1 Cycle length = 2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 303

「DIP概論」- IP Testing

Analysis of Sequential Circuits (13)

bull Any sequential circuit can be divided into 3 classes of subcircuits based on the directed graph representationndash Acyclic directed (testable)ndash Directed with only self-loops (testable)ndash Directed with cycles of two or more vertices

(not testable)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 304

「DIP概論」- IP Testing

Analysis of Sequential Circuits (23)

Directed with cycles of two or more vertices (not testable)

Acyclic directed (testable)

Directed with only self-loop (testable)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 305

「DIP概論」- IP Testing

Analysis of Sequential Circuits (33)

bull The number of gates or flip-flops is not the dominant factor for test generation complexity

bull Cycle length is the dominant factorndash To reduce test generation complexity cycles of

length ge 2 should be break or eliminatedbull Sequential depth is minor

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 306

「DIP概論」- IP Testing

Flip-Flop Selection Algorithm (12)

beginidentify all cyclesrepeat

for every vertex begincount the frequency of appearance in the cycle list

endselect the most frequently used vertexremove all cycles containing the selected vertex from the cycle listuntil cycle list is empty

end

bull Finding the vertex set that breaks all cycles called the feedback vertex set problem is NP-completendash Heuristics must be used to bound the computation time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 307

「DIP概論」- IP Testing

= 695

Flip-Flop Selection Algorithm (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 308

「DIP概論」- IP Testing

The BALLAST Methodology (13)bull Scan storage elements are selected such that

the remainder of circuit has some testable structurendash A complete test set can be obtained by using

combinational ATPGsequential TG

combinational TG

1000Source Gupta et al IEEE TComputersrsquo90

BALLAST

(scanned FFrsquos)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 309

「DIP概論」- IP Testing

The BALLAST Methodology (23)

Sout

Sin

HOLD(for test)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 310

「DIP概論」- IP Testing

bull Test procedure for a test pattern ndash Scan in the pattern to R3 and R6

ndash Hold the test pattern in R3 and R6 for two clock cycles such that the test response appears in R4and R5

ndash Load data to R3 and R6 and scan out

The BALLAST Methodology (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 311

「DIP概論」- IP Testing

Circuit Model (14)

bull Given a synchronous sequential circuit Sndash The combinational logic can be partitioned into

clouds where each cloud is a maximal region of connected combinational logic such that its inputs are either primary inputs or outputs of FFrsquos and its outputs are either primary outputs or inputs to FFrsquos

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 312

「DIP概論」- IP Testing

Circuit Model (24)bull A register

ndash Consists of one or more FFrsquos driven by the same clock signal

ndash Receives data from exactly one cloud and feeds exactly one cloud

bull Two typesndash Load set (L) always operates in LOAD modendash Hold set (H) two modes of operation ndash LOAD

and HOLD

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 313

「DIP概論」- IP Testing

Circuit Model (34)bull A directed graph G = (V A H W)

ndash V the set of cloudsndash A the set of connections between two clouds

through registersndash H sub A connections through HOLD registersndash W ArarrZ+ defines the number of FFrsquos in each

registersbull W(a) represent the cost of converting a register into

a scan register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 314

「DIP概論」- IP Testing

Circuit Model (44)

R3

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 315

「DIP概論」- IP Testing

Balanced Sequential Structurebull A synchronous sequential circuit S with G is said

to be a balanced sequential structure (B-structure) ifndash G is acyclic ndash forallv1 v2 isin V all directed paths from v1 to v2 are of equal

lengthndash forallh isin H if h is removed from G the resulted graph is

disconnectedbull When examining whether a circuit with scan

registers is a B-structure the arcs corresponding to scan registers must be removed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 316

「DIP概論」- IP Testing

Example of B-structure

Red arcs represent HOLD registersOthers represent LOAD registers

A B-structure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 317

「DIP概論」- IP Testing

Kernel of a B-Structure (13)bull Given a B-structure SB

ndash Combinational equivalent CB is defined as the combinational circuit formed by replacing each FF in every register in SB by a wire or an inverter

bull Single-pattern testablebull A complete single-pattern test set can be derived

using combinational test generation techniques

bull The depth d of SB

ndash The number of registers on the longest path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 318

「DIP概論」- IP Testing

Kernel of a B-Structure (23)B-structure SB (d = 2)

Combinational Equivalent CB

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 319

「DIP概論」- IP Testing

Kernel of a B-Structure (33)bull Given an input pattern I applied to SB define the

single-pattern output of SB for I as the steady-state output of SB when I is held constant at the inputs to SB and all its registers are operated in LOADmode for at least d clock cycles

bull Given some fault f in SB if the single-pattern outputs for I of the good and the faulty circuits are different then I is a single-pattern test for f

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 320

「DIP概論」- IP Testing

Outline of BALLAST1 Construct G = (V A H W)2 Remove a minimal cost set of arcs R to

construct SB

3 Determine CB of SB and a complete test set Tfor CB using a combinational ATPG

4 Construct a scan path composed of the registers in R so that they can ldquoshiftrdquo ldquoholdrdquo and ldquoloadrdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 321

「DIP概論」- IP Testing

Selection of Scan Registers1 Transform G = (V A H W) into an acyclic

graph GA by removing a minimal cost set of ldquofeedbackrdquo arcs RA (NP-complete)

2 Transform GA into a balanced graph GB by removing a minimal cost set of arcs RB (NP-complete)R = RAcupRB is the desired set for scan registers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 322

「DIP概論」- IP Testing

Test Procedurebull Operate all scan registers in the SHIFT mode for l

clock cycles (scam in the first test pattern)ndash l is the total number of FFrsquos in the scan path

bull Repeat N times N is the number of test patterns(a) Place all scan register in HOLD mode and all nonscan

registers in LOAD mode for d clock cycles(b) Operate all scan registers in LOAD Load for 1clock

cycle(c) Operate all scan register in SHIFT mode for l clock

cycles

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 323

「DIP概論」- IP Testing

Elimination of HOLD Modebull Eg By adding two dummy bits (d) between

the patterns to be scanned to R3 and R6 the HOLD mode can be eliminated

Sin

Sout1101hellip01dd10hellip101

R3 R6

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 324

「DIP概論」- IP Testing

ConclusionsMethods Partial Scan

Multiple TestSessions

Mutiple ScanChains

Broadcast ScanChains

Area Overhead

PerformanceDegradation

Extal Pins

Extral ClockControl

Test ApplicationTime

same

same

same

same

same

same

darr or uarr

darr

darr

darr

same or uarr

same

uarr

same

darr

same

same

darr

darr

same

Full Scan

Chapter 7

Compression Techniques

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 326

「DIP概論」- IP Testing

Challenges from ORA

bull A bit-by-bit comparison of observed output values with the correct values as previously computed and saved is quite inefficientndash Require a significant amount of memory

storage for saving the correct outputs associated with all test vectors

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 327

「DIP概論」- IP Testing

Response Compressionbull Compress or compact output responses into

ldquoa signaturerdquondash A circuit is tested by comparing the observed

signature with the correct computed signature

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 328

「DIP概論」- IP Testing

Error Maskingbull signature(faulty circuit)

= signature(fault-free circuit)ndash The erroneous output response is an alias of the

correct output responsebull Measurement of masking probability

ndash Compute the fraction of all possible erroneous response sequences that cause masking associated with specific compression techniques

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 329

「DIP概論」- IP Testing

Requirements of Compression Techniques

bull Easy to implement specially in the BIST environment

bull Small performance degradationbull High degree compactionbull No or small alias errors

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 330

「DIP概論」- IP Testing

Basic Compression Techniques

bull Ones-count compressionbull Transition-count compressionbull Parity-check compressionbull Syndrome Testingbull Signature Analysis

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 331

「DIP概論」- IP Testing

Ones-Count Compression (12)bull Given a single-output circuit C let the

output response of C be R = r1 r2 hellip rm

ndash In ones counting the signature 1C(R) is the number if 1s appearing in R ie

where 0 le 1C(R) le m

bull The degree of compression is ⎡log2(m+1)⎤

sum=i

irR1C )(

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 332

「DIP概論」- IP Testing

Ones-Count Compression (22)

counter

s-a-0 fault f2

s-a-1 fault f1

111100001100110010101010

00000000 = R211000000 = R110000000 = R0

Signature (ones count)1C(R0) = 11C(R1) = 21C(R2) = 0

x1x2x3

Input test patternsequence T

Output Reponses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 333

「DIP概論」- IP Testing

Analysis of Ones-Countbull Consider a circuit tested with m random

input vectors and let 1C(R0) = r 0 le r le mndash The number of m-bit sequences having r 1s is

such sequences are aliases

bull The ratio of masking sequences to all possible erroneous sequence given 1C(R0) = r is

⎥⎦

⎤⎢⎣

⎡rm

1rm

minus⎥⎦

⎤⎢⎣

)1

1rmM

2CP m

m

r1C minus

minus=(

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 334

「DIP概論」- IP Testing

Transition-Count Compressionbull TC(R) = sum

minus

=+

oplus1m

1i1ii rr

NetworkT D Q

counter

00000000 = R211000000 = R110000000 = R0

Signature (transition count)TC(R0) = 1TC(R1) = 1(undetectable fault)TC(R2) = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 335

「DIP概論」- IP Testing

bull If all faulty sequences are equally likely to occur as the response of a faulty circuit then the probability of masking is given by

Analysis of Transition-Count

122)|(

1

minusminus

=minus

m

mr

TC1CrmMP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 336

「DIP概論」- IP Testing

Parity-Check Compression

NetworkT

00000000 = R211000000 = R110000000 = R0 D Q

Signature (parity)p(R0) = 1p(R1) = 0p(R2) = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 337

「DIP概論」- IP Testing

bull All errors consisting of odd number of bit errors are detectedndash Detect all single-bit errors

bull All errors consisting of even number of bit errors are maskedndash Assume all faulty bit streams are equally likely

the probability of masking approaches frac12 as m increases

Analysis of Parity-Check

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 338

「DIP概論」- IP Testing

Syndrome Testingbull Rely on exhaustive testing ie applying all

2n test vectors to an n-input combinational circuitndash Eg Consider a single-output circuit

implementing a function fbull The syndrome S (or signature) is the normalized

number of 1s in the resulting stream ie S = K2n where K is the number of minterms in the function f

ndash A special case of ones-count compression

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 339

「DIP概論」- IP Testing

Signature Analysis

bull Signature analysis is a compression technique based on the concept of cyclic redundancy checking (CRC) and realized in hardware using linear-feedback shift registers (LFSRs)ndash The signature is the content of this register after

the last input bit has been sampled

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 340

「DIP概論」- IP Testing

LFSRs Used as Signature Analyzers

bull Single-input signature registers (SISRs)bull Multiple-input signature registers (MISRs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 341

「DIP概論」- IP Testing

SISRsbull Initial state I(x) = 0bull Final state R(x) the remainder or signature

)()()( )(or )()()(

)()( xRxPxQxG

xPxRxQ

xPxG

+=+=

G(x) Q(x)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 342

「DIP概論」- IP Testing

Example of SISRs

R(x) = x2+x4 Q(x) =1+x2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 343

「DIP概論」- IP Testing

Analysis of SISRs (12)

bull For a test bit stream of length mndash 2m possible responses of which only one is

correctndash The number of bit streams producing a specific

signature is 2m 2n = 2m-n where n is the length of the LFSR

ndash Among these streams only one is correct

( ) 21212P n

m

nm

SA nmM minusminus

congminus

minus=|

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 344

「DIP概論」- IP Testing

ndash Eg If n = 16 then(1-2-16) 100 = 999984

of erroneous responses are detectedNote This is not of faults

Analysis of SISRs (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 345

「DIP概論」- IP Testing

MISRs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 346

「DIP概論」- IP Testing

Implementation of MISRs

(a) Original (a) Modified

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 347

「DIP概論」- IP Testing

The Storage Cell for MISRs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 348

「DIP概論」- IP Testing

Notes

Chapter 8

Built-In Self-Test (BIST)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 350

「DIP概論」- IP Testing

Built-In Self-Test (BIST) (12)bull Capability of a circuit (chip board or

system) to test itself

Test Pattern Generator (TPG)

Circuit under Test (CUT)

Output Response Analyzer (ORA)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 351

「DIP概論」- IP Testing

bull On-line not placed into the test modendash Concurrent simultaneous with normal

operationndash Nonconcurrent idle normal operation

bull Off-line placed into the test modendash Functional diagnosis SW or FWndash Structural

bull LFSR-based TPG and ORAbull FC is estimated

Built-In Self-Test (BIST) (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 352

「DIP概論」- IP Testing

Glossary of BIST Test Structures (12)bull BILBO

ndash built-in logic block observation (register)bull LFSR

ndash linear feedback shift registerbull MISR

ndash multiple-input signature registerbull ORA

ndash output response analyzer

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 353

「DIP概論」- IP Testing

bull PRPG ndash pseudorandom pattern generator also referred

to as a pseudorandom number generatorbull SISR

ndash single-input signature registerbull SRSG

ndash shift-register sequence generator also a single-output PRPG

bull TPGndash test pattern generator

Glossary of BIST Test Structures (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 354

「DIP概論」- IP Testing

bull Exhaustive testingndash Exhaustive test-pattern generator

bull Pseudorandom testingndash Weighted test generatorndash Adaptive test generator

Test Pattern Generation for BIST (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 355

「DIP概論」- IP Testing

Test Pattern Generation for BIST (22)

bull Pseudoexhaustive testingndash Syndrome driver counterndash Constant-weight counterndash Combined LFSR and shift registerndash Combined LFSR and XOR gatesndash Condensed LFSRndash Cyclic LFSR

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 356

「DIP概論」- IP Testing

Exhaustive Testing

bull Apply all 2n input vectors where n is the number of inputs to CUTndash Impractical for large n

bull Detect all detectable faults that do not cause sequential behaviorndash In general not applicable to sequential circuits

bull Can use a counter or LFSR for TPG

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 357

「DIP概論」- IP Testing

bull A shift register with a linear feedback network is called a linear feedback shift register (LFSR)

bull A n-stage shift register has at most 2n statesrArr A n-stage LFSR has at most 2nndash1 stages

the linear successor of the all-zero state is itself

there4

Linear Feedback Shift Register (LFSR) (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 358

「DIP概論」- IP Testing

Linear Feedback Shift Register (LFSR) (22)

D Q D Q

S0 1 0S1 0 1S2 (=S0) 1 0

Z = 0101helliphellip2 states

Z D Q D Q D Q Z

S0 0 1 1S1 1 0 1S2 0 1 0S3 0 0 1S4 1 0 0S5 1 1 0S6 1 1 1S7 (=S0) 0 1 1

Z = 11010011101001 helliphellip7 states

linear feedback network

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 359

「DIP概論」- IP Testing

Two Types of LFSRs (12)bull Type 1 External type

D Q D Q ZD Q D Q

C1 C2 Cn-1 Cn= 1C0

= 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 360

「DIP概論」- IP Testing

Two Types of LFSRs (22)bull Type 2 Internal type

D Q

Cn-1Cn= 1

D Q

Cn-2

D Q

C1

D Q Z

C0= 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 361

「DIP概論」- IP Testing

Mathematical Operations over GF(2)

bull Multiplication(bull) bull Addition( )

bull 0 10 0 01 0 1

0 10 0 11 1 0

Eg Let C1 = 0 C2 = 1 C3 = 1 and a1 = 0 a2 = 1 a3 = 1If a0 = C1 bull a1 C2 bull a2 C3 bull a3 then a0 = 0 bull 0 1 bull 1 1 bull 1 = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 362

「DIP概論」- IP Testing

Analysis of LFSRsbull A sequence of binary numbers can be

represented using a generation function (polynomial)

bull The behavior of an LFSR can be determined by its ldquoinitial seed (S0)rdquo and ldquofeedback coefficients (Ci)rdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 363

「DIP概論」- IP Testing

Characteristic Polynomials (13)

bull Let a0 a1 hellip am hellipbe the sequence of binary numbers ndash Generation function

G(x) = a0 + a1x +hellip+ amxm + hellip=bull Let am = a0 a1 hellip am hellipbe the output

sequence of an LFSR of type 1rArr am =

xa m

mmsum

infin

=0

aC im

n

ii minus

=sum

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 364

「DIP概論」- IP Testing

bull Let the seed S0 be a-1 a-2 hellip a-n hellip

rArr G(x) = =

rArr G(x) = under GF(2)

rArr G(x) depends on the seed S0 and feedback coefficients

xa m

mmsum

infin

=0sum suminfin

= =minus⎟⎠

⎞⎜⎝

0 1m

mn

iimi xaC

( )sum

sum

=

minus

minus

minus

minus=

+

++

n

i

i

i

i

i

in

ii

xC

xaxaxC

1

1

11

1

Characteristic Polynomials (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 365

「DIP概論」- IP Testing

bull Let P(x) = 1 +

= 1 + C1x + C2x2 + hellip+ Cnxn

called the characteristic polynomial of the LFSR representing the linear feedback network

bull The degrees of all characteristic polynomials for an n-stage LFSR are nndash Eg

P(x) = x3 + x + 1

sum=

n

i

i

i xC1

D Q D Q D Q Z

Characteristic Polynomials (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 366

「DIP概論」- IP Testing

Maximum Length Sequences

bull If period p of the sequence generated by an n-stage LFSR is 2n-1 then it is a maximum length sequencendash 1rsquos = 0rsquos + 1

bull The characteristic polynomial associated with the maximum length sequence is a primitive polynomial

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 367

「DIP概論」- IP Testing

Primitive Polynomialsbull The number of primitive polynomials for n-

stage LFSR is given by

where

( ) ( )n

nn 12

2

minus=φλ

( ) prod ⎟⎟⎠

⎞⎜⎜⎝

⎛minus=

np pnn

|

11φ

n1 12 14 28 1616 204832 67108864

( )n2λ

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 368

「DIP概論」- IP Testing

Some Primitive PolynomialsEg 20 3 0 for x20 + x3 + 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 369

「DIP概論」- IP Testing

An Example of LFSR

bull 23-1 = 7 ldquoalmost completerdquo patterns are generated

D Q D Q D Q Z

S0 0 1 1S1 1 0 1S2 0 1 0S3 0 0 1S4 1 0 0S5 1 1 0S6 1 1 1S7(=S0) 0 1 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 370

「DIP概論」- IP Testing

Exhaustive Testing

D Q D Q D Q0 0 1

0 0 0

1 0 0

scan chain 3

CUT

test cycles 3+23

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 371

「DIP概論」- IP Testing

Off-Line BIST Architecturesbull Criteria

ndash Centralized or distributed BIST circuitryndash Embedded or separate BIST elements

bull Key elementsndash Test pattern generators (TPGs)ndash Output response analyzers (ORAs)ndash The circuits under test (CUTs)ndash A distribution system (DIST) for transmitting data from

TPGs to CUTs and from CUTs to ORAsndash A BIST controller for controlling the BIST circuitry

and CUT during self-test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 372

「DIP概論」- IP Testing

CentralizedSeparate BIST (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 373

「DIP概論」- IP Testing

CentralizedSeparate BIST (22)

bull During testing the BIST controller may carry out one or more of the following functionsndash Single-step the CUTs through some test

sequencendash Inhibit system clocks and control test clocksndash Communicate with other test controllers

possibly using test bussesndash Control the operation of a self-test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 374

「DIP概論」- IP Testing

DistributedSeparated BIST

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 375

「DIP概論」- IP Testing

DistributedEmbedded BIST

The TPG and ORA elements are configured from functional elements within the CUT such as registers

Less hardware overheadLead to a more complex design

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 376

「DIP概論」- IP Testing

Factors for Choosing BIST Architecturesbull Degree of test parallelism (distributed darr)bull Fault coverage (distributed darr)bull Level of packaging (centralized darr)bull Test time (distributed darr)bull Physical constraints (embedded and separateuarr)bull Complexity of replaceable units (centralized darr)bull Factory and field of test-and-repair strategiesbull Performance degradation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 377

「DIP概論」- IP Testing

Test-Per-Clock System

LFSR SR

CUT

MISR

Some new set of faults is tested during every clock period

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 378

「DIP概論」- IP Testing

Test-Per-Scan SystemLFSR SR

CUT

MISR SR

Each new set of faults being tested requiresOne clock to conduct the testA series of shifts of the scan chain (SR)

Complete that testRead out all of the test results

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 379

「DIP概論」- IP Testing

STUMPSbull Self-Test Using a MISR and Parallel Shift register

ndash Test-per-scan

LFSR (Pseudo-Random Test Pattern Generator)

SR1 SR2 SRn

MISR

CUT1 CUT2 CUTn

Source Bardell ITCrsquo82

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 380

「DIP概論」- IP Testing

BILBObull Built-In Logic Block Observation

ndash Distributedembedded

BILBO register

BILBO0 0 shift mode0 1 reset1 0 LFSRMISR1 1 normal mode

Source Konemann 1979

z1 z2 zn

B1 B2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 381

「DIP概論」- IP Testing

Applications of BILBO (12)bull Bus-Oriented structure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 382

「DIP概論」- IP Testing

Applications of BILBO (22)bull Pipeline-oriented structure

POs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 383

「DIP概論」- IP Testing

What to Do If 2n Is Too Large

bull Using pseudorandom testingndash Eg Generate only 232 test patterns

bull Using pseudoexhaustive testingndash Eg Partitioning

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 384

「DIP概論」- IP Testing

Pseudorandom Testingbull Weighted test generation

ndash The distribution of 0s and 1s produced on the output lines of TPGs is not necessary uniform

bull Adaptive test generationndash Modify the weights based on the simulation

resultsbull (advantage) efficient in terms of test lengthbull (disadvantage) the TPG hardware is more complex

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 385

「DIP概論」- IP Testing

Weighted Test Generation

bull Using an LFSR and a combinational circuit

D Q D Q D Q

The probability of 05 for a 1is changed to 025

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 386

「DIP概論」- IP Testing

Pseudoexhaustive Testing

bull Achieve many benefits of exhaustive testing but usually require far fewer test patternsndash Rely on various forms of circuit segmentation

and attempt to test each segment exhaustivelybull A segment is a subcircuit of a circuit C

ndash Segments need not be disjoint

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 387

「DIP概論」- IP Testing

Segmentation

bull Logical segmentationndash Sensitized path segmentationndash Cone segmentation (verification testing)

bull Physical segmentation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 388

「DIP概論」- IP Testing

bull The circuit can be pseudoexhaustivelytested with 2n1 + 2n2 + 1 test patterns

n1

n2

C1

C2

Sensitized Path Segmentation (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 389

「DIP概論」- IP Testing

Sensitized Path Segmentation (22)n1

n2

C1

C2

n1

n2

C1

C2

n1

n2

C1

C2

2n1 test patterns

2n2 test patterns

1 test pattern

1

1

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 390

「DIP概論」- IP Testing

Cone Segmentation

bull An m-output circuit is logically segmented into m cones each cone consists of all logic associated with one outputndash Each cone is tested exhaustively and all cones

are tested concurrentlyhelliphellipndash Called verification testing by McCluskey[1984]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 391

「DIP概論」- IP Testing

An (n w)-CUTbull [Definition] Consider a combinational circuit

C with inputs X = x1 x2 hellip xn and outputs Y= y1 y2 hellip ym Let yi = fi(Xi) where Xi sube X Let w = maxi|Xi| We denote this circuit as an (n w)-CUT ndash Pseudoexhaustively testing an (n w)-CUT needs at

least 2w test patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 392

「DIP概論」- IP Testing

An (4 2)-CUT

y1 y2 y3 y4

x1 x2 x3 x4

Pseudoexhaustively testing this (4 2)-CUT need at least 22 test patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 393

「DIP概論」- IP Testing

Constant Weight Patternsbull [Definition] Let T be a set of n-tuples T is

said to exhaustively cover all k-subspaces if for all subsets of k bit positions each of the 2k

binary pattern appears at least once among the |T| n-tuplesndash Eg

⎥⎥⎥⎥

⎢⎢⎢⎢

=

101011110000

Tn = 3

k = 2|T| = 4

T can be a pseudoexhaustive test set for an (n w)-CUT if k ge w

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 394

「DIP概論」- IP Testing

Identification of Test Signal Inputsbull Consider a CUT with n inputs If none of

the outputs is a function of both inputs say a and b then the inputs a and b can be applied to the same test signal line

f(x y)

g(x y)

x

y

z

1 1 0 0

1 1 0 0

1 0 1 0

f(x y)

g(x y)

x

y

z

1 1 0 0

1 0 1 0

apply x and z to the same test signal line

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 395

「DIP概論」- IP Testing

MTC Circuitsbull [Definition]A circuit is said to be a maximal-test-

concurrency(MTC) circuit if the minimal number of required test signals for the circuit is equal to the maximum number of inputs upon which any output depends

f(x y)

g(x y)

x

y

z

1 1 0 0

1 0 1 0

f(x y)

g(x y)

x

y

z

1 1 0 0

1 0 1 0

0 1 1 0h(x z)

A MTC circuit A non-MTC circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 396

「DIP概論」- IP Testing

Identification of Minimal Set of Test Signals

Step 1 Generate a dependency matrix D = [dij] where dij = 1 if output i depends on input j otherwise dij = 0

Step 2 Partition the matrix into group of inputs so that two or more inputs in a group do not affect the same output

Step 3 Collapse each group to form an equivalent input called a test signal input

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 397

「DIP概論」- IP Testing

Example of Identification (12)

abcdefg

f1(a b e)f2(b c g)f3(a d e)

f4(c d e)

f5(e f)

C

f

f

f

f

f

gfedcba

D

5

4

3

2

1

01100000011100001100110001100010011

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

Step 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 398

「DIP概論」- IP Testing

Example of Identification (22)

f

f

f

f

f

gfedbca

Dg

5

4

3

2

1

01100000011010001100110001100010101

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

Step 2

I II III IV

f

f

f

f

f

Dc

5

4

3

2

1

11000111011110110111

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

Step 3

I II III IV

Transformation to a (4 3)-CUT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 399

「DIP概論」- IP Testing

Physical Segmentation

bull Insert bypass storage cells (bscs) such that in the test mode each output and bscdepends on at most w inputs and bscsndash A bypass storage cell is similar to a cell used in

boundary-scan designbull In the normal mode the inserted bsc acts a wirebull In the test mode the inserted bsc can be part of an

LFSRSR

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 400

「DIP概論」- IP Testing

gate

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 4 4

6 5

Example of Physical Segmentation (16)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 401

「DIP概論」- IP Testing

Example of Physical Segmentation (26)x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 402

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 1

Example of Physical Segmentation (36)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 403

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 2

Example of Physical Segmentation (46)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 404

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 3

Example of Physical Segmentation (56)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 405

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 4

Example of Physical Segmentation (66)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 406

「DIP概論」- IP Testing

Pseudoexhaustive Testing by LFSRSR Chains

bull Step1 Partition the circuit under test(CUT) by inserting bypass storage cells(bscs)ndash Reduce the maximum dependency

bull Step 2 Route an LFSRSR chain with a primitive feedback polynomial through the primary inputs(PIs) and bscs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 407

「DIP概論」- IP Testing

LFSRSR Chainsx4 + x3 + 1 (primitive)

PIs

+

BSCs

An LFSRSR chain with a primitive feedbackpolynomial of degree k generates the maximum sequence of length 2k-1

Exhaustively test each output cone

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 408

「DIP概論」- IP Testing

Residue Polynomials

bull For an LFSRSR with primitive feedback polynomial f(x) of degree k the residue Ri(x) of stage i is defined as

Ri(x) = xi mod f(x)

XOR network with f(x)210 k-1 k i

R0 R1 R2 Rk-1 Rk Ri

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 409

「DIP概論」- IP Testing

Example of Residue Polynomials

+x3 + x + 1

1 x x2 x+1

x2+x

x2+x+1

0 1 2 3 4 5

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 410

「DIP概論」- IP Testing

Linear Independencybull [Theorem] An output cone depending on

the inputs p1hellip pk can be exhaustively tested hArr the corresponding residues Rp1

hellipRpk

are linear independent (LI)

210 k-1 k i

R0 R1 R2 Rk-1 Rk Ri

Output G

XOR network with f(x)

R2 Rk-1 Rk is LIhArrThe cone of G is

exhaustively tested

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 411

「DIP概論」- IP Testing

Example of Linear Independency+

x3 + x + 1

1 x x2 x+1

x2+x

x2+x+1

0 1 2 3 4 5

bull If some output cone C depends on inputs 0 3 and 4the output cone can be exhaustively tested

Because 1 x+1 x2+x is LI

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 412

「DIP概論」- IP Testing

Why Not Exhaustively Testingbull Subject to the input-output relation it is not

an easy task to construct a desirable LFSRSR chain as the pseudo-exhaustive TPG for the CUTndash Not all the output cones whose input residues

are LI that is linear dependent (LD)bull Called the LD problem

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 413

「DIP概論」- IP Testing

Possible Solutions to The LD Problembull To overcome the LD problem some variants of

LFSRSR have been proposedndash LFSRXORndash Reconfigurable LFSRSRndash Permuted LFSRSRndash Convolved LFSRSRndash Multiple LFSRSRndash Cell-reordering LFSRSRndash Constant-weight LFSRSRndash Linear-code LFSRSRndash Condensed LFSRSR

These solutions encounter serious problemsThe hardware overhead maybe largeThe construction time maybe long

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 414

「DIP概論」- IP Testing

LFSRXOR+ x3 + x + 1

1 x x2 x+1

x2+x

x2+x+1

0 1 2

++

3 4 5

XOR network

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 415

「DIP概論」- IP Testing

Reconfigurable LFSRSR

0 1 2 3 4 5 6

+

7

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 416

「DIP概論」- IP Testing

Permuted LFSRSR

0 1 2 3 4 5 6

+

7

0 2 5 1 3 4 6 7

inputs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 417

「DIP概論」- IP Testing

Convolved LFSRSR

0 1 2 3 4 5 6

+

7+

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 418

「DIP概論」- IP Testing

Multiple LFSRSR

0 1 2 3

+

4 5 6 7

+

1 0 0 0 1 1 0 0

seed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 419

「DIP概論」- IP Testing

Tree-Structured LFSRSR (TLS)

bull Rationalndash The SR chain of LFSRSR unnecessarily

constraints the searching domain for constructing a pseudo-exhaustive TPG

bull Constructionndash Step 1 Backbone generationndash Step 2 Tree growing

Source Rau et al ITCrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 420

「DIP概論」- IP Testing

Backbone Generationbull Step 1 Use a selected primitive feedback

polynomial to construct the LFSR portionbull Step 2 Based on the LI constraint include

as many PIs or bscs as possible to a shift register(SR) chain connected to the LFSR with as little routing overhead as possibleThe constructed LFSR and SR portion is called the Backbone

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 421

「DIP概論」- IP Testing

Example of Backbone Generation (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 422

「DIP概論」- IP Testing

Example of Backbone Generation (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 423

「DIP概論」- IP Testing

Tree Growing

bull Based on the LI constraint try to connect isolated PIs or BSCs to the backbone with as little routing overhead as possible

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 424

「DIP概論」- IP Testing

Example of Tree Growing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 425

「DIP概論」- IP Testing

XOR-Tree Generation

bull There may be PIs or BSCs which can not be included in the scan tree after the backbone generation and tree growing processesndash Because the LI requirement can not be

satisfiedndash Referred to as the linear dependent (LD)

problem

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 426

「DIP概論」- IP Testing

Overcoming The LD Problem

bull How to overcome the LD problem using as few XORs as possiblendash Use nonzero-terms of polynomial to directly

synthesize the required residuesndash Eg Under polynomial f(x) = x3 + x + 1 we can

synthesize R4 (x2 + x) with ldquoR2 (x2) xor R1(x)rdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 427

「DIP概論」- IP Testing

Looking for Proper Residues

Rj

XOR network with f(x)210 k-1

R0 R1 R2 Rk-1

i

Ri

jN

bull [Theorem] There must exist a residue Rj j gt i to avoid the LD problem

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 428

「DIP概論」- IP Testing

Residue Replacementbull Synthesize an XOR network from the exited

backbone and tree branches for shorter routingdistance oplus

backbone

branches

isolated oplus

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 429

「DIP概論」- IP Testing

Residue Replacement Process

bull Under the polynomial f(x) = x4 + x3 +1 We can synthesize residue R10 with the existent residues R5 and R6 as follows

R10 = R9 + R7

= R8 + R6 + R7

= R7 + R5 + R6 + R7

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 430

「DIP概論」- IP Testing

Simulation Results of TLS (12) (n m k) Ckt Before Partitioning After Partitioning C432 (36 7 36) (56 27 20) C499 (41 32 41) (49 40 14) C880 (60 26 45) (75 41 20) C1355 (41 32 41) (49 40 14) C1908 (33 25 33) (47 39 19) C2670 (233 140 122) (262 169 20) C3540 (50 22 50) (118 90 20) C5315 (178 123 67) (225 170 20) C6288 (32 32 32) (87 87 20) C7552 (207 108 194) (296 197 20)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 431

「DIP概論」- IP Testing

Simulation Results of TLS (22)

PIsBSCs [16] Ckt (n m k) CPU time Backbone Branches Isolated XORs XORs

C432 (56 27 20) 056 44 12 0 0 9 C499 (49 40 14) 054 48 1 0 0 11 C880 (75 41 20) 064 69 6 0 0 13 C1355 (49 40 14) 277 47 2 0 0 11 C1908 (47 39 19) 241 41 4 2 3 10 C2670 (262 169 20) 1374 247 15 0 0 7 C3540 (118 90 20) 3482 72 45 1 6 27 C5315 (225 170 20) 7566 186 39 0 0 36 C6288 (87 87 20) 25937 59 25 3 15 25 C7552 (296 197 20) 3359 216 80 0 0 31

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 432

「DIP概論」- IP Testing

Solutions of BIST (12)

bull Exhaustivepseudoexhaustive testingbull Weighted pseudorandom testingbull Mixed mode test pattern generation

ndash Pseudorandom test patterns firstndash Deterministic test patterns followed

bull Donrsquot consider the fact that the test pattern are given in a form of testcubes with unspecified inputs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 433

「DIP概論」- IP Testing

Solutions of BIST (22)

bull Reseeding ndash Change the seeds as needed

bull Reprogram the characteristic polynomialbull Combination of two or more of the above

methods

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 434

「DIP概論」- IP Testing

Notes

Chapter 9

Boundary-Scan Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 436

「DIP概論」- IP Testing

Board Level Testing

Sn m

Sn m

n

mMUXm

TNIsolate one module (chip) from the others

Test chips and chip interconnectionsRaise the concept of boundary-scan testing

R1

R2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 437

「DIP概論」- IP Testing

History of Boundary-Scan Testingbull 1988 Joint Test Action Group (JTAG)

proposed Boundary-Scan Standardbull 1990

ndash Boundary-Scan approved as IEEE 11491ndash Boundary-Scan Description Language (BSDL)

proposed by HPbull 1993 11491a approved to replace 11491bull 1994 11491b BSDL approved

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 438

「DIP概論」- IP Testing

1149111491a

bull Testing of digital chips and interconnections between chips

bull Widely used in industryndash Eg advance CPU HDTV satellite systemhelliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 439

「DIP概論」- IP Testing

Chip Architecture for 11491

TAPC

MUX

Sin

Sout

MRsInstruction Reg

Bypass Reg

Application Logic

OptionalBIST registersScan registers

MRs Miscellaneous Registers Boundary-Scan Cell

Boundary-Scan Path

TDITMS

TCKTDO

TAP

IO Pad

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 440

「DIP概論」- IP Testing

A Typical Boundary-Scan Cell (13)

0

1

MUX

S QA

Q1D

QB

Q1D

0

1

MUX

S

INOUT

SOUT

SIN

ShiftDR

ClockDR UpdateDR

Mode_Control

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 441

「DIP概論」- IP Testing

bull As an input boundary-scan cell INcorresponds to a chip input pad OUT is tied to a normal input to the application logic

bull As an output boundary-scan cell IN corresponds to the output of the application logic OUT is tied to an output pad

A Typical Boundary-Scan Cell (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 442

「DIP概論」- IP Testing

bull Operation Modesndash Normal Mode Mode_Control = 0

bull IN -gt OUTndash Scan Mode ShiftDR = 1 ClockDR

bull TDI-gthellip-gtSIN-gtSOUT-gthellip-gtTDOndash Capture Mode ShiftDR = 0 ClockDR

bull IN-gtQA

ndash Update Mode Mode_Control = 1 UpdateDRbull QA-gtOUT

A Typical Boundary-Scan Cell (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 443

「DIP概論」- IP Testing

Board And Chip Testing

Application Logic 2

Application Logic 3 Application Logic 4

TDI

TDO

Application Logic 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 444

「DIP概論」- IP Testing

Board And Chip Test Modes

bull External Test Modendash Test the interconnection between the chips of

boardbull Sample Test Mode

ndash Sample and shift out or shift in data without interfering the normal operation of board

bull Internal Test Modendash Test the chips of board

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 445

「DIP概論」- IP Testing

External Test Mode (14)

Chip 1

Chip 2

TDI

TDO

Shift-DR(Chip 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 446

「DIP概論」- IP Testing

External Test Mode (24)

Chip 1

Chip 2

TDI

TDO

Update-DR(Chip 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 447

「DIP概論」- IP Testing

External Test Mode (34)

Chip 1

Chip 2

TDI

TDO

Capture-DR(Chip 2)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 448

「DIP概論」- IP Testing

External Test Mode (44)

Chip 1

Chip 2

TDI

TDO

Shift-DR(Chip 2)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 449

「DIP概論」- IP Testing

Sample Test Mode (12)

0

1

MUX

S QA

Q1D

QB

Q1D

0

1

MUX

S

INOUT

SOUT

SIN

ShiftDR

ClockDR UpdateDR

Mode_Control

Sample

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 450

「DIP概論」- IP Testing

Sample Test Mode (22)

0

1

MUX

S QA

Q1D

QB

Q1D

0

1

MUX

S

INOUT

SOUT

SIN

ShiftDR

ClockDR UpdateDR

Mode_Control

Shift inShift out

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 451

「DIP概論」- IP Testing

Internal Test Mode (12)

Chip 1TDI

Shift-DR

TDO

Chip 1TDI

Update-DR

TDO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 452

「DIP概論」- IP Testing

Internal Test Mode (22)

Chip 1TDI

Capture-DR

TDO

Chip 1TDI

Shift-DR

TDO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 453

「DIP概論」- IP Testing

Test Bus (12)bull A board supporting 11491 contains a test bus

consisting of at least four signalsndash TDI Test Data Inputndash TDO Test Data Outputndash TMS Test Mode Selectorndash TCK Test Clockndash TRST(optional) Test Reset

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 454

「DIP概論」- IP Testing

Test Bus (22)

bull These signals are connected to a chip via its test-bus portsndash Ring configurationndash Star configuration

bull Each chip is considered to be a slave bus and the bus is assumed to be driven by a bus master

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 455

「DIP概論」- IP Testing

Ring Configuration

TDOTDI

TMSTCK

Busmaster

TDITCKTMSTDO

1

Application chips

TDITCKTMSTDO

2

TDITCKTMSTDO

N

TAPC

Registers

TAPC

Registers

TAPC

Registers

CKTMS

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 456

「DIP概論」- IP Testing

Star Configuration

TDOTDI

TMS1

TCK

Busmaster

TDITCKTMSTDO

1

Application chips

TDITCKTMSTDO

2

TDITCKTMSTDO

N

TMSN

TMS2

TAPC

Registers

TAPC

Registers

TAPC

Registers

CKTMS

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 457

「DIP概論」- IP Testing

Test-Bus Circuitry (12)

bull The (on-chip) test-bus circuitry allows access to and control of the test features of a chip consisting of four main elementsndash Test access port(TAP)ndash TAP controller(TAPC)ndash A scannable instruction register and associated

logicndash A group of scannable test data registers(TDRs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 458

「DIP概論」- IP Testing

Test-Bus Circuitry (22)Boundary-scan register

Bypass registers

M

U

X

Decoding logic MUX

TDOTMS

TCK

Test data registers(TDRs)

TDI

optional

optional

Device identification register

User test data register

TAPC

IR clocks and controls

TDR clocks and controls

SelectEnable

OutputBuffer

Instruction register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 459

「DIP概論」- IP Testing

TAPC

bull A synchronous finite state machine with 16statesndash Inputs TCK TMSndash Outputs ShiftDR ClockDR UpdateDR ShiftIR

ClockIR UpdateIR Select Enable TCK (optional) TRST

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 460

「DIP概論」- IP Testing

States of TAPC (12)bull Test-Logic-Reset normal modebull Run-TestIdle wait for a internal test such

as BISTbull Select-DR-Scan initial a scan-data

sequence for the selected registersbull Capture-DR load data in parallelbull Shift-DR load data in serialbull Exit1-DR finish phase-1 shifting of data

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 461

「DIP概論」- IP Testing

States of TAPC (22)bull Pause-DR temporarily halt the scan

operation to allow the bus master to reload datandash Necessary during the transmission of long test

sequencesbull Exit2-DR finish phase-2 shifting of databull Update-DR parallel load from associated

shift registers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 462

「DIP概論」- IP Testing

TMS = 1

TMS = 0

TMS = 0

TMS = 1

TMS = 0

TMS = 1

TMS = 1 TMS = 0

TMS = 0

TMS = 0

TMS = 1

State Diagram of TAPCTest-Logic-Reset

Run-testIdle

TMS = 1TMS = 0

TMS = 0

TMS = 1 TMS = 1 TMS = 1

Control of data registers Control of instruction register

Capture-DR

Shift-DR

Exit1-DR

Pause-DR

Exit2-DR

Update-DR

Select-DR-Scan Select-IR-Scan

Capture-IR

Shift-IR

Exit1IR

Pause-IR

Exit2-IR

Update-IR

TMS = 1

TMS = 0

TMS = 0

TMS = 1

TMS = 0

TMS = 1

TMS = 1 TMS = 0

TMS = 0

TMS = 0

TMS = 1

TMS = 0

TMS = 1

TMS = 0

TMS = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 463

「DIP概論」- IP Testing

Test Data Registers

bull Test Data Registers(TDRs)ndash Boundary-scan registersndash Bypass register(1-bit)ndash Device Identification registersndash Registers that are part of the application logic

itself

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 464

「DIP概論」- IP Testing

bull Instruction Register(IR)ndash Shift in a new instruction while holding the

current instruction fixed as its output portsndash Specify operations to be executedndash Select TDRs

bull Each instruction enables a single serial test-data register path between TDI and TDO

Instruction Register and Instructions (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 465

「DIP概論」- IP Testing

Instruction Register and Instructions (22)

bull Instructionsndash Mandatory

bull BYPASS to reduce the length of the scan pathbull EXTEST external test modebull SAMPLE sample test mode

ndash Recommendedbull INTEST internal test modebull RUNBIST for the Run-TestIdle State

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 466

「DIP概論」- IP Testing

BYPASS (12)

Bypass register

TAPC

TDOTMS TCKTDI

Application Logic

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 467

「DIP概論」- IP Testing

BYPASS (22)

Bypass register

TAPC

TDI

Application Logic

Bypass register

TAPC

TDO

Application Logic

1 2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 468

「DIP概論」- IP Testing

Summaries of Boundary-Scan Operations

bull Instructions are sent serially over TDI into the instruction register

bull Selected test circuitry is configured to respond to the current instruction

bull Test instruction is to be executedbull Test results are shifted out through TDO

new test data on TDI may be shifted in at the same time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 469

「DIP概論」- IP Testing

bull Now the IEEE 11491b standardbull Purposes (12)

ndash To provide a standard description language for boundary scan devices

ndash To simplify the design work for boundary scan ndashautomated synthesis is possible

ndash To promote consistency throughout ASIC designers device manufacturers foundries test developers and ATE manufacturers

Boundary Scan Description Language (BSDL) (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 470

「DIP概論」- IP Testing

Boundary Scan Description Language (BSDL) (22)

bull Purposes(22)ndash For easy incorporation into software tools for

test generation analysis and failure diagnosisndash To reduce possibility of human error when

employing boundary scan in a design

Chapter 10

Memory Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 472

「DIP概論」- IP Testing

Fault Models (13)bull Stuck-at fault (SAF)

ndash The logic value of a cell or a line is always 0 or 1

bull Transition fault (TF)ndash A cell or a line that fails to undergo a 0rarr1 or

a 1rarr0bull Coupling fault (CF)

ndash A write operation to one cell changes the contents of a second cell

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 473

「DIP概論」- IP Testing

Fault Models (23)

bull Neighborhood Pattern Sensitive Fault (NPSF)ndash The content of a cell or the ability to change its

content is influenced by the contents of some other cells in the memory

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 474

「DIP概論」- IP Testing

Fault Models (33)

bull Address Decoder Fault (AF)ndash Any fault that affects address decoder

bull With a certain address no cell will be accessedbull A certain cell is never accessedbull With a certain address multiple cells are accessed

simultaneouslybull A certain cell can be accessed by multiple addresses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 475

「DIP概論」- IP Testing

Memory Chip Test Algorithms

bull Traditional testsbull Tests for SAFs TFs and CFsbull Tests for NPSFs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 476

「DIP概論」- IP Testing

Traditional TestsAlgorithms Test length Order

n is the number of bits of the memory array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 477

「DIP概論」- IP Testing

Test Time as A Function of Memory Size

Cycle time 10 nsn is the number of bits of the memory array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 478

「DIP概論」- IP Testing

Notation of March Test Algorithms

bull uArr address 0 to address n-1bull dArr address n-1 to address 0bull either waybull w0 write 0bull w1 write 1bull r0 read a cell whose value should be 0bull r1 read a cell whose value should be 1

hArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 479

「DIP概論」- IP Testing

March Test Algorithm MATS

bull Modified Algorithmic Test Sequencendash (w0) (r0 w1) (r1)

Step 1 write 0 to all cellsStep 2 for each cell

read 0 and write 1Step 3 read 1 from all cells

hArr hArr hArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 480

「DIP概論」- IP Testing

Other March Test Algorithms (13)

bull MATS+ndash (w0) uArr(r0 w1) dArr(r1 w0)

bull Marching 10ndash (w0) uArr(r0 w1 r1) dArr(r1 w0 r0)

(w1) uArr(r1 w0 r0) dArr(r0 w1 r1)bull MATS++

ndash (w0) uArr(r0 w1) dArr(r1 w0 r0)

hArrhArr

hArrhArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 481

「DIP概論」- IP Testing

bull MARCH Xndash (w0) uArr(r0 w1) dArr(r1 w0) (r0)

bull MARCH C-ndash (w0) uArr(r0 w1) uArr(r1 w0)

dArr(r0 w1) dArr(r1 w0) (r0)bull MARCH A

ndash (w0) uArr(r0 w1 w0 w1) uArr(r1 w0 w1)dArr(r1 w0 w1 w0) dArr(r0 w1 w0)

Other March Test Algorithms (23)

hArr hArr

hArr

hArr

hArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 482

「DIP概論」- IP Testing

bull MARCH Yndash (w0) uArr(r0 w1 r1) dArr(r1 w0 r0) (r0)

bull MARCH Bndash (w0) uArr(r0 w1 r1 w0 r0 w1) uArr(r1 w0 w1)dArr(r1 w0 w1 w0) dArr(r0 w1 w0)

Other March Test Algorithms (33)

hArrhArrhArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 483

「DIP概論」- IP Testing

Tests for FaultsAlgorithms Test Length Fault CoverageMATS 4n Some AFs SAFsMATS+ 5n AFs SAFsMarching 10 14n AFs SAFs TFsMATS++ 6n AFs SAFs TFsMARCH X 6n AFs SAFs TFs some CFsMARCH C- 10n AFs SAFs TFs some CFsMARCH A 15n AFs SAFs TFs some CFsMARCH Y 8n AFs SAFs TFs some CFsMARCH B 17n AFs SAFs TFs some CFsn is the number of bits of the memory array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 484

「DIP概論」- IP Testing

NPSF

bull ANPSFndash Active Neighborhood Pattern Sensitive Fault

bull PNPSFndash Passive Neighborhood Pattern Sensitive Fault

bull SNPSFndash Static Neighborhood Pattern Sensitive Fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 485

「DIP概論」- IP Testing

ANPSF

bull n changes rArr b changesndash Eg n 0 rArr 1

b 1 rArr 0

n n nn b nn n n

b base celln neighborhood cells

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 486

「DIP概論」- IP Testing

PNPSF

bull Contain n patterns rArr b cannot changendash Eg n 00000000 rArr b 0 or 1

n n nn b nn n n

b base celln neighborhood cells

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 487

「DIP概論」- IP Testing

SNPSF

bull Contain n patterns rArr b is forced to a certain valuendash Eg n 11111111 rArr b 1

n n nn b nn n n

b base celln neighborhood cells

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 488

「DIP概論」- IP Testing

DC Parametric Testing

bull OpenShort testbull Power consumption testbull Leakage testbull Threshold testbull Output drive current testbull Output short current test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 489

「DIP概論」- IP Testing

AC Parametric Testingbull Output signal

ndash The rise and fall timesbull Relationship between input signals

ndash The setup and hold timesbull Relationship between input and output

signalsndash The delay and access times

bull Successive relationship between input and output signalsndash The speed test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 490

「DIP概論」- IP Testing

Dynamic Faults

bull Recovery faultsndash Sense amplifier recoveryndash Write recovery

bull Retention faultsndash Sleeping sicknessndash Refresh line stuck-at ndash Static data loss

bull Bit-line precharge voltage imbalance faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 491

「DIP概論」- IP Testing

BIST Pros And Consbull Advantages

ndash Minimal use of testersndash Can be used for embedded RAMs

bull Disadvantagesndash Silicon area overheadndash Speed slow access timendash Extra pins or multiplexing pinsndash Testability of the test hardware itselfndash A high fault coverage is a challenge

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 492

「DIP概論」- IP Testing

Architecture of a DRAM Chip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 493

「DIP概論」- IP Testing

Typical Memory BIST Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 494

「DIP概論」- IP Testing

Multiple Memory BIST Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 495

「DIP概論」- IP Testing

Serial Testing of Embedded RAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 496

「DIP概論」- IP Testing

Built-In Self-Repair

bull BIST can only identify faulty chipbull Laser cut may be infeasible in some cases

eg field testingbull Two types

ndash Use fault-array comparatorbull Repair by cellbull Repair by column (or row)

ndash Using switch array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 497

「DIP概論」- IP Testing

BIST Using Switch Array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 498

「DIP概論」- IP Testing

BIST Using Fault-Address Comparison

Chapter 11

SOC Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 500

「DIP概論」- IP Testing

System-on-A-Chip (SOC)bull Integrate all the function blocks of a

complete system into a single chip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 501

「DIP概論」- IP Testing

Challenges vs Solutions

bull Challengesndash Capacityndash Design productivity gapndash Time-to-market (TTM)ndash helliphellip

bull Solutionsndash Core-based designndash Platform-based designndash helliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 502

「DIP概論」- IP Testing

Core-Based SOC Design

bull Coresndash Pre-defined pre-verified complex function

blocks also termed Virtual Components (VCs) or Intellectual Properties (IPs)

bull Core-based SOC designndash Reuse existed cores to implement a complete

system in a single chiprArrReduce TTM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 503

「DIP概論」- IP Testing

SOC Components

bull Simple coresbull Complex coresbull User-define logic (UDL) bull Interconnect logic and wirerArr SOC testing should cover all the

components

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 504

「DIP概論」- IP Testing

SOC Design Flow

bull SOC components -- cores are only manufactured and tested in the final systemndash It is quite difficult to test the

individual coresbull Cores usually are protected

by laws

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 505

「DIP概論」- IP Testing

Core-Based Test Challenges

bull Distributed design and test developmentbull Test access to embedded coresbull SOC-level test optimization

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 506

「DIP概論」- IP Testing

Distributed Design and Test Development

bull Core providersndash Core-internal design DFT

bull Test pattern generation for coresbull Deliver cores with the complete tests

bull Core usersndash Chip-level DFT

bull Test pattern generation for chipsndash Reuse of core-level test patternsndash Additional test patterns for non-core circuitry

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 507

「DIP概論」- IP Testing

Test Access to Embedded Cores (12)

bull Many cores are (deeply) embedded rArr No direct (functional) access to core terminalsndash Other cores between SOC pins and core

terminalsndash Often core terminals gt SOC pins

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 508

「DIP概論」- IP Testing

Test Access to Embedded Cores (22)

bull To test cores as stand-alone unitsndash Provide core test access paths from SOC pins to

core terminalsndash Isolate cores such that external influence do not

hamper the core testndash Provide test access means for outward-facing

tests

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 509

「DIP概論」- IP Testing

SOC-Level Test Optimizationbull How are embedded cores tested

ndash Stand-alone vs merged with other modulesbull Optimization of test access infrastructure

ndash Test quality and bandwidth vs area and costbull Optimization of test execution and

schedulingndash Trade-offs between test vector count and

application time power dissipation and area

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 510

「DIP概論」- IP Testing

Solutions to Challenges

bull Distributed design and test developmentndash Standardized set of deliverables

bull Test access to embedded coresndash Standardized on-chip test access hardwarendash Tools for test translation

bull SOC-level test optimizationndash Tools to evaluate trade-offs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 511

「DIP概論」- IP Testing

Test Access Architecture

bull Test pattern sourcesinkndash Generates test patternscompares test responses

bull Test access mechanism (TAM)ndash Transports test patternsresponses tofrom CUT

bull Core test wrapperndash Provides switching of core terminals to functional IO

or TAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 512

「DIP概論」- IP Testing

Off-Chip SourceSinkbull pins determines bandwidthbull More TAM area

ndash Requires expensive ATE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 513

「DIP概論」- IP Testing

On-Chip SourceSinkbull Close to core-under-test (CUT)bull Less TAM area

ndash Requires lightweight ATEbull BIST IP area

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 514

「DIP概論」- IP Testing

TAM

bull Tasksndash Transport test patterns from source to CUTndash Transport responses from CUT to sink

bull Design parametersndash Width transport capacityndash Length transport distance

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 515

「DIP概論」- IP Testing

TAM Widthbull Transport capacity

ndash Minimum meet core testrsquos data ratendash Maximum bandwidth of sourcesink

bull Trade-offsndash Test qualityndash Test application time ndash Silicon area cost

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 516

「DIP概論」- IP Testing

TAM Lengthbull Physical distance

ndash On-chip sourcesink may shorten TAM lengthndash Sharing may shorten TAM length

bull Share TAM with functional hardwarebull Go through vs pass around other modulesbull Share TAMs between multiple cores

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 517

「DIP概論」- IP Testing

TAM Implementationsbull Multiplexed accessbull Reused system bus (AMBA)bull Transparency (Macro Test SOCET)bull Boundary Scan (JTAG partial-scan variants)bull Scalable TAMs (Test Bus Test Rail)

On one SOC different TAMs may co-exist

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 518

「DIP概論」- IP Testing

Multiplexed Access (13)

bull Connect wires to all core terminals and multiplex onto existing IC pins

bull Common practice for embedded memories

bull Also used for block-based ASICs

MUX

control

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 519

「DIP概論」- IP Testing

Benefits of Multiplexed Access

bull Each embedded core can be tested as stand-alone device

bull Translation from core-level test into IC-level test is simple

bull Simple silicon debug and diagnosis

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 520

「DIP概論」- IP Testing

Drawbacks of Multiplexed Accessbull Not scalable

ndash terminals of one core gt IC pinsbull Parallelserial conversion rArr at-speed testing is

difficult

ndash Too many embedded cores bull High area costs for connecting and multiplexing all

coresbull Control circuitry for the multiplexer grows more and

more complex

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 521

「DIP概論」- IP Testing

Analysis of Multiplexed Access (13)bull Let K be the number of SOC pins available

for scan test and M be the number of control pinsrArrThe number of scan chains as TAM N =

bull For core iisinC where C is the core setndash pi the number of test patternsndash fi the number of scannable flip-flops

bull In a balanced way each chain has flip-flops

ndash ti the test time

( )⎥⎥

⎢⎢

⎢ minus2MK

⎥⎥⎥

⎢⎢⎢

Nf i

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 522

「DIP概論」- IP Testing

bull The test time ti of core i

can be reduced as

Analysis of Multiplexed Access (23)

pNfp1pN

f it ii

iiibull⎥⎥⎥

⎢⎢⎢

⎡++bull

⎥⎥⎥

⎢⎢⎢

⎡= bull

p1Nf1pt i

iii bull+bull+=

⎥⎥⎥

⎢⎢⎢

⎡⎟⎠⎞⎜

⎝⎛

Scan-In Normal Scan-Out

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 523

「DIP概論」- IP Testing

bull The total test time T of the SOC

can be reduced as

Analysis of Multiplexed Access (33)

( )sumisin

⎟⎠

⎞⎜⎝

⎛+⎥⎥⎤

⎢⎢⎡bull+=

Cip

Nf1pT i

ii

⎥⎥

⎤⎢⎢

isin+sum

isin⎟⎠

⎞⎜⎝

⎛+⎥⎥⎤

⎢⎢⎡bull=

Nf

CiCip

NfpT i

ii

i max

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 524

「DIP概論」- IP Testing

Reused System Busbull Many SOCs have an on-chip system bus

which connects to most cores especially the platform-based system

bull Reuse of the system bus as TAM is cheap wrt silicon area

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 525

「DIP概論」- IP Testing

An Example of Reused System Busbull ARMrsquos Advanced Microcontroller Bus

Architecture (AMBA)ndash The 32-bit system bus is used as TAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 526

「DIP概論」- IP Testing

Analysis of Reused System Busbull Benefits

ndash Low area cost for TAMndash Translation form core-level test into IC-level

test is independent of SOC configurationbull Drawbacks

ndash Not scalablebull Fixed bus width does not allow trade-offs

(area quality test time)ndash Functional test approach of ARM core

dominates overall IC test approachbull Difficult to integrate scan design or BIST

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 527

「DIP概論」- IP Testing

Transparencybull Transparent path

ndash Path from input to output which propagates data without information loss

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 528

「DIP概論」- IP Testing

Examples of Transparency

bull Scan chains bull Arithmetic functions add + 0 mult 1bull Embedded memories SRAM DRAM

ROMbull Basic gates AND OR INV MUX

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 529

「DIP概論」- IP Testing

Analysis of Transparency (12)

bull Benefitsndash Low area cost for TAM in case of reuse of

existing hardwarebull Drawbacks (12)

ndash Corersquos test access depends on other modulesndash Translation from core-level test into IC-level

test might be complicated eg latencies of cores

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 530

「DIP概論」- IP Testing

Analysis of Transparency (22)bull Drawbacks (22)

ndash During core design core environments are unknown

bull Insufficient transparency ndash core user has to add TAMs

bull Too much transparency ndash area costbull Multiple versions ndash expensive for core provider and

core user

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 531

「DIP概論」- IP Testing

Macro Test Philips Research

bull Generic approach for testing embedded modules

bull Originally focused on defect-oriented testing

bull Approach and tools proved useful for core test

bull May take advantage of transparent paths through modules

defect-oriented testing A type of testing where the nature of the test ismeant to directly exercise detect and isolate defects and defect effects rather than abstract fault models

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 532

「DIP概論」- IP Testing

SOCET PrincetonNEC

bull Core provider is responsible for testable and transparent cores

bull Design-for-transparency techniquebull Multiple versions of cores with different

area and transparency latency ndash Selection and trade-offs at SOC level

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 533

「DIP概論」- IP Testing

Boundary Scan (12)

bull Boundary Scan Test solves board-level interconnect testndash IEEE 11491 standard (lsquoJTAGrsquo)ndash ICs are components in SOB

bull Cores are components in SOC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 534

「DIP概論」- IP Testing

Boundary Scan (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 535

「DIP概論」- IP Testing

Examples of Boundary Scanbull Various Texas Instruments papers have

suggested the use of Boundary Scan as TAM

bull Partial Boundary Scan Ringndash No scan flip-flops on those inputs for which

stimuli can be justified from preceding logicndash ATPG techniques to find this out

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 536

「DIP概論」- IP Testing

Benefits of Boundary Scan

bull Existing well-known and well-documented standard

bull Reuse of IC-level BIST implementations augmented with private instructions for test debug emulation etc

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 537

「DIP概論」- IP Testing

Drawbacks of Boundary Scan

bull Fixed 1-bit TAM width does not allow trade-offs between silicon area test quality and test time

bull Intertwined test control and test data due to lack of pins

bull Multiple TAP controllers on one IC is against IEEE 11491 standard

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 538

「DIP概論」- IP Testing

Dedicated Scalable TAMs (12)bull Dedicated TAM

ndash Not through other modules or over existing buses bull Scalable TAM

ndash TAM width is variable to be chosen by core provideruser

bull Core user determines IC-level architecturendash How many TAMs of which widthndash Which configuration (bus rail etc)ndash Which core connects to which TAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 539

「DIP概論」- IP Testing

Dedicated Scalable TAMs (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 540

「DIP概論」- IP Testing

Example I of Dedicated Scalable TAMs

Test Bus

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 541

「DIP概論」- IP Testing

Example II of Dedicated Scalable TAMs

TestRail

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 542

「DIP概論」- IP Testing

Analysis of Dedicated Scalable TAMs (12)

bull Benefitsndash Guaranteed test access

bull Accessibility of a core does not depend on neighboring circuitry

ndash Fast and easy test expansion bull No difficult path-finding through complicated

circuitry ndash Enable ldquoplug-n-playrdquo connection at IC levelndash Allow the trade-offs between area quality and

test time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 543

「DIP概論」- IP Testing

Analysis of Dedicated Scalable TAMs (22)bull Costs

ndash Design timebull Can be minimized through standardization and

automation

ndash Silicon area ndash sharing with existing hardware is more difficult

bull But transistors are not as expensive as they used to be

ndash Performance impact bull Can be avoided if taken into account upfront

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 544

「DIP概論」- IP Testing

Daisychain Architecturecontrol

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 545

「DIP概論」- IP Testing

Analysis of Daisychain Architecture (12)

bull Reassign the indices of the cores according to a non-decreasing number of patternsndash We can scan in a pattern in all cores p1 times

pNf

1p11

C

1j

j +⎥⎥

⎤⎢⎢

⎡+ sum

=⎟⎠⎞⎜

⎝⎛

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 546

「DIP概論」- IP Testing

bull Afterwards we put core 1 in by-pass mode and test next p2 ndash p1 patterns for the other cores

bull The total test time T of the SOC is

Analysis of Daisychain Architecture (22)

⎟⎠⎞⎜

⎝⎛

=⎟⎠⎞⎜

⎝⎛ minus+

⎟⎟⎠

⎞⎜⎜⎝

⎛sum ⎥

⎤⎢⎢

⎡+minus pp

Nf

1pp 1212

C

2j

j

( ) 1ppNf

1ipp 0C

C

1i

C

ij

j1ii minus=+⎟

⎟⎠

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛sum ⎥

⎤⎢⎢

⎡+minusminussum

= =minus

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 547

「DIP概論」- IP Testing

Distribution ArchitectureScan Enables

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 548

「DIP概論」- IP Testing

Si scan clocksli length of scan chains

Reduction of Idle TimeNormal

A single scan enable

Multiple scan enables

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 549

「DIP概論」- IP Testing

Analysis of Distribution Architecture

bull We define ni to be the number of scan chains of core i

bull The total test time T of the SOC is

pnf1pt i

iii

i++=

⎥⎥⎥

⎢⎢⎢

⎡⎟⎠⎞⎜

⎝⎛

( ) ⎟⎟⎠

⎞⎜⎜⎝

⎛+⎥⎥

⎤⎢⎢

⎡+

isinp

nf1p i

i

iiCi

max

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 550

「DIP概論」- IP Testing

The Scan Chain Distribution Problem (SCDP)bull Find a distribution of a given number of

scan chains over the cores such that the total test time is minimized

FF

FF

core

FF

FF

core

A single scan chain Two scan chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 551

「DIP概論」- IP Testing

The SCDP Algorithm

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 552

「DIP概論」- IP Testing

Reduction of Scan Controlsbull Distribute as fewer scan controls as possible

over the cores such that minimal time resulted form SCDP is still maintainedndash Constructing an additional scan chain needs to

remove two scan-control signalsndash Some cores are controlled by the same scan-

control signalbull An efficient algorithm has been presented

by Aerts et al ndash ITCrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 553

「DIP概論」- IP Testing

Core Test Wrapperbull Interface between the CUT and the rest of

chipndash Provide switching capability between modes

bull Normal functional operationbull InTest inward-facing core test modebull ExTest outward-facing interconnect test modebull Bypass

ndash Width adaptationbull Serial-to-parallel conversion at core inputsbull Parallel-to-serial conversion at core outputs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 554

「DIP概論」- IP Testing

Functional-Only Connections

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 555

「DIP概論」- IP Testing

Wrapper + TAM

Daisychain

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 556

「DIP概論」- IP Testing

Wrapper Modes (14)

Normal Operation

Normal

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 557

「DIP概論」- IP Testing

Wrapper Modes (24)

InTest

InTest

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 558

「DIP概論」- IP Testing

Wrapper Modes (34)

ExTest

ExTest

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 559

「DIP概論」- IP Testing

Wrapper Modes (44)

Bypass

Bypass

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 560

「DIP概論」- IP Testing

Reasons for Modular Testingbull Test Quality

ndash Different circuit structures such as random logic memory hellip require different test methods

bull Blackboxed Embedded Corendash Implementation is not known forced to use the tests

developed by core provider

bull Divide-and-conquerndash Very large SOCs are intractable for ATPG or fault

simulation tools

bull Test Reusendash Module will be reused in other designs

Chapter 12

Introduction to IEEE P1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 562

「DIP概論」- IP Testing

IEEE P1500 lsquoSECTrsquo (12)bull Facilitate test interoperability of embedded

cores to improve efficiency of core creators integrators and manufacturersndash Standardize interface between core provider and

core userbull Core test information modelbull Test access to embedded cores

ndash Do not standardizebull Corersquos internal test methods and DFTbull Chip-level test integration and optimization

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 563

「DIP概論」- IP Testing

IEEE P1500 lsquoSECTrsquo (22)bull Membership of IEEE P1500 is on an individual

basis information and meetings are open to everyonendash httpgrouperieeeorggroups1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 564

「DIP概論」- IP Testing

IEEE P1500 Main Componentsbull Standardized scalable core test wrapperbull Core test information model

ndash Described in standardized Core Test Language (CTL)bull Two compliance levels

ndash IEEE 1500 Unwrappedndash IEEE 1500 Wrapped

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 565

「DIP概論」- IP Testing

IEEE P1500 for Mergeable Cores (13)bull Mergeable cores

ndash Cores that can be merged with surrounding circuitry to form one unit for testing

ndash Mergeable cores do not need to be mergedbull Eg Digital logic at RT- or gate-level

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 566

「DIP概論」- IP Testing

IEEE P1500 for Mergeable Cores (23)

MergeableEg digital logicAt RTgate-level

Non-MergeableEg layoutencrypted memory

Before integration

MergedCoremodule tested as part of its integration environment

Non-MergedCoremodule tested as aseparate entity with test patternsdeveloped for the coremoduleas a stand-alone unit

After integration

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 567

「DIP概論」- IP Testing

bull Challengesndash Most DFT insertion and test pattern generation take

place at gate-levelndash Core test cannot be re-used once core is mergedndash What to standardize for RTL- and other merged

cores to facilitate test interoperability

IEEE P1500 for Mergeable Cores (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 568

「DIP概論」- IP Testing

Standardized Wrapperbull IEEE P1500 is a core-level standard

ndash Implementation of SourceSink depends on test methods

ndash Implementation of TAMs depends on SOCndash Note IEEE P1500 only standardizes the

wrapper

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 569

「DIP概論」- IP Testing

Wrapper Functionsbull Transparent functional modebull Test access

ndash Inward-facing for core-internal tests (InTest)ndash Outward-facing for core-external tests (ExTest)

bull Switchable connection between core and TAM(s)ndash One lsquosingle-bit TAM Plugrsquo is mandatoryndash Zero or more lsquoMulti-bit TAM Plugsrsquo are optional

bull Optional lsquowidth adaptationrsquo for TAM plugs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 570

「DIP概論」- IP Testing

The Wrapper Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 571

「DIP概論」- IP Testing

Wrapper Elements (12)bull Wrapper Instruction Register (WIR)

ndash Controls operation of wrapperndash Mandatory optional and user-defined instructions ndash Implementation requires shiftupdate registerndash Controlled directly from WIPndash Instructions are loaded via WSI-WSO

bull Wrapper Bypass Register (WBY)ndash Mandatory bypass for serial TAM

(between WSI-WSO)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 572

「DIP概論」- IP Testing

Wrapper Elements (22)bull Wrapper Boundary Register (WBR)

ndash Controllabilityobservability on core terminalsndash Built from library of wrapper cellsndash In test mode configured to one or multiple test

access chainsndash Test data are loaded from WSI-WSO or

WPI-WPO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 573

「DIP概論」- IP Testing

Wrapper Interface (12)bull Functional inputsoutputs

ndash Number names and functions match the corersquos functional inputsoutputs

bull Wrapper Interface Port (WIP)ndash 6-bit control port for WIR and Wrapper

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 574

「DIP概論」- IP Testing

Wrapper Interface (22)bull Serial interface WSI-WSO

ndash Load instructions into WIRndash Load test data into selected wrapper registers

(WBR WBY)bull Parallel interface WPI-WPO

ndash Load test data into WBRndash User-defined width

bull Zero or more parallel ports (typical one)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 575

「DIP概論」- IP Testing

Wrapper Interface Register (WIR)bull Serial shiftupdate registerbull Scalable length

ndash Mandatory bits for mandatory wrapper modesndash Optional bits for optional wrapper modesndash User-defined bits

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 576

「DIP概論」- IP Testing

Wrapper Interface Port (WIP)bull Functions

ndash Control the operation of the WIRndash Control together with the WIR instruction the operation of the

wrapperbull Signals

WRCK lsquoWrapper Clockrsquo dedicated P1500 clock signal for WIR WBY optionally WBR

WRSTN lsquoWrapper Resetrsquo dedicated P1500 reset (asynchronous active-low) signal for WIR puts wrapper in Normal mode

SelectWIR (De-)selects WIR as register between WSI-WSO

CaptureWR Enables capture operation for selected register

ShiftWR Enables shift operation for selected register

UpdateWR Enables update operation for selected register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 577

「DIP概論」- IP Testing

Basic Wrapper Cellbull Modes

ndash Normal mode normal = 1ndash Shift mode shift = 1

bull Controllabilityndash normal = 0 =gt value in SE is driven onto cfo

bull Observabilityndash shift = 0 =gt value at cfo is captured into SE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 578

「DIP概論」- IP Testing

Wrapper Cell Optionsbull SEs can be shared with functional SEsbull Capture in Update SE instead of Shift SEbull Update SE that prevents ripple-through while

shiftingbull Multiple shift SEs for high-speed stimuli bull Mode in which lsquosafersquo value is presented at cfo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 579

「DIP概論」- IP Testing

Wrapper Cell with Only ShiftCapture SE

Dedicated SE Shared SE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 580

「DIP概論」- IP Testing

Wrapper Cell with ShiftCapture + Update SEs

Shared Updated SE

Dedicated SEs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 581

「DIP概論」- IP Testing

Scalable Wrapper Cell

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 582

「DIP概論」- IP Testing

Wrapper Instruction Set

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 583

「DIP概論」- IP Testing

Serial Interface WSI-WSO (12)bull Mandatory serial interface is used for two

purposesndash Wrapper control load instructions into the WIRndash Low-bandwidth test data access to WBR (serial TAM)

bull P1500 envisions concatenated connectionndash Daisychain is a flat interconnection methodndash Supports hierarchical design

bull Consistent interface at every level of hierarchy

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 584

「DIP概論」- IP Testing

Serial Interface WSI-WSO (22)bull Concatenated serial mechanism easy to

connect to IEEE 11491 (JTAG) TAP and TAP Controllerndash Private instructions connect daisychained serial

mechanisms between TDI and TDOndash Cores can be tested and debugged even while

SOC is soldered onto PCB

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 585

「DIP概論」- IP Testing

Parallel Interface(s) WIP-WPO (12)bull Optional parallel interface(s) are used for test

data access to WBR with user-defined scalable bandwidth

bull Optionsndash Zero Low-bandwidth serial interface is only TAMndash One SOC manufacturing test takes place via Parallel

TAM bull Serial TAM is used for loading WIR instructions and

during board-level silicon debugndash Multiple Different core tests need different

bandwidths

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 586

「DIP概論」- IP Testing

bull P1500 supports many SOC-level configurationsndash Multiplexingndash Daisychainndash Distribution

Parallel Interface(s) WIP-WPO (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 587

「DIP概論」- IP Testing

Typical Usage of P1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 588

「DIP概論」- IP Testing

P1500 Wrapper Parameters (12)bull Scalability in the follow parameters

ndash Bandwidthbull Number of WPI-WPO pairs (zero or more)bull Width of the WPI-WPO pairs (if present)

ndash Instructionsbull Optional instructionsbull User-defined instructionsbull OpCodes of instructions

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 589

「DIP概論」- IP Testing

bull WBR functionalityndash Shared or dedicated wrapper cellsndash Shift-only or Shift+Update wrapper cellsndash Storage capacity (one or more bits)ndash Location of capture (in Shift or Update register)ndash Ripple protection (with Update register or gate)ndash lsquoSafe statersquo output values

P1500 Wrapper Parameters (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 590

「DIP概論」- IP Testing

Notes

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 591

「DIP概論」- IP Testing

P1500rsquos Information Model (12)

bull The information model should allow the SOC integrator or automation tools to successfully create a complete test for the SOC

bull The information model is captured in Core Test Language (CTL) a language for expressing test-related information for reusable cores

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 592

「DIP概論」- IP Testing

bull CTL is meant to co-exist and complement information expressed as a netlist

bull The CTL description of a P1500-compliant core allows to ndash Construct a wrapper and an appropriate TAMndash Configure the code to be testedndash Configure the core for its surroundings to be

testedndash Transform core-level into SOC-level test

patterns

P1500rsquos Information Model (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 593

「DIP概論」- IP Testing

IEEE 1450 (STIL)bull IEEE 1450 - Standard Test Interface Language

(STIL) for digital test vector datandash httpgrouperieeeorggroups1450

bull STIL is meant as a common interchange format between EDA test generation and ATE test application ndash STIL is capable of describing digital test vector datandash Focus on large volume of digital data

bull Developed by EDA vendors ATE vendors and IC manufacturers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 594

「DIP概論」- IP Testing

IEEE P14506 (CTL) (12)

bull IEEE P14506 - Core Test Language bull Initially created by and developed within

IEEE P1500 to describe its information modelndash CTL syntax and semantics in IEEE P14506ndash Information model and CTL usage in IEEE

P1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 595

「DIP概論」- IP Testing

IEEE P14506 (CTL) (22)bull CTL uses STIL-like syntax

ndash Test patterns and waveforms are described in STIL

ndash CTL mandates separation of test patterns into test protocol and test data for easy expansion

ndash CTL-specific constructs describe corersquos test modes

ndash CTL-specific constructs describe corersquos integration

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 596

「DIP概論」- IP Testing

STIL - CTL Structure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 597

「DIP概論」- IP Testing

CTL Key Words

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 598

「DIP概論」- IP Testing

Usage of MacroDefs (12)

bull STIL contains the construct MacroDefsndash This can be used for separating test protocol

and data in CTL this separation is mandatory

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 599

「DIP概論」- IP Testing

Usage of MacroDefs (22)bull Typical usage

ndash Voluminous test data is coded in separate CTL file

ndash CTL for lsquo1500-Unwrappedrsquo core references test patterns with a MacroDef applicable for unwrapped core

ndash CTL for lsquo1500-Unwrappedrsquo core references same test patterns but has an updated MacroDefs

ndash SOC-level test again references same test patterns but with yet another MacroDefs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 600

「DIP概論」- IP Testing

Motivation for Dual Compliance Levels (12)

bull Testing an embedded core or module only works if properly isolated from the rest of the SOC and hence requires a wrapper

bull The P1500 wrapper is scalable in many aspects to allow optimization towardsndash Corendash SOC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 601

「DIP概論」- IP Testing

bull In order to provide additional flexibility and support multiple use scenarios P1500 standardizes two separate compliance levels

Motivation for Dual Compliance Levels (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 602

「DIP概論」- IP Testing

Two Compliance Levels (12)

bull IEEE 1500 Unwrappedndash Core does not have a complete IEEE 1500

wrapper functionndash Core has a complete IEEE Information Model

which accurately describes the corersquos tests as well as provide all information on the basis of which the core could be made lsquoIEEE 1500 Wrappedrsquo (either manually or automatically by tools)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 603

「DIP概論」- IP Testing

Two Compliance Levels (22)

bull IEEE 1500 Wrappedndash Core incorporates complete IEEE 1500 wrapper

function ndash Core has a complete Information Model which

accurately describes the corersquos tests as well as the wrapper and how to operate it

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 604

「DIP概論」- IP Testing

P1500 Use Scenario 1 (13)

bull Core provider delivers lsquoIEEE 1500 Unwrappedrsquo corendash The Information Model that comes with it

contains all relevant core test knowledge including core-related data for generation of the IEEE 1500 wrapper

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 605

「DIP概論」- IP Testing

P1500 Use Scenario 1 (23)

bull Core user makes core lsquoIEEE 1500 Wrappedrsquondash Adding IEEE 1500 Wrapperndash Upgrading the Information Model from bare

core terminals to wrapper terminals

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 606

「DIP概論」- IP Testing

P1500 Use Scenario 1 (33)

bull Can take data specific to particular system-chip into account while instantiating the wrapper (eg TAMs width of TAMs rsquosafersquo state)

bull lsquoIEEE 1500 Unwrappedrsquo guarantees fast and reliable route to lsquoIEEE 1500 Wrappedrsquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 607

「DIP概論」- IP Testing

P1500 Use Scenario 2bull Core provider delivers lsquoIEEE 1500

Wrappedrsquo core of which the wrapper is built-to-order on customer specification

bull Similar to Scenario 1 except conversion done by core provider

bull Requires cooperative information exchangebull Core provider might have expertstools for

conversion

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 608

「DIP概論」- IP Testing

P1500 Use Scenario 3 (12)

bull Core provider offers a catalogue of off-the-shelf lsquoIEEE 1500 Wrappedrsquo cores with fixed wrapper parameters

bull Core user selects the core which best matches the system chip needs

bull Allows to integrate wrapper with core in order to minimize costs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 609

「DIP概論」- IP Testing

P1500 Use Scenario 3 (22)

bull Scenario might be popular especially for hard cores

bull Large cataloguendash More work for core providerbut more choice

for core user

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 610

「DIP概論」- IP Testing

Usage of Dual Compliance Levels (12)

bull Full benefits of test interoperability are only obtained from a fully compliant lsquo1500-wrappedrsquo Core

bull Two compliance levels provide two optionsndash Make a core lsquo1500-wrappedrsquo compliant directly ndash Make an intermediate stop at lsquo1500-

Unwrappedrsquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 611

「DIP概論」- IP Testing

bull For this purpose lsquo1500-Unwrappedrsquo will also be fully standardized

Usage of Dual Compliance Levels (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 612

「DIP概論」- IP Testing

SOC Test Creation

bull Distinguish two types of circuitry within SOC ndash IEEE 1500 Wrapped Coresndash lsquoOther Circuitryrsquo

bull Unwrapped coresbull Interconnect logic and wiring

bull IEEE P1500 facilitates SOC test for both types

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 613

「DIP概論」- IP Testing

Test Creation for Compliant Cores (13)

bull Test for IEEE 1500 Wrapped core is delivered with the core in its Information Modelndash No need for core user to know the

implementation details of the core to develop a test

ndash Test re-use

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 614

「DIP概論」- IP Testing

bull Test access to core is guaranteed (provided proper TAM connections are made)

Test Creation for Compliant Cores (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 615

「DIP概論」- IP Testing

bull Translation of test from wrapper boundary to SOC pinsndash In case of one-to-one relationship between core

terminals and SOC pins simple renaming suffices

ndash Sharing TAMs with multiple cores bypasses bidirectional TAMs complicate this process

Test Creation for Compliant Cores (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 616

「DIP概論」- IP Testing

Test Creation for lsquoOther Circuitryrsquo (12)

bull Test re-use not possiblebull Typically ATPG at SOC level is required

to generate test patterns for this circuitry bull IEEE 1500 Wrapped cores are tested by

their own patterns and do not need to be included in this

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 617

「DIP概論」- IP Testing

ndash Wrapped cores should be black-boxedbull For some cores not netlist available at allbull Even if netlist is available blackboxing will reduce

the compute time for ATPG for the other circuitry substantially

ndash The P1500 Information Model provides necessary information about controllability observability features in wrapper to APTG tool

Test Creation for lsquoOther Circuitryrsquo (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 618

「DIP概論」- IP Testing

Overview of Example

Given a very small scan-testablecorebull lsquo1500-Unwrappedrsquo compliant core

ndash P1500 Information Modelbull lsquo1500-Wrappedrsquo compliant core

ndash P1500 Wrapper ndash P1500 Information Model

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 619

「DIP概論」- IP Testing

Bare Core

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 620

「DIP概論」- IP Testing

STIL Test Patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 621

「DIP概論」- IP Testing

Wrapped Core

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 622

「DIP概論」- IP Testing

Modes Instruction and Opcodes

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 623

「DIP概論」- IP Testing

Normal + Serial Bypass Modes

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 624

「DIP概論」- IP Testing

Serial in Test Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 625

「DIP概論」- IP Testing

Serial ExTest Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 626

「DIP概論」- IP Testing

Parallel InTest Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 627

「DIP概論」- IP Testing

Parallel ExTest Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 628

「DIP概論」- IP Testing

Wrapper Design (12)

bull Automated wrapper designndash Library of wrapper cellsndash Wrapper configuration depends on core

terminal types ndash Optimization for test time

bull No industry-wide standard (yet)ndash Ad-hoc wrappers may not operate in concerto

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 629

「DIP概論」- IP Testing

Wrapper Design (22)

bull Optimal wrapper design algorithm for test time minimization

Ref [Marinissen et al ndash ITCrsquo00]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 630

「DIP概論」- IP Testing

Wrapper Chain Design (12)

bull Wrapper itemsndash Wrapper input cellsndash Wrapper output cellsndash Core-internal scan chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 631

「DIP概論」- IP Testing

Wrapper Chain Design (22)

bull Wrapper chain designndash Designing the test access chains within the

wrapper from wrapperrsquos TAM input plug through all wrapper items to TAM output plug

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 632

「DIP概論」- IP Testing

Wrapper Chain Design amp Test Time (12)

bull lsquoTest Timersquo for large ICs is important cost factor ndash Test application time

=gt more time on ATE

ndash Size of test vector set =gt more expansive ATE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 633

「DIP概論」- IP Testing

bull Wrapper chain design has large impact on test time ndash Partitioning which wrapper item in which

wrapper chainndash Ordering position of wrapper item in a

wrapper chainndash Bypasses shorten wrapper chain where

possible

3

2

1

Wrapper Chain Design amp Test Time (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 634

「DIP概論」- IP Testing

Ordering of Wrapper Items

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 635

「DIP概論」- IP Testing

Bypasses (12)

bull Scan chain bypassndash Shortens wrapper chain length through during

ExTestbull Wrapper bypass

ndash Shortens wrapper chain length while testing other core up- or downstream in same TAM

ndash Contains register for plug-n-play connection of (possible) long wires

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 636

「DIP概論」- IP Testing

Bypasses (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 637

「DIP概論」- IP Testing

Partitioning of Wrapper Items (12)

bull Partition ndash x wrapper input cells all of scan length 1ndash y wrapper output cells all of scan length 1ndash z core-internal scan chains which scan length Ii

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 638

「DIP概論」- IP Testing

bull over ndash m wrapper chains

(typically m lt z lt x+y+z)such that ndash scan-in length over all wrapper chains in

minimizedndash scan-out length over all wrapper chains in

minimized

Partitioning of Wrapper Items (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 639

「DIP概論」- IP Testing

Three-Step Solution Approach (13)

1 Find partition PS of z core-internal scan chains over m wrapper chains such that maximum sum of scan lengths in any wrapper chain is minimized

(Hard)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 640

「DIP概論」- IP Testing

2 Assign x wrapper input cells to wrapper chains on top of PS such that maximum scan-in time of any wrapper chain is minimized

(Easy)

Three-Step Solution Approach (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 641

「DIP概論」- IP Testing

3 Assign y wrapper output cells to wrapper chains on top of PS such that maximum scan-out time of any wrapper chain is minimized

(Easy)

Three-Step Solution Approach (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 642

「DIP概論」- IP Testing

Wrapper Scan Chain Partitioning (12)

[Problem Definition]Givenndash Set of core-internal scan chains

S = S1 S2 hellip SZ with length L(Si)ndash m identical wrapper chains (typically mlt z)

Find ndash Partition P =P1 P2 hellip Pm of S such that

is minimizedsum isinlele P SLi

Smi)(max

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 643

「DIP概論」- IP Testing

bull Problem is equivalent to well-known NP-hard problems of Multi-Processor Scheduling and Bin Design

Wrapper Scan Chain Partitioning (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 644

「DIP概論」- IP Testing

WSCP Algorithms (13)

Polynomial-time algorithms for near-optimal resultsbull LPT(Last Processing Time)

ndash Sort items from large to smallL(S1) ge L(S2) ge hellip ge L(Sz)

ndash Assign scan chains to shortest wrapper chain so far

Ref [Grahamrsquo69]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 645

「DIP概論」- IP Testing

WSCP Algorithms (23)

bull COMBINEndash Use LPT to obtain start solution ndash Linear Search over maximum wrapper chain

lengths bull Try whether wrapper items fit a wrapper chain

length with FFD (First Fit Decreasing)

Ref [Coffman Garey Hohnson78]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 646

「DIP概論」- IP Testing

WSCP Algorithms (33)

bull LPT is fast and has good resultsndash COMBINE produces sometimes better

resultsat the expense of more CPU time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 647

「DIP概論」- IP Testing

Example Core (12)

bull Core characteristicsndash Terminals

8 functional inputs a[07]

11 functional outputs z[010]

9 scan inputs si[08]

9 scan outputs so[08]

+ 1 scan enable sc

38 core terminals in total

ndash Core-internal scan chains lengths 12 6 8 6 6 12 6 8 8 flip flops

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 648

「DIP概論」- IP Testing

Example Core (22)

bull Desired wrapper characteristicsndash Serial TAMndash 3-bit parallel TAMndash Wrapper bypassndash No scan chain bypasses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 649

「DIP概論」- IP Testing

Wrapper Result (14)bull Algorithmic results

ndash LPT max length = 26P1 = 12 8 6P2 = 12 6 6P3 = 8 8 6

ndash COMBINE max length = 24P1 = 12 12P2 = 8 8 8P3 = 6 6 6 6

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 650

「DIP概論」- IP Testing

Wrapper Result (24)

bull Operation modes (13)ndash Serial access

bull All wrapper items connected into one chain

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 651

「DIP概論」- IP Testing

Wrapper Result (34)

bull Operation modes (23)ndash Parallel access

bull All wrapper items divided over the (three) wrapper chains according to COMBINE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 652

「DIP概論」- IP Testing

Wrapper Result (44)

bull Operation modes (33)ndash Parallel pass

bull Bypass over the (three) wrapper chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 653

「DIP概論」- IP Testing

Compliance Checking (12)

bull Automatic check to assure that Core + Wrapper are compliant to standard

bull Relevant to both core provider and core user as compliance guarantees interoperability of this core with others at SOC level

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 654

「DIP概論」- IP Testing

Compliance Checking (22)

bull No industry-wide standard (yet)ndash Current compliance checkers only work for

company-internal standardsbull Wrapper generator and compliance checker

might work in concerto

Ref [Marinissen et al - ITC00]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 655

「DIP概論」- IP Testing

Wrapper Generator + Compliance Checker (13)

bull Automated wrapper design ndash corersquos netlist availablendash Compliance checker identifies still missing

wrapper functionality ndash Wrapper generator adds only required missing

hardwarendash Optional compliance checker for outgoing

inspection

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 656

「DIP概論」- IP Testing

bull Automated wrapper design ndash corersquos netlist not availablendash Wrapper generator adds full wrapper

functionalityndash Optional compliance checker for outgoing

inspection bull Manual wrapper design

ndash compliance checker for outgoing inspection

Wrapper Generator + Compliance Checker (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 657

「DIP概論」- IP Testing

bull Wrapped core usage ndash compliance checker for incoming inspection

Wrapper Generator + Compliance Checker (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 658

「DIP概論」- IP Testing

ExTest test Generation (12)

bull Test patterns for cores come from core provider

bull Core user is responsible for test patterns of SOC-specific circuitryndash Interconnect wiring ndash Interconnect logic(lsquoglue logicrsquo)ndash SOC-specific modules(lsquoUDLrsquo)

Interconnect ATPG

Normal ATPG

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 659

「DIP概論」- IP Testing

ExTest test Generation (22)

bull Interconnect ATPGndash lsquoLow-fatrsquo netlistndash Specific fault model for interconnect

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 660

「DIP概論」- IP Testing

Interconnect Faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 661

「DIP概論」- IP Testing

Interconnect ATPG

bull Determine a set of tests to detectndash Any interconnection open (S1 or S0)ndash Any shorted pair of net (wired-AND or wired-

OR)bull Solution is known as the ldquoCountingrdquo

algorithm

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 662

「DIP概論」- IP Testing

TAM Architecting (12)

bull Decision support to analyze and evaluate trade-offs for various TAM architectures at SOC levelndash How many TAMsndash Which core connects to which TAMndash How wide is each TAMndash How is the wrapper designed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 663

「DIP概論」- IP Testing

TAM Architecting (22)

bull Impact onndash Test quality ndash Test time ndash Areandash Dissipationndash Performance impact

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 664

「DIP概論」- IP Testing

Three TAM Architectures

Ref [Aerts amp Marinissen - ITC98]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 665

「DIP概論」- IP Testing

Multiplexing Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 666

「DIP概論」- IP Testing

Daisychain Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 667

「DIP概論」- IP Testing

Distribution Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 668

「DIP概論」- IP Testing

Architecture Model

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 669

「DIP概論」- IP Testing

Improved Wrapper Design

Source [Iyengar et al ndash ITCrsquo01]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 670

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (14)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 671

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (24)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 672

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (34)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 673

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (44)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 674

「DIP概論」- IP Testing

Problem Formalization (13)

bull PW Design a wrapper for a given core such that ndash The core testing time in minimized ndash The TAM width required for the core is minimized

bull PAW Determinendash An assignment of cores to TAMs of given widthsndash A wrapper design for each core

such that the SOC testing time is minimized

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 675

「DIP概論」- IP Testing

Problem Formalization (23)

bull PPAW Determinendash A partition of the total TAM width over the given number of

TAMs ndash An assignment of cores to TAMs of given widthsndash A wrapper design for each core

such that the SOC testing time is minimized

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 676

「DIP概論」- IP Testing

Problem Formalization (33)

bull PNPAW Determine ndash The number of TAMs for the SOCndash A partition of the total TAM width over the given number of

TAMs ndash An assignment of cores to TAMs of given widthsndash A wrapper design for each core

such that the SOC testing time is minimized

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 677

「DIP概論」- IP Testing

More Research Neededbull Many interesting research results are

appearing in this domainbull TAM architecting and test scheduling are

intertwinedbull Most of todayrsquos approaches focus only on

ndash lsquoTest-busrsquo like TAMs (and ignore other TAM types)

ndash InTests (and ignore ExTests)ndash Test time (and ignore other costs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 678

「DIP概論」- IP Testing

Test Expansion

bull Translation of ndash Core-level test (defined at core terminals)intondash SOC-level test defined at IC pins)

bull Test Protocol Expansion

Ref [Marinissen amp Lousberg ndash TEC97 ETW99]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 679

「DIP概論」- IP Testing

Macro Test Concept Overview (13)

bull Test = test protocol + test patternsbull Subsequent tasks automated

ndash Test protocol expansion (TPE)ndash Test protocol scheduling (TPS)ndash Test assembly (TASS)

bull Support of multiple hierarchy levels

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 680

「DIP概論」- IP Testing

bull Supports every kind of test access mechanismndash Original forcus on transparency of macros

especially core-internal scan chains

Macro Test Concept Overview (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 681

「DIP概論」- IP Testing

Macro Test Concept Overview (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 682

「DIP概論」- IP Testing

Terminology (12)

bull Pattern ndash A vector with stimulus and response values

bull Pattern List ndash The list of all patterns needed for a test of a

macrobull Test Protocol

ndash The prescription according to which a pattern should be applied

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 683

「DIP概論」- IP Testing

Terminology (22)

bull Testndash Repeated execution of a test protocol where

every time another pattern from the pattern list is filled in

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 684

「DIP概論」- IP Testing

Simple Example (12)

Ref [Marinissen amp Lousberg ndash ETW99]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 685

「DIP概論」- IP Testing

Simple Example (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 686

「DIP概論」- IP Testing

Transfer through Neighbors

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 687

「DIP概論」- IP Testing

Example SOC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 688

「DIP概論」- IP Testing

Test Protocol Expanded to SOC Pins

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 689

「DIP概論」- IP Testing

Test Assembly

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 690

「DIP概論」- IP Testing

Test Assembly Example

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 691

「DIP概論」- IP Testing

Test Scheduling (12)

bull Minimization of occupancy of resources for given core tests and SOC test infrastructure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 692

「DIP概論」- IP Testing

Test Scheduling (22)

bull Resources ndash Power dissipation during test executionRef[Zorian ndash VTS93]

[Saluja amp Agrawal ndash Trans VLSI System97]

ndash Test application timestorage capacity at ATERef[Marinissen amp Aerts ndashTECS98]

[Chakrabarrty ndash ICCAD99 TCAD00][Iyengar amp Chakrabarrty ndash VTS01][Larsson amp Peng - DATE01]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 693

「DIP概論」- IP Testing

Modifiedhelliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 694

「DIP概論」- IP Testing

Examples of Cores

bull Processor ARM hellipbull Memory RAM ROM hellipbull DSP TI hellipbull Peripheral DMA controller hellipbull Interface PCI USB UART hellipbull Multimedia JPEG MPEG hellipbull Networking Ethernet controller hellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 695

「DIP概論」- IP Testing

Chip and Board Testing

DFT BISThelliphellip

Boundary Scanhelliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 696

「DIP概論」- IP Testing

Virtual Component (VC)

bull A design block that meets the VSI (Virtual Socket Interface) specification and is used as a component in the virtual socket design environmentndash VSI is supported by the VSI Alliance (VSIA)

httpwwwvsiacom

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 697

「DIP概論」- IP Testing

Intellectual Property (IP)

bull The rights in cores that allow the owner of those rights to control the exploitation of those cores and the expression of the cores by othersndash Protected by lawsndash Liability in cases of failure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 698

「DIP概論」- IP Testing

Notes

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 699

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

h

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 700

「DIP概論」- IP Testing

Fig 6-3[1990] Fig 6-4[1990] Fig 6-5[1990] Fig 6-10[1990]

Fig 6-23[1990] Fig 6-27[1990](pp 166 done)

Fig 6-29[1990] Fig 6-30[1990]

Fig 6-34[1990] Fig 6-37[1990]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 701

「DIP概論」- IP Testing

bull Sequential controllability and observabilitybull Bugs 136amp137 144(modified)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 702

「DIP概論」- IP Testing

bull A fault model is an abstraction of the error caused by a particular physical faultsndash The purpose is to simplify the test procedure

and reduce its cost while still retaining the capability of detecting the presence of the modeled faults

ndash Defects vs faults vs errors vs failuresndash Permanent faults vs non-permanent ones

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 703

「DIP概論」- IP Testing

Acknowledgements

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 704

「DIP概論」- IP Testing

An Example of SOC

ADC

DAC

PLL

RAMROM

IP 1BUS amp INTERCONNECT

ASIC 1

UDL

DSP CPU ASIC 2IP 2

Page 4: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 4

「DIP概論」- IP Testing

Outline (22)

bull Compression Techniquesbull Built-In Self-Test (BIST)bull Boundary-Scan Testingbull Memory Testingbull SOC Testing

Chapter 1

Introduction

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 6

「DIP概論」- IP Testing

VLSI Development FlowDetermine specification

Design the circuit

Verify the design

Develop the test procedure

Manufacture the circuit

Test the manufactured circuit

Deliver to customers

Design Errors

TestPlans

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 7

「DIP概論」- IP Testing

Why Do Circuits Fail

bull Human design errorsbull Manufacturing defects bull Package defectsbull Field (Environment) failures

ndash Temperature humidity power etc

verifytest

testtest

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 8

「DIP概論」- IP Testing

Verification vs Testingbull Verification

ndash Check for the correctness of a designbull Simulation

ndash Performed oncebull Testing

ndash Check the correctness of the manufactured circuitndash Performed repeatedly

Verification Testinglogicsoft faults realhard faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 9

「DIP概論」- IP Testing

Why Testing

bull Detect and eliminate (hard-)faulty circuits

Vdd

10

00

0

0

fault-free circuit faulty circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 10

「DIP概論」- IP Testing

How to Do Testing

Circuit Under Test

(CUT)

Test Pattern Generator

(TPG)

Output Response Analyzer(ORA)

test patterns T

outputresponses R

GoodBad

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 11

「DIP概論」- IP Testing

Related Terminologies in Testing

bull Diagnosisndash Depict the faulty sites

bull Reliabilityndash Tell whether a ldquogoodrdquo circuit will work after

some time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 12

「DIP概論」- IP Testing

Importance of Testing

N the number of transistors in a circuit (chip)p the probability that a transistor is faultyPf the probability that the chip is faulty

Pf = 1-(1-p)N

If p = 10-6 and N= 106

Pf = 632

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 13

「DIP概論」- IP Testing

Key Issues in Testing

Circuit Under Test

(CUT)

Test Pattern Generator

(TPG)

Output Response Analyzer(ORA)

test patterns T

outputresponses R

Fault Modeling Design for Testability

Test GenerationProblem

Good if R = RrsquoBad if R ne Rrsquoexpected

responses Rrsquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 14

「DIP概論」- IP Testing

Circuit Modeling

bull Describe the behavior of circuitsndash Behavior modelndash RTL modelndash Gate level modelndash helliphellip

clocks (edgelevel-sensitive)delaytiming

algorithms

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 15

「DIP概論」- IP Testing

Fault Modeling

bull Describe the effects of physical faultsbull Fault model requirements

ndash Adequately represent actual faultsndash High coverage against physical faultsndash Well-behavedndash Simple enough to use in practice

bull Eg Fault simulation test generation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 16

「DIP概論」- IP Testing

Fault Modelsbull Single stuck-at fault model

ndash Any single line x is stuck at 0 or 1bull Multiple stuck-at fault model

ndash Several lines x are stuck at 0 or 1bull Delay fault model

ndash Delay of a single path is changedbull Bridging fault model

ndash Signals x and y become AND(x y) or OR(x y)bull helliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 17

「DIP概論」- IP Testing

Single Stuck-at Fault Model (12)

bull Depict that ldquoone single linerdquo is permanently stuck at 1 or 0

EA

B

C

D F

G

A s-a-1A s-a-0E s-a-1E s-a-0

B s-a-1B s-a-0F s-a-1F s-a-0

C s-a-1C s-a-0G s-a-1G s-a-0

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

14 faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 18

「DIP概論」- IP Testing

Single Stuck-at Fault Model (22)bull Advantages

ndash Match the gate level and are well-behavedndash The number of possible faults is relatively smallndash Tests for single stuck-at faults give good coverage of

permanent faultsbull Disadvantages

ndash Dose not account for some physical fault effectsndash Few physical faults behave exactly like single-at faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 19

「DIP概論」- IP Testing

Detectability of Faults

bull A fault f is said to be detectable if there exists a test vector x such that Cf(x) ne C(x) ie f is ldquodetectedrdquo by x

Vdd

10

00

0

0

fault-free circuit C fault f is detected by (00)

xf s-a-1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 20

「DIP概論」- IP Testing

Fault Coverage (FC)FC =

the size of fault listnumber of detected faults

CA

B

6 faultsA0 A1 B0 B1 C0 C1

test vector set detected faults FC(0 0)(0 1)(1 1)(0 0) (1 1)(1 0) (0 1) (1 1)

C1A1 C1A0 B0 C0A0 B0 C0 C1ALL

1667333350006667

10000

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 21

「DIP概論」- IP Testing

Testing QualityIC

FabricationYield(Y)

Rejected Parts

Shipped PartsDefect Level(DL)

bull Yield (Y) fraction of good partsbull Defect Level (DL) fraction of shipped parts that are defectivebull Quality of shipped parts is a function of Y and FC

DL = 1 ndash Y (1 - FC)

Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 22

「DIP概論」- IP Testing

Circuit Simulationbull Determine how a good circuit should work

ndash Given input vectors determine the normal circuit output responses

EA

B

C

D F

G

1

10

0

01

1

Simulation under the input 1 0 0 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 23

「DIP概論」- IP Testing

Fault Simulation (12)

bull Determine the behavior of faulty circuitsE s-a-0 A

B

C

D F

G

1

100

0

01

10

x

Simulation under the input 1 0 0 0 with fault E s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 24

「DIP概論」- IP Testing

Fault Simulation (22)

bull Given a test vector determine all faults that are detected by this test vector

CA

B 1

10

Test vector (1 1) detects A0 B0 C1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 25

「DIP概論」- IP Testing

Test Generation (12)

bull Given a fault identify a test vector to detect this fault

A

B

C

D s-a-0

E

F

x

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 26

「DIP概論」- IP Testing

Test Generation (22)

bull Sensitizationndash To detect D s-a-0 D must be set to 1

ie A = B = 1bull Propagation

ndash To propagate the fault effect to the output F Emust be set to 1 ie C = 0

Test vector for D s-a-0 is 1 1 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 27

「DIP概論」- IP Testing

Automatic Test Pattern Generation (ATPG) (12)

bull Given a circuit identify a set of test vectors to detect all the detectable faults under the considered fault models

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 28

「DIP概論」- IP Testing

Automatic Test Pattern Generation (ATPG) (22)a circuit and the fault list

more fulats

select a fault

test generation

fault simulation

fault dropping

exit

Yes

No

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 29

「DIP概論」- IP Testing

Difficulties in Test Generation (12)

bull Reconvergent fanout

A

B

C

D s-a-1

E

F

x

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 30

「DIP概論」- IP Testing

Difficulties in Test Generation (22)bull Sequential test generation

combinational circuit

D

clk

Q

x The fault effect cannot be observed at POs

PIs POs

The test patterns cannotbe generated at PIs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 31

「DIP概論」- IP Testing

Advanced Test GenerationFC

100

of test patterns

Pseudorandom Test Pattern Generation

Deterministic Test Pattern Generation

Design for Testability (DFT)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 32

「DIP概論」- IP Testing

Testing Costs

bull Test software developmentndash Automatic test pattern generator (ATPG)ndash Fault simulation and other debugging policies

bull Design for testability (DFT)ndash Chip area overhead ie yield lossndash Performance overhead ie degradation

bull Automatic test equipments (ATEs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 33

「DIP概論」- IP Testing

Difficulties in Testing

bull Some real faults are too complex to modelbull Most testing problems are NP-completebull IO access is limitedbull ATEs are expensive

Testing is rarely complete (FC lt 100)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 34

「DIP概論」- IP Testing

The Goals of Testingbull Detect all expected faults (high fault coverage)bull Diagnose to the smallest replaceablerepairable

component (high fault resolution)bull Fast and low-cost test generationbull Fast and low-cost test applicationbull Efficient response comparisonbull High degree of automationbull Low penalties in hardware overheadperformance

Chapter 2

Fault Models

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 36

「DIP概論」- IP Testing

Faults and Errors

bull Faultsndash Physical defects within a circuit or a systemndash May or may not cause the circuit to fail

bull Errorsndash Manifestation of faults that results in incorrect

circuit or system outputs or statesndash Caused by faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 37

「DIP概論」- IP Testing

Failures

bull Deviation of a circuit or a system from its specified behaviorndash Fails to do what it should do ndash Caused by errors

bull Faults Errors and Failures

Faults rArr Errors rArr Failures

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 38

「DIP概論」- IP Testing

Why Model Faultsbull Identify target faults and describe their

effectsbull Limit the scope of test generation

ndash Create test patterns only for the modeled faultsbull Make analysis possible

ndash Compute the fault coverage for specific test patterns

ndash Associate specific faults with specific test patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 39

「DIP概論」- IP Testing

Fault Modelsbull Stuck-at faultsbull Bridging faultsbull PLA faultsbull Transistor stuck-onopen faultsbull Delay faultsbull Functional faultsbull State transition faultsbull Memory faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 40

「DIP概論」- IP Testing

Stuck-at Faultsbull Single stuck-at fault model

ndash Only a single line is permanently set to either 0 or 1

bull Multiple stuck-at fault modelndash Several stuck-at faults occur at the same time

bull For a circuit with k linesndash There are 2k single stuck-at faultsndash There are 3k-1 multiple stuck-at faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 41

「DIP概論」- IP Testing

Why Single Stuck-at Fault Model (12)

bull Complexity is greatly reducedndash Many different physical defects may be

modeled by the same logical stuck-at faultsbull Technology independent

ndash Can be applied to TTL ECL CMOS etcbull Design style independent

ndash Can be applied to gate arrays standard cells full-custom description

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 42

「DIP概論」- IP Testing

Why Single Stuck-at Fault Model (22)

bull The test patterns derived for single stuck-at faults are still valid for most defects even not accurately model some other physical defects

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

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 43

「DIP概論」- IP Testing

Bridging Faults (12)

bull Two or more normally distinct points(lines) are shorted togetherndash Logic effect depends on technology

bull Wired-AND for TTLbull Wired-OR for ECL

TTL Transistor-Transistor Logic

ECL Emitter-Coupled Logic

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 44

「DIP概論」- IP Testing

Bridging Faults (22)bull Wired-AND for TTL bull Wired-OR for ECL

A

B

f

g

A

B

f

g

A

B

f

g

A

B

f

g

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 45

「DIP概論」- IP Testing

PLA Faults

bull Stuck-at faults on inputs and outputsbull Crosspoint faults

ndash MissingExtrabull Bridging faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 46

「DIP概論」- IP Testing

Missing Crosspoint Faults in PLAbull Missing crosspoint in the AND plane

ndash Growth faultbull Missing crosspoint in the OR plane

ndash Disapperance fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 47

「DIP概論」- IP Testing

Extra Crosspoint Faults in PLAbull Extra crosspoint in the AND plane

ndash Shrinkage faultbull Extra crosspoint in the OR plane

ndash Appearance fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 48

「DIP概論」- IP Testing

Transistor Stuck-On Faults (12)

bull Also referred as stuck-short faults

stuck-on

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 49

「DIP概論」- IP Testing

Transistor Stuck-On Faults (22)

bull May cause ambiguous logic levelsndash Depend on the relative impedances of the pull-

up and pull-down networksbull Quiescent current may be increased called

IDDQ fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 50

「DIP概論」- IP Testing

Transistor Stuck-Open Faults (12)

bull May cause output floating(high impedance)

stuck-open

0 Z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 51

「DIP概論」- IP Testing

Transistor Stuck-Open Faults (22)

bull Turn the circuit into a sequential circuitndash Stuck-open faults require two-vector test

patterns

stuck-open

10 0100

two-vector test pattern

fault-free response

fault response

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 52

「DIP概論」- IP Testing

Gate Delay Faults (12)bull Slow to rise or fall

X X

R

X is slow to rise when channel resistance R is abnormally high

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 53

「DIP概論」- IP Testing

Gate Delay Faults (22)bull Detectability of gate delay faults

ndash May not be detected

slow

critical path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 54

「DIP概論」- IP Testing

Path Delay Faultsbull Propagation delay of a path exceeds the

clock intervalbull The number of paths grows exponentially

with the number of gates

XY

XY

the clock interval

propagation delay

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 55

「DIP概論」- IP Testing

Functional Faultsbull Behavioral faults

ndash Fault effects are modeled at a higher level for modules such as

bull Decodersbull Multiplexersbull Addersbull Countersbull RAMsbull ROMs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 56

「DIP概論」- IP Testing

An Example of Functional Faultsbull Decoder

ndash f(LiLj) instead of line Li line Lj is selectedndash f(LiLi+Lj) in addition to Li Lj is selectedndash f(Li0) none of the lines are selected

DecoderLi

Lj

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 57

「DIP概論」- IP Testing

State Transition Graph(STG)bull Each state transition is associated with a 4-

tuple (source input output destination state)

S1

S3S2

I1O1 I2O2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 58

「DIP概論」- IP Testing

Single State Transition Faults

bull A fault causes a single state transition to a wrong destination state

S1

S3S2

IO IO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 59

「DIP概論」- IP Testing

Memory Faults (12)

bull Parametric faultsndash Change the values of electrical parameters of

active or passive devices from their normal or expected values

bull Output levelsbull Power Consumptionbull Noise marginbull Data retention time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 60

「DIP概論」- IP Testing

Memory Faults (22)

bull Functional faultsndash Stuck faults in address register data register

and address decoderndash Cell stuck faultsndash Cell coupling faultsndash Pattern sensitive faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 61

「DIP概論」- IP Testing

Coupling Faults

bull A transition in memory bit i causes an unwanted change in memory bit j

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 62

「DIP概論」- IP Testing

Pattern Sensitive Faultsbull The presence of a faulty signal depends on

the signal values of the nearby pointsndash Most common in DRAM

0 0 00 d b0 a 0

a = b = 0 rArr d = 0 prevent writing a 1 into da = b = 1 rArr d = 1 prevent writing a 0 into d

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 63

「DIP概論」- IP Testing

Fault Detectionbull Let z BnrarrB A test pattern t detects a fault f

iff z(t)opluszf(t) = 1x1

x2

x3

z1

z2

f s-a-1 z1 = x1 x2

z2 = x2 x3

z1f = x1

z2 f= x2 x3

The test pattern 100 detects f because z1(100) = 0while z1f(100) = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 64

「DIP概論」- IP Testing

Sensitization

bull Given a test pattern t a line is said to ldquobe sensitized to a fault f by trdquo if its normal value is changed in the presence of f

bull A path composed of sensitized lines is called ldquoa sensitized pathrdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 65

「DIP概論」- IP Testing

Detectability

bull A fault f is said to be detectable if there exists a test pattern t that detects f otherwise f is a redundant fault

bull For a redundant fault f z(t) = zf(t)ndash No test pattern can simultaneously

sensitize(activate) f and create a sensitized path to a primary output(PO)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 66

「DIP概論」- IP Testing

Redundant Faultsbull G1 stuck-at-0 fault is redundant

ndash Redundant faults do not change the function of the circuit

ndash The related circuit can be removed to simplify the circuit

1

s-a-0G1

1

1

00

0

10a

b

c

z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 67

「DIP概論」- IP Testing

Fault Collapsing

bull The process to reduce the number of the faults under consideration is known as fault collapsing

bull Why fault collapsingndash Save memory space and CPU time for fault

simulation and test generation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 68

「DIP概論」- IP Testing

Fault Equivalencebull A test pattern t distinguishes between faults α and β iff zα(t) ne zβ(t)

bull Two faults α and β are said to be equivalent in a circuit iff zα(t) = zβ(t) for all tndash Denoted by αharr βndash No test patterns can distinguish between α and β

ndash Any test pattern which detects one of them detects all of them

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 69

「DIP概論」- IP Testing

Fault Equivalence of Primitive Gates (12)

bull NOTndash Input s-a-1 and output s-a-0 are equivalentndash Input s-a-0 and output s-a-1 are equivalent

bull ANDndash All s-a-0 are equivalent

bull ORndash All s-a-1 are equivalent

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 70

「DIP概論」- IP Testing

bull NANDndash All input s-a-0 and output s-a-1 are equivalent

bull NORndash All input s-a-1 and output s-a-0 are equivalent

Fault Equivalence of Primitive Gates (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 71

「DIP概論」- IP Testing

Equivalent Fault Collapsing (12)[Theorem 2-1] Under the single stuck-at faultmodel for an n-input primitive gate n+2instead of 2n+2 faults need to be considered

2n+2

n+1 n+1

equivalence

n+2cup

[Proof]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 72

「DIP概論」- IP Testing

Equivalent Fault Collapsing (22)

s-a-0

s-a-1s-a-1

s-a-1

s-a-1s-a-1

s-a-1 s-a-0

s-a-0

s-a-0

s-a-0

s-a-0 s-a-0

s-a-1

s-a-1

s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 73

「DIP概論」- IP Testing

Fault Dominancebull Let Tα be the set of all test patterns that

detect fault α We say that a fault βdominates fault α iff zα(t) = zβ(t) for all tisinTα

ndash Denoted by β rarr αndash No need to consider fault β for fault detection

Tβ supeTα

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 74

「DIP概論」- IP Testing

Fault Dominance of Primitive Gatesbull AND

ndash Output s-a-1 dominates any input s-a-1bull OR

ndash Output s-a-0 dominates any input s-a-0bull NAND

ndash Output s-a-0 dominates any input s-a-1bull NOR

ndash Output s-a-1 dominates any input s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 75

「DIP概論」- IP Testing

Dominated Fault Collapsing (12)[Theorem 2-2] Under the single stuck-at fault model for an n-input primitive gate only n+1faults need to be considered

2n+2

n+1 n+1

equivalencen+1

cup

[Proof]

n 1dominance

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 76

「DIP概論」- IP Testing

Dominated Fault Collapsing (22)

s-a-0

s-a-1s-a-1

s-a-1

s-a-1s-a-1

s-a-1 s-a-0

s-a-0

s-a-0

s-a-0

s-a-0 s-a-0

s-a-1

s-a-1

s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 77

「DIP概論」- IP Testing

Prime Faultsbull α is a prime fault if every fault dominated

by α is also equivalent to αbull Representative set of prime faults(RSPF)

ndash A set consisting of exactly one prime fault from each equivalence class of prime faults

bull Achieve 100 fault coverage ndash Only generate the test set for RSPF

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 78

「DIP概論」- IP Testing

Checkpoints (13)

bull Primary inputs and fanout branches

[Theorem 2-3] Any test set which detects all single stuck-at faults on every check point will detect all single stuck-at faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 79

「DIP概論」- IP Testing

Checkpoints (23)

a

b

c

d

e

s-a-1s-a-1

s-a-1

s-a-1s-a-1

s-a-1

s-a-1

s-a-1s-a-0

s-a-0

s-a-0s-a-0

s-a-0

s-a-0s-a-0

s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 80

「DIP概論」- IP Testing

Checkpoints (33)bull The set of checkpoint faults can be further

collapsed by using equivalence and dominance relations

a

b

c

d

e

10 checkpoint faultsa s-a-0 harr d s-a-0c s-a-0 harr e s-a-0b s-a-0 rarr d s-a-0b s-a-1 rarr d s-a-16 test patterns are enough

Chapter 3

Fault Simulation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 82

「DIP概論」- IP Testing

Simulationbull True-value simulation

ndash Compute the responses for given inputtest patterns without injecting any faults in the circuit

bull For verifying the correctness of the design

bull Fault simulationndash Compute the responses for given inputtest

patterns with injecting considered faults in the circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 83

「DIP概論」- IP Testing

Why Fault Simulation

bull To evaluate the quality of a test setndash In terms of fault coverage(FC)

bull To incorporate into ATPGndash Decrease the time for test pattern generation

bull To construct fault dictionary ndash For post-test diagnosis

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 84

「DIP概論」- IP Testing

Simulation Mechanisms

bull Compiled-code simulationndash Circuit is translated into the program where

each gate is executed for each patternbull Event-driven simulation

ndash Circuit structure and gate status are stored in a table and only those gates which are needed to be updated with a new pattern are processed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 85

「DIP概論」- IP Testing

Compiled-Code Simulation (13)levelize circuit and produce compiled-codeinitialize data variables(flip-flops and memory)for every input pattern begin

set the primary inputs to the input pattern repeat until (steady-state or maximum iteration-count are reached)begin

execute compiled-codeupdate the associated data variables(flip-flop or memory)

endend

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 86

「DIP概論」- IP Testing

Compiled-Code Simulation (23)

bull The use of compiled-code simulation is usually limited into high-level designndash Since detailed timing or delay is almost

impossible to be simulated in the translated compiled-code

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 87

「DIP概論」- IP Testing

Compiled-Code Simulation (33)

D-FF

abc

d

e

f

Compiled-Code

d = a amp b amp cf = d | ee = f

Q D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 88

「DIP概論」- IP Testing

Event-Driven Simulation (12)initialize simulation time t to 0while (event list is not empty) begin

for every event (i t) begin gate i changes at time tupdate the value of gate i schedule fanout gates of i in the event list if the associated value changes are expected

endadvance simulation time t

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 89

「DIP概論」- IP Testing

Event-Driven Simulation (22)1a

c

bd

e

f

g2

2

2

41

1 rarr0

0 rarr1

1 rarr0

0 rarr1

1 rarr0 rarr1

simulation time t event fanout

0 c = 0 d e

1

2 d = 1 e =0 f g

3

4 g = 0

5

6 f = 1 g

7

8 g = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 90

「DIP概論」- IP Testing

Logic Value Based Fault Simulationbull For functional faults such as single stuck-at

faults helliphellipndash Logic simulation on both fault-free and faulty

circuitsTest Patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 91

「DIP概論」- IP Testing

Complexity of Fault Simulation

bull Suitable for single stuck-at fault modelbull Higher than logic simulation but much

lower than test pattern generationbull In reality the complexity can be reduced by

fault collapsing and advanced techniques

patterns faults gates

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 92

「DIP概論」- IP Testing

Characteristics of Fault Simulationbull Fault activities with respect to fault-free

circuit are often sparse both in time and in spacendash For example f1 is not activated by the given

pattern(time) while f2 affects only the lower part of the circuit(space)

f1 s-a-0

f2 s-a-0

0

1

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 93

「DIP概論」- IP Testing

Efficiency of a Fault Simulator

bull Depend on its ability to exploit the sparse characteristics both in time and in space

人生最大的成就是從失敗中站起來證嚴法師靜思語

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 94

「DIP概論」- IP Testing

Classical Fault Simulation Techniques

bull Serial fault simulationbull Parallel fault simulationbull Deductive fault simulationbull Concurrent fault simulation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 95

「DIP概論」- IP Testing

Serial Fault Simulation

bull The simplest algorithm for fault simulationndash Simulate the fault-free circuit for all input

patterns and save the outputs in a file(table)ndash Simulate one faulty circuit at a time until the

target fault is detected by some one test pattern or proven to be undetectable

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 96

「DIP概論」- IP Testing

Parallel Fault Simulation

bull Simulate faulty circuits in parallel with fault-free circuit by taking advantage of inherent parallel operation of computer wordsndash The number of circuits being processed

concurrently is limited by the word length wbull Each pass at most w-1 faulty circuit are processed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 97

「DIP概論」- IP Testing

Example of Parallel Fault Simulation

0 0 0 0 0 1 0 0 1 0 1 1

1 1 1 1 1 1 0 1

1 1 0 1 1 1 0 0

0 1 0 0

1 0 0 1

1 1 1 1a

b

f

c

de

g

h

is-a-1

s-a-0

s-a-0

for fault-free circuitfor circuit with fault b s-a-1for circuit with fault f s-a-0for circuit with fault i s-a-0

rArr Faults f s-a-0 and i s-a-0 are detected by test pattern (a b f) = (1 0 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 98

「DIP概論」- IP Testing

Deductive Fault Simulation

bull Only the fault-free circuit is simulated (true-value simulation) ndash All signal values in each faulty circuit are

deduced from the fault-free circuit values and the circuit structure

bull Each signal is associated a list of faults in the circuit which can change the state of that line

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 99

「DIP概論」- IP Testing

Basic Fault List Propagation RulesInputs Output

a b cOutput Fault list

Lc

0 0 0 [La cap Lb] cup c1

[La cap Lb] cup c1

[La cap Lb] cup c1

[La cup Lb] cup c0

[La cup Lb] cup c1

[La cap Lb] cup c0

[La cap Lb] cup c0

[La cap Lb] cup c0

La cup c0

La cup c1

(1)0 1 0 (2)1 0 0 (3)1 1 1 (4)0 0 0 (5)0 1 1 (6)1 0 1 (7)1 1 1 (8)0 - 1 (9)

1 - 0 (10)

NOT

OR

AND

Gate Type

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 100

「DIP概論」- IP Testing

Example of Deductive Fault Simulation (12)ab

c 1 b0 c0

d 1 b0 d0

1 a0

1 b0

e 1 a0 b0 c0 e0

f 0 b0 d0 f1

Initially La = a0 and Lb = b0For the fanouts of b c and d Lc = b0 c0 and Ld = b0 d0

Le = [La cup Lc] cup e0 = a0 b0 c0 e0 by Rule (4)Lf = Ld cup f1 = b0 d0 f1 by Rule (10)

g

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 101

「DIP概論」- IP Testing

ab

g

1 a0

1 b1

e 1 a0 b0 c0 e0

f 0 b0 d0 f1

1 a0 c0 e0 g0

Lg = [Le cap Lf] cup g0 = a0 c0 e0 g0 by Rule (7)

c 1 b0 c0

d 1 b0 d0

Example of Deductive Fault Simulation (22)

rArr Faults a0 c0 e0 and g0 are detected by test pattern (a b) = (1 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 102

「DIP概論」- IP Testing

Concurrent Fault Simulation

bull Each gate retains a list of fault copies each of which stores the status of a fault to exhibit difference form the fault-free values

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 103

「DIP概論」- IP Testing

Example of Concurrent Fault Simulation

ab c

d g

1

1

e

f

1

11 1

1 0

0 1 0 1 1 1

b0 d0 f1

01 1

00

a0

01

1

b0

00

0

c0

01

1

d0

1

00

e0

01

1

f1

10

0

g0

1

a001 0

10 0

10 0

11 0

b0 c0 e0

rArr Faults a0 c0 e0 and g0 are detected by test pattern (a b) = (1 1)

1

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 104

「DIP概論」- IP Testing

Modern Fault Simulation Techniques

bull Parallel-Pattern Single-Fault Propagation (PPSFP)

bull Critical Path Tracing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 105

「DIP概論」- IP Testing

PPSFP

bull Based on the serial fault simulation many patterns are simulated in parallel for fault-free and faulty circuits respectivelyndash The number of patterns is limited by the word

length wbull Each pass at most w patterns are processed

ndash The basis of all modern fault simulators

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 106

「DIP概論」- IP Testing

Example of PPSFPbull Consider fault f s-a-0 and four pattern p3 p2

p1 and p0

0 1 0 1 1 0 1 0

1 0 0 1

1 1 0 1

0 1 0 1

1 0 0 0

1 1 1 1a

b

f

c

de

g

h

i

s-a-0

p3 p2 p1 p0

0 0 0 00 0 0 0

0 1 0 1

rArr Fault f s-a-0 are detected by test pattern p3 (a b f) = (1 0 1)

(faulty values)1 0 0 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 107

「DIP概論」- IP Testing

Sensitive Inputs

bull A gate input a is sensitive if complementing the value of a changes the value of the gate output

ab

1rarr0

1

c

a is sensitive

ab 0

0 c

a is not sensitive

1rarr0 0 rarr1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 108

「DIP概論」- IP Testing

Critical Pathsbull Let l(v) be the fault-free value of line l

under input pattern t We say that line l is critical with respect to t iff t detects the fault l s-a-l(v)

bull A gate input i is critical with respect to t if the gate output is critical and i is sensitive

bull A path consisting of only critical lines is said to be a critical path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 109

「DIP概論」- IP Testing

Critical Path Tracing

bull Two-step procedurendash Perform true-value simulation and identify

sensitive gate inputsndash Backtrace from POs to identify the critical lines

bull O(|G|) for fanout-free circuitsndash The fanout-free situation is very rare

bull Perform in fanout-free region and the stem faults are simulated by other methods mentioned earlier

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 110

「DIP概論」- IP Testing

Example of Critical Path Tracing (12)

a

b

f

c

d e

g

h

i

1

0

11

1

0

1fanout-free region

sensitive input

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 111

「DIP概論」- IP Testing

Example of Critical Path Tracing (22)

a

b

f

c

d e

g

h

i

1

0

11

1

0

1fanout-free region

sensitive inputcritical line

rArrFaults i0 h0 f0 e0 and d1 are detected by test pattern (a b f) = (1 0 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 112

「DIP概論」- IP Testing

Anomaly of Critical Path Tracinga

b

f

c

d e

g

h

i

1

0

11

1

0

1critical line

bull Stem criticality is hard to infer from branchesndash Eg Fault b s-a-1 is not detected by (a b f) = (1 0 1)

even though branches c and d are critical

stem

branch

branch

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 113

「DIP概論」- IP Testing

Multiple Path Sensitizationa

b

f

c

d

g

h

i

1

1

1

1

1

1fanout-free region

sensitive inputcritical line

bull Both c and d are not critical but b is critical and bs-a-0 can be detected by (a b f) = (1 1 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 114

「DIP概論」- IP Testing

Summariesbull Does specific test patterns detect specific

faultsndash Serial fault simulationndash Parallel fault simulationndash PPSFP

bull Which faults does a specific test pattern detect (suitable for ATPG)ndash Deductive fault simulationndash Concurrent fault simulationndash Critical Path Tracing

Chapter 4

Test Generation (TG)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 116

「DIP概論」- IP Testing

Test Generation (TG) Methods

bull From truth tablebull Using Boolean equationbull Using Boolean differencebull From circuit structure

Impractical

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 117

「DIP概論」- IP Testing

TG from Truth Table

bull Based on the serial fault simulationndash Impractical

ab

c

f

α s-a-0abc f fα000 0 0001 0 0010 0 0011 0 0100 0 0101 1 1110 1 0111 1 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 118

「DIP概論」- IP Testing

TG Using Boolean Equation

bull Based on the definition of detectability we have

Tα = (a b c) | f(a b c) oplus fα(a b c) = 1= (1 1 0)

bull High complexity

ab

c

f

α s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 119

「DIP概論」- IP Testing

Boolean DifferenceThe Boolean difference of f(x) with respect to xi is

)()()( 1f0fdx

xdfii

i

oplus=

where fi(0) = (x1 hellip 0 hellip xn) and fi(1) = (x1 hellip 1 hellip xn)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 120

「DIP概論」- IP Testing

Physical Meaning of Boolean Difference

bull Find all the input combinations such that the change of xi will cause the change of f(x)

bull Relationship between TG and Boolean difference

x1xixn

fcircuit0 rarr 1

0 rarr1

1rarr0or x1

xixn

fcircuit1rarr 0

1 rarr0

0 rarr1or

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 121

「DIP概論」- IP Testing

Case 1 Faults are present at PIsab

c

f

cb0cb1f0fda

xdfaa +=++bull=oplus= )(1)()()(

The set of all tests for a s-a-1 is (a b c) | a(b + c) = (0 1 x) (0 x 1)The set of all tests for a s-a-0 is (a b c) | a(b + c) = (1 1 x) (1 x 1)

TG Using Boolean Difference (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 122

「DIP概論」- IP Testing

TG Using Boolean Difference (22)Case 2 Faults are present at internal lines

ab

c

f

h = ab

caacac1f0fdh

xdfachf hh +=bull+bull=oplus=+= 11)()()(

The set of all tests for h s-a-1 is (a b c) | h(a + c) = (0 x x) (x 0 0)The set of all tests for h s-a-0 is (a b c) | h(a + c) = (1 1 0)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 123

「DIP概論」- IP Testing

Controlling and Inversion Valuesbull The value c of an input is said to be controlling

if it determines the value of the gate output regardless of the values of the other inputs then the output value is c oplus i where i for the inversion

bull The basic gates can be characterized by the two parametersndash The controlling value cndash The inversion value i

c iAND 0 0OR 1 0NAND 0 1NOR 1 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 124

「DIP概論」- IP Testing

Composite Logic Values and Operations

vvf symbol

00 0

11 1

10 D

01 D

AND 0 1 D0 0

DD0x

1DDx

00000

D x0 0

D0Dx

10xxx

DDx x

OR 0 1 D1 D

1D1x

1111

01DDx

D x0 D

11Dx

1x1xx

DDx x

5-valued operations

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 125

「DIP概論」- IP Testing

Line Justification (LJ)bull Set PIs to some values such that the specific

line has the predetermined value ab

c

f

10 = D

0

1

1

0

s-a-0D

h

ndash Eg Set both a and b to 1 h has the desired value 1 to activate the fault s-a-0 additionally set c to 0 the fault effect will be propagated to f

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 126

「DIP概論」- IP Testing

Justify(l val)Justify(l val)beginset l to valif l is a PI then returnc = controlling value of li = inversion of linval = val oplus i

if(inval = c)then for every input j of l

Justify(j inval)else

beginselect one input j of lJustify(j inval)

endend

Line justification for a fanout-free circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 127

「DIP概論」- IP Testing

TG from Circuit Structure

bull Two basic goalsndash Fault activation (FA)ndash Fault propagation (FP)

rArrLine justification (LJ)

ab

c

f

10 = D larr fault activation (FA)

0 larr fault propagation (FP)

1

1

0

s-a-0D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 128

「DIP概論」- IP Testing

TG for l s-a-vTG(l v)begin

set all values to xJustify(l v) FA if v = 0 then Propagate(l D) FP else Propagate(l D)

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 129

「DIP概論」- IP Testing

Propagate(l err)Propagate(l err) err is D or D beginset l to errif l is PO then returnk = the fanout of l c = controlling value of ki = inversion of kfor every input j of k other than lJustify(j c)

Propagate(k err oplus i)end

Error propagation for a fanout-free circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 130

「DIP概論」- IP Testing

Implication

bull Compute the values that can be uniquelydetermined and check for their consistency with the previously determined ones

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 131

「DIP概論」- IP Testing

Decision Trees

bull Decision Treesndash Consist of decision nodes for problems that the

algorithm is attempting to solvendash A branch leaving a decision node corresponds

to a decisionndash A SUCCESS terminal node labeled S

represents finding a test ndash A FAILURE terminal node labeled F

indicates the detection of an inconsistency

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 132

「DIP概論」- IP Testing

Backtracking

bull A systematic exploration of the complete space of possible solutions and recovery from incorrect decisions recovery involves restoring the state of the computation to the state existing before the incorrect decision

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 133

「DIP概論」- IP Testing

Backtracking of Incorrect Decisions

0xxx

ad

d = 0

F F

a = 0 a = 1b = 0

a = 1b = 1c = 0

bc

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 134

「DIP概論」- IP Testing

bull A FA problem is a LJ problembull A FP problem

ndash Select a FP path to a PO rArr decisionsndash Once the FP path is selected rArr a set of LJ

problemsbull A LJ problem is an either implication or

decision problem

Common Concepts of Structural TG (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 135

「DIP概論」- IP Testing

Common Concepts of Structural TG (22)

bull Incorrect decision(inconsistency) rArr Backtrack and make another decisions

bull Once the fault effect is propagated to a PO and all lines to be justified are justified the test pattern is generated otherwise the decision process is repeatedly until all possible decisions have been tried

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 136

「DIP概論」- IP Testing

A Simple Example of TG (12)

s-a-1

abc

d

e

G2

G1

G3

G5

G4

G6

f1

f2

bull FA rArr G1 = D rArr a = 1 b = 1 c = 1 rArr G2 = 0 (rArr G5 = 0) G3 = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 137

「DIP概論」- IP Testing

A Simple Example of TG (22)bull FP through G5 or G6 (the last page)

ndash Decision through G5rArr G2 = 1 inconsistency rArr backtracking

ndash Decision through G6rArr G4 = 1 rArr e = 0 rArr SUCCESS

rArrThe resulted test pattern is 111x0 G5 G6

F S

G5 G6

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 138

「DIP概論」- IP Testing

Advanced Example (14)

s-a-1

ab

cd

efh

k

l

mno

p

q

r s

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 139

「DIP概論」- IP Testing

Advanced Example (24)

bull FA rArr h = D

bull FPrArr e = 1(rArr o = 0) f = 1 rArr q = 1 r = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 140

「DIP概論」- IP Testing

Advanced Example (34)rArr Justify q = 1 rArr l = 1 or k = 1

ndash Decision l = 1rArr c = 1 d = 1 rArr m = 0 n = 0 rArr r = 0rArr inconsistency rArr backtracking

ndash Decision k = 1rArr a = 1 b = 1

rArr Justify r = 1 rArr m = 1 or n = 1rarr Decision m = 1

rArr c = 0 rArr SUCCESSrarr Decision n = 1

rArr d = 0 rArr SUCCESS

rArrThe resulted test is pattern 110x110 or 11x0110

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 141

「DIP概論」- IP Testing

Advanced Example (44)

q = 1

F

l = 1 l = 0 k = 1

r = 1

S

m = 1

S

n = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 142

「DIP概論」- IP Testing

A Generic TG AlgorithmSolve( )beginif Imply_and_check( ) = FAILUREthen return FAILURE

if(error at PO and all lines are justified)then return SUCCESS

if(no error can be propagated to a PO)then return FAILURE

select an unsolved problemrepeat

begin backtracking select one untried way to solve itif solve( ) = SUCCESS then

return SUCCESSend

until all ways to solve it have been triedreturn FAILURE

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 143

「DIP概論」- IP Testing

D-frontier And J-frontier

bull D-frontierndash The set of all gates whose output value is

currently x but have one or more fault signals on their inputs

bull J-frontierndash The set of all gates whose output value is

known but is not implied by their input values

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 144

「DIP概論」- IP Testing

Example of D-frontier

bull Initially the D-frontier is G6

s-a-1

abc

d

e

G2

G1

G3

G5

G4

G6

f1

f2

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 145

「DIP概論」- IP Testing

Example of J-frontierbull Initially the J-frontier is q = 1 r = 1

s-a-1

ab

cd

efh

k

l

mno

p

q

r s

1

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 146

「DIP概論」- IP Testing

LocalGlobal Implication

bull Local implicationndash Propagate values from one line to its immediate

inputs or outputsbull Global implication

ndash Propagation of values involves a larger area of the circuit and reconvergent fanout

bull Case analysis the SOCRATES system

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 147

「DIP概論」- IP Testing

Local Implication (Backward)

larr 1x

x

larr 0x

1

larr 0x

xlarr 1

x

x

Before

J-frontier = hellip

After1larr 1

larr 1

0larr 0

1

0x

xJ-frontier = hellip a

11

1 rarr

a

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 148

「DIP概論」- IP Testing

Local Implication (Forward) (12)bull Binary values

x

Before0 rarr x

1

x

0 rarr

x

0a

1 rarr

1 rarr

x

0a

D

1 rarr

xa

D

0 rarr

xa

J-frontier = hellip a

J-frontier = hellip a

D-frontier = hellip a

D-frontier = hellip a

x

After0

10

x

0

1

1

larr 0

0

D

1 aD

0 a

J-frontier = hellip

J-frontier = hellip

D-frontier = hellip

D-frontier = hellip

0 rarr

1 rarr

D rarr

0 rarr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 149

「DIP概論」- IP Testing

Local Implication (Forward) (22)bull Error values

Before After

x

x1D

D-frontier = hellip a

x

1

D-frontier = hellipa a

D rarr x

Dx a D-frontier = hellip a

D rarr D rarr

D rarrx D

DD rarr

D

DD-frontier = hellip a D-frontier = hellip

aD rarrx D

D0 rarr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 150

「DIP概論」- IP Testing

Unique D-drive

Before

xx a D-frontier = hellip aD

After

D rarr

larr 1D-frontier = hellip

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 151

「DIP概論」- IP Testing

x-path

bull A path is said to be a x-path if all its lines have value x

[Theorem 4-1] Let G be a gate on D-frontier The error(s) on the input(s) of G can be propagated to a PO Z if there exists at least one x-path between G and Z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 152

「DIP概論」- IP Testing

Error-Propagation Look-Ahead (12)

DD

x

x x

x

x

00

11

bull By Theorem 4-1 none of the fault effects can be observed on any POs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 153

「DIP概論」- IP Testing

Error-Propagation Look-Ahead (22)

bull Using the error-propagation look-ahead technique we may prune the decision tree by recognizing states from which any further decisions will lead to a failure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 154

「DIP概論」- IP Testing

D-Algorithm

bull FP is always given priority over LJbull Propagate fault effects on several

reconvergent paths referred to as ldquomultiple-path sensitizationrdquondash Some faults cannot be detected by sensitizing

only a single path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 155

「DIP概論」- IP Testing

The D-algorithm Implementation (12)D-alg( )begin Implicationsif Imply_and_check( ) = FAILURE

then return FAILURE

if(error not at PO) thenbeginif D-frontier = empty

then return FAILURE

repeat beginselect an untried gate G from

D-frontier Decisionsc = controlling value of Gassign c to every input of G with

value xif D-alg( ) = SUCCESS

then return SUCCESSend

until all gates from D-frontier have been tried

return FAILUREend if (error not at PO)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 156

「DIP概論」- IP Testing

if J-frontier = emptythen return SUCCESS

select a gate G from the J-frontierc = controlling value of G

repeat begin Decisionsselect an input j of G with value xassign c to jif D-alg( ) = SUCCESS

then return SUCCESSassign c to j

end

until all inputs of G are specifiedreturn FAILURE

end D-alg

The D-algorithm Implementation (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 157

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

Example of D-Algorithm (0113)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 158

「DIP概論」- IP Testing

Example of D-Algorithm (0213)bull Value computation (16)

Decisions Implications Commentsa = 0 Fault activationh = 1b = 1 Unique D-driven through gc = 1g = D D-frontier = i k m

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 159

「DIP概論」- IP Testing

Example of D-Algorithm (0313)bull Value computation (26)

Decisions Implications Commentsd = 1 Fault propagation through i

Propagate fault effects on i = Dd = 0

a single path D-frontier = k m n

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 160

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

Example of D-Algorithm (0413)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 161

「DIP概論」- IP Testing

bull Value computation (36)Decisions Implications Comments

j = 1 Fault propagation through nk = 1 Propagate fault effects onl = 1 a single path m = 1

n = De = 0e = 1k = D Contradiction

Example of D-Algorithm (0513)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 162

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

01

DContradiction

Example of D-Algorithm (0613)

D

1

11

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 163

「DIP概論」- IP Testing

bull Value computation (46)Decisions Implications Comments

e = 1 Fault propagation through kk = D Propagate fault effects on e = 0 two paths j = 1 D-frontier = m n

Example of D-Algorithm (0713)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 164

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

D

10 1

Example of D-Algorithm (0813)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 165

「DIP概論」- IP Testing

bull Value computation (56)Decisions Implications Comments

l = 1 Fault propagation through nm = 1 Propagate fault effects on

n= D two reconvergent paths f = 0

f = 1

m =D Contradiction

Example of D-Algorithm (0913)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 166

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

D

10 1

01

D

Contradiction

Example of D-Algorithm (1013)

D

1

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 167

「DIP概論」- IP Testing

bull Value computation (66)Decisions Implications Comments

f = 1 Fault propagation through mm = D Propagate fault effects onf = 0 three paths l = 1n= D Fault effects on POrsquos

Example of D-Algorithm (1113)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 168

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

D

10 1

10

D

1

D

Example of D-Algorithm (1213)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 169

「DIP概論」- IP Testing

bull Decision treendash Nodes the associated D-frontierndash Branches the taken decision ie the gate selected from the

D-frontieri k m

k m n

m nF

F S

i

n k

n m

Two times of backtracking

Example of D-Algorithm (1313)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 170

「DIP概論」- IP Testing

Partial Specification of The x Valuebull For a ldquototally unspecifiedrdquo composite value x

both v and vf are unknownndash x for 0 1 D D

bull For a ldquopartially specifiedrdquo composite value x v is binary and vf is unknown(u) vice versandash 0u for 0 D ndash 1u for D 1ndash u0 for 0 Dndash u1 for D 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 171

「DIP概論」- IP Testing

9-V Algorithmbull Similar to D-algorithm except that the

considered logic values are 0 1 D D 0u 1u u0 u1 uu (9-value)

bull Drive a D(D) through a gate G with controlling value c the values it assigns to the unspecified inputs of G correspond to the set c D(c D)

bull ub or bu (b is binary) at a PI is immediately transformed to bb

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 172

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

Example of 9-V Algorithm (17)

u1

u1

u1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 173

「DIP概論」- IP Testing

Example of 9-V Algorithm (27)

Decisions Implications Commentsa = 0 Fault activationh = 1b = 1 Unique D-driven through gc = 1g = Di = u1k = u1m = u1 D-frontier = i k m

bullV

alue computation (13)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 174

「DIP概論」- IP Testing

Example of 9-V Algorithm (37)

Decisions Implications Commentsd = 1 Fault propagation through i

i = Dd = 0

n = 1u D-frontier = k m n

bullV

alue computation (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 175

「DIP概論」- IP Testing

Example of 9-V Algorithm (47)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

u1

1

0

D

1u

u1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 176

「DIP概論」- IP Testing

Example of 9-V Algorithm (57)

bullV

alue computation (33)

Decisions Implications Commentsl = u1 Fault propagation through nj = u1

n = Df = u0f = 1f = 0

e = u0

e = 1e = 0k = D

m = D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 177

「DIP概論」- IP Testing

0

1D

Example of 9-V Algorithm (67)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

u1

u1

1

0

D

D0

1D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 178

「DIP概論」- IP Testing

Example of 9-V Algorithm (77)bull Decision tree

ndash Nodes the associated D-frontierndash Branches the taken decision ie the gate selected from the

D-frontier

i k m

k m n

S

i

n

No backtracking

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 179

「DIP概論」- IP Testing

D-Algorithm vs 9-V Algorithm

bull Whenever there are k possible paths for FPndash D-algorithm may eventually try all the 2k-1

combinations of pathsndash 9-V algorithm tries only one path at a time but

without precluding simultaneous FP on the other k-1 paths

bull Enumerate at most k ways of FP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 180

「DIP概論」- IP Testing

Inversion Parity

bull In circuits composed only of AND OR NAND NOR and NOT gates we can define the ldquoinversion parityrdquo of a path as the number taken modulo 2 of the inverting gates (NAND NOR and NOT) along that path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 181

「DIP概論」- IP Testing

Path-Oriented DEcision Making (PODEM)bull PODEM allows the value assignments for LJ

problems only on PIs ie backtracking can occur only on PIs ndash Treat a value vk to be justified for line k as an

objective (k vk)ndash Use the backtracing procedure to map the object

into a PI assignment that ldquois likely to contributerdquo to achieve the objective

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 182

「DIP概論」- IP Testing

BacktracingObjective (k vk)Step 1 Find a x-path from line k to a PI say aStep 2 Count the inversion parity of the pathStep 3 If the inversion parity is even then

return (a vk) otherwise (a vk)

Note No non-PI values are assigned during backtracing ie these values are assigned only by simulating PI assignments (implications)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 183

「DIP概論」- IP Testing

The Backtracing ImplementationBacktrace(k vk) map objective into PI assignment beginv = vk

while k is a gate output begin

i = inversion of kselect an input j of k with value xv = v oplus ik = j

endreturn (k v) k is a PI

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 184

「DIP概論」- IP Testing

Example of Backtracing ProcedureObjective (f 1)

fd

e

ca

bx

x

x

xxx

fd

e

ca

bx

1

x

10x

The first time of backtracing

fd

e

ca

bx

1

x1

0x

fd

e

ca

b1

1

0

101

The second time of backtracing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 185

「DIP概論」- IP Testing

Choosing of Objectives (12)

bull In PODEM the order of the objectives being considered is as follows1 The objectives for FA2 Repeatedly select a gate G from the D-frontier

(until some fault effect is at a PO or the D-frontier is empty) and consider the input with x value as an objective

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 186

「DIP概論」- IP Testing

Choosing of Objectives (22)

Objective( )being

the target fault is l s-a-v if (the value of l is x) then return (l v)select a gate G from the D-frontierselect an input j of G with value xc = controlling value of G return (j c)

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 187

「DIP概論」- IP Testing

The PODEM ImplementationPODEM( ) beginif (error at PO) then return SUCCESSif (test not possible) then return FAILURE(k vk) = Objective( )(j vj) = Backtrace(k vk) j is a PI Imply(j vj)if PODEM( ) = SUCCESS then return SUCCESSImply(j vj) reverse decision if PODEM( ) = SUCCESS then return SUCCESSImply(j x)return FAILURE

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 188

「DIP概論」- IP Testing

Example 1 of PODEM (18)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

D

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 189

「DIP概論」- IP Testing

Example 1 of PODEM (28)bull Value computation (13)

Objective PI Assignment Implications D-frontier Comments

(a 0) a = 0 h = 1 g

(b 1) b = 1 g(c 1) c = 1 g = D i k m

(d 1) d = 1 d = 0

i = D k m n

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 190

「DIP概論」- IP Testing

Example 1 of PODEM (38)bull Value computation (23)Objective PI Assignment Implications D-frontier Comments

(k 1) e = 0 e = 1j =0

k =1n = 1 m x-path check fails

e = 1 e = 0 reversal

j = 1k = D m n

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 191

「DIP概論」- IP Testing

Example 1 of PODEM (48)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

00

1

D

D

11

x-path(to PO)check failsrArr Backtracking

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 192

「DIP概論」- IP Testing

Example 1 of PODEM (58)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

11

0

D

D

1D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 193

「DIP概論」- IP Testing

Example 1 of PODEM (68)bull Value computation (33)Objective PI Assignment Implications D-frontier Comments

(l 1) f = 1 f = 0l = 1

m = Dn = D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 194

「DIP概論」- IP Testing

Example 1 of PODEM (78)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

11

0

D

D

11 0

D

D

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 195

「DIP概論」- IP Testing

Example 1 of PODEM (88)bull Decision tree

ndash Nodes the PIs selected to be assigned valuesndash Branches the value assigned to the PI

a0b1

c1d1

e0F f1

S

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 196

「DIP概論」- IP Testing

Features of PODEMbull PODEM examines all possible input

patterns implicitly but exhaustively as tests for a given fault ie a complete TG

bull PODEM does not needndash Consistency checkndash The J-frontierndash Backward implications

bull Generally faster than D-algorithm

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 197

「DIP概論」- IP Testing

A More Intelligent Backtracing (12)bull To guide the backtracing process of PODEM

controllability for each line is measuredndash CY1(a) the probability that line a has a value 1ndash CY0(a) the probability that line a has a value 0

bull Eg f = ab assume CY1(a) = CY0(a) = CY1(b) = CY0(b) = 05ndash CY1(f) = CY1(a) CY1(b) = 025ndash CY0(f) = 1 - CY1(f) = 075

ab f

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 198

「DIP概論」- IP Testing

bull How to guide the backtracing process using controllabilityndash Principle 1 Among several unsolved problems first

attack the hardest onendash Principle 2 Among several solutions of a problem

first try to the easiest onebull Eg

ndash Objective (c 1) rArr Choose path c-a to backtracendash Objective (c 0) rArr Choose path c-a to backtrace

A More Intelligent Backtracing (22)

ab c

CY1(a) = 033 CY0(a) = 067CY1(b) = 05 CY0(b) = 05

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 199

「DIP概論」- IP Testing

Example 2 of PODEM (14)Initial objective(G5 1)G5 is an AND gate Choose the hardest-1rArr Current objective is (G1 1)G1 is an AND gate Choose the hardest-1 rArr Arbitrarily current objective is (A 1)A is a PI Implication rArr G3 = 0

Ps Initially CY1 and CY0 for all PIs are set to 05

C1(G1) = 025

C1(G1) = 0656

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 200

「DIP概論」- IP Testing

Example 2 of PODEM (24)Is the initial objective justified No rArr Current objective (G5 1)G5 is an AND gate Choose the hardest-1rArr Current objective is (G1 1)G1 is an AND gate rArr Choose the hardest-1 rArr Arbitrarily current objective is (B 1)B is a PI rArr Implication rArr G1 = 1 G6 = 0

C1(G1) = 025

C1(G1) = 0656

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 201

「DIP概論」- IP Testing

Example 2 of PODEM (34)Is the initial objective justified No rArr Current objective (G5 1)The value of G1 is known rArr Current objective (G4 0)The value of G3 is known rArr Current objective(G2 0)A B are known rArr Current objective (C 0)C is a PI rArr Implication rArr G2 = 0 G4 = 0 G5 = D G7 = D

C1(G1) = 025

C1(G1) = 0656

No backtracking

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 202

「DIP概論」- IP Testing

Example 2 of PODEM (44)

bull If the backtracing process is not guided ndash Two times of backtracking may occur

G5rarr G4rarr G2rarr A

G5rarr G4rarr G2rarr B

G5rarr G4rarr G2rarr C

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 203

「DIP概論」- IP Testing

Head Lines

bull A line that is reachable from at least one stem is said to be bound otherwise free

bull A head line is a free line that directly feeds a bound line

head linesbound

DE

ABC

F

G

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 204

「DIP概論」- IP Testing

The Property of Head Lines[Theorem 4-2] If l is a head line the value of l can be justified without contradicting any other values previously assignedHintThe subcircuit feeding l is fanout-free

head linesbound

DE

ABC

F

G

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 205

「DIP概論」- IP Testing

Fanout-Oriented (FAN) Algorithmbull The FAN algorithm introduces two major

extensions to the backtracing concept of PODEMndash Rather than stopping at PIs backtracing in

FAN may stop at internal lines ie head lines ndash Rather than trying to satisfy one objective

FAN use a multiple-backtrace procedure that attempts to simultaneously satisfy a set of objectives

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 206

「DIP概論」- IP Testing

FAN vs PODEM

head linesbound

DE

ABC

F

G

Assume that setting G = 0 causes the D-frontier to become empty

A1B0

F C0F

1

1

G0F

1

PODEM FAN

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 207

「DIP概論」- IP Testing

Multiple Backtracing (13)Mbacktrace(Current_objectives)beginrepeat

beginremove one entry (k vk) from

Current_objectivesif k is a head line

then add (k vk) to Head_objectiveselse if k is a fanout branch

thenbegin

j = stem(k)increment number of requests at

j for vk

add j to Stem_objectivesend else if k is a fanout branch

else continue tracingbegin

i = inversion of kc = controlling value of k

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 208

「DIP概論」- IP Testing

Multiple Backtracing (23)

if(vkoplus i = c) then

beginselect an input j of k with

value xadd (j c) to

Current_objectivesend if(vkoplus i = c)

elsefor every input j of k with

value x

add (j c) to Current_objectives

end continue tracingend

until Current_objectives = empty

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 209

「DIP概論」- IP Testing

Multiple Backtracing (33)

if Stem_objectives ne emptybeginremove the highest-level stem k from

Stem_objectives

vk = most requested value of k

if(k has contradictory requirements and k is not reachable from target fault)

then return (k vk)add (k vk) to Current_objectivesreturn

Mbacktrace(Current_objectives)end if Stem_objectives ne empty

remove one objective (k vk) from Head_objectivesreturn (k vk)

end Mbacktrace

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 210

「DIP概論」- IP Testing

Generation of Conflicting Values on A Stem

0

1

0

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 211

「DIP概論」- IP Testing

Example of Multiple Backtracing (12)

AB

A1

A2E

E1

E2

G

H

I

JC

1

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 212

「DIP概論」- IP Testing

Example of Multiple Backtracing (22)

(I 1 ) (J 0 ) (I 1 )

(J 0 ) (G 0 ) (J 0 )

(G 0 ) (H 1 ) (G 0 )

(H 1 ) (A1 1 ) (E1 1) (H 1 )

(A1 1 ) (E1 1 ) (E2 1) (C 1) (A1 1 ) A(E1 1 ) (E2 1 ) (C 1 ) (E1 1 ) A E(E2 1 ) (C 1 ) (E2 1 ) A E(C 1) (C 1 ) A E C

A C(E 1 ) (E 1 ) A C(A2 0 ) (A2 1 ) A C

A C

Current_objectivesProcessed

entry Stem_objectives Head_objectives

empty

empty

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 213

「DIP概論」- IP Testing

The FAN Implementation (12)FAN( ) beginif Imply_and_check( ) =

FAILUREthen return FAILURE

if (error at PO and all bound lines are justified) then

beginjustify all unjustified head lines return SUCCESS

end

if(error not at PO and D-frontier = empty)then return FAILURE

add every unjustified bound lines to Current_objectivesselect one gate G from the D-frontier c = controlling value of Gfor every input j of G with value xadd (j c) to Current_objectives

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 214

「DIP概論」- IP Testing

The FAN Implementation (22)(i vi) = Mbackrace(Current_objectives)Assign(i vi)if FAN( ) = SUCCESSthen return SUCCESS

Assign(i vi) reverse decisionif FAN( ) = SUCCESSthen return SUCCESS

Assign(i x)return FAILURE

End FAN( )

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 215

「DIP概論」- IP Testing

ATPG (12)

bull Basic schemeinitialize the test set to NULLrepeat

generate a new test vectorevaluate fault coverage for the test vectorif the test vector is acceptable then add it to the test set

until the required fault coverage is obtained

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 216

「DIP概論」- IP Testing

ATPG (22)

bull Accelerationndash Phase I Random test patterns are generated

first to detect easy-to-detect faultsndash Phase II A deterministic TG is then performed

to generate test patterns for the remaining faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 217

「DIP概論」- IP Testing

Sequential TG

bull For circuits with unknown initial statesndash Time-frame expansion based

bull Extended D-algorithmbull 9-V sequential TG

ndash Simulation basedbull CONTEST [Agrawal and Cheng IEEE TCAD Feb

1989]

bull For circuits with known initial statesndash STALLION [Ma et al IEEE TCAD Oct 1988]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 218

「DIP概論」- IP Testing

Iterative Logic Array (ILA) Model

bull Here the model is restricted to synchronous sequential circuits

initial states

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 219

「DIP概論」- IP Testing

Extended D-algorithm1 Pick up a target fault f2 Create a copy of the combinational logic say Time-

frame 03 Generate a test pattern for f using D-algorithm for

time-frame 04 If all the fault effects are propagated into the FFrsquos

continue the fault propagation in the next time-frame5 If there are values required to be justified in the

FFrsquos continue the line justification (LJ) in the previous time-frame

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 220

「DIP概論」- IP Testing

I

OY1

Y2y1

y2 s-a-1

FF2

FF1

Example of Extended D-algorithm (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 221

「DIP概論」- IP Testing

Example of Extended D-algorithm (22)

OY1

Y2

I

y1

y2 s-a-1

time-frame 00

1

D

I

OY1

Y2

y1

y2 s-a-1

time-frame 1

1D

I

y1

y2 s-a-1

time-frame -1

0

0

Y1

Y2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 222

「DIP概論」- IP Testing

9-V Sequential TG

bull Extended D-algorithm is not completebull If 9-V instead of 5-V is used it will be a

complete algorithmndash Since it takes into account the possible repeated

effects of the fault in the ILA model

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 223

「DIP概論」- IP Testing

Example of 9-V Sequential TG (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 224

「DIP概論」- IP Testing

Example of 9-V Sequential TG (22)bull If 5-V Sequential TG is usedhelliphellip

D D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 225

「DIP概論」- IP Testing

Problems of Time-frame Approachesbull The requirements created during the

forward process (FP) have to be justified (LJ) by the backward processes laterndash Need going both forward and backward time

framesndash Need to maintain a large number of time-

framesbull How many Cyclesbull Implementation is complicated

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 226

「DIP概論」- IP Testing

Simulation-Based Approaches

bull Advantagesndash Timing is considered and asynchronous circuits

can be handledndash Can be easily implemented by modifying a

fault simulatorbull Disadvantages

ndash Can not identify undetectable faultsndash Hard-to-activate faults may not be detected

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 227

「DIP概論」- IP Testing

Difficulties of Sequential Test Generation

bull Initialization is difficultndash Justify invalid statesndash Long initialization sequences (simulator

limitations)bull Timing cannot be considered by time-frame

expansionsndash Races and hazardsndash Asynchronous circuits cannot be handled

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 228

「DIP概論」- IP Testing

Why FC of 100 Is Hard

bull If each undetected fault is redundant then FC will easily reach at 100ndash Proving that the undetected fault is a redundant

fault may be very and very hardbull How to increase FC

faultsredundant the-list fault of size thefaultsredundant the-fault undetected of size the-1

faultsredundant the-list fault of size thefaults detected the

=

=FC

Chapter 5

Design for Testability (DFT)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 230

「DIP概論」- IP Testing

Motivation bull Test costs

ndash Test Generation (TG)ndash Fault Simulationndash Test Application Timendash Memory spacendash helliphellip

bull Test difficultiesndash Sequential gt Combinationalndash helliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 231

「DIP概論」- IP Testing

Testability Measures

bull Controllabilityndash The difficulty of setting a particular logic signal

to a 0 or 1bull Observability

ndash The difficulty of observing the state of a logic signal

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 232

「DIP概論」- IP Testing

SCOAPbull Sandia ControllabilityObservability

Analysis Program [Goldstein 1979]bull Use six cost functions of type integer to

reflect the relative difficulties of controlling and observing signals in digital circuitsndash Higher numbers indicate more difficult to

control or observe signals

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 233

「DIP概論」- IP Testing

Combinational SCOAP Measures

bull For signal lndash CC0(l)

bull The combinational ldquorelative difficultyrdquo of setting l to 0

ndash CC1(l)bull The combinational ldquorelative difficultyrdquo of setting l to 1

ndash CO(l)bull The combinational ldquorelative difficultyrdquo of propagating

a fault effect from l to a PO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 234

「DIP概論」- IP Testing

bull For signal lndash SC0(l)

bull The sequential ldquorelative difficultyrdquo of setting l to 0

ndash SC1(l)bull The sequential ldquorelative difficultyrdquo of setting l to 1

ndash SO(l)bull The sequential ldquorelative difficultyrdquo of propagating a

fault effect from l to a PO

Sequential SCOAP Measures

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 235

「DIP概論」- IP Testing

Initialization

bull CC0(i) = CC1(i) = SC0(i) = SC1(i) = 1 for all PI ibull CO(o) = SO(o) = 0 for all PO obull Set others to infin

The controllabilities range between 1 and infin

The observabilities range between 0 and infin

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 236

「DIP概論」- IP Testing

Controllability of Combinational Components (12)

bull CC0(z) = CC0(a) + CC0(b) + 1bull CC1(z) = minCC1(a) CC1(b) + 1bull SC0(z) = SC0(a) + SC0(b)bull SC1(z) = minSC1(a) SC1(b)

ab z

CC0 or CC1 are related to the number of signals that may be manipulated to control SC0 or SC1 are related to the number of time-frames needed to control

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 237

「DIP概論」- IP Testing

Controllability of Combinational Components (22)ab

ab

abab

ab

ab

z

z

z

z

z

z

CC0(z) = minCC0(a) CC0(b) + 1CC1(z) = CC1(a) + CC1(b) + 1

CC0(z) = CC1(a) + CC1(b) + 1CC1(z) = minCC0(a) CC0(b) + 1CC0(z) = CC0(a) + CC0(b) + 1CC1(z) = minCC1(a) CC1(b) + 1CC0(z) = minCC1(a) CC1(b) + 1CC1(z) = CC0(a) + CC0(b) + 1

CC0(z) = minCC1(a) + CC1(b) CC0(a) + CC0(b) + 1CC1(z) = minCC0(a) + CC1(b) CC1(a) + CC0(b) + 1

CC0(z) = minCC0(a) + CC1(b) CC1(a) + CC0(b) + 1CC1(z) = minCC1(a) + CC1(b) CC0(a) + CC0(b) + 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 238

「DIP概論」- IP Testing

Controllability of Sequential Components

bull CC0(Q) = minCC0(R) CC1(R) + CC0(D) + CC0(C) + CC1(C)bull CC1(Q) = CC1(R) + CC1(D) + CC0(C) + CC1(C)bull SC0(Q) = minSC0(R) SC1(R) + SC0(D) + SC0(C) + SC1(C) + 1bull SC1(Q) = SC1(R) + SC1(D) + SC0(C) + SC1(C) + 1

D

C

Q

R

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 239

「DIP概論」- IP Testing

Observability (12)

P

QR

N

bull CO(P) = CO(N) + CC1(Q) + CC1(R) + 1bull SO(P) = SO(N) + SC1(Q) + SC1(R)

D

C

Q

R bull CO(R) = CO(Q) + CC1(Q) + CC0(R)bull SO(R) = SO(Q) + SC1(Q) + SC0(R) + 1

CO are related to the number of signals that may be manipulated to observeSO are related to the number of time-frames needed to observe

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 240

「DIP概論」- IP Testing

Observability (22)ab

ab

abab

ab

ab

z

z

z

z

z

z

CO(a) = CO(z) + CC1(b) + 1CO(b) = CO(z) + CC1(a) + 1

CO(a) = CO(z) + CC1(b) + 1CO(b) = CO(z) + CC1(a) + 1

CO(a) = CO(z) + CC0(b) + 1CO(b) = CO(z) + CC0(a) + 1CO(a) = CO(z) + CC0(b) + 1CO(b) = CO(z) + CC0(a) + 1

CO(a) = CO(z) + minCC0(b) CC1(b) + 1CO(b) = CO(z) + minCC0(a) CC1(a) + 1CO(a) = CO(z) + minCC0(b) CC1(b) + 1CO(b) = CO(z) + minCC0(a) CC1(a) + 1

zz1z2

zn

CO(z) = minCO(z1) CO(zz) helliphellip CO(zn)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 241

「DIP概論」- IP Testing

Example of SCOAP (13)

1

23

4

5

6

PI3

PI2

PI1

PO

Note ( C0 C1 )

(11)

(11)

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11)

(11)

(11)

Computation of controllability (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 242

「DIP概論」- IP Testing

Example of SCOAP (23)

Note ( C0 C1 )

(11)

(11)

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11)

(11)

(11)

(22)

(22)

(23)

(35)

(27)

(54)

Note ( C0 C1 ) O

(11)

(11)

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11)

(11)

(11)

(22)

(22)

(23)

(35)

(27)

(54) 0

Computation of controllability (22)

Computation of observability (13)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 243

「DIP概論」- IP Testing

Example of SCOAP (33)

Note ( C0 C1 ) O

(11) 5

(11) 5

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11) 9

(11) 9

(11) 9

(22) 8

(22) 8

(23) 3

(35) 5

(27) 3

(54) 0

Note ( C0 C1 ) O

(11) 5

(11) 5

1

23

4

5

6

PI3

PI2

PI1

PO

(11) 5

(11) 5

(11) 9

(11) 9

(11) 9

(22) 8

(22) 8

(23) 3

(35) 5

(27) 3

(54) 0

Computation of observability (23)

Computation of observability (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 244

「DIP概論」- IP Testing

Importance of Testability Measures

bull Speed up test generation (TG) algorithmsbull Improve the testability of the circuit under

design ndash Guide the design for testability (DFT) insertion

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 245

「DIP概論」- IP Testing

Design for Testability (DFT)

bull DFT techniquesndash Design efforts specifically employed to ensure

that a circuit is testablebull In general DFT is achieved by employing

extra hardware overheadndash Conflict between design and test engineersndash Balance between amount of DFT and gain

achieved

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 246

「DIP概論」- IP Testing

Benefits of DFTbull Fault coverage uarr (must guarantee) bull Test generation time darrbull Test lengthTest memoryTest application time darrbull Support a test hierarchy

ndash Chipsndash Boardsndash Systems

rArrPay less now and pay more latter without DFT

FC100

with DFT

of T

without DFT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 247

「DIP概論」- IP Testing

Costs Associated with DFT

bull Pin overhead uarrbull Area uarrbull Yield darrbull Performance darrbull Design time uarr

rArrThere is no free lunch

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 248

「DIP概論」- IP Testing

DFT Techniques

bull Ad hoc DFT techniquesbull Scan-based designsbull Boundary scan

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 249

「DIP概論」- IP Testing

Ad Hoc DFT Techniquesbull Test pointsbull Initializationbull Monostable multivibrators (one-shots)bull Oscillators and clocksbull Partitioning counters and shift registersbull Partitioning of large combinational circuitsbull Logic redundancybull Break global feedback paths

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 250

「DIP概論」- IP Testing

Test Pointsbull Insert test points control points (CPs) and

observation points (OPs) to enhance controllability and observability

C1 C2 C1 C2

jumper

CPOP

original circuits testable circuits

Can be done only for boards

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 251

「DIP概論」- IP Testing

01-Injection

CP1

C1

CP0

C2

01-injection

C1C2

CP00-injection 1-injection

C1C2

CP1

OP OP

OP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 252

「DIP概論」- IP Testing

01-Injection Using a MUX

NT

C1

CP C2

01-injection

MUX

0

1

OP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 253

「DIP概論」- IP Testing

IO-Pin Cost Decrement (12)

01

2n-11 2 n

X1 X2 Xn

Z

CP1CP2

CPN

DEMUX

N = 2n

Using a demultiplexer and a latchregister to implement CPs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 254

「DIP概論」- IP Testing

IO-Pin Cost Decrement (22)

01

2n-11 2 n

X1 X2 Xn

Z

OP1OP2

OPN

MUX

N = 2n

Multiplexing OPs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 255

「DIP概論」- IP Testing

Time-Sharing IO Pins (12)

PIs DEMUX

normal functional

inputsn

n

n nCPs

0

1

NT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 256

「DIP概論」- IP Testing

Time-Sharing IO Pins (22)

OPs

DEMUX

normal functional

outputs

n

n

nPOs

0

1

NT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 257

「DIP概論」- IP Testing

Selection of CPs (12)

bull Control address and data bus lines on bus-structured designs

bull Enablehold inputs to microprocessorsbull Enable and readwrite inputs to memory

devicesbull Clock and presetclear inputs to memory

devices such as flip-flops counter and shift registers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 258

「DIP概論」- IP Testing

Selection of CPs (22)

bull Data select inputs to multiplexers and demultiplexers

bull Control lines on tri-state devices

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 259

「DIP概論」- IP Testing

Selection of OPs (12)

bull Stem lines associated with signals having high fanout

bull Global feedback pathsbull Redundant signal linesbull Outputs of logic devices having many

inputs such as multiplexers and parity generators

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 260

「DIP概論」- IP Testing

Selection of OPs (22)

bull Outputs from state devices such as flip-flops counters and shift registers

bull Address control data buses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 261

「DIP概論」- IP Testing

Initialization (12)bull Design circuits to be easily initializable

ndash Donrsquot disable preset (PR) and clear (CLR) lines

PR

CLR

Vcc

Vcc

Q

Q

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 262

「DIP概論」- IP Testing

Initialization (22)bull When the preset or clear line is driven by

logic a gate can be added to achieve initialization

PR

CLR

Q

Q

C1

Clear

PR

CLR

Q

Q

C1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 263

「DIP概論」- IP Testing

Built-In Initialization Signal Generator

Vcc

t

VZ

Vcc

Z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 264

「DIP概論」- IP Testing

Monostable Multivibrators (One-Shots) (12)

bull Disable internal one-shots during test

C1C2

one-shotjumper

CPOP

jumper

OP CP

Can be done only for boards

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 265

「DIP概論」- IP Testing

Monostable Multivibrators (One-Shots) (22)

C1

C2

one-shotA

B

E (OP)

C

D

MUX

0

1

01-I

s

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 266

「DIP概論」- IP Testing

Oscillators And Clocksbull Disable internal oscillators and clocks

during test

OSCC

OP

AB

01-I

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 267

「DIP概論」- IP Testing

CountersShift Registers (12)bull Partition large counters and shift registers

into smaller units

DIN

CK

DOUTR1

DIN

CK

DOUTR2C

X1 X2

Y1 Y2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 268

「DIP概論」- IP Testing

CountersShift Registers (22)

CPdata inhibit

CPtest data

C

CPclock inhibitCPtest clock

DIN

CK

DOUT

R1

X1

Y1

CPdata inhibit

CPtest data

OP

DIN

CK

DOUT

R2

X2

Y2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 269

「DIP概論」- IP Testing

Partitioning Large Circuits (12)bull Partition large circuits into smaller

subcircuits to reduce test generation cost

C1 C2

AB

C

D

E

F G

m ns

p

q

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 270

「DIP概論」- IP Testing

Partitioning Large Circuits (22)

If 2p+n + 2q+m lt 2n+m then test time can be reduced

m

s

n

q

p

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 271

「DIP概論」- IP Testing

Logic Redundancy

bull Avoid the use of redundant logicndash Remove (for eliminating hazardshelliphellip)

bull Add test points to remove the redundancy during testing

bull Bias fault coverage

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 272

「DIP概論」- IP Testing

Global Feedback Pathsbull Provide logic to break global feedback

paths

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 273

「DIP概論」- IP Testing

Scan SystemPO

C

R

PI

C

Rrsquo

PI

Sin

Sout

PO

Original design Modified design

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 274

「DIP概論」- IP Testing

Scan Storage Cell (SSC)

DSi

N TCK

Q So

N T Q So

0 D1 Si

D QSSC

Symbol for a SSC

rArr A SSC can be used as control point (CP) andor observation point (OP)

SSC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 275

「DIP概論」- IP Testing

Simultaneous CO

C1 C2

MUX

0

1

T

D Q

CPOP

SiN T CK

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 276

「DIP概論」- IP Testing

Scan Register (SR) (12)

Sin

CK

N T

D1

Q

Q1 D2

Q

Q2 Dn

Q

Qn

DSi

N TCK

SoutSSC SSC

R

Symbol for a SR

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 277

「DIP概論」- IP Testing

Scan Register (SR) (22)

bull A scan register (SR) loads data in parallel when N T = 0 (normal mode) and shifts when N T = 1 (test mode)ndash Scan-in operation (test mode)

bull Load data into R from line Sin (control)

ndash Scan-out operation (test mode)bull Read data out of R from line Sout (observation)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 278

「DIP概論」- IP Testing

Generic Scan-Based Design

bull Full serial integrated scanbull Full isolated scanbull Nonserial scan

ndash Random-access scan

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 279

「DIP概論」- IP Testing

Full Serial Integrated Scan (12)

bull All the original storage cells are replaced by the SSCrsquos and made part of the SR

bull Sequential ATPG rarr Combinational ATPG

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 280

「DIP概論」- IP Testing

C

R

PI PO

CK

C

Rs

PI PO

CKNT Sin

Sout

Original design (Normal) Modified design (Scanned)

Full Serial Integrated Scan (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 281

「DIP概論」- IP Testing

Full Isolated Scan (12)bull The SR is not in the the normal data path

C

Rrsquo

Rs

PI PO

Sin Sout

two data input ports

shadow register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 282

「DIP概論」- IP Testing

Full Isolated Scan (22)bull Advantages

ndash Real-time testingbull A single test can be applied at the operational clock

rate of the system

ndash On-line testingbull The circuit can be tested while in normal operation

bull Disadvantagesndash Hardware overhead

bull Two data input portsbull Shadow register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 283

「DIP概論」- IP Testing

Random-Access Scan (12)C

addressable storage elements

clocks and controls

Y-address(decoder)

X-address(decoder)

Sout

SinSCK

PI PO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 284

「DIP概論」- IP Testing

Random-Access Scan (22)bull Advantages

ndash Scan in a new vector only bits that need be changed must be addressed and modified also selected bits can be observed

bull Full controllability and observability

bull Disadvantagesndash Hardware overhead

bull Considerable overhead associated with storing the addresses of the cells to be setread

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 285

「DIP概論」- IP Testing

IBM LSSD Scan Cellbull Level Sensitive Scan Design

D

Sin

Q2 Sout(L2)

Q1 (L1)

C

A

B

Normal mode A = 0 C and B activeTest mode C = 0 A and B active

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 286

「DIP概論」- IP Testing

Clock Schemebull To obtain race-free condition clocks C and

B as well as A and B are nonoverlapping

C

B

A

B

Normal mode A = 0

Test mode C = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 287

「DIP概論」- IP Testing

LSSD Double-Latch Design

Sout

Sin

CA

B

Shift Register Latch (SRL)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 288

「DIP概論」- IP Testing

LSSD Single-Latch Design

Sout

SinC2

Shift Register Latch (SRL)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 289

「DIP概論」- IP Testing

Scan Design Costsbull Hardware overheadbull Extra pinsbull High test timebull Extra slower clock controlsbull Possible performance degradationbull Some designs are not easily realizable as

scan designTest generation costs can be significantly reduced and lead to higher fault coverage

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 290

「DIP概論」- IP Testing

Notes

Chapter 6

Advanced Scan Concepts

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 292

「DIP概論」- IP Testing

Advanced Scan Concepts

bull Multiple test sessionsbull Multiple scan chainsbull Broadcast scan chainsbull Partial scan

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 293

「DIP概論」- IP Testing

Multiple Test Sessions (12)bull of test patterns

ndash C1 100 C2 200 C3 30020 bits 20 bits 20 bits

C1 C2 C3

Test time= 60 300= 18000 (cycles)

One session

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 294

「DIP概論」- IP Testing

Multiple Test Sessions (22)bull of test patterns

ndash C1 100 C2 200 C3 300

20 bits 20 bits 20 bits

C1 C2 C3

Test time= 60 100 +

40 100 +20 100

= 12000 (cycles)

Three sessions

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 295

「DIP概論」- IP Testing

Multiple Scan Chainsbull Reduce test application timebull Large pin overhead

ndash Usually test IO will share the normal IO

A single chain (long test time) Multiple chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 296

「DIP概論」- IP Testing

Broadcast Scan Chainsbull Using a single data input to support multiple

scan chains

Source Lee et al ICCADrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 297

「DIP概論」- IP Testing

Virtual Circuitsbull The inputs of circuits under test (CUTs) are

connected in a 1-to-1 manner

bull The whole virtual circuit is considered as one circuit during ATPG

bull The resulted test patterns can be shared by all CUTs Source Lee et al ICCADrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 298

「DIP概論」- IP Testing

Partial Scanbull Only a subset of flip-flops are scannedbull Trade-offs

ndash Area overheadndash TG complexity

partial scan

full scan

sequential TG

combinational TG

1000 (scanned FFrsquos)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 299

「DIP概論」- IP Testing

A Basic Method for Partial Scanbull Represent a sequential circuit with feedback

as a directed graph G = (V E)ndash Each flip-flop i is represented as vertex vi in V ndash Each combinational path from flip-flop i to j is

represented as a directed edge from vi to vj in E

Source Cheng and Agrawal IEEE TComputersrsquo90

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 300

「DIP概論」- IP Testing

Graph Representation (13)

3

1 2 4 5 6

A sequential circuit with 6 flip-flops

Graph representation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 301

「DIP概論」- IP Testing

Graph Representation (23)bull Distance between two vertices on a path is

defined as the number of vertices on that path

distance = 4

distance = 3

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 302

「DIP概論」- IP Testing

Graph Representation (33)bull Sequential depth of a circuit is defined as

the distance of the longest pathbull Cycle length is defined as the maximum

number of vertices in a cycle

Sequential depth = 6

Cycle length = 3 Cycle length = 1 Cycle length = 2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 303

「DIP概論」- IP Testing

Analysis of Sequential Circuits (13)

bull Any sequential circuit can be divided into 3 classes of subcircuits based on the directed graph representationndash Acyclic directed (testable)ndash Directed with only self-loops (testable)ndash Directed with cycles of two or more vertices

(not testable)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 304

「DIP概論」- IP Testing

Analysis of Sequential Circuits (23)

Directed with cycles of two or more vertices (not testable)

Acyclic directed (testable)

Directed with only self-loop (testable)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 305

「DIP概論」- IP Testing

Analysis of Sequential Circuits (33)

bull The number of gates or flip-flops is not the dominant factor for test generation complexity

bull Cycle length is the dominant factorndash To reduce test generation complexity cycles of

length ge 2 should be break or eliminatedbull Sequential depth is minor

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 306

「DIP概論」- IP Testing

Flip-Flop Selection Algorithm (12)

beginidentify all cyclesrepeat

for every vertex begincount the frequency of appearance in the cycle list

endselect the most frequently used vertexremove all cycles containing the selected vertex from the cycle listuntil cycle list is empty

end

bull Finding the vertex set that breaks all cycles called the feedback vertex set problem is NP-completendash Heuristics must be used to bound the computation time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 307

「DIP概論」- IP Testing

= 695

Flip-Flop Selection Algorithm (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 308

「DIP概論」- IP Testing

The BALLAST Methodology (13)bull Scan storage elements are selected such that

the remainder of circuit has some testable structurendash A complete test set can be obtained by using

combinational ATPGsequential TG

combinational TG

1000Source Gupta et al IEEE TComputersrsquo90

BALLAST

(scanned FFrsquos)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 309

「DIP概論」- IP Testing

The BALLAST Methodology (23)

Sout

Sin

HOLD(for test)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 310

「DIP概論」- IP Testing

bull Test procedure for a test pattern ndash Scan in the pattern to R3 and R6

ndash Hold the test pattern in R3 and R6 for two clock cycles such that the test response appears in R4and R5

ndash Load data to R3 and R6 and scan out

The BALLAST Methodology (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 311

「DIP概論」- IP Testing

Circuit Model (14)

bull Given a synchronous sequential circuit Sndash The combinational logic can be partitioned into

clouds where each cloud is a maximal region of connected combinational logic such that its inputs are either primary inputs or outputs of FFrsquos and its outputs are either primary outputs or inputs to FFrsquos

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 312

「DIP概論」- IP Testing

Circuit Model (24)bull A register

ndash Consists of one or more FFrsquos driven by the same clock signal

ndash Receives data from exactly one cloud and feeds exactly one cloud

bull Two typesndash Load set (L) always operates in LOAD modendash Hold set (H) two modes of operation ndash LOAD

and HOLD

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 313

「DIP概論」- IP Testing

Circuit Model (34)bull A directed graph G = (V A H W)

ndash V the set of cloudsndash A the set of connections between two clouds

through registersndash H sub A connections through HOLD registersndash W ArarrZ+ defines the number of FFrsquos in each

registersbull W(a) represent the cost of converting a register into

a scan register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 314

「DIP概論」- IP Testing

Circuit Model (44)

R3

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 315

「DIP概論」- IP Testing

Balanced Sequential Structurebull A synchronous sequential circuit S with G is said

to be a balanced sequential structure (B-structure) ifndash G is acyclic ndash forallv1 v2 isin V all directed paths from v1 to v2 are of equal

lengthndash forallh isin H if h is removed from G the resulted graph is

disconnectedbull When examining whether a circuit with scan

registers is a B-structure the arcs corresponding to scan registers must be removed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 316

「DIP概論」- IP Testing

Example of B-structure

Red arcs represent HOLD registersOthers represent LOAD registers

A B-structure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 317

「DIP概論」- IP Testing

Kernel of a B-Structure (13)bull Given a B-structure SB

ndash Combinational equivalent CB is defined as the combinational circuit formed by replacing each FF in every register in SB by a wire or an inverter

bull Single-pattern testablebull A complete single-pattern test set can be derived

using combinational test generation techniques

bull The depth d of SB

ndash The number of registers on the longest path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 318

「DIP概論」- IP Testing

Kernel of a B-Structure (23)B-structure SB (d = 2)

Combinational Equivalent CB

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 319

「DIP概論」- IP Testing

Kernel of a B-Structure (33)bull Given an input pattern I applied to SB define the

single-pattern output of SB for I as the steady-state output of SB when I is held constant at the inputs to SB and all its registers are operated in LOADmode for at least d clock cycles

bull Given some fault f in SB if the single-pattern outputs for I of the good and the faulty circuits are different then I is a single-pattern test for f

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 320

「DIP概論」- IP Testing

Outline of BALLAST1 Construct G = (V A H W)2 Remove a minimal cost set of arcs R to

construct SB

3 Determine CB of SB and a complete test set Tfor CB using a combinational ATPG

4 Construct a scan path composed of the registers in R so that they can ldquoshiftrdquo ldquoholdrdquo and ldquoloadrdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 321

「DIP概論」- IP Testing

Selection of Scan Registers1 Transform G = (V A H W) into an acyclic

graph GA by removing a minimal cost set of ldquofeedbackrdquo arcs RA (NP-complete)

2 Transform GA into a balanced graph GB by removing a minimal cost set of arcs RB (NP-complete)R = RAcupRB is the desired set for scan registers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 322

「DIP概論」- IP Testing

Test Procedurebull Operate all scan registers in the SHIFT mode for l

clock cycles (scam in the first test pattern)ndash l is the total number of FFrsquos in the scan path

bull Repeat N times N is the number of test patterns(a) Place all scan register in HOLD mode and all nonscan

registers in LOAD mode for d clock cycles(b) Operate all scan registers in LOAD Load for 1clock

cycle(c) Operate all scan register in SHIFT mode for l clock

cycles

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 323

「DIP概論」- IP Testing

Elimination of HOLD Modebull Eg By adding two dummy bits (d) between

the patterns to be scanned to R3 and R6 the HOLD mode can be eliminated

Sin

Sout1101hellip01dd10hellip101

R3 R6

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 324

「DIP概論」- IP Testing

ConclusionsMethods Partial Scan

Multiple TestSessions

Mutiple ScanChains

Broadcast ScanChains

Area Overhead

PerformanceDegradation

Extal Pins

Extral ClockControl

Test ApplicationTime

same

same

same

same

same

same

darr or uarr

darr

darr

darr

same or uarr

same

uarr

same

darr

same

same

darr

darr

same

Full Scan

Chapter 7

Compression Techniques

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 326

「DIP概論」- IP Testing

Challenges from ORA

bull A bit-by-bit comparison of observed output values with the correct values as previously computed and saved is quite inefficientndash Require a significant amount of memory

storage for saving the correct outputs associated with all test vectors

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 327

「DIP概論」- IP Testing

Response Compressionbull Compress or compact output responses into

ldquoa signaturerdquondash A circuit is tested by comparing the observed

signature with the correct computed signature

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 328

「DIP概論」- IP Testing

Error Maskingbull signature(faulty circuit)

= signature(fault-free circuit)ndash The erroneous output response is an alias of the

correct output responsebull Measurement of masking probability

ndash Compute the fraction of all possible erroneous response sequences that cause masking associated with specific compression techniques

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 329

「DIP概論」- IP Testing

Requirements of Compression Techniques

bull Easy to implement specially in the BIST environment

bull Small performance degradationbull High degree compactionbull No or small alias errors

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 330

「DIP概論」- IP Testing

Basic Compression Techniques

bull Ones-count compressionbull Transition-count compressionbull Parity-check compressionbull Syndrome Testingbull Signature Analysis

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 331

「DIP概論」- IP Testing

Ones-Count Compression (12)bull Given a single-output circuit C let the

output response of C be R = r1 r2 hellip rm

ndash In ones counting the signature 1C(R) is the number if 1s appearing in R ie

where 0 le 1C(R) le m

bull The degree of compression is ⎡log2(m+1)⎤

sum=i

irR1C )(

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 332

「DIP概論」- IP Testing

Ones-Count Compression (22)

counter

s-a-0 fault f2

s-a-1 fault f1

111100001100110010101010

00000000 = R211000000 = R110000000 = R0

Signature (ones count)1C(R0) = 11C(R1) = 21C(R2) = 0

x1x2x3

Input test patternsequence T

Output Reponses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 333

「DIP概論」- IP Testing

Analysis of Ones-Countbull Consider a circuit tested with m random

input vectors and let 1C(R0) = r 0 le r le mndash The number of m-bit sequences having r 1s is

such sequences are aliases

bull The ratio of masking sequences to all possible erroneous sequence given 1C(R0) = r is

⎥⎦

⎤⎢⎣

⎡rm

1rm

minus⎥⎦

⎤⎢⎣

)1

1rmM

2CP m

m

r1C minus

minus=(

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 334

「DIP概論」- IP Testing

Transition-Count Compressionbull TC(R) = sum

minus

=+

oplus1m

1i1ii rr

NetworkT D Q

counter

00000000 = R211000000 = R110000000 = R0

Signature (transition count)TC(R0) = 1TC(R1) = 1(undetectable fault)TC(R2) = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 335

「DIP概論」- IP Testing

bull If all faulty sequences are equally likely to occur as the response of a faulty circuit then the probability of masking is given by

Analysis of Transition-Count

122)|(

1

minusminus

=minus

m

mr

TC1CrmMP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 336

「DIP概論」- IP Testing

Parity-Check Compression

NetworkT

00000000 = R211000000 = R110000000 = R0 D Q

Signature (parity)p(R0) = 1p(R1) = 0p(R2) = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 337

「DIP概論」- IP Testing

bull All errors consisting of odd number of bit errors are detectedndash Detect all single-bit errors

bull All errors consisting of even number of bit errors are maskedndash Assume all faulty bit streams are equally likely

the probability of masking approaches frac12 as m increases

Analysis of Parity-Check

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 338

「DIP概論」- IP Testing

Syndrome Testingbull Rely on exhaustive testing ie applying all

2n test vectors to an n-input combinational circuitndash Eg Consider a single-output circuit

implementing a function fbull The syndrome S (or signature) is the normalized

number of 1s in the resulting stream ie S = K2n where K is the number of minterms in the function f

ndash A special case of ones-count compression

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 339

「DIP概論」- IP Testing

Signature Analysis

bull Signature analysis is a compression technique based on the concept of cyclic redundancy checking (CRC) and realized in hardware using linear-feedback shift registers (LFSRs)ndash The signature is the content of this register after

the last input bit has been sampled

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 340

「DIP概論」- IP Testing

LFSRs Used as Signature Analyzers

bull Single-input signature registers (SISRs)bull Multiple-input signature registers (MISRs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 341

「DIP概論」- IP Testing

SISRsbull Initial state I(x) = 0bull Final state R(x) the remainder or signature

)()()( )(or )()()(

)()( xRxPxQxG

xPxRxQ

xPxG

+=+=

G(x) Q(x)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 342

「DIP概論」- IP Testing

Example of SISRs

R(x) = x2+x4 Q(x) =1+x2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 343

「DIP概論」- IP Testing

Analysis of SISRs (12)

bull For a test bit stream of length mndash 2m possible responses of which only one is

correctndash The number of bit streams producing a specific

signature is 2m 2n = 2m-n where n is the length of the LFSR

ndash Among these streams only one is correct

( ) 21212P n

m

nm

SA nmM minusminus

congminus

minus=|

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 344

「DIP概論」- IP Testing

ndash Eg If n = 16 then(1-2-16) 100 = 999984

of erroneous responses are detectedNote This is not of faults

Analysis of SISRs (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 345

「DIP概論」- IP Testing

MISRs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 346

「DIP概論」- IP Testing

Implementation of MISRs

(a) Original (a) Modified

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 347

「DIP概論」- IP Testing

The Storage Cell for MISRs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 348

「DIP概論」- IP Testing

Notes

Chapter 8

Built-In Self-Test (BIST)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 350

「DIP概論」- IP Testing

Built-In Self-Test (BIST) (12)bull Capability of a circuit (chip board or

system) to test itself

Test Pattern Generator (TPG)

Circuit under Test (CUT)

Output Response Analyzer (ORA)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 351

「DIP概論」- IP Testing

bull On-line not placed into the test modendash Concurrent simultaneous with normal

operationndash Nonconcurrent idle normal operation

bull Off-line placed into the test modendash Functional diagnosis SW or FWndash Structural

bull LFSR-based TPG and ORAbull FC is estimated

Built-In Self-Test (BIST) (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 352

「DIP概論」- IP Testing

Glossary of BIST Test Structures (12)bull BILBO

ndash built-in logic block observation (register)bull LFSR

ndash linear feedback shift registerbull MISR

ndash multiple-input signature registerbull ORA

ndash output response analyzer

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 353

「DIP概論」- IP Testing

bull PRPG ndash pseudorandom pattern generator also referred

to as a pseudorandom number generatorbull SISR

ndash single-input signature registerbull SRSG

ndash shift-register sequence generator also a single-output PRPG

bull TPGndash test pattern generator

Glossary of BIST Test Structures (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 354

「DIP概論」- IP Testing

bull Exhaustive testingndash Exhaustive test-pattern generator

bull Pseudorandom testingndash Weighted test generatorndash Adaptive test generator

Test Pattern Generation for BIST (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 355

「DIP概論」- IP Testing

Test Pattern Generation for BIST (22)

bull Pseudoexhaustive testingndash Syndrome driver counterndash Constant-weight counterndash Combined LFSR and shift registerndash Combined LFSR and XOR gatesndash Condensed LFSRndash Cyclic LFSR

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 356

「DIP概論」- IP Testing

Exhaustive Testing

bull Apply all 2n input vectors where n is the number of inputs to CUTndash Impractical for large n

bull Detect all detectable faults that do not cause sequential behaviorndash In general not applicable to sequential circuits

bull Can use a counter or LFSR for TPG

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 357

「DIP概論」- IP Testing

bull A shift register with a linear feedback network is called a linear feedback shift register (LFSR)

bull A n-stage shift register has at most 2n statesrArr A n-stage LFSR has at most 2nndash1 stages

the linear successor of the all-zero state is itself

there4

Linear Feedback Shift Register (LFSR) (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 358

「DIP概論」- IP Testing

Linear Feedback Shift Register (LFSR) (22)

D Q D Q

S0 1 0S1 0 1S2 (=S0) 1 0

Z = 0101helliphellip2 states

Z D Q D Q D Q Z

S0 0 1 1S1 1 0 1S2 0 1 0S3 0 0 1S4 1 0 0S5 1 1 0S6 1 1 1S7 (=S0) 0 1 1

Z = 11010011101001 helliphellip7 states

linear feedback network

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 359

「DIP概論」- IP Testing

Two Types of LFSRs (12)bull Type 1 External type

D Q D Q ZD Q D Q

C1 C2 Cn-1 Cn= 1C0

= 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 360

「DIP概論」- IP Testing

Two Types of LFSRs (22)bull Type 2 Internal type

D Q

Cn-1Cn= 1

D Q

Cn-2

D Q

C1

D Q Z

C0= 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 361

「DIP概論」- IP Testing

Mathematical Operations over GF(2)

bull Multiplication(bull) bull Addition( )

bull 0 10 0 01 0 1

0 10 0 11 1 0

Eg Let C1 = 0 C2 = 1 C3 = 1 and a1 = 0 a2 = 1 a3 = 1If a0 = C1 bull a1 C2 bull a2 C3 bull a3 then a0 = 0 bull 0 1 bull 1 1 bull 1 = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 362

「DIP概論」- IP Testing

Analysis of LFSRsbull A sequence of binary numbers can be

represented using a generation function (polynomial)

bull The behavior of an LFSR can be determined by its ldquoinitial seed (S0)rdquo and ldquofeedback coefficients (Ci)rdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 363

「DIP概論」- IP Testing

Characteristic Polynomials (13)

bull Let a0 a1 hellip am hellipbe the sequence of binary numbers ndash Generation function

G(x) = a0 + a1x +hellip+ amxm + hellip=bull Let am = a0 a1 hellip am hellipbe the output

sequence of an LFSR of type 1rArr am =

xa m

mmsum

infin

=0

aC im

n

ii minus

=sum

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 364

「DIP概論」- IP Testing

bull Let the seed S0 be a-1 a-2 hellip a-n hellip

rArr G(x) = =

rArr G(x) = under GF(2)

rArr G(x) depends on the seed S0 and feedback coefficients

xa m

mmsum

infin

=0sum suminfin

= =minus⎟⎠

⎞⎜⎝

0 1m

mn

iimi xaC

( )sum

sum

=

minus

minus

minus

minus=

+

++

n

i

i

i

i

i

in

ii

xC

xaxaxC

1

1

11

1

Characteristic Polynomials (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 365

「DIP概論」- IP Testing

bull Let P(x) = 1 +

= 1 + C1x + C2x2 + hellip+ Cnxn

called the characteristic polynomial of the LFSR representing the linear feedback network

bull The degrees of all characteristic polynomials for an n-stage LFSR are nndash Eg

P(x) = x3 + x + 1

sum=

n

i

i

i xC1

D Q D Q D Q Z

Characteristic Polynomials (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 366

「DIP概論」- IP Testing

Maximum Length Sequences

bull If period p of the sequence generated by an n-stage LFSR is 2n-1 then it is a maximum length sequencendash 1rsquos = 0rsquos + 1

bull The characteristic polynomial associated with the maximum length sequence is a primitive polynomial

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 367

「DIP概論」- IP Testing

Primitive Polynomialsbull The number of primitive polynomials for n-

stage LFSR is given by

where

( ) ( )n

nn 12

2

minus=φλ

( ) prod ⎟⎟⎠

⎞⎜⎜⎝

⎛minus=

np pnn

|

11φ

n1 12 14 28 1616 204832 67108864

( )n2λ

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 368

「DIP概論」- IP Testing

Some Primitive PolynomialsEg 20 3 0 for x20 + x3 + 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 369

「DIP概論」- IP Testing

An Example of LFSR

bull 23-1 = 7 ldquoalmost completerdquo patterns are generated

D Q D Q D Q Z

S0 0 1 1S1 1 0 1S2 0 1 0S3 0 0 1S4 1 0 0S5 1 1 0S6 1 1 1S7(=S0) 0 1 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 370

「DIP概論」- IP Testing

Exhaustive Testing

D Q D Q D Q0 0 1

0 0 0

1 0 0

scan chain 3

CUT

test cycles 3+23

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 371

「DIP概論」- IP Testing

Off-Line BIST Architecturesbull Criteria

ndash Centralized or distributed BIST circuitryndash Embedded or separate BIST elements

bull Key elementsndash Test pattern generators (TPGs)ndash Output response analyzers (ORAs)ndash The circuits under test (CUTs)ndash A distribution system (DIST) for transmitting data from

TPGs to CUTs and from CUTs to ORAsndash A BIST controller for controlling the BIST circuitry

and CUT during self-test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 372

「DIP概論」- IP Testing

CentralizedSeparate BIST (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 373

「DIP概論」- IP Testing

CentralizedSeparate BIST (22)

bull During testing the BIST controller may carry out one or more of the following functionsndash Single-step the CUTs through some test

sequencendash Inhibit system clocks and control test clocksndash Communicate with other test controllers

possibly using test bussesndash Control the operation of a self-test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 374

「DIP概論」- IP Testing

DistributedSeparated BIST

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 375

「DIP概論」- IP Testing

DistributedEmbedded BIST

The TPG and ORA elements are configured from functional elements within the CUT such as registers

Less hardware overheadLead to a more complex design

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 376

「DIP概論」- IP Testing

Factors for Choosing BIST Architecturesbull Degree of test parallelism (distributed darr)bull Fault coverage (distributed darr)bull Level of packaging (centralized darr)bull Test time (distributed darr)bull Physical constraints (embedded and separateuarr)bull Complexity of replaceable units (centralized darr)bull Factory and field of test-and-repair strategiesbull Performance degradation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 377

「DIP概論」- IP Testing

Test-Per-Clock System

LFSR SR

CUT

MISR

Some new set of faults is tested during every clock period

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 378

「DIP概論」- IP Testing

Test-Per-Scan SystemLFSR SR

CUT

MISR SR

Each new set of faults being tested requiresOne clock to conduct the testA series of shifts of the scan chain (SR)

Complete that testRead out all of the test results

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 379

「DIP概論」- IP Testing

STUMPSbull Self-Test Using a MISR and Parallel Shift register

ndash Test-per-scan

LFSR (Pseudo-Random Test Pattern Generator)

SR1 SR2 SRn

MISR

CUT1 CUT2 CUTn

Source Bardell ITCrsquo82

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 380

「DIP概論」- IP Testing

BILBObull Built-In Logic Block Observation

ndash Distributedembedded

BILBO register

BILBO0 0 shift mode0 1 reset1 0 LFSRMISR1 1 normal mode

Source Konemann 1979

z1 z2 zn

B1 B2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 381

「DIP概論」- IP Testing

Applications of BILBO (12)bull Bus-Oriented structure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 382

「DIP概論」- IP Testing

Applications of BILBO (22)bull Pipeline-oriented structure

POs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 383

「DIP概論」- IP Testing

What to Do If 2n Is Too Large

bull Using pseudorandom testingndash Eg Generate only 232 test patterns

bull Using pseudoexhaustive testingndash Eg Partitioning

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 384

「DIP概論」- IP Testing

Pseudorandom Testingbull Weighted test generation

ndash The distribution of 0s and 1s produced on the output lines of TPGs is not necessary uniform

bull Adaptive test generationndash Modify the weights based on the simulation

resultsbull (advantage) efficient in terms of test lengthbull (disadvantage) the TPG hardware is more complex

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 385

「DIP概論」- IP Testing

Weighted Test Generation

bull Using an LFSR and a combinational circuit

D Q D Q D Q

The probability of 05 for a 1is changed to 025

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 386

「DIP概論」- IP Testing

Pseudoexhaustive Testing

bull Achieve many benefits of exhaustive testing but usually require far fewer test patternsndash Rely on various forms of circuit segmentation

and attempt to test each segment exhaustivelybull A segment is a subcircuit of a circuit C

ndash Segments need not be disjoint

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 387

「DIP概論」- IP Testing

Segmentation

bull Logical segmentationndash Sensitized path segmentationndash Cone segmentation (verification testing)

bull Physical segmentation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 388

「DIP概論」- IP Testing

bull The circuit can be pseudoexhaustivelytested with 2n1 + 2n2 + 1 test patterns

n1

n2

C1

C2

Sensitized Path Segmentation (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 389

「DIP概論」- IP Testing

Sensitized Path Segmentation (22)n1

n2

C1

C2

n1

n2

C1

C2

n1

n2

C1

C2

2n1 test patterns

2n2 test patterns

1 test pattern

1

1

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 390

「DIP概論」- IP Testing

Cone Segmentation

bull An m-output circuit is logically segmented into m cones each cone consists of all logic associated with one outputndash Each cone is tested exhaustively and all cones

are tested concurrentlyhelliphellipndash Called verification testing by McCluskey[1984]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 391

「DIP概論」- IP Testing

An (n w)-CUTbull [Definition] Consider a combinational circuit

C with inputs X = x1 x2 hellip xn and outputs Y= y1 y2 hellip ym Let yi = fi(Xi) where Xi sube X Let w = maxi|Xi| We denote this circuit as an (n w)-CUT ndash Pseudoexhaustively testing an (n w)-CUT needs at

least 2w test patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 392

「DIP概論」- IP Testing

An (4 2)-CUT

y1 y2 y3 y4

x1 x2 x3 x4

Pseudoexhaustively testing this (4 2)-CUT need at least 22 test patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 393

「DIP概論」- IP Testing

Constant Weight Patternsbull [Definition] Let T be a set of n-tuples T is

said to exhaustively cover all k-subspaces if for all subsets of k bit positions each of the 2k

binary pattern appears at least once among the |T| n-tuplesndash Eg

⎥⎥⎥⎥

⎢⎢⎢⎢

=

101011110000

Tn = 3

k = 2|T| = 4

T can be a pseudoexhaustive test set for an (n w)-CUT if k ge w

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 394

「DIP概論」- IP Testing

Identification of Test Signal Inputsbull Consider a CUT with n inputs If none of

the outputs is a function of both inputs say a and b then the inputs a and b can be applied to the same test signal line

f(x y)

g(x y)

x

y

z

1 1 0 0

1 1 0 0

1 0 1 0

f(x y)

g(x y)

x

y

z

1 1 0 0

1 0 1 0

apply x and z to the same test signal line

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 395

「DIP概論」- IP Testing

MTC Circuitsbull [Definition]A circuit is said to be a maximal-test-

concurrency(MTC) circuit if the minimal number of required test signals for the circuit is equal to the maximum number of inputs upon which any output depends

f(x y)

g(x y)

x

y

z

1 1 0 0

1 0 1 0

f(x y)

g(x y)

x

y

z

1 1 0 0

1 0 1 0

0 1 1 0h(x z)

A MTC circuit A non-MTC circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 396

「DIP概論」- IP Testing

Identification of Minimal Set of Test Signals

Step 1 Generate a dependency matrix D = [dij] where dij = 1 if output i depends on input j otherwise dij = 0

Step 2 Partition the matrix into group of inputs so that two or more inputs in a group do not affect the same output

Step 3 Collapse each group to form an equivalent input called a test signal input

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 397

「DIP概論」- IP Testing

Example of Identification (12)

abcdefg

f1(a b e)f2(b c g)f3(a d e)

f4(c d e)

f5(e f)

C

f

f

f

f

f

gfedcba

D

5

4

3

2

1

01100000011100001100110001100010011

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

Step 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 398

「DIP概論」- IP Testing

Example of Identification (22)

f

f

f

f

f

gfedbca

Dg

5

4

3

2

1

01100000011010001100110001100010101

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

Step 2

I II III IV

f

f

f

f

f

Dc

5

4

3

2

1

11000111011110110111

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

Step 3

I II III IV

Transformation to a (4 3)-CUT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 399

「DIP概論」- IP Testing

Physical Segmentation

bull Insert bypass storage cells (bscs) such that in the test mode each output and bscdepends on at most w inputs and bscsndash A bypass storage cell is similar to a cell used in

boundary-scan designbull In the normal mode the inserted bsc acts a wirebull In the test mode the inserted bsc can be part of an

LFSRSR

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 400

「DIP概論」- IP Testing

gate

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 4 4

6 5

Example of Physical Segmentation (16)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 401

「DIP概論」- IP Testing

Example of Physical Segmentation (26)x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 402

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 1

Example of Physical Segmentation (36)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 403

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 2

Example of Physical Segmentation (46)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 404

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 3

Example of Physical Segmentation (56)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 405

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 4

Example of Physical Segmentation (66)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 406

「DIP概論」- IP Testing

Pseudoexhaustive Testing by LFSRSR Chains

bull Step1 Partition the circuit under test(CUT) by inserting bypass storage cells(bscs)ndash Reduce the maximum dependency

bull Step 2 Route an LFSRSR chain with a primitive feedback polynomial through the primary inputs(PIs) and bscs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 407

「DIP概論」- IP Testing

LFSRSR Chainsx4 + x3 + 1 (primitive)

PIs

+

BSCs

An LFSRSR chain with a primitive feedbackpolynomial of degree k generates the maximum sequence of length 2k-1

Exhaustively test each output cone

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 408

「DIP概論」- IP Testing

Residue Polynomials

bull For an LFSRSR with primitive feedback polynomial f(x) of degree k the residue Ri(x) of stage i is defined as

Ri(x) = xi mod f(x)

XOR network with f(x)210 k-1 k i

R0 R1 R2 Rk-1 Rk Ri

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 409

「DIP概論」- IP Testing

Example of Residue Polynomials

+x3 + x + 1

1 x x2 x+1

x2+x

x2+x+1

0 1 2 3 4 5

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 410

「DIP概論」- IP Testing

Linear Independencybull [Theorem] An output cone depending on

the inputs p1hellip pk can be exhaustively tested hArr the corresponding residues Rp1

hellipRpk

are linear independent (LI)

210 k-1 k i

R0 R1 R2 Rk-1 Rk Ri

Output G

XOR network with f(x)

R2 Rk-1 Rk is LIhArrThe cone of G is

exhaustively tested

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 411

「DIP概論」- IP Testing

Example of Linear Independency+

x3 + x + 1

1 x x2 x+1

x2+x

x2+x+1

0 1 2 3 4 5

bull If some output cone C depends on inputs 0 3 and 4the output cone can be exhaustively tested

Because 1 x+1 x2+x is LI

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 412

「DIP概論」- IP Testing

Why Not Exhaustively Testingbull Subject to the input-output relation it is not

an easy task to construct a desirable LFSRSR chain as the pseudo-exhaustive TPG for the CUTndash Not all the output cones whose input residues

are LI that is linear dependent (LD)bull Called the LD problem

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 413

「DIP概論」- IP Testing

Possible Solutions to The LD Problembull To overcome the LD problem some variants of

LFSRSR have been proposedndash LFSRXORndash Reconfigurable LFSRSRndash Permuted LFSRSRndash Convolved LFSRSRndash Multiple LFSRSRndash Cell-reordering LFSRSRndash Constant-weight LFSRSRndash Linear-code LFSRSRndash Condensed LFSRSR

These solutions encounter serious problemsThe hardware overhead maybe largeThe construction time maybe long

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 414

「DIP概論」- IP Testing

LFSRXOR+ x3 + x + 1

1 x x2 x+1

x2+x

x2+x+1

0 1 2

++

3 4 5

XOR network

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 415

「DIP概論」- IP Testing

Reconfigurable LFSRSR

0 1 2 3 4 5 6

+

7

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 416

「DIP概論」- IP Testing

Permuted LFSRSR

0 1 2 3 4 5 6

+

7

0 2 5 1 3 4 6 7

inputs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 417

「DIP概論」- IP Testing

Convolved LFSRSR

0 1 2 3 4 5 6

+

7+

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 418

「DIP概論」- IP Testing

Multiple LFSRSR

0 1 2 3

+

4 5 6 7

+

1 0 0 0 1 1 0 0

seed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 419

「DIP概論」- IP Testing

Tree-Structured LFSRSR (TLS)

bull Rationalndash The SR chain of LFSRSR unnecessarily

constraints the searching domain for constructing a pseudo-exhaustive TPG

bull Constructionndash Step 1 Backbone generationndash Step 2 Tree growing

Source Rau et al ITCrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 420

「DIP概論」- IP Testing

Backbone Generationbull Step 1 Use a selected primitive feedback

polynomial to construct the LFSR portionbull Step 2 Based on the LI constraint include

as many PIs or bscs as possible to a shift register(SR) chain connected to the LFSR with as little routing overhead as possibleThe constructed LFSR and SR portion is called the Backbone

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 421

「DIP概論」- IP Testing

Example of Backbone Generation (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 422

「DIP概論」- IP Testing

Example of Backbone Generation (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 423

「DIP概論」- IP Testing

Tree Growing

bull Based on the LI constraint try to connect isolated PIs or BSCs to the backbone with as little routing overhead as possible

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 424

「DIP概論」- IP Testing

Example of Tree Growing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 425

「DIP概論」- IP Testing

XOR-Tree Generation

bull There may be PIs or BSCs which can not be included in the scan tree after the backbone generation and tree growing processesndash Because the LI requirement can not be

satisfiedndash Referred to as the linear dependent (LD)

problem

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 426

「DIP概論」- IP Testing

Overcoming The LD Problem

bull How to overcome the LD problem using as few XORs as possiblendash Use nonzero-terms of polynomial to directly

synthesize the required residuesndash Eg Under polynomial f(x) = x3 + x + 1 we can

synthesize R4 (x2 + x) with ldquoR2 (x2) xor R1(x)rdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 427

「DIP概論」- IP Testing

Looking for Proper Residues

Rj

XOR network with f(x)210 k-1

R0 R1 R2 Rk-1

i

Ri

jN

bull [Theorem] There must exist a residue Rj j gt i to avoid the LD problem

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 428

「DIP概論」- IP Testing

Residue Replacementbull Synthesize an XOR network from the exited

backbone and tree branches for shorter routingdistance oplus

backbone

branches

isolated oplus

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 429

「DIP概論」- IP Testing

Residue Replacement Process

bull Under the polynomial f(x) = x4 + x3 +1 We can synthesize residue R10 with the existent residues R5 and R6 as follows

R10 = R9 + R7

= R8 + R6 + R7

= R7 + R5 + R6 + R7

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 430

「DIP概論」- IP Testing

Simulation Results of TLS (12) (n m k) Ckt Before Partitioning After Partitioning C432 (36 7 36) (56 27 20) C499 (41 32 41) (49 40 14) C880 (60 26 45) (75 41 20) C1355 (41 32 41) (49 40 14) C1908 (33 25 33) (47 39 19) C2670 (233 140 122) (262 169 20) C3540 (50 22 50) (118 90 20) C5315 (178 123 67) (225 170 20) C6288 (32 32 32) (87 87 20) C7552 (207 108 194) (296 197 20)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 431

「DIP概論」- IP Testing

Simulation Results of TLS (22)

PIsBSCs [16] Ckt (n m k) CPU time Backbone Branches Isolated XORs XORs

C432 (56 27 20) 056 44 12 0 0 9 C499 (49 40 14) 054 48 1 0 0 11 C880 (75 41 20) 064 69 6 0 0 13 C1355 (49 40 14) 277 47 2 0 0 11 C1908 (47 39 19) 241 41 4 2 3 10 C2670 (262 169 20) 1374 247 15 0 0 7 C3540 (118 90 20) 3482 72 45 1 6 27 C5315 (225 170 20) 7566 186 39 0 0 36 C6288 (87 87 20) 25937 59 25 3 15 25 C7552 (296 197 20) 3359 216 80 0 0 31

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 432

「DIP概論」- IP Testing

Solutions of BIST (12)

bull Exhaustivepseudoexhaustive testingbull Weighted pseudorandom testingbull Mixed mode test pattern generation

ndash Pseudorandom test patterns firstndash Deterministic test patterns followed

bull Donrsquot consider the fact that the test pattern are given in a form of testcubes with unspecified inputs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 433

「DIP概論」- IP Testing

Solutions of BIST (22)

bull Reseeding ndash Change the seeds as needed

bull Reprogram the characteristic polynomialbull Combination of two or more of the above

methods

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 434

「DIP概論」- IP Testing

Notes

Chapter 9

Boundary-Scan Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 436

「DIP概論」- IP Testing

Board Level Testing

Sn m

Sn m

n

mMUXm

TNIsolate one module (chip) from the others

Test chips and chip interconnectionsRaise the concept of boundary-scan testing

R1

R2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 437

「DIP概論」- IP Testing

History of Boundary-Scan Testingbull 1988 Joint Test Action Group (JTAG)

proposed Boundary-Scan Standardbull 1990

ndash Boundary-Scan approved as IEEE 11491ndash Boundary-Scan Description Language (BSDL)

proposed by HPbull 1993 11491a approved to replace 11491bull 1994 11491b BSDL approved

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 438

「DIP概論」- IP Testing

1149111491a

bull Testing of digital chips and interconnections between chips

bull Widely used in industryndash Eg advance CPU HDTV satellite systemhelliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 439

「DIP概論」- IP Testing

Chip Architecture for 11491

TAPC

MUX

Sin

Sout

MRsInstruction Reg

Bypass Reg

Application Logic

OptionalBIST registersScan registers

MRs Miscellaneous Registers Boundary-Scan Cell

Boundary-Scan Path

TDITMS

TCKTDO

TAP

IO Pad

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 440

「DIP概論」- IP Testing

A Typical Boundary-Scan Cell (13)

0

1

MUX

S QA

Q1D

QB

Q1D

0

1

MUX

S

INOUT

SOUT

SIN

ShiftDR

ClockDR UpdateDR

Mode_Control

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 441

「DIP概論」- IP Testing

bull As an input boundary-scan cell INcorresponds to a chip input pad OUT is tied to a normal input to the application logic

bull As an output boundary-scan cell IN corresponds to the output of the application logic OUT is tied to an output pad

A Typical Boundary-Scan Cell (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 442

「DIP概論」- IP Testing

bull Operation Modesndash Normal Mode Mode_Control = 0

bull IN -gt OUTndash Scan Mode ShiftDR = 1 ClockDR

bull TDI-gthellip-gtSIN-gtSOUT-gthellip-gtTDOndash Capture Mode ShiftDR = 0 ClockDR

bull IN-gtQA

ndash Update Mode Mode_Control = 1 UpdateDRbull QA-gtOUT

A Typical Boundary-Scan Cell (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 443

「DIP概論」- IP Testing

Board And Chip Testing

Application Logic 2

Application Logic 3 Application Logic 4

TDI

TDO

Application Logic 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 444

「DIP概論」- IP Testing

Board And Chip Test Modes

bull External Test Modendash Test the interconnection between the chips of

boardbull Sample Test Mode

ndash Sample and shift out or shift in data without interfering the normal operation of board

bull Internal Test Modendash Test the chips of board

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 445

「DIP概論」- IP Testing

External Test Mode (14)

Chip 1

Chip 2

TDI

TDO

Shift-DR(Chip 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 446

「DIP概論」- IP Testing

External Test Mode (24)

Chip 1

Chip 2

TDI

TDO

Update-DR(Chip 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 447

「DIP概論」- IP Testing

External Test Mode (34)

Chip 1

Chip 2

TDI

TDO

Capture-DR(Chip 2)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 448

「DIP概論」- IP Testing

External Test Mode (44)

Chip 1

Chip 2

TDI

TDO

Shift-DR(Chip 2)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 449

「DIP概論」- IP Testing

Sample Test Mode (12)

0

1

MUX

S QA

Q1D

QB

Q1D

0

1

MUX

S

INOUT

SOUT

SIN

ShiftDR

ClockDR UpdateDR

Mode_Control

Sample

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 450

「DIP概論」- IP Testing

Sample Test Mode (22)

0

1

MUX

S QA

Q1D

QB

Q1D

0

1

MUX

S

INOUT

SOUT

SIN

ShiftDR

ClockDR UpdateDR

Mode_Control

Shift inShift out

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 451

「DIP概論」- IP Testing

Internal Test Mode (12)

Chip 1TDI

Shift-DR

TDO

Chip 1TDI

Update-DR

TDO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 452

「DIP概論」- IP Testing

Internal Test Mode (22)

Chip 1TDI

Capture-DR

TDO

Chip 1TDI

Shift-DR

TDO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 453

「DIP概論」- IP Testing

Test Bus (12)bull A board supporting 11491 contains a test bus

consisting of at least four signalsndash TDI Test Data Inputndash TDO Test Data Outputndash TMS Test Mode Selectorndash TCK Test Clockndash TRST(optional) Test Reset

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 454

「DIP概論」- IP Testing

Test Bus (22)

bull These signals are connected to a chip via its test-bus portsndash Ring configurationndash Star configuration

bull Each chip is considered to be a slave bus and the bus is assumed to be driven by a bus master

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 455

「DIP概論」- IP Testing

Ring Configuration

TDOTDI

TMSTCK

Busmaster

TDITCKTMSTDO

1

Application chips

TDITCKTMSTDO

2

TDITCKTMSTDO

N

TAPC

Registers

TAPC

Registers

TAPC

Registers

CKTMS

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 456

「DIP概論」- IP Testing

Star Configuration

TDOTDI

TMS1

TCK

Busmaster

TDITCKTMSTDO

1

Application chips

TDITCKTMSTDO

2

TDITCKTMSTDO

N

TMSN

TMS2

TAPC

Registers

TAPC

Registers

TAPC

Registers

CKTMS

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 457

「DIP概論」- IP Testing

Test-Bus Circuitry (12)

bull The (on-chip) test-bus circuitry allows access to and control of the test features of a chip consisting of four main elementsndash Test access port(TAP)ndash TAP controller(TAPC)ndash A scannable instruction register and associated

logicndash A group of scannable test data registers(TDRs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 458

「DIP概論」- IP Testing

Test-Bus Circuitry (22)Boundary-scan register

Bypass registers

M

U

X

Decoding logic MUX

TDOTMS

TCK

Test data registers(TDRs)

TDI

optional

optional

Device identification register

User test data register

TAPC

IR clocks and controls

TDR clocks and controls

SelectEnable

OutputBuffer

Instruction register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 459

「DIP概論」- IP Testing

TAPC

bull A synchronous finite state machine with 16statesndash Inputs TCK TMSndash Outputs ShiftDR ClockDR UpdateDR ShiftIR

ClockIR UpdateIR Select Enable TCK (optional) TRST

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 460

「DIP概論」- IP Testing

States of TAPC (12)bull Test-Logic-Reset normal modebull Run-TestIdle wait for a internal test such

as BISTbull Select-DR-Scan initial a scan-data

sequence for the selected registersbull Capture-DR load data in parallelbull Shift-DR load data in serialbull Exit1-DR finish phase-1 shifting of data

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 461

「DIP概論」- IP Testing

States of TAPC (22)bull Pause-DR temporarily halt the scan

operation to allow the bus master to reload datandash Necessary during the transmission of long test

sequencesbull Exit2-DR finish phase-2 shifting of databull Update-DR parallel load from associated

shift registers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 462

「DIP概論」- IP Testing

TMS = 1

TMS = 0

TMS = 0

TMS = 1

TMS = 0

TMS = 1

TMS = 1 TMS = 0

TMS = 0

TMS = 0

TMS = 1

State Diagram of TAPCTest-Logic-Reset

Run-testIdle

TMS = 1TMS = 0

TMS = 0

TMS = 1 TMS = 1 TMS = 1

Control of data registers Control of instruction register

Capture-DR

Shift-DR

Exit1-DR

Pause-DR

Exit2-DR

Update-DR

Select-DR-Scan Select-IR-Scan

Capture-IR

Shift-IR

Exit1IR

Pause-IR

Exit2-IR

Update-IR

TMS = 1

TMS = 0

TMS = 0

TMS = 1

TMS = 0

TMS = 1

TMS = 1 TMS = 0

TMS = 0

TMS = 0

TMS = 1

TMS = 0

TMS = 1

TMS = 0

TMS = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 463

「DIP概論」- IP Testing

Test Data Registers

bull Test Data Registers(TDRs)ndash Boundary-scan registersndash Bypass register(1-bit)ndash Device Identification registersndash Registers that are part of the application logic

itself

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 464

「DIP概論」- IP Testing

bull Instruction Register(IR)ndash Shift in a new instruction while holding the

current instruction fixed as its output portsndash Specify operations to be executedndash Select TDRs

bull Each instruction enables a single serial test-data register path between TDI and TDO

Instruction Register and Instructions (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 465

「DIP概論」- IP Testing

Instruction Register and Instructions (22)

bull Instructionsndash Mandatory

bull BYPASS to reduce the length of the scan pathbull EXTEST external test modebull SAMPLE sample test mode

ndash Recommendedbull INTEST internal test modebull RUNBIST for the Run-TestIdle State

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 466

「DIP概論」- IP Testing

BYPASS (12)

Bypass register

TAPC

TDOTMS TCKTDI

Application Logic

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 467

「DIP概論」- IP Testing

BYPASS (22)

Bypass register

TAPC

TDI

Application Logic

Bypass register

TAPC

TDO

Application Logic

1 2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 468

「DIP概論」- IP Testing

Summaries of Boundary-Scan Operations

bull Instructions are sent serially over TDI into the instruction register

bull Selected test circuitry is configured to respond to the current instruction

bull Test instruction is to be executedbull Test results are shifted out through TDO

new test data on TDI may be shifted in at the same time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 469

「DIP概論」- IP Testing

bull Now the IEEE 11491b standardbull Purposes (12)

ndash To provide a standard description language for boundary scan devices

ndash To simplify the design work for boundary scan ndashautomated synthesis is possible

ndash To promote consistency throughout ASIC designers device manufacturers foundries test developers and ATE manufacturers

Boundary Scan Description Language (BSDL) (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 470

「DIP概論」- IP Testing

Boundary Scan Description Language (BSDL) (22)

bull Purposes(22)ndash For easy incorporation into software tools for

test generation analysis and failure diagnosisndash To reduce possibility of human error when

employing boundary scan in a design

Chapter 10

Memory Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 472

「DIP概論」- IP Testing

Fault Models (13)bull Stuck-at fault (SAF)

ndash The logic value of a cell or a line is always 0 or 1

bull Transition fault (TF)ndash A cell or a line that fails to undergo a 0rarr1 or

a 1rarr0bull Coupling fault (CF)

ndash A write operation to one cell changes the contents of a second cell

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 473

「DIP概論」- IP Testing

Fault Models (23)

bull Neighborhood Pattern Sensitive Fault (NPSF)ndash The content of a cell or the ability to change its

content is influenced by the contents of some other cells in the memory

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 474

「DIP概論」- IP Testing

Fault Models (33)

bull Address Decoder Fault (AF)ndash Any fault that affects address decoder

bull With a certain address no cell will be accessedbull A certain cell is never accessedbull With a certain address multiple cells are accessed

simultaneouslybull A certain cell can be accessed by multiple addresses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 475

「DIP概論」- IP Testing

Memory Chip Test Algorithms

bull Traditional testsbull Tests for SAFs TFs and CFsbull Tests for NPSFs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 476

「DIP概論」- IP Testing

Traditional TestsAlgorithms Test length Order

n is the number of bits of the memory array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 477

「DIP概論」- IP Testing

Test Time as A Function of Memory Size

Cycle time 10 nsn is the number of bits of the memory array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 478

「DIP概論」- IP Testing

Notation of March Test Algorithms

bull uArr address 0 to address n-1bull dArr address n-1 to address 0bull either waybull w0 write 0bull w1 write 1bull r0 read a cell whose value should be 0bull r1 read a cell whose value should be 1

hArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 479

「DIP概論」- IP Testing

March Test Algorithm MATS

bull Modified Algorithmic Test Sequencendash (w0) (r0 w1) (r1)

Step 1 write 0 to all cellsStep 2 for each cell

read 0 and write 1Step 3 read 1 from all cells

hArr hArr hArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 480

「DIP概論」- IP Testing

Other March Test Algorithms (13)

bull MATS+ndash (w0) uArr(r0 w1) dArr(r1 w0)

bull Marching 10ndash (w0) uArr(r0 w1 r1) dArr(r1 w0 r0)

(w1) uArr(r1 w0 r0) dArr(r0 w1 r1)bull MATS++

ndash (w0) uArr(r0 w1) dArr(r1 w0 r0)

hArrhArr

hArrhArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 481

「DIP概論」- IP Testing

bull MARCH Xndash (w0) uArr(r0 w1) dArr(r1 w0) (r0)

bull MARCH C-ndash (w0) uArr(r0 w1) uArr(r1 w0)

dArr(r0 w1) dArr(r1 w0) (r0)bull MARCH A

ndash (w0) uArr(r0 w1 w0 w1) uArr(r1 w0 w1)dArr(r1 w0 w1 w0) dArr(r0 w1 w0)

Other March Test Algorithms (23)

hArr hArr

hArr

hArr

hArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 482

「DIP概論」- IP Testing

bull MARCH Yndash (w0) uArr(r0 w1 r1) dArr(r1 w0 r0) (r0)

bull MARCH Bndash (w0) uArr(r0 w1 r1 w0 r0 w1) uArr(r1 w0 w1)dArr(r1 w0 w1 w0) dArr(r0 w1 w0)

Other March Test Algorithms (33)

hArrhArrhArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 483

「DIP概論」- IP Testing

Tests for FaultsAlgorithms Test Length Fault CoverageMATS 4n Some AFs SAFsMATS+ 5n AFs SAFsMarching 10 14n AFs SAFs TFsMATS++ 6n AFs SAFs TFsMARCH X 6n AFs SAFs TFs some CFsMARCH C- 10n AFs SAFs TFs some CFsMARCH A 15n AFs SAFs TFs some CFsMARCH Y 8n AFs SAFs TFs some CFsMARCH B 17n AFs SAFs TFs some CFsn is the number of bits of the memory array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 484

「DIP概論」- IP Testing

NPSF

bull ANPSFndash Active Neighborhood Pattern Sensitive Fault

bull PNPSFndash Passive Neighborhood Pattern Sensitive Fault

bull SNPSFndash Static Neighborhood Pattern Sensitive Fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 485

「DIP概論」- IP Testing

ANPSF

bull n changes rArr b changesndash Eg n 0 rArr 1

b 1 rArr 0

n n nn b nn n n

b base celln neighborhood cells

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 486

「DIP概論」- IP Testing

PNPSF

bull Contain n patterns rArr b cannot changendash Eg n 00000000 rArr b 0 or 1

n n nn b nn n n

b base celln neighborhood cells

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 487

「DIP概論」- IP Testing

SNPSF

bull Contain n patterns rArr b is forced to a certain valuendash Eg n 11111111 rArr b 1

n n nn b nn n n

b base celln neighborhood cells

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 488

「DIP概論」- IP Testing

DC Parametric Testing

bull OpenShort testbull Power consumption testbull Leakage testbull Threshold testbull Output drive current testbull Output short current test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 489

「DIP概論」- IP Testing

AC Parametric Testingbull Output signal

ndash The rise and fall timesbull Relationship between input signals

ndash The setup and hold timesbull Relationship between input and output

signalsndash The delay and access times

bull Successive relationship between input and output signalsndash The speed test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 490

「DIP概論」- IP Testing

Dynamic Faults

bull Recovery faultsndash Sense amplifier recoveryndash Write recovery

bull Retention faultsndash Sleeping sicknessndash Refresh line stuck-at ndash Static data loss

bull Bit-line precharge voltage imbalance faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 491

「DIP概論」- IP Testing

BIST Pros And Consbull Advantages

ndash Minimal use of testersndash Can be used for embedded RAMs

bull Disadvantagesndash Silicon area overheadndash Speed slow access timendash Extra pins or multiplexing pinsndash Testability of the test hardware itselfndash A high fault coverage is a challenge

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 492

「DIP概論」- IP Testing

Architecture of a DRAM Chip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 493

「DIP概論」- IP Testing

Typical Memory BIST Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 494

「DIP概論」- IP Testing

Multiple Memory BIST Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 495

「DIP概論」- IP Testing

Serial Testing of Embedded RAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 496

「DIP概論」- IP Testing

Built-In Self-Repair

bull BIST can only identify faulty chipbull Laser cut may be infeasible in some cases

eg field testingbull Two types

ndash Use fault-array comparatorbull Repair by cellbull Repair by column (or row)

ndash Using switch array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 497

「DIP概論」- IP Testing

BIST Using Switch Array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 498

「DIP概論」- IP Testing

BIST Using Fault-Address Comparison

Chapter 11

SOC Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 500

「DIP概論」- IP Testing

System-on-A-Chip (SOC)bull Integrate all the function blocks of a

complete system into a single chip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 501

「DIP概論」- IP Testing

Challenges vs Solutions

bull Challengesndash Capacityndash Design productivity gapndash Time-to-market (TTM)ndash helliphellip

bull Solutionsndash Core-based designndash Platform-based designndash helliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 502

「DIP概論」- IP Testing

Core-Based SOC Design

bull Coresndash Pre-defined pre-verified complex function

blocks also termed Virtual Components (VCs) or Intellectual Properties (IPs)

bull Core-based SOC designndash Reuse existed cores to implement a complete

system in a single chiprArrReduce TTM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 503

「DIP概論」- IP Testing

SOC Components

bull Simple coresbull Complex coresbull User-define logic (UDL) bull Interconnect logic and wirerArr SOC testing should cover all the

components

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 504

「DIP概論」- IP Testing

SOC Design Flow

bull SOC components -- cores are only manufactured and tested in the final systemndash It is quite difficult to test the

individual coresbull Cores usually are protected

by laws

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 505

「DIP概論」- IP Testing

Core-Based Test Challenges

bull Distributed design and test developmentbull Test access to embedded coresbull SOC-level test optimization

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 506

「DIP概論」- IP Testing

Distributed Design and Test Development

bull Core providersndash Core-internal design DFT

bull Test pattern generation for coresbull Deliver cores with the complete tests

bull Core usersndash Chip-level DFT

bull Test pattern generation for chipsndash Reuse of core-level test patternsndash Additional test patterns for non-core circuitry

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 507

「DIP概論」- IP Testing

Test Access to Embedded Cores (12)

bull Many cores are (deeply) embedded rArr No direct (functional) access to core terminalsndash Other cores between SOC pins and core

terminalsndash Often core terminals gt SOC pins

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 508

「DIP概論」- IP Testing

Test Access to Embedded Cores (22)

bull To test cores as stand-alone unitsndash Provide core test access paths from SOC pins to

core terminalsndash Isolate cores such that external influence do not

hamper the core testndash Provide test access means for outward-facing

tests

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 509

「DIP概論」- IP Testing

SOC-Level Test Optimizationbull How are embedded cores tested

ndash Stand-alone vs merged with other modulesbull Optimization of test access infrastructure

ndash Test quality and bandwidth vs area and costbull Optimization of test execution and

schedulingndash Trade-offs between test vector count and

application time power dissipation and area

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 510

「DIP概論」- IP Testing

Solutions to Challenges

bull Distributed design and test developmentndash Standardized set of deliverables

bull Test access to embedded coresndash Standardized on-chip test access hardwarendash Tools for test translation

bull SOC-level test optimizationndash Tools to evaluate trade-offs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 511

「DIP概論」- IP Testing

Test Access Architecture

bull Test pattern sourcesinkndash Generates test patternscompares test responses

bull Test access mechanism (TAM)ndash Transports test patternsresponses tofrom CUT

bull Core test wrapperndash Provides switching of core terminals to functional IO

or TAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 512

「DIP概論」- IP Testing

Off-Chip SourceSinkbull pins determines bandwidthbull More TAM area

ndash Requires expensive ATE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 513

「DIP概論」- IP Testing

On-Chip SourceSinkbull Close to core-under-test (CUT)bull Less TAM area

ndash Requires lightweight ATEbull BIST IP area

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 514

「DIP概論」- IP Testing

TAM

bull Tasksndash Transport test patterns from source to CUTndash Transport responses from CUT to sink

bull Design parametersndash Width transport capacityndash Length transport distance

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 515

「DIP概論」- IP Testing

TAM Widthbull Transport capacity

ndash Minimum meet core testrsquos data ratendash Maximum bandwidth of sourcesink

bull Trade-offsndash Test qualityndash Test application time ndash Silicon area cost

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 516

「DIP概論」- IP Testing

TAM Lengthbull Physical distance

ndash On-chip sourcesink may shorten TAM lengthndash Sharing may shorten TAM length

bull Share TAM with functional hardwarebull Go through vs pass around other modulesbull Share TAMs between multiple cores

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 517

「DIP概論」- IP Testing

TAM Implementationsbull Multiplexed accessbull Reused system bus (AMBA)bull Transparency (Macro Test SOCET)bull Boundary Scan (JTAG partial-scan variants)bull Scalable TAMs (Test Bus Test Rail)

On one SOC different TAMs may co-exist

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 518

「DIP概論」- IP Testing

Multiplexed Access (13)

bull Connect wires to all core terminals and multiplex onto existing IC pins

bull Common practice for embedded memories

bull Also used for block-based ASICs

MUX

control

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 519

「DIP概論」- IP Testing

Benefits of Multiplexed Access

bull Each embedded core can be tested as stand-alone device

bull Translation from core-level test into IC-level test is simple

bull Simple silicon debug and diagnosis

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 520

「DIP概論」- IP Testing

Drawbacks of Multiplexed Accessbull Not scalable

ndash terminals of one core gt IC pinsbull Parallelserial conversion rArr at-speed testing is

difficult

ndash Too many embedded cores bull High area costs for connecting and multiplexing all

coresbull Control circuitry for the multiplexer grows more and

more complex

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 521

「DIP概論」- IP Testing

Analysis of Multiplexed Access (13)bull Let K be the number of SOC pins available

for scan test and M be the number of control pinsrArrThe number of scan chains as TAM N =

bull For core iisinC where C is the core setndash pi the number of test patternsndash fi the number of scannable flip-flops

bull In a balanced way each chain has flip-flops

ndash ti the test time

( )⎥⎥

⎢⎢

⎢ minus2MK

⎥⎥⎥

⎢⎢⎢

Nf i

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 522

「DIP概論」- IP Testing

bull The test time ti of core i

can be reduced as

Analysis of Multiplexed Access (23)

pNfp1pN

f it ii

iiibull⎥⎥⎥

⎢⎢⎢

⎡++bull

⎥⎥⎥

⎢⎢⎢

⎡= bull

p1Nf1pt i

iii bull+bull+=

⎥⎥⎥

⎢⎢⎢

⎡⎟⎠⎞⎜

⎝⎛

Scan-In Normal Scan-Out

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 523

「DIP概論」- IP Testing

bull The total test time T of the SOC

can be reduced as

Analysis of Multiplexed Access (33)

( )sumisin

⎟⎠

⎞⎜⎝

⎛+⎥⎥⎤

⎢⎢⎡bull+=

Cip

Nf1pT i

ii

⎥⎥

⎤⎢⎢

isin+sum

isin⎟⎠

⎞⎜⎝

⎛+⎥⎥⎤

⎢⎢⎡bull=

Nf

CiCip

NfpT i

ii

i max

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 524

「DIP概論」- IP Testing

Reused System Busbull Many SOCs have an on-chip system bus

which connects to most cores especially the platform-based system

bull Reuse of the system bus as TAM is cheap wrt silicon area

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 525

「DIP概論」- IP Testing

An Example of Reused System Busbull ARMrsquos Advanced Microcontroller Bus

Architecture (AMBA)ndash The 32-bit system bus is used as TAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 526

「DIP概論」- IP Testing

Analysis of Reused System Busbull Benefits

ndash Low area cost for TAMndash Translation form core-level test into IC-level

test is independent of SOC configurationbull Drawbacks

ndash Not scalablebull Fixed bus width does not allow trade-offs

(area quality test time)ndash Functional test approach of ARM core

dominates overall IC test approachbull Difficult to integrate scan design or BIST

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 527

「DIP概論」- IP Testing

Transparencybull Transparent path

ndash Path from input to output which propagates data without information loss

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 528

「DIP概論」- IP Testing

Examples of Transparency

bull Scan chains bull Arithmetic functions add + 0 mult 1bull Embedded memories SRAM DRAM

ROMbull Basic gates AND OR INV MUX

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 529

「DIP概論」- IP Testing

Analysis of Transparency (12)

bull Benefitsndash Low area cost for TAM in case of reuse of

existing hardwarebull Drawbacks (12)

ndash Corersquos test access depends on other modulesndash Translation from core-level test into IC-level

test might be complicated eg latencies of cores

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 530

「DIP概論」- IP Testing

Analysis of Transparency (22)bull Drawbacks (22)

ndash During core design core environments are unknown

bull Insufficient transparency ndash core user has to add TAMs

bull Too much transparency ndash area costbull Multiple versions ndash expensive for core provider and

core user

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 531

「DIP概論」- IP Testing

Macro Test Philips Research

bull Generic approach for testing embedded modules

bull Originally focused on defect-oriented testing

bull Approach and tools proved useful for core test

bull May take advantage of transparent paths through modules

defect-oriented testing A type of testing where the nature of the test ismeant to directly exercise detect and isolate defects and defect effects rather than abstract fault models

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 532

「DIP概論」- IP Testing

SOCET PrincetonNEC

bull Core provider is responsible for testable and transparent cores

bull Design-for-transparency techniquebull Multiple versions of cores with different

area and transparency latency ndash Selection and trade-offs at SOC level

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 533

「DIP概論」- IP Testing

Boundary Scan (12)

bull Boundary Scan Test solves board-level interconnect testndash IEEE 11491 standard (lsquoJTAGrsquo)ndash ICs are components in SOB

bull Cores are components in SOC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 534

「DIP概論」- IP Testing

Boundary Scan (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 535

「DIP概論」- IP Testing

Examples of Boundary Scanbull Various Texas Instruments papers have

suggested the use of Boundary Scan as TAM

bull Partial Boundary Scan Ringndash No scan flip-flops on those inputs for which

stimuli can be justified from preceding logicndash ATPG techniques to find this out

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 536

「DIP概論」- IP Testing

Benefits of Boundary Scan

bull Existing well-known and well-documented standard

bull Reuse of IC-level BIST implementations augmented with private instructions for test debug emulation etc

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 537

「DIP概論」- IP Testing

Drawbacks of Boundary Scan

bull Fixed 1-bit TAM width does not allow trade-offs between silicon area test quality and test time

bull Intertwined test control and test data due to lack of pins

bull Multiple TAP controllers on one IC is against IEEE 11491 standard

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 538

「DIP概論」- IP Testing

Dedicated Scalable TAMs (12)bull Dedicated TAM

ndash Not through other modules or over existing buses bull Scalable TAM

ndash TAM width is variable to be chosen by core provideruser

bull Core user determines IC-level architecturendash How many TAMs of which widthndash Which configuration (bus rail etc)ndash Which core connects to which TAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 539

「DIP概論」- IP Testing

Dedicated Scalable TAMs (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 540

「DIP概論」- IP Testing

Example I of Dedicated Scalable TAMs

Test Bus

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 541

「DIP概論」- IP Testing

Example II of Dedicated Scalable TAMs

TestRail

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 542

「DIP概論」- IP Testing

Analysis of Dedicated Scalable TAMs (12)

bull Benefitsndash Guaranteed test access

bull Accessibility of a core does not depend on neighboring circuitry

ndash Fast and easy test expansion bull No difficult path-finding through complicated

circuitry ndash Enable ldquoplug-n-playrdquo connection at IC levelndash Allow the trade-offs between area quality and

test time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 543

「DIP概論」- IP Testing

Analysis of Dedicated Scalable TAMs (22)bull Costs

ndash Design timebull Can be minimized through standardization and

automation

ndash Silicon area ndash sharing with existing hardware is more difficult

bull But transistors are not as expensive as they used to be

ndash Performance impact bull Can be avoided if taken into account upfront

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 544

「DIP概論」- IP Testing

Daisychain Architecturecontrol

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 545

「DIP概論」- IP Testing

Analysis of Daisychain Architecture (12)

bull Reassign the indices of the cores according to a non-decreasing number of patternsndash We can scan in a pattern in all cores p1 times

pNf

1p11

C

1j

j +⎥⎥

⎤⎢⎢

⎡+ sum

=⎟⎠⎞⎜

⎝⎛

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 546

「DIP概論」- IP Testing

bull Afterwards we put core 1 in by-pass mode and test next p2 ndash p1 patterns for the other cores

bull The total test time T of the SOC is

Analysis of Daisychain Architecture (22)

⎟⎠⎞⎜

⎝⎛

=⎟⎠⎞⎜

⎝⎛ minus+

⎟⎟⎠

⎞⎜⎜⎝

⎛sum ⎥

⎤⎢⎢

⎡+minus pp

Nf

1pp 1212

C

2j

j

( ) 1ppNf

1ipp 0C

C

1i

C

ij

j1ii minus=+⎟

⎟⎠

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛sum ⎥

⎤⎢⎢

⎡+minusminussum

= =minus

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 547

「DIP概論」- IP Testing

Distribution ArchitectureScan Enables

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 548

「DIP概論」- IP Testing

Si scan clocksli length of scan chains

Reduction of Idle TimeNormal

A single scan enable

Multiple scan enables

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 549

「DIP概論」- IP Testing

Analysis of Distribution Architecture

bull We define ni to be the number of scan chains of core i

bull The total test time T of the SOC is

pnf1pt i

iii

i++=

⎥⎥⎥

⎢⎢⎢

⎡⎟⎠⎞⎜

⎝⎛

( ) ⎟⎟⎠

⎞⎜⎜⎝

⎛+⎥⎥

⎤⎢⎢

⎡+

isinp

nf1p i

i

iiCi

max

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 550

「DIP概論」- IP Testing

The Scan Chain Distribution Problem (SCDP)bull Find a distribution of a given number of

scan chains over the cores such that the total test time is minimized

FF

FF

core

FF

FF

core

A single scan chain Two scan chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 551

「DIP概論」- IP Testing

The SCDP Algorithm

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 552

「DIP概論」- IP Testing

Reduction of Scan Controlsbull Distribute as fewer scan controls as possible

over the cores such that minimal time resulted form SCDP is still maintainedndash Constructing an additional scan chain needs to

remove two scan-control signalsndash Some cores are controlled by the same scan-

control signalbull An efficient algorithm has been presented

by Aerts et al ndash ITCrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 553

「DIP概論」- IP Testing

Core Test Wrapperbull Interface between the CUT and the rest of

chipndash Provide switching capability between modes

bull Normal functional operationbull InTest inward-facing core test modebull ExTest outward-facing interconnect test modebull Bypass

ndash Width adaptationbull Serial-to-parallel conversion at core inputsbull Parallel-to-serial conversion at core outputs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 554

「DIP概論」- IP Testing

Functional-Only Connections

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 555

「DIP概論」- IP Testing

Wrapper + TAM

Daisychain

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 556

「DIP概論」- IP Testing

Wrapper Modes (14)

Normal Operation

Normal

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 557

「DIP概論」- IP Testing

Wrapper Modes (24)

InTest

InTest

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 558

「DIP概論」- IP Testing

Wrapper Modes (34)

ExTest

ExTest

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 559

「DIP概論」- IP Testing

Wrapper Modes (44)

Bypass

Bypass

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 560

「DIP概論」- IP Testing

Reasons for Modular Testingbull Test Quality

ndash Different circuit structures such as random logic memory hellip require different test methods

bull Blackboxed Embedded Corendash Implementation is not known forced to use the tests

developed by core provider

bull Divide-and-conquerndash Very large SOCs are intractable for ATPG or fault

simulation tools

bull Test Reusendash Module will be reused in other designs

Chapter 12

Introduction to IEEE P1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 562

「DIP概論」- IP Testing

IEEE P1500 lsquoSECTrsquo (12)bull Facilitate test interoperability of embedded

cores to improve efficiency of core creators integrators and manufacturersndash Standardize interface between core provider and

core userbull Core test information modelbull Test access to embedded cores

ndash Do not standardizebull Corersquos internal test methods and DFTbull Chip-level test integration and optimization

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 563

「DIP概論」- IP Testing

IEEE P1500 lsquoSECTrsquo (22)bull Membership of IEEE P1500 is on an individual

basis information and meetings are open to everyonendash httpgrouperieeeorggroups1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 564

「DIP概論」- IP Testing

IEEE P1500 Main Componentsbull Standardized scalable core test wrapperbull Core test information model

ndash Described in standardized Core Test Language (CTL)bull Two compliance levels

ndash IEEE 1500 Unwrappedndash IEEE 1500 Wrapped

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 565

「DIP概論」- IP Testing

IEEE P1500 for Mergeable Cores (13)bull Mergeable cores

ndash Cores that can be merged with surrounding circuitry to form one unit for testing

ndash Mergeable cores do not need to be mergedbull Eg Digital logic at RT- or gate-level

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 566

「DIP概論」- IP Testing

IEEE P1500 for Mergeable Cores (23)

MergeableEg digital logicAt RTgate-level

Non-MergeableEg layoutencrypted memory

Before integration

MergedCoremodule tested as part of its integration environment

Non-MergedCoremodule tested as aseparate entity with test patternsdeveloped for the coremoduleas a stand-alone unit

After integration

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 567

「DIP概論」- IP Testing

bull Challengesndash Most DFT insertion and test pattern generation take

place at gate-levelndash Core test cannot be re-used once core is mergedndash What to standardize for RTL- and other merged

cores to facilitate test interoperability

IEEE P1500 for Mergeable Cores (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 568

「DIP概論」- IP Testing

Standardized Wrapperbull IEEE P1500 is a core-level standard

ndash Implementation of SourceSink depends on test methods

ndash Implementation of TAMs depends on SOCndash Note IEEE P1500 only standardizes the

wrapper

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 569

「DIP概論」- IP Testing

Wrapper Functionsbull Transparent functional modebull Test access

ndash Inward-facing for core-internal tests (InTest)ndash Outward-facing for core-external tests (ExTest)

bull Switchable connection between core and TAM(s)ndash One lsquosingle-bit TAM Plugrsquo is mandatoryndash Zero or more lsquoMulti-bit TAM Plugsrsquo are optional

bull Optional lsquowidth adaptationrsquo for TAM plugs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 570

「DIP概論」- IP Testing

The Wrapper Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 571

「DIP概論」- IP Testing

Wrapper Elements (12)bull Wrapper Instruction Register (WIR)

ndash Controls operation of wrapperndash Mandatory optional and user-defined instructions ndash Implementation requires shiftupdate registerndash Controlled directly from WIPndash Instructions are loaded via WSI-WSO

bull Wrapper Bypass Register (WBY)ndash Mandatory bypass for serial TAM

(between WSI-WSO)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 572

「DIP概論」- IP Testing

Wrapper Elements (22)bull Wrapper Boundary Register (WBR)

ndash Controllabilityobservability on core terminalsndash Built from library of wrapper cellsndash In test mode configured to one or multiple test

access chainsndash Test data are loaded from WSI-WSO or

WPI-WPO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 573

「DIP概論」- IP Testing

Wrapper Interface (12)bull Functional inputsoutputs

ndash Number names and functions match the corersquos functional inputsoutputs

bull Wrapper Interface Port (WIP)ndash 6-bit control port for WIR and Wrapper

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 574

「DIP概論」- IP Testing

Wrapper Interface (22)bull Serial interface WSI-WSO

ndash Load instructions into WIRndash Load test data into selected wrapper registers

(WBR WBY)bull Parallel interface WPI-WPO

ndash Load test data into WBRndash User-defined width

bull Zero or more parallel ports (typical one)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 575

「DIP概論」- IP Testing

Wrapper Interface Register (WIR)bull Serial shiftupdate registerbull Scalable length

ndash Mandatory bits for mandatory wrapper modesndash Optional bits for optional wrapper modesndash User-defined bits

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 576

「DIP概論」- IP Testing

Wrapper Interface Port (WIP)bull Functions

ndash Control the operation of the WIRndash Control together with the WIR instruction the operation of the

wrapperbull Signals

WRCK lsquoWrapper Clockrsquo dedicated P1500 clock signal for WIR WBY optionally WBR

WRSTN lsquoWrapper Resetrsquo dedicated P1500 reset (asynchronous active-low) signal for WIR puts wrapper in Normal mode

SelectWIR (De-)selects WIR as register between WSI-WSO

CaptureWR Enables capture operation for selected register

ShiftWR Enables shift operation for selected register

UpdateWR Enables update operation for selected register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 577

「DIP概論」- IP Testing

Basic Wrapper Cellbull Modes

ndash Normal mode normal = 1ndash Shift mode shift = 1

bull Controllabilityndash normal = 0 =gt value in SE is driven onto cfo

bull Observabilityndash shift = 0 =gt value at cfo is captured into SE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 578

「DIP概論」- IP Testing

Wrapper Cell Optionsbull SEs can be shared with functional SEsbull Capture in Update SE instead of Shift SEbull Update SE that prevents ripple-through while

shiftingbull Multiple shift SEs for high-speed stimuli bull Mode in which lsquosafersquo value is presented at cfo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 579

「DIP概論」- IP Testing

Wrapper Cell with Only ShiftCapture SE

Dedicated SE Shared SE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 580

「DIP概論」- IP Testing

Wrapper Cell with ShiftCapture + Update SEs

Shared Updated SE

Dedicated SEs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 581

「DIP概論」- IP Testing

Scalable Wrapper Cell

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 582

「DIP概論」- IP Testing

Wrapper Instruction Set

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 583

「DIP概論」- IP Testing

Serial Interface WSI-WSO (12)bull Mandatory serial interface is used for two

purposesndash Wrapper control load instructions into the WIRndash Low-bandwidth test data access to WBR (serial TAM)

bull P1500 envisions concatenated connectionndash Daisychain is a flat interconnection methodndash Supports hierarchical design

bull Consistent interface at every level of hierarchy

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 584

「DIP概論」- IP Testing

Serial Interface WSI-WSO (22)bull Concatenated serial mechanism easy to

connect to IEEE 11491 (JTAG) TAP and TAP Controllerndash Private instructions connect daisychained serial

mechanisms between TDI and TDOndash Cores can be tested and debugged even while

SOC is soldered onto PCB

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 585

「DIP概論」- IP Testing

Parallel Interface(s) WIP-WPO (12)bull Optional parallel interface(s) are used for test

data access to WBR with user-defined scalable bandwidth

bull Optionsndash Zero Low-bandwidth serial interface is only TAMndash One SOC manufacturing test takes place via Parallel

TAM bull Serial TAM is used for loading WIR instructions and

during board-level silicon debugndash Multiple Different core tests need different

bandwidths

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 586

「DIP概論」- IP Testing

bull P1500 supports many SOC-level configurationsndash Multiplexingndash Daisychainndash Distribution

Parallel Interface(s) WIP-WPO (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 587

「DIP概論」- IP Testing

Typical Usage of P1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 588

「DIP概論」- IP Testing

P1500 Wrapper Parameters (12)bull Scalability in the follow parameters

ndash Bandwidthbull Number of WPI-WPO pairs (zero or more)bull Width of the WPI-WPO pairs (if present)

ndash Instructionsbull Optional instructionsbull User-defined instructionsbull OpCodes of instructions

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 589

「DIP概論」- IP Testing

bull WBR functionalityndash Shared or dedicated wrapper cellsndash Shift-only or Shift+Update wrapper cellsndash Storage capacity (one or more bits)ndash Location of capture (in Shift or Update register)ndash Ripple protection (with Update register or gate)ndash lsquoSafe statersquo output values

P1500 Wrapper Parameters (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 590

「DIP概論」- IP Testing

Notes

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 591

「DIP概論」- IP Testing

P1500rsquos Information Model (12)

bull The information model should allow the SOC integrator or automation tools to successfully create a complete test for the SOC

bull The information model is captured in Core Test Language (CTL) a language for expressing test-related information for reusable cores

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 592

「DIP概論」- IP Testing

bull CTL is meant to co-exist and complement information expressed as a netlist

bull The CTL description of a P1500-compliant core allows to ndash Construct a wrapper and an appropriate TAMndash Configure the code to be testedndash Configure the core for its surroundings to be

testedndash Transform core-level into SOC-level test

patterns

P1500rsquos Information Model (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 593

「DIP概論」- IP Testing

IEEE 1450 (STIL)bull IEEE 1450 - Standard Test Interface Language

(STIL) for digital test vector datandash httpgrouperieeeorggroups1450

bull STIL is meant as a common interchange format between EDA test generation and ATE test application ndash STIL is capable of describing digital test vector datandash Focus on large volume of digital data

bull Developed by EDA vendors ATE vendors and IC manufacturers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 594

「DIP概論」- IP Testing

IEEE P14506 (CTL) (12)

bull IEEE P14506 - Core Test Language bull Initially created by and developed within

IEEE P1500 to describe its information modelndash CTL syntax and semantics in IEEE P14506ndash Information model and CTL usage in IEEE

P1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 595

「DIP概論」- IP Testing

IEEE P14506 (CTL) (22)bull CTL uses STIL-like syntax

ndash Test patterns and waveforms are described in STIL

ndash CTL mandates separation of test patterns into test protocol and test data for easy expansion

ndash CTL-specific constructs describe corersquos test modes

ndash CTL-specific constructs describe corersquos integration

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 596

「DIP概論」- IP Testing

STIL - CTL Structure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 597

「DIP概論」- IP Testing

CTL Key Words

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 598

「DIP概論」- IP Testing

Usage of MacroDefs (12)

bull STIL contains the construct MacroDefsndash This can be used for separating test protocol

and data in CTL this separation is mandatory

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 599

「DIP概論」- IP Testing

Usage of MacroDefs (22)bull Typical usage

ndash Voluminous test data is coded in separate CTL file

ndash CTL for lsquo1500-Unwrappedrsquo core references test patterns with a MacroDef applicable for unwrapped core

ndash CTL for lsquo1500-Unwrappedrsquo core references same test patterns but has an updated MacroDefs

ndash SOC-level test again references same test patterns but with yet another MacroDefs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 600

「DIP概論」- IP Testing

Motivation for Dual Compliance Levels (12)

bull Testing an embedded core or module only works if properly isolated from the rest of the SOC and hence requires a wrapper

bull The P1500 wrapper is scalable in many aspects to allow optimization towardsndash Corendash SOC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 601

「DIP概論」- IP Testing

bull In order to provide additional flexibility and support multiple use scenarios P1500 standardizes two separate compliance levels

Motivation for Dual Compliance Levels (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 602

「DIP概論」- IP Testing

Two Compliance Levels (12)

bull IEEE 1500 Unwrappedndash Core does not have a complete IEEE 1500

wrapper functionndash Core has a complete IEEE Information Model

which accurately describes the corersquos tests as well as provide all information on the basis of which the core could be made lsquoIEEE 1500 Wrappedrsquo (either manually or automatically by tools)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 603

「DIP概論」- IP Testing

Two Compliance Levels (22)

bull IEEE 1500 Wrappedndash Core incorporates complete IEEE 1500 wrapper

function ndash Core has a complete Information Model which

accurately describes the corersquos tests as well as the wrapper and how to operate it

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 604

「DIP概論」- IP Testing

P1500 Use Scenario 1 (13)

bull Core provider delivers lsquoIEEE 1500 Unwrappedrsquo corendash The Information Model that comes with it

contains all relevant core test knowledge including core-related data for generation of the IEEE 1500 wrapper

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 605

「DIP概論」- IP Testing

P1500 Use Scenario 1 (23)

bull Core user makes core lsquoIEEE 1500 Wrappedrsquondash Adding IEEE 1500 Wrapperndash Upgrading the Information Model from bare

core terminals to wrapper terminals

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 606

「DIP概論」- IP Testing

P1500 Use Scenario 1 (33)

bull Can take data specific to particular system-chip into account while instantiating the wrapper (eg TAMs width of TAMs rsquosafersquo state)

bull lsquoIEEE 1500 Unwrappedrsquo guarantees fast and reliable route to lsquoIEEE 1500 Wrappedrsquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 607

「DIP概論」- IP Testing

P1500 Use Scenario 2bull Core provider delivers lsquoIEEE 1500

Wrappedrsquo core of which the wrapper is built-to-order on customer specification

bull Similar to Scenario 1 except conversion done by core provider

bull Requires cooperative information exchangebull Core provider might have expertstools for

conversion

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 608

「DIP概論」- IP Testing

P1500 Use Scenario 3 (12)

bull Core provider offers a catalogue of off-the-shelf lsquoIEEE 1500 Wrappedrsquo cores with fixed wrapper parameters

bull Core user selects the core which best matches the system chip needs

bull Allows to integrate wrapper with core in order to minimize costs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 609

「DIP概論」- IP Testing

P1500 Use Scenario 3 (22)

bull Scenario might be popular especially for hard cores

bull Large cataloguendash More work for core providerbut more choice

for core user

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 610

「DIP概論」- IP Testing

Usage of Dual Compliance Levels (12)

bull Full benefits of test interoperability are only obtained from a fully compliant lsquo1500-wrappedrsquo Core

bull Two compliance levels provide two optionsndash Make a core lsquo1500-wrappedrsquo compliant directly ndash Make an intermediate stop at lsquo1500-

Unwrappedrsquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 611

「DIP概論」- IP Testing

bull For this purpose lsquo1500-Unwrappedrsquo will also be fully standardized

Usage of Dual Compliance Levels (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 612

「DIP概論」- IP Testing

SOC Test Creation

bull Distinguish two types of circuitry within SOC ndash IEEE 1500 Wrapped Coresndash lsquoOther Circuitryrsquo

bull Unwrapped coresbull Interconnect logic and wiring

bull IEEE P1500 facilitates SOC test for both types

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 613

「DIP概論」- IP Testing

Test Creation for Compliant Cores (13)

bull Test for IEEE 1500 Wrapped core is delivered with the core in its Information Modelndash No need for core user to know the

implementation details of the core to develop a test

ndash Test re-use

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 614

「DIP概論」- IP Testing

bull Test access to core is guaranteed (provided proper TAM connections are made)

Test Creation for Compliant Cores (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 615

「DIP概論」- IP Testing

bull Translation of test from wrapper boundary to SOC pinsndash In case of one-to-one relationship between core

terminals and SOC pins simple renaming suffices

ndash Sharing TAMs with multiple cores bypasses bidirectional TAMs complicate this process

Test Creation for Compliant Cores (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 616

「DIP概論」- IP Testing

Test Creation for lsquoOther Circuitryrsquo (12)

bull Test re-use not possiblebull Typically ATPG at SOC level is required

to generate test patterns for this circuitry bull IEEE 1500 Wrapped cores are tested by

their own patterns and do not need to be included in this

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 617

「DIP概論」- IP Testing

ndash Wrapped cores should be black-boxedbull For some cores not netlist available at allbull Even if netlist is available blackboxing will reduce

the compute time for ATPG for the other circuitry substantially

ndash The P1500 Information Model provides necessary information about controllability observability features in wrapper to APTG tool

Test Creation for lsquoOther Circuitryrsquo (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 618

「DIP概論」- IP Testing

Overview of Example

Given a very small scan-testablecorebull lsquo1500-Unwrappedrsquo compliant core

ndash P1500 Information Modelbull lsquo1500-Wrappedrsquo compliant core

ndash P1500 Wrapper ndash P1500 Information Model

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 619

「DIP概論」- IP Testing

Bare Core

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 620

「DIP概論」- IP Testing

STIL Test Patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 621

「DIP概論」- IP Testing

Wrapped Core

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 622

「DIP概論」- IP Testing

Modes Instruction and Opcodes

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 623

「DIP概論」- IP Testing

Normal + Serial Bypass Modes

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 624

「DIP概論」- IP Testing

Serial in Test Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 625

「DIP概論」- IP Testing

Serial ExTest Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 626

「DIP概論」- IP Testing

Parallel InTest Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 627

「DIP概論」- IP Testing

Parallel ExTest Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 628

「DIP概論」- IP Testing

Wrapper Design (12)

bull Automated wrapper designndash Library of wrapper cellsndash Wrapper configuration depends on core

terminal types ndash Optimization for test time

bull No industry-wide standard (yet)ndash Ad-hoc wrappers may not operate in concerto

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 629

「DIP概論」- IP Testing

Wrapper Design (22)

bull Optimal wrapper design algorithm for test time minimization

Ref [Marinissen et al ndash ITCrsquo00]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 630

「DIP概論」- IP Testing

Wrapper Chain Design (12)

bull Wrapper itemsndash Wrapper input cellsndash Wrapper output cellsndash Core-internal scan chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 631

「DIP概論」- IP Testing

Wrapper Chain Design (22)

bull Wrapper chain designndash Designing the test access chains within the

wrapper from wrapperrsquos TAM input plug through all wrapper items to TAM output plug

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 632

「DIP概論」- IP Testing

Wrapper Chain Design amp Test Time (12)

bull lsquoTest Timersquo for large ICs is important cost factor ndash Test application time

=gt more time on ATE

ndash Size of test vector set =gt more expansive ATE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 633

「DIP概論」- IP Testing

bull Wrapper chain design has large impact on test time ndash Partitioning which wrapper item in which

wrapper chainndash Ordering position of wrapper item in a

wrapper chainndash Bypasses shorten wrapper chain where

possible

3

2

1

Wrapper Chain Design amp Test Time (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 634

「DIP概論」- IP Testing

Ordering of Wrapper Items

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 635

「DIP概論」- IP Testing

Bypasses (12)

bull Scan chain bypassndash Shortens wrapper chain length through during

ExTestbull Wrapper bypass

ndash Shortens wrapper chain length while testing other core up- or downstream in same TAM

ndash Contains register for plug-n-play connection of (possible) long wires

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 636

「DIP概論」- IP Testing

Bypasses (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 637

「DIP概論」- IP Testing

Partitioning of Wrapper Items (12)

bull Partition ndash x wrapper input cells all of scan length 1ndash y wrapper output cells all of scan length 1ndash z core-internal scan chains which scan length Ii

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 638

「DIP概論」- IP Testing

bull over ndash m wrapper chains

(typically m lt z lt x+y+z)such that ndash scan-in length over all wrapper chains in

minimizedndash scan-out length over all wrapper chains in

minimized

Partitioning of Wrapper Items (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 639

「DIP概論」- IP Testing

Three-Step Solution Approach (13)

1 Find partition PS of z core-internal scan chains over m wrapper chains such that maximum sum of scan lengths in any wrapper chain is minimized

(Hard)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 640

「DIP概論」- IP Testing

2 Assign x wrapper input cells to wrapper chains on top of PS such that maximum scan-in time of any wrapper chain is minimized

(Easy)

Three-Step Solution Approach (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 641

「DIP概論」- IP Testing

3 Assign y wrapper output cells to wrapper chains on top of PS such that maximum scan-out time of any wrapper chain is minimized

(Easy)

Three-Step Solution Approach (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 642

「DIP概論」- IP Testing

Wrapper Scan Chain Partitioning (12)

[Problem Definition]Givenndash Set of core-internal scan chains

S = S1 S2 hellip SZ with length L(Si)ndash m identical wrapper chains (typically mlt z)

Find ndash Partition P =P1 P2 hellip Pm of S such that

is minimizedsum isinlele P SLi

Smi)(max

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 643

「DIP概論」- IP Testing

bull Problem is equivalent to well-known NP-hard problems of Multi-Processor Scheduling and Bin Design

Wrapper Scan Chain Partitioning (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 644

「DIP概論」- IP Testing

WSCP Algorithms (13)

Polynomial-time algorithms for near-optimal resultsbull LPT(Last Processing Time)

ndash Sort items from large to smallL(S1) ge L(S2) ge hellip ge L(Sz)

ndash Assign scan chains to shortest wrapper chain so far

Ref [Grahamrsquo69]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 645

「DIP概論」- IP Testing

WSCP Algorithms (23)

bull COMBINEndash Use LPT to obtain start solution ndash Linear Search over maximum wrapper chain

lengths bull Try whether wrapper items fit a wrapper chain

length with FFD (First Fit Decreasing)

Ref [Coffman Garey Hohnson78]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 646

「DIP概論」- IP Testing

WSCP Algorithms (33)

bull LPT is fast and has good resultsndash COMBINE produces sometimes better

resultsat the expense of more CPU time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 647

「DIP概論」- IP Testing

Example Core (12)

bull Core characteristicsndash Terminals

8 functional inputs a[07]

11 functional outputs z[010]

9 scan inputs si[08]

9 scan outputs so[08]

+ 1 scan enable sc

38 core terminals in total

ndash Core-internal scan chains lengths 12 6 8 6 6 12 6 8 8 flip flops

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 648

「DIP概論」- IP Testing

Example Core (22)

bull Desired wrapper characteristicsndash Serial TAMndash 3-bit parallel TAMndash Wrapper bypassndash No scan chain bypasses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 649

「DIP概論」- IP Testing

Wrapper Result (14)bull Algorithmic results

ndash LPT max length = 26P1 = 12 8 6P2 = 12 6 6P3 = 8 8 6

ndash COMBINE max length = 24P1 = 12 12P2 = 8 8 8P3 = 6 6 6 6

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 650

「DIP概論」- IP Testing

Wrapper Result (24)

bull Operation modes (13)ndash Serial access

bull All wrapper items connected into one chain

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 651

「DIP概論」- IP Testing

Wrapper Result (34)

bull Operation modes (23)ndash Parallel access

bull All wrapper items divided over the (three) wrapper chains according to COMBINE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 652

「DIP概論」- IP Testing

Wrapper Result (44)

bull Operation modes (33)ndash Parallel pass

bull Bypass over the (three) wrapper chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 653

「DIP概論」- IP Testing

Compliance Checking (12)

bull Automatic check to assure that Core + Wrapper are compliant to standard

bull Relevant to both core provider and core user as compliance guarantees interoperability of this core with others at SOC level

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 654

「DIP概論」- IP Testing

Compliance Checking (22)

bull No industry-wide standard (yet)ndash Current compliance checkers only work for

company-internal standardsbull Wrapper generator and compliance checker

might work in concerto

Ref [Marinissen et al - ITC00]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 655

「DIP概論」- IP Testing

Wrapper Generator + Compliance Checker (13)

bull Automated wrapper design ndash corersquos netlist availablendash Compliance checker identifies still missing

wrapper functionality ndash Wrapper generator adds only required missing

hardwarendash Optional compliance checker for outgoing

inspection

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 656

「DIP概論」- IP Testing

bull Automated wrapper design ndash corersquos netlist not availablendash Wrapper generator adds full wrapper

functionalityndash Optional compliance checker for outgoing

inspection bull Manual wrapper design

ndash compliance checker for outgoing inspection

Wrapper Generator + Compliance Checker (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 657

「DIP概論」- IP Testing

bull Wrapped core usage ndash compliance checker for incoming inspection

Wrapper Generator + Compliance Checker (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 658

「DIP概論」- IP Testing

ExTest test Generation (12)

bull Test patterns for cores come from core provider

bull Core user is responsible for test patterns of SOC-specific circuitryndash Interconnect wiring ndash Interconnect logic(lsquoglue logicrsquo)ndash SOC-specific modules(lsquoUDLrsquo)

Interconnect ATPG

Normal ATPG

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 659

「DIP概論」- IP Testing

ExTest test Generation (22)

bull Interconnect ATPGndash lsquoLow-fatrsquo netlistndash Specific fault model for interconnect

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 660

「DIP概論」- IP Testing

Interconnect Faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 661

「DIP概論」- IP Testing

Interconnect ATPG

bull Determine a set of tests to detectndash Any interconnection open (S1 or S0)ndash Any shorted pair of net (wired-AND or wired-

OR)bull Solution is known as the ldquoCountingrdquo

algorithm

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 662

「DIP概論」- IP Testing

TAM Architecting (12)

bull Decision support to analyze and evaluate trade-offs for various TAM architectures at SOC levelndash How many TAMsndash Which core connects to which TAMndash How wide is each TAMndash How is the wrapper designed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 663

「DIP概論」- IP Testing

TAM Architecting (22)

bull Impact onndash Test quality ndash Test time ndash Areandash Dissipationndash Performance impact

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 664

「DIP概論」- IP Testing

Three TAM Architectures

Ref [Aerts amp Marinissen - ITC98]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 665

「DIP概論」- IP Testing

Multiplexing Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 666

「DIP概論」- IP Testing

Daisychain Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 667

「DIP概論」- IP Testing

Distribution Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 668

「DIP概論」- IP Testing

Architecture Model

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 669

「DIP概論」- IP Testing

Improved Wrapper Design

Source [Iyengar et al ndash ITCrsquo01]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 670

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (14)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 671

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (24)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 672

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (34)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 673

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (44)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 674

「DIP概論」- IP Testing

Problem Formalization (13)

bull PW Design a wrapper for a given core such that ndash The core testing time in minimized ndash The TAM width required for the core is minimized

bull PAW Determinendash An assignment of cores to TAMs of given widthsndash A wrapper design for each core

such that the SOC testing time is minimized

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 675

「DIP概論」- IP Testing

Problem Formalization (23)

bull PPAW Determinendash A partition of the total TAM width over the given number of

TAMs ndash An assignment of cores to TAMs of given widthsndash A wrapper design for each core

such that the SOC testing time is minimized

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 676

「DIP概論」- IP Testing

Problem Formalization (33)

bull PNPAW Determine ndash The number of TAMs for the SOCndash A partition of the total TAM width over the given number of

TAMs ndash An assignment of cores to TAMs of given widthsndash A wrapper design for each core

such that the SOC testing time is minimized

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 677

「DIP概論」- IP Testing

More Research Neededbull Many interesting research results are

appearing in this domainbull TAM architecting and test scheduling are

intertwinedbull Most of todayrsquos approaches focus only on

ndash lsquoTest-busrsquo like TAMs (and ignore other TAM types)

ndash InTests (and ignore ExTests)ndash Test time (and ignore other costs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 678

「DIP概論」- IP Testing

Test Expansion

bull Translation of ndash Core-level test (defined at core terminals)intondash SOC-level test defined at IC pins)

bull Test Protocol Expansion

Ref [Marinissen amp Lousberg ndash TEC97 ETW99]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 679

「DIP概論」- IP Testing

Macro Test Concept Overview (13)

bull Test = test protocol + test patternsbull Subsequent tasks automated

ndash Test protocol expansion (TPE)ndash Test protocol scheduling (TPS)ndash Test assembly (TASS)

bull Support of multiple hierarchy levels

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 680

「DIP概論」- IP Testing

bull Supports every kind of test access mechanismndash Original forcus on transparency of macros

especially core-internal scan chains

Macro Test Concept Overview (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 681

「DIP概論」- IP Testing

Macro Test Concept Overview (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 682

「DIP概論」- IP Testing

Terminology (12)

bull Pattern ndash A vector with stimulus and response values

bull Pattern List ndash The list of all patterns needed for a test of a

macrobull Test Protocol

ndash The prescription according to which a pattern should be applied

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 683

「DIP概論」- IP Testing

Terminology (22)

bull Testndash Repeated execution of a test protocol where

every time another pattern from the pattern list is filled in

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 684

「DIP概論」- IP Testing

Simple Example (12)

Ref [Marinissen amp Lousberg ndash ETW99]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 685

「DIP概論」- IP Testing

Simple Example (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 686

「DIP概論」- IP Testing

Transfer through Neighbors

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 687

「DIP概論」- IP Testing

Example SOC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 688

「DIP概論」- IP Testing

Test Protocol Expanded to SOC Pins

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 689

「DIP概論」- IP Testing

Test Assembly

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 690

「DIP概論」- IP Testing

Test Assembly Example

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 691

「DIP概論」- IP Testing

Test Scheduling (12)

bull Minimization of occupancy of resources for given core tests and SOC test infrastructure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 692

「DIP概論」- IP Testing

Test Scheduling (22)

bull Resources ndash Power dissipation during test executionRef[Zorian ndash VTS93]

[Saluja amp Agrawal ndash Trans VLSI System97]

ndash Test application timestorage capacity at ATERef[Marinissen amp Aerts ndashTECS98]

[Chakrabarrty ndash ICCAD99 TCAD00][Iyengar amp Chakrabarrty ndash VTS01][Larsson amp Peng - DATE01]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 693

「DIP概論」- IP Testing

Modifiedhelliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 694

「DIP概論」- IP Testing

Examples of Cores

bull Processor ARM hellipbull Memory RAM ROM hellipbull DSP TI hellipbull Peripheral DMA controller hellipbull Interface PCI USB UART hellipbull Multimedia JPEG MPEG hellipbull Networking Ethernet controller hellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 695

「DIP概論」- IP Testing

Chip and Board Testing

DFT BISThelliphellip

Boundary Scanhelliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 696

「DIP概論」- IP Testing

Virtual Component (VC)

bull A design block that meets the VSI (Virtual Socket Interface) specification and is used as a component in the virtual socket design environmentndash VSI is supported by the VSI Alliance (VSIA)

httpwwwvsiacom

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 697

「DIP概論」- IP Testing

Intellectual Property (IP)

bull The rights in cores that allow the owner of those rights to control the exploitation of those cores and the expression of the cores by othersndash Protected by lawsndash Liability in cases of failure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 698

「DIP概論」- IP Testing

Notes

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 699

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

h

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 700

「DIP概論」- IP Testing

Fig 6-3[1990] Fig 6-4[1990] Fig 6-5[1990] Fig 6-10[1990]

Fig 6-23[1990] Fig 6-27[1990](pp 166 done)

Fig 6-29[1990] Fig 6-30[1990]

Fig 6-34[1990] Fig 6-37[1990]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 701

「DIP概論」- IP Testing

bull Sequential controllability and observabilitybull Bugs 136amp137 144(modified)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 702

「DIP概論」- IP Testing

bull A fault model is an abstraction of the error caused by a particular physical faultsndash The purpose is to simplify the test procedure

and reduce its cost while still retaining the capability of detecting the presence of the modeled faults

ndash Defects vs faults vs errors vs failuresndash Permanent faults vs non-permanent ones

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 703

「DIP概論」- IP Testing

Acknowledgements

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 704

「DIP概論」- IP Testing

An Example of SOC

ADC

DAC

PLL

RAMROM

IP 1BUS amp INTERCONNECT

ASIC 1

UDL

DSP CPU ASIC 2IP 2

Page 5: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation

Chapter 1

Introduction

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 6

「DIP概論」- IP Testing

VLSI Development FlowDetermine specification

Design the circuit

Verify the design

Develop the test procedure

Manufacture the circuit

Test the manufactured circuit

Deliver to customers

Design Errors

TestPlans

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 7

「DIP概論」- IP Testing

Why Do Circuits Fail

bull Human design errorsbull Manufacturing defects bull Package defectsbull Field (Environment) failures

ndash Temperature humidity power etc

verifytest

testtest

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 8

「DIP概論」- IP Testing

Verification vs Testingbull Verification

ndash Check for the correctness of a designbull Simulation

ndash Performed oncebull Testing

ndash Check the correctness of the manufactured circuitndash Performed repeatedly

Verification Testinglogicsoft faults realhard faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 9

「DIP概論」- IP Testing

Why Testing

bull Detect and eliminate (hard-)faulty circuits

Vdd

10

00

0

0

fault-free circuit faulty circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 10

「DIP概論」- IP Testing

How to Do Testing

Circuit Under Test

(CUT)

Test Pattern Generator

(TPG)

Output Response Analyzer(ORA)

test patterns T

outputresponses R

GoodBad

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 11

「DIP概論」- IP Testing

Related Terminologies in Testing

bull Diagnosisndash Depict the faulty sites

bull Reliabilityndash Tell whether a ldquogoodrdquo circuit will work after

some time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 12

「DIP概論」- IP Testing

Importance of Testing

N the number of transistors in a circuit (chip)p the probability that a transistor is faultyPf the probability that the chip is faulty

Pf = 1-(1-p)N

If p = 10-6 and N= 106

Pf = 632

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 13

「DIP概論」- IP Testing

Key Issues in Testing

Circuit Under Test

(CUT)

Test Pattern Generator

(TPG)

Output Response Analyzer(ORA)

test patterns T

outputresponses R

Fault Modeling Design for Testability

Test GenerationProblem

Good if R = RrsquoBad if R ne Rrsquoexpected

responses Rrsquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 14

「DIP概論」- IP Testing

Circuit Modeling

bull Describe the behavior of circuitsndash Behavior modelndash RTL modelndash Gate level modelndash helliphellip

clocks (edgelevel-sensitive)delaytiming

algorithms

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 15

「DIP概論」- IP Testing

Fault Modeling

bull Describe the effects of physical faultsbull Fault model requirements

ndash Adequately represent actual faultsndash High coverage against physical faultsndash Well-behavedndash Simple enough to use in practice

bull Eg Fault simulation test generation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 16

「DIP概論」- IP Testing

Fault Modelsbull Single stuck-at fault model

ndash Any single line x is stuck at 0 or 1bull Multiple stuck-at fault model

ndash Several lines x are stuck at 0 or 1bull Delay fault model

ndash Delay of a single path is changedbull Bridging fault model

ndash Signals x and y become AND(x y) or OR(x y)bull helliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 17

「DIP概論」- IP Testing

Single Stuck-at Fault Model (12)

bull Depict that ldquoone single linerdquo is permanently stuck at 1 or 0

EA

B

C

D F

G

A s-a-1A s-a-0E s-a-1E s-a-0

B s-a-1B s-a-0F s-a-1F s-a-0

C s-a-1C s-a-0G s-a-1G s-a-0

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

14 faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 18

「DIP概論」- IP Testing

Single Stuck-at Fault Model (22)bull Advantages

ndash Match the gate level and are well-behavedndash The number of possible faults is relatively smallndash Tests for single stuck-at faults give good coverage of

permanent faultsbull Disadvantages

ndash Dose not account for some physical fault effectsndash Few physical faults behave exactly like single-at faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 19

「DIP概論」- IP Testing

Detectability of Faults

bull A fault f is said to be detectable if there exists a test vector x such that Cf(x) ne C(x) ie f is ldquodetectedrdquo by x

Vdd

10

00

0

0

fault-free circuit C fault f is detected by (00)

xf s-a-1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 20

「DIP概論」- IP Testing

Fault Coverage (FC)FC =

the size of fault listnumber of detected faults

CA

B

6 faultsA0 A1 B0 B1 C0 C1

test vector set detected faults FC(0 0)(0 1)(1 1)(0 0) (1 1)(1 0) (0 1) (1 1)

C1A1 C1A0 B0 C0A0 B0 C0 C1ALL

1667333350006667

10000

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 21

「DIP概論」- IP Testing

Testing QualityIC

FabricationYield(Y)

Rejected Parts

Shipped PartsDefect Level(DL)

bull Yield (Y) fraction of good partsbull Defect Level (DL) fraction of shipped parts that are defectivebull Quality of shipped parts is a function of Y and FC

DL = 1 ndash Y (1 - FC)

Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 22

「DIP概論」- IP Testing

Circuit Simulationbull Determine how a good circuit should work

ndash Given input vectors determine the normal circuit output responses

EA

B

C

D F

G

1

10

0

01

1

Simulation under the input 1 0 0 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 23

「DIP概論」- IP Testing

Fault Simulation (12)

bull Determine the behavior of faulty circuitsE s-a-0 A

B

C

D F

G

1

100

0

01

10

x

Simulation under the input 1 0 0 0 with fault E s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 24

「DIP概論」- IP Testing

Fault Simulation (22)

bull Given a test vector determine all faults that are detected by this test vector

CA

B 1

10

Test vector (1 1) detects A0 B0 C1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 25

「DIP概論」- IP Testing

Test Generation (12)

bull Given a fault identify a test vector to detect this fault

A

B

C

D s-a-0

E

F

x

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 26

「DIP概論」- IP Testing

Test Generation (22)

bull Sensitizationndash To detect D s-a-0 D must be set to 1

ie A = B = 1bull Propagation

ndash To propagate the fault effect to the output F Emust be set to 1 ie C = 0

Test vector for D s-a-0 is 1 1 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 27

「DIP概論」- IP Testing

Automatic Test Pattern Generation (ATPG) (12)

bull Given a circuit identify a set of test vectors to detect all the detectable faults under the considered fault models

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 28

「DIP概論」- IP Testing

Automatic Test Pattern Generation (ATPG) (22)a circuit and the fault list

more fulats

select a fault

test generation

fault simulation

fault dropping

exit

Yes

No

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 29

「DIP概論」- IP Testing

Difficulties in Test Generation (12)

bull Reconvergent fanout

A

B

C

D s-a-1

E

F

x

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 30

「DIP概論」- IP Testing

Difficulties in Test Generation (22)bull Sequential test generation

combinational circuit

D

clk

Q

x The fault effect cannot be observed at POs

PIs POs

The test patterns cannotbe generated at PIs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 31

「DIP概論」- IP Testing

Advanced Test GenerationFC

100

of test patterns

Pseudorandom Test Pattern Generation

Deterministic Test Pattern Generation

Design for Testability (DFT)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 32

「DIP概論」- IP Testing

Testing Costs

bull Test software developmentndash Automatic test pattern generator (ATPG)ndash Fault simulation and other debugging policies

bull Design for testability (DFT)ndash Chip area overhead ie yield lossndash Performance overhead ie degradation

bull Automatic test equipments (ATEs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 33

「DIP概論」- IP Testing

Difficulties in Testing

bull Some real faults are too complex to modelbull Most testing problems are NP-completebull IO access is limitedbull ATEs are expensive

Testing is rarely complete (FC lt 100)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 34

「DIP概論」- IP Testing

The Goals of Testingbull Detect all expected faults (high fault coverage)bull Diagnose to the smallest replaceablerepairable

component (high fault resolution)bull Fast and low-cost test generationbull Fast and low-cost test applicationbull Efficient response comparisonbull High degree of automationbull Low penalties in hardware overheadperformance

Chapter 2

Fault Models

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 36

「DIP概論」- IP Testing

Faults and Errors

bull Faultsndash Physical defects within a circuit or a systemndash May or may not cause the circuit to fail

bull Errorsndash Manifestation of faults that results in incorrect

circuit or system outputs or statesndash Caused by faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 37

「DIP概論」- IP Testing

Failures

bull Deviation of a circuit or a system from its specified behaviorndash Fails to do what it should do ndash Caused by errors

bull Faults Errors and Failures

Faults rArr Errors rArr Failures

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 38

「DIP概論」- IP Testing

Why Model Faultsbull Identify target faults and describe their

effectsbull Limit the scope of test generation

ndash Create test patterns only for the modeled faultsbull Make analysis possible

ndash Compute the fault coverage for specific test patterns

ndash Associate specific faults with specific test patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 39

「DIP概論」- IP Testing

Fault Modelsbull Stuck-at faultsbull Bridging faultsbull PLA faultsbull Transistor stuck-onopen faultsbull Delay faultsbull Functional faultsbull State transition faultsbull Memory faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 40

「DIP概論」- IP Testing

Stuck-at Faultsbull Single stuck-at fault model

ndash Only a single line is permanently set to either 0 or 1

bull Multiple stuck-at fault modelndash Several stuck-at faults occur at the same time

bull For a circuit with k linesndash There are 2k single stuck-at faultsndash There are 3k-1 multiple stuck-at faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 41

「DIP概論」- IP Testing

Why Single Stuck-at Fault Model (12)

bull Complexity is greatly reducedndash Many different physical defects may be

modeled by the same logical stuck-at faultsbull Technology independent

ndash Can be applied to TTL ECL CMOS etcbull Design style independent

ndash Can be applied to gate arrays standard cells full-custom description

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 42

「DIP概論」- IP Testing

Why Single Stuck-at Fault Model (22)

bull The test patterns derived for single stuck-at faults are still valid for most defects even not accurately model some other physical defects

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

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 43

「DIP概論」- IP Testing

Bridging Faults (12)

bull Two or more normally distinct points(lines) are shorted togetherndash Logic effect depends on technology

bull Wired-AND for TTLbull Wired-OR for ECL

TTL Transistor-Transistor Logic

ECL Emitter-Coupled Logic

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 44

「DIP概論」- IP Testing

Bridging Faults (22)bull Wired-AND for TTL bull Wired-OR for ECL

A

B

f

g

A

B

f

g

A

B

f

g

A

B

f

g

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 45

「DIP概論」- IP Testing

PLA Faults

bull Stuck-at faults on inputs and outputsbull Crosspoint faults

ndash MissingExtrabull Bridging faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 46

「DIP概論」- IP Testing

Missing Crosspoint Faults in PLAbull Missing crosspoint in the AND plane

ndash Growth faultbull Missing crosspoint in the OR plane

ndash Disapperance fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 47

「DIP概論」- IP Testing

Extra Crosspoint Faults in PLAbull Extra crosspoint in the AND plane

ndash Shrinkage faultbull Extra crosspoint in the OR plane

ndash Appearance fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 48

「DIP概論」- IP Testing

Transistor Stuck-On Faults (12)

bull Also referred as stuck-short faults

stuck-on

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 49

「DIP概論」- IP Testing

Transistor Stuck-On Faults (22)

bull May cause ambiguous logic levelsndash Depend on the relative impedances of the pull-

up and pull-down networksbull Quiescent current may be increased called

IDDQ fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 50

「DIP概論」- IP Testing

Transistor Stuck-Open Faults (12)

bull May cause output floating(high impedance)

stuck-open

0 Z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 51

「DIP概論」- IP Testing

Transistor Stuck-Open Faults (22)

bull Turn the circuit into a sequential circuitndash Stuck-open faults require two-vector test

patterns

stuck-open

10 0100

two-vector test pattern

fault-free response

fault response

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 52

「DIP概論」- IP Testing

Gate Delay Faults (12)bull Slow to rise or fall

X X

R

X is slow to rise when channel resistance R is abnormally high

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 53

「DIP概論」- IP Testing

Gate Delay Faults (22)bull Detectability of gate delay faults

ndash May not be detected

slow

critical path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 54

「DIP概論」- IP Testing

Path Delay Faultsbull Propagation delay of a path exceeds the

clock intervalbull The number of paths grows exponentially

with the number of gates

XY

XY

the clock interval

propagation delay

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 55

「DIP概論」- IP Testing

Functional Faultsbull Behavioral faults

ndash Fault effects are modeled at a higher level for modules such as

bull Decodersbull Multiplexersbull Addersbull Countersbull RAMsbull ROMs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 56

「DIP概論」- IP Testing

An Example of Functional Faultsbull Decoder

ndash f(LiLj) instead of line Li line Lj is selectedndash f(LiLi+Lj) in addition to Li Lj is selectedndash f(Li0) none of the lines are selected

DecoderLi

Lj

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 57

「DIP概論」- IP Testing

State Transition Graph(STG)bull Each state transition is associated with a 4-

tuple (source input output destination state)

S1

S3S2

I1O1 I2O2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 58

「DIP概論」- IP Testing

Single State Transition Faults

bull A fault causes a single state transition to a wrong destination state

S1

S3S2

IO IO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 59

「DIP概論」- IP Testing

Memory Faults (12)

bull Parametric faultsndash Change the values of electrical parameters of

active or passive devices from their normal or expected values

bull Output levelsbull Power Consumptionbull Noise marginbull Data retention time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 60

「DIP概論」- IP Testing

Memory Faults (22)

bull Functional faultsndash Stuck faults in address register data register

and address decoderndash Cell stuck faultsndash Cell coupling faultsndash Pattern sensitive faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 61

「DIP概論」- IP Testing

Coupling Faults

bull A transition in memory bit i causes an unwanted change in memory bit j

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 62

「DIP概論」- IP Testing

Pattern Sensitive Faultsbull The presence of a faulty signal depends on

the signal values of the nearby pointsndash Most common in DRAM

0 0 00 d b0 a 0

a = b = 0 rArr d = 0 prevent writing a 1 into da = b = 1 rArr d = 1 prevent writing a 0 into d

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 63

「DIP概論」- IP Testing

Fault Detectionbull Let z BnrarrB A test pattern t detects a fault f

iff z(t)opluszf(t) = 1x1

x2

x3

z1

z2

f s-a-1 z1 = x1 x2

z2 = x2 x3

z1f = x1

z2 f= x2 x3

The test pattern 100 detects f because z1(100) = 0while z1f(100) = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 64

「DIP概論」- IP Testing

Sensitization

bull Given a test pattern t a line is said to ldquobe sensitized to a fault f by trdquo if its normal value is changed in the presence of f

bull A path composed of sensitized lines is called ldquoa sensitized pathrdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 65

「DIP概論」- IP Testing

Detectability

bull A fault f is said to be detectable if there exists a test pattern t that detects f otherwise f is a redundant fault

bull For a redundant fault f z(t) = zf(t)ndash No test pattern can simultaneously

sensitize(activate) f and create a sensitized path to a primary output(PO)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 66

「DIP概論」- IP Testing

Redundant Faultsbull G1 stuck-at-0 fault is redundant

ndash Redundant faults do not change the function of the circuit

ndash The related circuit can be removed to simplify the circuit

1

s-a-0G1

1

1

00

0

10a

b

c

z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 67

「DIP概論」- IP Testing

Fault Collapsing

bull The process to reduce the number of the faults under consideration is known as fault collapsing

bull Why fault collapsingndash Save memory space and CPU time for fault

simulation and test generation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 68

「DIP概論」- IP Testing

Fault Equivalencebull A test pattern t distinguishes between faults α and β iff zα(t) ne zβ(t)

bull Two faults α and β are said to be equivalent in a circuit iff zα(t) = zβ(t) for all tndash Denoted by αharr βndash No test patterns can distinguish between α and β

ndash Any test pattern which detects one of them detects all of them

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 69

「DIP概論」- IP Testing

Fault Equivalence of Primitive Gates (12)

bull NOTndash Input s-a-1 and output s-a-0 are equivalentndash Input s-a-0 and output s-a-1 are equivalent

bull ANDndash All s-a-0 are equivalent

bull ORndash All s-a-1 are equivalent

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 70

「DIP概論」- IP Testing

bull NANDndash All input s-a-0 and output s-a-1 are equivalent

bull NORndash All input s-a-1 and output s-a-0 are equivalent

Fault Equivalence of Primitive Gates (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 71

「DIP概論」- IP Testing

Equivalent Fault Collapsing (12)[Theorem 2-1] Under the single stuck-at faultmodel for an n-input primitive gate n+2instead of 2n+2 faults need to be considered

2n+2

n+1 n+1

equivalence

n+2cup

[Proof]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 72

「DIP概論」- IP Testing

Equivalent Fault Collapsing (22)

s-a-0

s-a-1s-a-1

s-a-1

s-a-1s-a-1

s-a-1 s-a-0

s-a-0

s-a-0

s-a-0

s-a-0 s-a-0

s-a-1

s-a-1

s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 73

「DIP概論」- IP Testing

Fault Dominancebull Let Tα be the set of all test patterns that

detect fault α We say that a fault βdominates fault α iff zα(t) = zβ(t) for all tisinTα

ndash Denoted by β rarr αndash No need to consider fault β for fault detection

Tβ supeTα

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 74

「DIP概論」- IP Testing

Fault Dominance of Primitive Gatesbull AND

ndash Output s-a-1 dominates any input s-a-1bull OR

ndash Output s-a-0 dominates any input s-a-0bull NAND

ndash Output s-a-0 dominates any input s-a-1bull NOR

ndash Output s-a-1 dominates any input s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 75

「DIP概論」- IP Testing

Dominated Fault Collapsing (12)[Theorem 2-2] Under the single stuck-at fault model for an n-input primitive gate only n+1faults need to be considered

2n+2

n+1 n+1

equivalencen+1

cup

[Proof]

n 1dominance

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 76

「DIP概論」- IP Testing

Dominated Fault Collapsing (22)

s-a-0

s-a-1s-a-1

s-a-1

s-a-1s-a-1

s-a-1 s-a-0

s-a-0

s-a-0

s-a-0

s-a-0 s-a-0

s-a-1

s-a-1

s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 77

「DIP概論」- IP Testing

Prime Faultsbull α is a prime fault if every fault dominated

by α is also equivalent to αbull Representative set of prime faults(RSPF)

ndash A set consisting of exactly one prime fault from each equivalence class of prime faults

bull Achieve 100 fault coverage ndash Only generate the test set for RSPF

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 78

「DIP概論」- IP Testing

Checkpoints (13)

bull Primary inputs and fanout branches

[Theorem 2-3] Any test set which detects all single stuck-at faults on every check point will detect all single stuck-at faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 79

「DIP概論」- IP Testing

Checkpoints (23)

a

b

c

d

e

s-a-1s-a-1

s-a-1

s-a-1s-a-1

s-a-1

s-a-1

s-a-1s-a-0

s-a-0

s-a-0s-a-0

s-a-0

s-a-0s-a-0

s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 80

「DIP概論」- IP Testing

Checkpoints (33)bull The set of checkpoint faults can be further

collapsed by using equivalence and dominance relations

a

b

c

d

e

10 checkpoint faultsa s-a-0 harr d s-a-0c s-a-0 harr e s-a-0b s-a-0 rarr d s-a-0b s-a-1 rarr d s-a-16 test patterns are enough

Chapter 3

Fault Simulation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 82

「DIP概論」- IP Testing

Simulationbull True-value simulation

ndash Compute the responses for given inputtest patterns without injecting any faults in the circuit

bull For verifying the correctness of the design

bull Fault simulationndash Compute the responses for given inputtest

patterns with injecting considered faults in the circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 83

「DIP概論」- IP Testing

Why Fault Simulation

bull To evaluate the quality of a test setndash In terms of fault coverage(FC)

bull To incorporate into ATPGndash Decrease the time for test pattern generation

bull To construct fault dictionary ndash For post-test diagnosis

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 84

「DIP概論」- IP Testing

Simulation Mechanisms

bull Compiled-code simulationndash Circuit is translated into the program where

each gate is executed for each patternbull Event-driven simulation

ndash Circuit structure and gate status are stored in a table and only those gates which are needed to be updated with a new pattern are processed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 85

「DIP概論」- IP Testing

Compiled-Code Simulation (13)levelize circuit and produce compiled-codeinitialize data variables(flip-flops and memory)for every input pattern begin

set the primary inputs to the input pattern repeat until (steady-state or maximum iteration-count are reached)begin

execute compiled-codeupdate the associated data variables(flip-flop or memory)

endend

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 86

「DIP概論」- IP Testing

Compiled-Code Simulation (23)

bull The use of compiled-code simulation is usually limited into high-level designndash Since detailed timing or delay is almost

impossible to be simulated in the translated compiled-code

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 87

「DIP概論」- IP Testing

Compiled-Code Simulation (33)

D-FF

abc

d

e

f

Compiled-Code

d = a amp b amp cf = d | ee = f

Q D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 88

「DIP概論」- IP Testing

Event-Driven Simulation (12)initialize simulation time t to 0while (event list is not empty) begin

for every event (i t) begin gate i changes at time tupdate the value of gate i schedule fanout gates of i in the event list if the associated value changes are expected

endadvance simulation time t

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 89

「DIP概論」- IP Testing

Event-Driven Simulation (22)1a

c

bd

e

f

g2

2

2

41

1 rarr0

0 rarr1

1 rarr0

0 rarr1

1 rarr0 rarr1

simulation time t event fanout

0 c = 0 d e

1

2 d = 1 e =0 f g

3

4 g = 0

5

6 f = 1 g

7

8 g = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 90

「DIP概論」- IP Testing

Logic Value Based Fault Simulationbull For functional faults such as single stuck-at

faults helliphellipndash Logic simulation on both fault-free and faulty

circuitsTest Patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 91

「DIP概論」- IP Testing

Complexity of Fault Simulation

bull Suitable for single stuck-at fault modelbull Higher than logic simulation but much

lower than test pattern generationbull In reality the complexity can be reduced by

fault collapsing and advanced techniques

patterns faults gates

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 92

「DIP概論」- IP Testing

Characteristics of Fault Simulationbull Fault activities with respect to fault-free

circuit are often sparse both in time and in spacendash For example f1 is not activated by the given

pattern(time) while f2 affects only the lower part of the circuit(space)

f1 s-a-0

f2 s-a-0

0

1

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 93

「DIP概論」- IP Testing

Efficiency of a Fault Simulator

bull Depend on its ability to exploit the sparse characteristics both in time and in space

人生最大的成就是從失敗中站起來證嚴法師靜思語

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 94

「DIP概論」- IP Testing

Classical Fault Simulation Techniques

bull Serial fault simulationbull Parallel fault simulationbull Deductive fault simulationbull Concurrent fault simulation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 95

「DIP概論」- IP Testing

Serial Fault Simulation

bull The simplest algorithm for fault simulationndash Simulate the fault-free circuit for all input

patterns and save the outputs in a file(table)ndash Simulate one faulty circuit at a time until the

target fault is detected by some one test pattern or proven to be undetectable

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 96

「DIP概論」- IP Testing

Parallel Fault Simulation

bull Simulate faulty circuits in parallel with fault-free circuit by taking advantage of inherent parallel operation of computer wordsndash The number of circuits being processed

concurrently is limited by the word length wbull Each pass at most w-1 faulty circuit are processed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 97

「DIP概論」- IP Testing

Example of Parallel Fault Simulation

0 0 0 0 0 1 0 0 1 0 1 1

1 1 1 1 1 1 0 1

1 1 0 1 1 1 0 0

0 1 0 0

1 0 0 1

1 1 1 1a

b

f

c

de

g

h

is-a-1

s-a-0

s-a-0

for fault-free circuitfor circuit with fault b s-a-1for circuit with fault f s-a-0for circuit with fault i s-a-0

rArr Faults f s-a-0 and i s-a-0 are detected by test pattern (a b f) = (1 0 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 98

「DIP概論」- IP Testing

Deductive Fault Simulation

bull Only the fault-free circuit is simulated (true-value simulation) ndash All signal values in each faulty circuit are

deduced from the fault-free circuit values and the circuit structure

bull Each signal is associated a list of faults in the circuit which can change the state of that line

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 99

「DIP概論」- IP Testing

Basic Fault List Propagation RulesInputs Output

a b cOutput Fault list

Lc

0 0 0 [La cap Lb] cup c1

[La cap Lb] cup c1

[La cap Lb] cup c1

[La cup Lb] cup c0

[La cup Lb] cup c1

[La cap Lb] cup c0

[La cap Lb] cup c0

[La cap Lb] cup c0

La cup c0

La cup c1

(1)0 1 0 (2)1 0 0 (3)1 1 1 (4)0 0 0 (5)0 1 1 (6)1 0 1 (7)1 1 1 (8)0 - 1 (9)

1 - 0 (10)

NOT

OR

AND

Gate Type

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 100

「DIP概論」- IP Testing

Example of Deductive Fault Simulation (12)ab

c 1 b0 c0

d 1 b0 d0

1 a0

1 b0

e 1 a0 b0 c0 e0

f 0 b0 d0 f1

Initially La = a0 and Lb = b0For the fanouts of b c and d Lc = b0 c0 and Ld = b0 d0

Le = [La cup Lc] cup e0 = a0 b0 c0 e0 by Rule (4)Lf = Ld cup f1 = b0 d0 f1 by Rule (10)

g

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 101

「DIP概論」- IP Testing

ab

g

1 a0

1 b1

e 1 a0 b0 c0 e0

f 0 b0 d0 f1

1 a0 c0 e0 g0

Lg = [Le cap Lf] cup g0 = a0 c0 e0 g0 by Rule (7)

c 1 b0 c0

d 1 b0 d0

Example of Deductive Fault Simulation (22)

rArr Faults a0 c0 e0 and g0 are detected by test pattern (a b) = (1 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 102

「DIP概論」- IP Testing

Concurrent Fault Simulation

bull Each gate retains a list of fault copies each of which stores the status of a fault to exhibit difference form the fault-free values

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 103

「DIP概論」- IP Testing

Example of Concurrent Fault Simulation

ab c

d g

1

1

e

f

1

11 1

1 0

0 1 0 1 1 1

b0 d0 f1

01 1

00

a0

01

1

b0

00

0

c0

01

1

d0

1

00

e0

01

1

f1

10

0

g0

1

a001 0

10 0

10 0

11 0

b0 c0 e0

rArr Faults a0 c0 e0 and g0 are detected by test pattern (a b) = (1 1)

1

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 104

「DIP概論」- IP Testing

Modern Fault Simulation Techniques

bull Parallel-Pattern Single-Fault Propagation (PPSFP)

bull Critical Path Tracing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 105

「DIP概論」- IP Testing

PPSFP

bull Based on the serial fault simulation many patterns are simulated in parallel for fault-free and faulty circuits respectivelyndash The number of patterns is limited by the word

length wbull Each pass at most w patterns are processed

ndash The basis of all modern fault simulators

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 106

「DIP概論」- IP Testing

Example of PPSFPbull Consider fault f s-a-0 and four pattern p3 p2

p1 and p0

0 1 0 1 1 0 1 0

1 0 0 1

1 1 0 1

0 1 0 1

1 0 0 0

1 1 1 1a

b

f

c

de

g

h

i

s-a-0

p3 p2 p1 p0

0 0 0 00 0 0 0

0 1 0 1

rArr Fault f s-a-0 are detected by test pattern p3 (a b f) = (1 0 1)

(faulty values)1 0 0 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 107

「DIP概論」- IP Testing

Sensitive Inputs

bull A gate input a is sensitive if complementing the value of a changes the value of the gate output

ab

1rarr0

1

c

a is sensitive

ab 0

0 c

a is not sensitive

1rarr0 0 rarr1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 108

「DIP概論」- IP Testing

Critical Pathsbull Let l(v) be the fault-free value of line l

under input pattern t We say that line l is critical with respect to t iff t detects the fault l s-a-l(v)

bull A gate input i is critical with respect to t if the gate output is critical and i is sensitive

bull A path consisting of only critical lines is said to be a critical path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 109

「DIP概論」- IP Testing

Critical Path Tracing

bull Two-step procedurendash Perform true-value simulation and identify

sensitive gate inputsndash Backtrace from POs to identify the critical lines

bull O(|G|) for fanout-free circuitsndash The fanout-free situation is very rare

bull Perform in fanout-free region and the stem faults are simulated by other methods mentioned earlier

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 110

「DIP概論」- IP Testing

Example of Critical Path Tracing (12)

a

b

f

c

d e

g

h

i

1

0

11

1

0

1fanout-free region

sensitive input

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 111

「DIP概論」- IP Testing

Example of Critical Path Tracing (22)

a

b

f

c

d e

g

h

i

1

0

11

1

0

1fanout-free region

sensitive inputcritical line

rArrFaults i0 h0 f0 e0 and d1 are detected by test pattern (a b f) = (1 0 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 112

「DIP概論」- IP Testing

Anomaly of Critical Path Tracinga

b

f

c

d e

g

h

i

1

0

11

1

0

1critical line

bull Stem criticality is hard to infer from branchesndash Eg Fault b s-a-1 is not detected by (a b f) = (1 0 1)

even though branches c and d are critical

stem

branch

branch

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 113

「DIP概論」- IP Testing

Multiple Path Sensitizationa

b

f

c

d

g

h

i

1

1

1

1

1

1fanout-free region

sensitive inputcritical line

bull Both c and d are not critical but b is critical and bs-a-0 can be detected by (a b f) = (1 1 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 114

「DIP概論」- IP Testing

Summariesbull Does specific test patterns detect specific

faultsndash Serial fault simulationndash Parallel fault simulationndash PPSFP

bull Which faults does a specific test pattern detect (suitable for ATPG)ndash Deductive fault simulationndash Concurrent fault simulationndash Critical Path Tracing

Chapter 4

Test Generation (TG)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 116

「DIP概論」- IP Testing

Test Generation (TG) Methods

bull From truth tablebull Using Boolean equationbull Using Boolean differencebull From circuit structure

Impractical

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 117

「DIP概論」- IP Testing

TG from Truth Table

bull Based on the serial fault simulationndash Impractical

ab

c

f

α s-a-0abc f fα000 0 0001 0 0010 0 0011 0 0100 0 0101 1 1110 1 0111 1 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 118

「DIP概論」- IP Testing

TG Using Boolean Equation

bull Based on the definition of detectability we have

Tα = (a b c) | f(a b c) oplus fα(a b c) = 1= (1 1 0)

bull High complexity

ab

c

f

α s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 119

「DIP概論」- IP Testing

Boolean DifferenceThe Boolean difference of f(x) with respect to xi is

)()()( 1f0fdx

xdfii

i

oplus=

where fi(0) = (x1 hellip 0 hellip xn) and fi(1) = (x1 hellip 1 hellip xn)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 120

「DIP概論」- IP Testing

Physical Meaning of Boolean Difference

bull Find all the input combinations such that the change of xi will cause the change of f(x)

bull Relationship between TG and Boolean difference

x1xixn

fcircuit0 rarr 1

0 rarr1

1rarr0or x1

xixn

fcircuit1rarr 0

1 rarr0

0 rarr1or

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 121

「DIP概論」- IP Testing

Case 1 Faults are present at PIsab

c

f

cb0cb1f0fda

xdfaa +=++bull=oplus= )(1)()()(

The set of all tests for a s-a-1 is (a b c) | a(b + c) = (0 1 x) (0 x 1)The set of all tests for a s-a-0 is (a b c) | a(b + c) = (1 1 x) (1 x 1)

TG Using Boolean Difference (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 122

「DIP概論」- IP Testing

TG Using Boolean Difference (22)Case 2 Faults are present at internal lines

ab

c

f

h = ab

caacac1f0fdh

xdfachf hh +=bull+bull=oplus=+= 11)()()(

The set of all tests for h s-a-1 is (a b c) | h(a + c) = (0 x x) (x 0 0)The set of all tests for h s-a-0 is (a b c) | h(a + c) = (1 1 0)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 123

「DIP概論」- IP Testing

Controlling and Inversion Valuesbull The value c of an input is said to be controlling

if it determines the value of the gate output regardless of the values of the other inputs then the output value is c oplus i where i for the inversion

bull The basic gates can be characterized by the two parametersndash The controlling value cndash The inversion value i

c iAND 0 0OR 1 0NAND 0 1NOR 1 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 124

「DIP概論」- IP Testing

Composite Logic Values and Operations

vvf symbol

00 0

11 1

10 D

01 D

AND 0 1 D0 0

DD0x

1DDx

00000

D x0 0

D0Dx

10xxx

DDx x

OR 0 1 D1 D

1D1x

1111

01DDx

D x0 D

11Dx

1x1xx

DDx x

5-valued operations

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 125

「DIP概論」- IP Testing

Line Justification (LJ)bull Set PIs to some values such that the specific

line has the predetermined value ab

c

f

10 = D

0

1

1

0

s-a-0D

h

ndash Eg Set both a and b to 1 h has the desired value 1 to activate the fault s-a-0 additionally set c to 0 the fault effect will be propagated to f

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 126

「DIP概論」- IP Testing

Justify(l val)Justify(l val)beginset l to valif l is a PI then returnc = controlling value of li = inversion of linval = val oplus i

if(inval = c)then for every input j of l

Justify(j inval)else

beginselect one input j of lJustify(j inval)

endend

Line justification for a fanout-free circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 127

「DIP概論」- IP Testing

TG from Circuit Structure

bull Two basic goalsndash Fault activation (FA)ndash Fault propagation (FP)

rArrLine justification (LJ)

ab

c

f

10 = D larr fault activation (FA)

0 larr fault propagation (FP)

1

1

0

s-a-0D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 128

「DIP概論」- IP Testing

TG for l s-a-vTG(l v)begin

set all values to xJustify(l v) FA if v = 0 then Propagate(l D) FP else Propagate(l D)

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 129

「DIP概論」- IP Testing

Propagate(l err)Propagate(l err) err is D or D beginset l to errif l is PO then returnk = the fanout of l c = controlling value of ki = inversion of kfor every input j of k other than lJustify(j c)

Propagate(k err oplus i)end

Error propagation for a fanout-free circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 130

「DIP概論」- IP Testing

Implication

bull Compute the values that can be uniquelydetermined and check for their consistency with the previously determined ones

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 131

「DIP概論」- IP Testing

Decision Trees

bull Decision Treesndash Consist of decision nodes for problems that the

algorithm is attempting to solvendash A branch leaving a decision node corresponds

to a decisionndash A SUCCESS terminal node labeled S

represents finding a test ndash A FAILURE terminal node labeled F

indicates the detection of an inconsistency

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 132

「DIP概論」- IP Testing

Backtracking

bull A systematic exploration of the complete space of possible solutions and recovery from incorrect decisions recovery involves restoring the state of the computation to the state existing before the incorrect decision

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 133

「DIP概論」- IP Testing

Backtracking of Incorrect Decisions

0xxx

ad

d = 0

F F

a = 0 a = 1b = 0

a = 1b = 1c = 0

bc

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 134

「DIP概論」- IP Testing

bull A FA problem is a LJ problembull A FP problem

ndash Select a FP path to a PO rArr decisionsndash Once the FP path is selected rArr a set of LJ

problemsbull A LJ problem is an either implication or

decision problem

Common Concepts of Structural TG (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 135

「DIP概論」- IP Testing

Common Concepts of Structural TG (22)

bull Incorrect decision(inconsistency) rArr Backtrack and make another decisions

bull Once the fault effect is propagated to a PO and all lines to be justified are justified the test pattern is generated otherwise the decision process is repeatedly until all possible decisions have been tried

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 136

「DIP概論」- IP Testing

A Simple Example of TG (12)

s-a-1

abc

d

e

G2

G1

G3

G5

G4

G6

f1

f2

bull FA rArr G1 = D rArr a = 1 b = 1 c = 1 rArr G2 = 0 (rArr G5 = 0) G3 = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 137

「DIP概論」- IP Testing

A Simple Example of TG (22)bull FP through G5 or G6 (the last page)

ndash Decision through G5rArr G2 = 1 inconsistency rArr backtracking

ndash Decision through G6rArr G4 = 1 rArr e = 0 rArr SUCCESS

rArrThe resulted test pattern is 111x0 G5 G6

F S

G5 G6

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 138

「DIP概論」- IP Testing

Advanced Example (14)

s-a-1

ab

cd

efh

k

l

mno

p

q

r s

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 139

「DIP概論」- IP Testing

Advanced Example (24)

bull FA rArr h = D

bull FPrArr e = 1(rArr o = 0) f = 1 rArr q = 1 r = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 140

「DIP概論」- IP Testing

Advanced Example (34)rArr Justify q = 1 rArr l = 1 or k = 1

ndash Decision l = 1rArr c = 1 d = 1 rArr m = 0 n = 0 rArr r = 0rArr inconsistency rArr backtracking

ndash Decision k = 1rArr a = 1 b = 1

rArr Justify r = 1 rArr m = 1 or n = 1rarr Decision m = 1

rArr c = 0 rArr SUCCESSrarr Decision n = 1

rArr d = 0 rArr SUCCESS

rArrThe resulted test is pattern 110x110 or 11x0110

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 141

「DIP概論」- IP Testing

Advanced Example (44)

q = 1

F

l = 1 l = 0 k = 1

r = 1

S

m = 1

S

n = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 142

「DIP概論」- IP Testing

A Generic TG AlgorithmSolve( )beginif Imply_and_check( ) = FAILUREthen return FAILURE

if(error at PO and all lines are justified)then return SUCCESS

if(no error can be propagated to a PO)then return FAILURE

select an unsolved problemrepeat

begin backtracking select one untried way to solve itif solve( ) = SUCCESS then

return SUCCESSend

until all ways to solve it have been triedreturn FAILURE

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 143

「DIP概論」- IP Testing

D-frontier And J-frontier

bull D-frontierndash The set of all gates whose output value is

currently x but have one or more fault signals on their inputs

bull J-frontierndash The set of all gates whose output value is

known but is not implied by their input values

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 144

「DIP概論」- IP Testing

Example of D-frontier

bull Initially the D-frontier is G6

s-a-1

abc

d

e

G2

G1

G3

G5

G4

G6

f1

f2

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 145

「DIP概論」- IP Testing

Example of J-frontierbull Initially the J-frontier is q = 1 r = 1

s-a-1

ab

cd

efh

k

l

mno

p

q

r s

1

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 146

「DIP概論」- IP Testing

LocalGlobal Implication

bull Local implicationndash Propagate values from one line to its immediate

inputs or outputsbull Global implication

ndash Propagation of values involves a larger area of the circuit and reconvergent fanout

bull Case analysis the SOCRATES system

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 147

「DIP概論」- IP Testing

Local Implication (Backward)

larr 1x

x

larr 0x

1

larr 0x

xlarr 1

x

x

Before

J-frontier = hellip

After1larr 1

larr 1

0larr 0

1

0x

xJ-frontier = hellip a

11

1 rarr

a

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 148

「DIP概論」- IP Testing

Local Implication (Forward) (12)bull Binary values

x

Before0 rarr x

1

x

0 rarr

x

0a

1 rarr

1 rarr

x

0a

D

1 rarr

xa

D

0 rarr

xa

J-frontier = hellip a

J-frontier = hellip a

D-frontier = hellip a

D-frontier = hellip a

x

After0

10

x

0

1

1

larr 0

0

D

1 aD

0 a

J-frontier = hellip

J-frontier = hellip

D-frontier = hellip

D-frontier = hellip

0 rarr

1 rarr

D rarr

0 rarr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 149

「DIP概論」- IP Testing

Local Implication (Forward) (22)bull Error values

Before After

x

x1D

D-frontier = hellip a

x

1

D-frontier = hellipa a

D rarr x

Dx a D-frontier = hellip a

D rarr D rarr

D rarrx D

DD rarr

D

DD-frontier = hellip a D-frontier = hellip

aD rarrx D

D0 rarr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 150

「DIP概論」- IP Testing

Unique D-drive

Before

xx a D-frontier = hellip aD

After

D rarr

larr 1D-frontier = hellip

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 151

「DIP概論」- IP Testing

x-path

bull A path is said to be a x-path if all its lines have value x

[Theorem 4-1] Let G be a gate on D-frontier The error(s) on the input(s) of G can be propagated to a PO Z if there exists at least one x-path between G and Z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 152

「DIP概論」- IP Testing

Error-Propagation Look-Ahead (12)

DD

x

x x

x

x

00

11

bull By Theorem 4-1 none of the fault effects can be observed on any POs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 153

「DIP概論」- IP Testing

Error-Propagation Look-Ahead (22)

bull Using the error-propagation look-ahead technique we may prune the decision tree by recognizing states from which any further decisions will lead to a failure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 154

「DIP概論」- IP Testing

D-Algorithm

bull FP is always given priority over LJbull Propagate fault effects on several

reconvergent paths referred to as ldquomultiple-path sensitizationrdquondash Some faults cannot be detected by sensitizing

only a single path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 155

「DIP概論」- IP Testing

The D-algorithm Implementation (12)D-alg( )begin Implicationsif Imply_and_check( ) = FAILURE

then return FAILURE

if(error not at PO) thenbeginif D-frontier = empty

then return FAILURE

repeat beginselect an untried gate G from

D-frontier Decisionsc = controlling value of Gassign c to every input of G with

value xif D-alg( ) = SUCCESS

then return SUCCESSend

until all gates from D-frontier have been tried

return FAILUREend if (error not at PO)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 156

「DIP概論」- IP Testing

if J-frontier = emptythen return SUCCESS

select a gate G from the J-frontierc = controlling value of G

repeat begin Decisionsselect an input j of G with value xassign c to jif D-alg( ) = SUCCESS

then return SUCCESSassign c to j

end

until all inputs of G are specifiedreturn FAILURE

end D-alg

The D-algorithm Implementation (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 157

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

Example of D-Algorithm (0113)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 158

「DIP概論」- IP Testing

Example of D-Algorithm (0213)bull Value computation (16)

Decisions Implications Commentsa = 0 Fault activationh = 1b = 1 Unique D-driven through gc = 1g = D D-frontier = i k m

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 159

「DIP概論」- IP Testing

Example of D-Algorithm (0313)bull Value computation (26)

Decisions Implications Commentsd = 1 Fault propagation through i

Propagate fault effects on i = Dd = 0

a single path D-frontier = k m n

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 160

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

Example of D-Algorithm (0413)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 161

「DIP概論」- IP Testing

bull Value computation (36)Decisions Implications Comments

j = 1 Fault propagation through nk = 1 Propagate fault effects onl = 1 a single path m = 1

n = De = 0e = 1k = D Contradiction

Example of D-Algorithm (0513)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 162

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

01

DContradiction

Example of D-Algorithm (0613)

D

1

11

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 163

「DIP概論」- IP Testing

bull Value computation (46)Decisions Implications Comments

e = 1 Fault propagation through kk = D Propagate fault effects on e = 0 two paths j = 1 D-frontier = m n

Example of D-Algorithm (0713)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 164

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

D

10 1

Example of D-Algorithm (0813)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 165

「DIP概論」- IP Testing

bull Value computation (56)Decisions Implications Comments

l = 1 Fault propagation through nm = 1 Propagate fault effects on

n= D two reconvergent paths f = 0

f = 1

m =D Contradiction

Example of D-Algorithm (0913)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 166

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

D

10 1

01

D

Contradiction

Example of D-Algorithm (1013)

D

1

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 167

「DIP概論」- IP Testing

bull Value computation (66)Decisions Implications Comments

f = 1 Fault propagation through mm = D Propagate fault effects onf = 0 three paths l = 1n= D Fault effects on POrsquos

Example of D-Algorithm (1113)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 168

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

D

10 1

10

D

1

D

Example of D-Algorithm (1213)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 169

「DIP概論」- IP Testing

bull Decision treendash Nodes the associated D-frontierndash Branches the taken decision ie the gate selected from the

D-frontieri k m

k m n

m nF

F S

i

n k

n m

Two times of backtracking

Example of D-Algorithm (1313)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 170

「DIP概論」- IP Testing

Partial Specification of The x Valuebull For a ldquototally unspecifiedrdquo composite value x

both v and vf are unknownndash x for 0 1 D D

bull For a ldquopartially specifiedrdquo composite value x v is binary and vf is unknown(u) vice versandash 0u for 0 D ndash 1u for D 1ndash u0 for 0 Dndash u1 for D 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 171

「DIP概論」- IP Testing

9-V Algorithmbull Similar to D-algorithm except that the

considered logic values are 0 1 D D 0u 1u u0 u1 uu (9-value)

bull Drive a D(D) through a gate G with controlling value c the values it assigns to the unspecified inputs of G correspond to the set c D(c D)

bull ub or bu (b is binary) at a PI is immediately transformed to bb

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 172

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

Example of 9-V Algorithm (17)

u1

u1

u1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 173

「DIP概論」- IP Testing

Example of 9-V Algorithm (27)

Decisions Implications Commentsa = 0 Fault activationh = 1b = 1 Unique D-driven through gc = 1g = Di = u1k = u1m = u1 D-frontier = i k m

bullV

alue computation (13)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 174

「DIP概論」- IP Testing

Example of 9-V Algorithm (37)

Decisions Implications Commentsd = 1 Fault propagation through i

i = Dd = 0

n = 1u D-frontier = k m n

bullV

alue computation (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 175

「DIP概論」- IP Testing

Example of 9-V Algorithm (47)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

u1

1

0

D

1u

u1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 176

「DIP概論」- IP Testing

Example of 9-V Algorithm (57)

bullV

alue computation (33)

Decisions Implications Commentsl = u1 Fault propagation through nj = u1

n = Df = u0f = 1f = 0

e = u0

e = 1e = 0k = D

m = D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 177

「DIP概論」- IP Testing

0

1D

Example of 9-V Algorithm (67)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

u1

u1

1

0

D

D0

1D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 178

「DIP概論」- IP Testing

Example of 9-V Algorithm (77)bull Decision tree

ndash Nodes the associated D-frontierndash Branches the taken decision ie the gate selected from the

D-frontier

i k m

k m n

S

i

n

No backtracking

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 179

「DIP概論」- IP Testing

D-Algorithm vs 9-V Algorithm

bull Whenever there are k possible paths for FPndash D-algorithm may eventually try all the 2k-1

combinations of pathsndash 9-V algorithm tries only one path at a time but

without precluding simultaneous FP on the other k-1 paths

bull Enumerate at most k ways of FP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 180

「DIP概論」- IP Testing

Inversion Parity

bull In circuits composed only of AND OR NAND NOR and NOT gates we can define the ldquoinversion parityrdquo of a path as the number taken modulo 2 of the inverting gates (NAND NOR and NOT) along that path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 181

「DIP概論」- IP Testing

Path-Oriented DEcision Making (PODEM)bull PODEM allows the value assignments for LJ

problems only on PIs ie backtracking can occur only on PIs ndash Treat a value vk to be justified for line k as an

objective (k vk)ndash Use the backtracing procedure to map the object

into a PI assignment that ldquois likely to contributerdquo to achieve the objective

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 182

「DIP概論」- IP Testing

BacktracingObjective (k vk)Step 1 Find a x-path from line k to a PI say aStep 2 Count the inversion parity of the pathStep 3 If the inversion parity is even then

return (a vk) otherwise (a vk)

Note No non-PI values are assigned during backtracing ie these values are assigned only by simulating PI assignments (implications)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 183

「DIP概論」- IP Testing

The Backtracing ImplementationBacktrace(k vk) map objective into PI assignment beginv = vk

while k is a gate output begin

i = inversion of kselect an input j of k with value xv = v oplus ik = j

endreturn (k v) k is a PI

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 184

「DIP概論」- IP Testing

Example of Backtracing ProcedureObjective (f 1)

fd

e

ca

bx

x

x

xxx

fd

e

ca

bx

1

x

10x

The first time of backtracing

fd

e

ca

bx

1

x1

0x

fd

e

ca

b1

1

0

101

The second time of backtracing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 185

「DIP概論」- IP Testing

Choosing of Objectives (12)

bull In PODEM the order of the objectives being considered is as follows1 The objectives for FA2 Repeatedly select a gate G from the D-frontier

(until some fault effect is at a PO or the D-frontier is empty) and consider the input with x value as an objective

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 186

「DIP概論」- IP Testing

Choosing of Objectives (22)

Objective( )being

the target fault is l s-a-v if (the value of l is x) then return (l v)select a gate G from the D-frontierselect an input j of G with value xc = controlling value of G return (j c)

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 187

「DIP概論」- IP Testing

The PODEM ImplementationPODEM( ) beginif (error at PO) then return SUCCESSif (test not possible) then return FAILURE(k vk) = Objective( )(j vj) = Backtrace(k vk) j is a PI Imply(j vj)if PODEM( ) = SUCCESS then return SUCCESSImply(j vj) reverse decision if PODEM( ) = SUCCESS then return SUCCESSImply(j x)return FAILURE

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 188

「DIP概論」- IP Testing

Example 1 of PODEM (18)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

D

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 189

「DIP概論」- IP Testing

Example 1 of PODEM (28)bull Value computation (13)

Objective PI Assignment Implications D-frontier Comments

(a 0) a = 0 h = 1 g

(b 1) b = 1 g(c 1) c = 1 g = D i k m

(d 1) d = 1 d = 0

i = D k m n

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 190

「DIP概論」- IP Testing

Example 1 of PODEM (38)bull Value computation (23)Objective PI Assignment Implications D-frontier Comments

(k 1) e = 0 e = 1j =0

k =1n = 1 m x-path check fails

e = 1 e = 0 reversal

j = 1k = D m n

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 191

「DIP概論」- IP Testing

Example 1 of PODEM (48)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

00

1

D

D

11

x-path(to PO)check failsrArr Backtracking

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 192

「DIP概論」- IP Testing

Example 1 of PODEM (58)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

11

0

D

D

1D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 193

「DIP概論」- IP Testing

Example 1 of PODEM (68)bull Value computation (33)Objective PI Assignment Implications D-frontier Comments

(l 1) f = 1 f = 0l = 1

m = Dn = D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 194

「DIP概論」- IP Testing

Example 1 of PODEM (78)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

11

0

D

D

11 0

D

D

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 195

「DIP概論」- IP Testing

Example 1 of PODEM (88)bull Decision tree

ndash Nodes the PIs selected to be assigned valuesndash Branches the value assigned to the PI

a0b1

c1d1

e0F f1

S

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 196

「DIP概論」- IP Testing

Features of PODEMbull PODEM examines all possible input

patterns implicitly but exhaustively as tests for a given fault ie a complete TG

bull PODEM does not needndash Consistency checkndash The J-frontierndash Backward implications

bull Generally faster than D-algorithm

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 197

「DIP概論」- IP Testing

A More Intelligent Backtracing (12)bull To guide the backtracing process of PODEM

controllability for each line is measuredndash CY1(a) the probability that line a has a value 1ndash CY0(a) the probability that line a has a value 0

bull Eg f = ab assume CY1(a) = CY0(a) = CY1(b) = CY0(b) = 05ndash CY1(f) = CY1(a) CY1(b) = 025ndash CY0(f) = 1 - CY1(f) = 075

ab f

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 198

「DIP概論」- IP Testing

bull How to guide the backtracing process using controllabilityndash Principle 1 Among several unsolved problems first

attack the hardest onendash Principle 2 Among several solutions of a problem

first try to the easiest onebull Eg

ndash Objective (c 1) rArr Choose path c-a to backtracendash Objective (c 0) rArr Choose path c-a to backtrace

A More Intelligent Backtracing (22)

ab c

CY1(a) = 033 CY0(a) = 067CY1(b) = 05 CY0(b) = 05

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 199

「DIP概論」- IP Testing

Example 2 of PODEM (14)Initial objective(G5 1)G5 is an AND gate Choose the hardest-1rArr Current objective is (G1 1)G1 is an AND gate Choose the hardest-1 rArr Arbitrarily current objective is (A 1)A is a PI Implication rArr G3 = 0

Ps Initially CY1 and CY0 for all PIs are set to 05

C1(G1) = 025

C1(G1) = 0656

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 200

「DIP概論」- IP Testing

Example 2 of PODEM (24)Is the initial objective justified No rArr Current objective (G5 1)G5 is an AND gate Choose the hardest-1rArr Current objective is (G1 1)G1 is an AND gate rArr Choose the hardest-1 rArr Arbitrarily current objective is (B 1)B is a PI rArr Implication rArr G1 = 1 G6 = 0

C1(G1) = 025

C1(G1) = 0656

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 201

「DIP概論」- IP Testing

Example 2 of PODEM (34)Is the initial objective justified No rArr Current objective (G5 1)The value of G1 is known rArr Current objective (G4 0)The value of G3 is known rArr Current objective(G2 0)A B are known rArr Current objective (C 0)C is a PI rArr Implication rArr G2 = 0 G4 = 0 G5 = D G7 = D

C1(G1) = 025

C1(G1) = 0656

No backtracking

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 202

「DIP概論」- IP Testing

Example 2 of PODEM (44)

bull If the backtracing process is not guided ndash Two times of backtracking may occur

G5rarr G4rarr G2rarr A

G5rarr G4rarr G2rarr B

G5rarr G4rarr G2rarr C

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 203

「DIP概論」- IP Testing

Head Lines

bull A line that is reachable from at least one stem is said to be bound otherwise free

bull A head line is a free line that directly feeds a bound line

head linesbound

DE

ABC

F

G

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 204

「DIP概論」- IP Testing

The Property of Head Lines[Theorem 4-2] If l is a head line the value of l can be justified without contradicting any other values previously assignedHintThe subcircuit feeding l is fanout-free

head linesbound

DE

ABC

F

G

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 205

「DIP概論」- IP Testing

Fanout-Oriented (FAN) Algorithmbull The FAN algorithm introduces two major

extensions to the backtracing concept of PODEMndash Rather than stopping at PIs backtracing in

FAN may stop at internal lines ie head lines ndash Rather than trying to satisfy one objective

FAN use a multiple-backtrace procedure that attempts to simultaneously satisfy a set of objectives

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 206

「DIP概論」- IP Testing

FAN vs PODEM

head linesbound

DE

ABC

F

G

Assume that setting G = 0 causes the D-frontier to become empty

A1B0

F C0F

1

1

G0F

1

PODEM FAN

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 207

「DIP概論」- IP Testing

Multiple Backtracing (13)Mbacktrace(Current_objectives)beginrepeat

beginremove one entry (k vk) from

Current_objectivesif k is a head line

then add (k vk) to Head_objectiveselse if k is a fanout branch

thenbegin

j = stem(k)increment number of requests at

j for vk

add j to Stem_objectivesend else if k is a fanout branch

else continue tracingbegin

i = inversion of kc = controlling value of k

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 208

「DIP概論」- IP Testing

Multiple Backtracing (23)

if(vkoplus i = c) then

beginselect an input j of k with

value xadd (j c) to

Current_objectivesend if(vkoplus i = c)

elsefor every input j of k with

value x

add (j c) to Current_objectives

end continue tracingend

until Current_objectives = empty

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 209

「DIP概論」- IP Testing

Multiple Backtracing (33)

if Stem_objectives ne emptybeginremove the highest-level stem k from

Stem_objectives

vk = most requested value of k

if(k has contradictory requirements and k is not reachable from target fault)

then return (k vk)add (k vk) to Current_objectivesreturn

Mbacktrace(Current_objectives)end if Stem_objectives ne empty

remove one objective (k vk) from Head_objectivesreturn (k vk)

end Mbacktrace

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 210

「DIP概論」- IP Testing

Generation of Conflicting Values on A Stem

0

1

0

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 211

「DIP概論」- IP Testing

Example of Multiple Backtracing (12)

AB

A1

A2E

E1

E2

G

H

I

JC

1

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 212

「DIP概論」- IP Testing

Example of Multiple Backtracing (22)

(I 1 ) (J 0 ) (I 1 )

(J 0 ) (G 0 ) (J 0 )

(G 0 ) (H 1 ) (G 0 )

(H 1 ) (A1 1 ) (E1 1) (H 1 )

(A1 1 ) (E1 1 ) (E2 1) (C 1) (A1 1 ) A(E1 1 ) (E2 1 ) (C 1 ) (E1 1 ) A E(E2 1 ) (C 1 ) (E2 1 ) A E(C 1) (C 1 ) A E C

A C(E 1 ) (E 1 ) A C(A2 0 ) (A2 1 ) A C

A C

Current_objectivesProcessed

entry Stem_objectives Head_objectives

empty

empty

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 213

「DIP概論」- IP Testing

The FAN Implementation (12)FAN( ) beginif Imply_and_check( ) =

FAILUREthen return FAILURE

if (error at PO and all bound lines are justified) then

beginjustify all unjustified head lines return SUCCESS

end

if(error not at PO and D-frontier = empty)then return FAILURE

add every unjustified bound lines to Current_objectivesselect one gate G from the D-frontier c = controlling value of Gfor every input j of G with value xadd (j c) to Current_objectives

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 214

「DIP概論」- IP Testing

The FAN Implementation (22)(i vi) = Mbackrace(Current_objectives)Assign(i vi)if FAN( ) = SUCCESSthen return SUCCESS

Assign(i vi) reverse decisionif FAN( ) = SUCCESSthen return SUCCESS

Assign(i x)return FAILURE

End FAN( )

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 215

「DIP概論」- IP Testing

ATPG (12)

bull Basic schemeinitialize the test set to NULLrepeat

generate a new test vectorevaluate fault coverage for the test vectorif the test vector is acceptable then add it to the test set

until the required fault coverage is obtained

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 216

「DIP概論」- IP Testing

ATPG (22)

bull Accelerationndash Phase I Random test patterns are generated

first to detect easy-to-detect faultsndash Phase II A deterministic TG is then performed

to generate test patterns for the remaining faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 217

「DIP概論」- IP Testing

Sequential TG

bull For circuits with unknown initial statesndash Time-frame expansion based

bull Extended D-algorithmbull 9-V sequential TG

ndash Simulation basedbull CONTEST [Agrawal and Cheng IEEE TCAD Feb

1989]

bull For circuits with known initial statesndash STALLION [Ma et al IEEE TCAD Oct 1988]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 218

「DIP概論」- IP Testing

Iterative Logic Array (ILA) Model

bull Here the model is restricted to synchronous sequential circuits

initial states

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 219

「DIP概論」- IP Testing

Extended D-algorithm1 Pick up a target fault f2 Create a copy of the combinational logic say Time-

frame 03 Generate a test pattern for f using D-algorithm for

time-frame 04 If all the fault effects are propagated into the FFrsquos

continue the fault propagation in the next time-frame5 If there are values required to be justified in the

FFrsquos continue the line justification (LJ) in the previous time-frame

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 220

「DIP概論」- IP Testing

I

OY1

Y2y1

y2 s-a-1

FF2

FF1

Example of Extended D-algorithm (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 221

「DIP概論」- IP Testing

Example of Extended D-algorithm (22)

OY1

Y2

I

y1

y2 s-a-1

time-frame 00

1

D

I

OY1

Y2

y1

y2 s-a-1

time-frame 1

1D

I

y1

y2 s-a-1

time-frame -1

0

0

Y1

Y2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 222

「DIP概論」- IP Testing

9-V Sequential TG

bull Extended D-algorithm is not completebull If 9-V instead of 5-V is used it will be a

complete algorithmndash Since it takes into account the possible repeated

effects of the fault in the ILA model

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 223

「DIP概論」- IP Testing

Example of 9-V Sequential TG (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 224

「DIP概論」- IP Testing

Example of 9-V Sequential TG (22)bull If 5-V Sequential TG is usedhelliphellip

D D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 225

「DIP概論」- IP Testing

Problems of Time-frame Approachesbull The requirements created during the

forward process (FP) have to be justified (LJ) by the backward processes laterndash Need going both forward and backward time

framesndash Need to maintain a large number of time-

framesbull How many Cyclesbull Implementation is complicated

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 226

「DIP概論」- IP Testing

Simulation-Based Approaches

bull Advantagesndash Timing is considered and asynchronous circuits

can be handledndash Can be easily implemented by modifying a

fault simulatorbull Disadvantages

ndash Can not identify undetectable faultsndash Hard-to-activate faults may not be detected

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 227

「DIP概論」- IP Testing

Difficulties of Sequential Test Generation

bull Initialization is difficultndash Justify invalid statesndash Long initialization sequences (simulator

limitations)bull Timing cannot be considered by time-frame

expansionsndash Races and hazardsndash Asynchronous circuits cannot be handled

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 228

「DIP概論」- IP Testing

Why FC of 100 Is Hard

bull If each undetected fault is redundant then FC will easily reach at 100ndash Proving that the undetected fault is a redundant

fault may be very and very hardbull How to increase FC

faultsredundant the-list fault of size thefaultsredundant the-fault undetected of size the-1

faultsredundant the-list fault of size thefaults detected the

=

=FC

Chapter 5

Design for Testability (DFT)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 230

「DIP概論」- IP Testing

Motivation bull Test costs

ndash Test Generation (TG)ndash Fault Simulationndash Test Application Timendash Memory spacendash helliphellip

bull Test difficultiesndash Sequential gt Combinationalndash helliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 231

「DIP概論」- IP Testing

Testability Measures

bull Controllabilityndash The difficulty of setting a particular logic signal

to a 0 or 1bull Observability

ndash The difficulty of observing the state of a logic signal

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 232

「DIP概論」- IP Testing

SCOAPbull Sandia ControllabilityObservability

Analysis Program [Goldstein 1979]bull Use six cost functions of type integer to

reflect the relative difficulties of controlling and observing signals in digital circuitsndash Higher numbers indicate more difficult to

control or observe signals

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 233

「DIP概論」- IP Testing

Combinational SCOAP Measures

bull For signal lndash CC0(l)

bull The combinational ldquorelative difficultyrdquo of setting l to 0

ndash CC1(l)bull The combinational ldquorelative difficultyrdquo of setting l to 1

ndash CO(l)bull The combinational ldquorelative difficultyrdquo of propagating

a fault effect from l to a PO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 234

「DIP概論」- IP Testing

bull For signal lndash SC0(l)

bull The sequential ldquorelative difficultyrdquo of setting l to 0

ndash SC1(l)bull The sequential ldquorelative difficultyrdquo of setting l to 1

ndash SO(l)bull The sequential ldquorelative difficultyrdquo of propagating a

fault effect from l to a PO

Sequential SCOAP Measures

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 235

「DIP概論」- IP Testing

Initialization

bull CC0(i) = CC1(i) = SC0(i) = SC1(i) = 1 for all PI ibull CO(o) = SO(o) = 0 for all PO obull Set others to infin

The controllabilities range between 1 and infin

The observabilities range between 0 and infin

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 236

「DIP概論」- IP Testing

Controllability of Combinational Components (12)

bull CC0(z) = CC0(a) + CC0(b) + 1bull CC1(z) = minCC1(a) CC1(b) + 1bull SC0(z) = SC0(a) + SC0(b)bull SC1(z) = minSC1(a) SC1(b)

ab z

CC0 or CC1 are related to the number of signals that may be manipulated to control SC0 or SC1 are related to the number of time-frames needed to control

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 237

「DIP概論」- IP Testing

Controllability of Combinational Components (22)ab

ab

abab

ab

ab

z

z

z

z

z

z

CC0(z) = minCC0(a) CC0(b) + 1CC1(z) = CC1(a) + CC1(b) + 1

CC0(z) = CC1(a) + CC1(b) + 1CC1(z) = minCC0(a) CC0(b) + 1CC0(z) = CC0(a) + CC0(b) + 1CC1(z) = minCC1(a) CC1(b) + 1CC0(z) = minCC1(a) CC1(b) + 1CC1(z) = CC0(a) + CC0(b) + 1

CC0(z) = minCC1(a) + CC1(b) CC0(a) + CC0(b) + 1CC1(z) = minCC0(a) + CC1(b) CC1(a) + CC0(b) + 1

CC0(z) = minCC0(a) + CC1(b) CC1(a) + CC0(b) + 1CC1(z) = minCC1(a) + CC1(b) CC0(a) + CC0(b) + 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 238

「DIP概論」- IP Testing

Controllability of Sequential Components

bull CC0(Q) = minCC0(R) CC1(R) + CC0(D) + CC0(C) + CC1(C)bull CC1(Q) = CC1(R) + CC1(D) + CC0(C) + CC1(C)bull SC0(Q) = minSC0(R) SC1(R) + SC0(D) + SC0(C) + SC1(C) + 1bull SC1(Q) = SC1(R) + SC1(D) + SC0(C) + SC1(C) + 1

D

C

Q

R

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 239

「DIP概論」- IP Testing

Observability (12)

P

QR

N

bull CO(P) = CO(N) + CC1(Q) + CC1(R) + 1bull SO(P) = SO(N) + SC1(Q) + SC1(R)

D

C

Q

R bull CO(R) = CO(Q) + CC1(Q) + CC0(R)bull SO(R) = SO(Q) + SC1(Q) + SC0(R) + 1

CO are related to the number of signals that may be manipulated to observeSO are related to the number of time-frames needed to observe

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 240

「DIP概論」- IP Testing

Observability (22)ab

ab

abab

ab

ab

z

z

z

z

z

z

CO(a) = CO(z) + CC1(b) + 1CO(b) = CO(z) + CC1(a) + 1

CO(a) = CO(z) + CC1(b) + 1CO(b) = CO(z) + CC1(a) + 1

CO(a) = CO(z) + CC0(b) + 1CO(b) = CO(z) + CC0(a) + 1CO(a) = CO(z) + CC0(b) + 1CO(b) = CO(z) + CC0(a) + 1

CO(a) = CO(z) + minCC0(b) CC1(b) + 1CO(b) = CO(z) + minCC0(a) CC1(a) + 1CO(a) = CO(z) + minCC0(b) CC1(b) + 1CO(b) = CO(z) + minCC0(a) CC1(a) + 1

zz1z2

zn

CO(z) = minCO(z1) CO(zz) helliphellip CO(zn)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 241

「DIP概論」- IP Testing

Example of SCOAP (13)

1

23

4

5

6

PI3

PI2

PI1

PO

Note ( C0 C1 )

(11)

(11)

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11)

(11)

(11)

Computation of controllability (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 242

「DIP概論」- IP Testing

Example of SCOAP (23)

Note ( C0 C1 )

(11)

(11)

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11)

(11)

(11)

(22)

(22)

(23)

(35)

(27)

(54)

Note ( C0 C1 ) O

(11)

(11)

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11)

(11)

(11)

(22)

(22)

(23)

(35)

(27)

(54) 0

Computation of controllability (22)

Computation of observability (13)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 243

「DIP概論」- IP Testing

Example of SCOAP (33)

Note ( C0 C1 ) O

(11) 5

(11) 5

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11) 9

(11) 9

(11) 9

(22) 8

(22) 8

(23) 3

(35) 5

(27) 3

(54) 0

Note ( C0 C1 ) O

(11) 5

(11) 5

1

23

4

5

6

PI3

PI2

PI1

PO

(11) 5

(11) 5

(11) 9

(11) 9

(11) 9

(22) 8

(22) 8

(23) 3

(35) 5

(27) 3

(54) 0

Computation of observability (23)

Computation of observability (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 244

「DIP概論」- IP Testing

Importance of Testability Measures

bull Speed up test generation (TG) algorithmsbull Improve the testability of the circuit under

design ndash Guide the design for testability (DFT) insertion

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 245

「DIP概論」- IP Testing

Design for Testability (DFT)

bull DFT techniquesndash Design efforts specifically employed to ensure

that a circuit is testablebull In general DFT is achieved by employing

extra hardware overheadndash Conflict between design and test engineersndash Balance between amount of DFT and gain

achieved

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 246

「DIP概論」- IP Testing

Benefits of DFTbull Fault coverage uarr (must guarantee) bull Test generation time darrbull Test lengthTest memoryTest application time darrbull Support a test hierarchy

ndash Chipsndash Boardsndash Systems

rArrPay less now and pay more latter without DFT

FC100

with DFT

of T

without DFT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 247

「DIP概論」- IP Testing

Costs Associated with DFT

bull Pin overhead uarrbull Area uarrbull Yield darrbull Performance darrbull Design time uarr

rArrThere is no free lunch

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 248

「DIP概論」- IP Testing

DFT Techniques

bull Ad hoc DFT techniquesbull Scan-based designsbull Boundary scan

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 249

「DIP概論」- IP Testing

Ad Hoc DFT Techniquesbull Test pointsbull Initializationbull Monostable multivibrators (one-shots)bull Oscillators and clocksbull Partitioning counters and shift registersbull Partitioning of large combinational circuitsbull Logic redundancybull Break global feedback paths

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 250

「DIP概論」- IP Testing

Test Pointsbull Insert test points control points (CPs) and

observation points (OPs) to enhance controllability and observability

C1 C2 C1 C2

jumper

CPOP

original circuits testable circuits

Can be done only for boards

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 251

「DIP概論」- IP Testing

01-Injection

CP1

C1

CP0

C2

01-injection

C1C2

CP00-injection 1-injection

C1C2

CP1

OP OP

OP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 252

「DIP概論」- IP Testing

01-Injection Using a MUX

NT

C1

CP C2

01-injection

MUX

0

1

OP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 253

「DIP概論」- IP Testing

IO-Pin Cost Decrement (12)

01

2n-11 2 n

X1 X2 Xn

Z

CP1CP2

CPN

DEMUX

N = 2n

Using a demultiplexer and a latchregister to implement CPs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 254

「DIP概論」- IP Testing

IO-Pin Cost Decrement (22)

01

2n-11 2 n

X1 X2 Xn

Z

OP1OP2

OPN

MUX

N = 2n

Multiplexing OPs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 255

「DIP概論」- IP Testing

Time-Sharing IO Pins (12)

PIs DEMUX

normal functional

inputsn

n

n nCPs

0

1

NT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 256

「DIP概論」- IP Testing

Time-Sharing IO Pins (22)

OPs

DEMUX

normal functional

outputs

n

n

nPOs

0

1

NT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 257

「DIP概論」- IP Testing

Selection of CPs (12)

bull Control address and data bus lines on bus-structured designs

bull Enablehold inputs to microprocessorsbull Enable and readwrite inputs to memory

devicesbull Clock and presetclear inputs to memory

devices such as flip-flops counter and shift registers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 258

「DIP概論」- IP Testing

Selection of CPs (22)

bull Data select inputs to multiplexers and demultiplexers

bull Control lines on tri-state devices

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 259

「DIP概論」- IP Testing

Selection of OPs (12)

bull Stem lines associated with signals having high fanout

bull Global feedback pathsbull Redundant signal linesbull Outputs of logic devices having many

inputs such as multiplexers and parity generators

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 260

「DIP概論」- IP Testing

Selection of OPs (22)

bull Outputs from state devices such as flip-flops counters and shift registers

bull Address control data buses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 261

「DIP概論」- IP Testing

Initialization (12)bull Design circuits to be easily initializable

ndash Donrsquot disable preset (PR) and clear (CLR) lines

PR

CLR

Vcc

Vcc

Q

Q

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 262

「DIP概論」- IP Testing

Initialization (22)bull When the preset or clear line is driven by

logic a gate can be added to achieve initialization

PR

CLR

Q

Q

C1

Clear

PR

CLR

Q

Q

C1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 263

「DIP概論」- IP Testing

Built-In Initialization Signal Generator

Vcc

t

VZ

Vcc

Z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 264

「DIP概論」- IP Testing

Monostable Multivibrators (One-Shots) (12)

bull Disable internal one-shots during test

C1C2

one-shotjumper

CPOP

jumper

OP CP

Can be done only for boards

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 265

「DIP概論」- IP Testing

Monostable Multivibrators (One-Shots) (22)

C1

C2

one-shotA

B

E (OP)

C

D

MUX

0

1

01-I

s

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 266

「DIP概論」- IP Testing

Oscillators And Clocksbull Disable internal oscillators and clocks

during test

OSCC

OP

AB

01-I

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 267

「DIP概論」- IP Testing

CountersShift Registers (12)bull Partition large counters and shift registers

into smaller units

DIN

CK

DOUTR1

DIN

CK

DOUTR2C

X1 X2

Y1 Y2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 268

「DIP概論」- IP Testing

CountersShift Registers (22)

CPdata inhibit

CPtest data

C

CPclock inhibitCPtest clock

DIN

CK

DOUT

R1

X1

Y1

CPdata inhibit

CPtest data

OP

DIN

CK

DOUT

R2

X2

Y2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 269

「DIP概論」- IP Testing

Partitioning Large Circuits (12)bull Partition large circuits into smaller

subcircuits to reduce test generation cost

C1 C2

AB

C

D

E

F G

m ns

p

q

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 270

「DIP概論」- IP Testing

Partitioning Large Circuits (22)

If 2p+n + 2q+m lt 2n+m then test time can be reduced

m

s

n

q

p

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 271

「DIP概論」- IP Testing

Logic Redundancy

bull Avoid the use of redundant logicndash Remove (for eliminating hazardshelliphellip)

bull Add test points to remove the redundancy during testing

bull Bias fault coverage

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 272

「DIP概論」- IP Testing

Global Feedback Pathsbull Provide logic to break global feedback

paths

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 273

「DIP概論」- IP Testing

Scan SystemPO

C

R

PI

C

Rrsquo

PI

Sin

Sout

PO

Original design Modified design

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 274

「DIP概論」- IP Testing

Scan Storage Cell (SSC)

DSi

N TCK

Q So

N T Q So

0 D1 Si

D QSSC

Symbol for a SSC

rArr A SSC can be used as control point (CP) andor observation point (OP)

SSC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 275

「DIP概論」- IP Testing

Simultaneous CO

C1 C2

MUX

0

1

T

D Q

CPOP

SiN T CK

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 276

「DIP概論」- IP Testing

Scan Register (SR) (12)

Sin

CK

N T

D1

Q

Q1 D2

Q

Q2 Dn

Q

Qn

DSi

N TCK

SoutSSC SSC

R

Symbol for a SR

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 277

「DIP概論」- IP Testing

Scan Register (SR) (22)

bull A scan register (SR) loads data in parallel when N T = 0 (normal mode) and shifts when N T = 1 (test mode)ndash Scan-in operation (test mode)

bull Load data into R from line Sin (control)

ndash Scan-out operation (test mode)bull Read data out of R from line Sout (observation)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 278

「DIP概論」- IP Testing

Generic Scan-Based Design

bull Full serial integrated scanbull Full isolated scanbull Nonserial scan

ndash Random-access scan

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 279

「DIP概論」- IP Testing

Full Serial Integrated Scan (12)

bull All the original storage cells are replaced by the SSCrsquos and made part of the SR

bull Sequential ATPG rarr Combinational ATPG

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 280

「DIP概論」- IP Testing

C

R

PI PO

CK

C

Rs

PI PO

CKNT Sin

Sout

Original design (Normal) Modified design (Scanned)

Full Serial Integrated Scan (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 281

「DIP概論」- IP Testing

Full Isolated Scan (12)bull The SR is not in the the normal data path

C

Rrsquo

Rs

PI PO

Sin Sout

two data input ports

shadow register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 282

「DIP概論」- IP Testing

Full Isolated Scan (22)bull Advantages

ndash Real-time testingbull A single test can be applied at the operational clock

rate of the system

ndash On-line testingbull The circuit can be tested while in normal operation

bull Disadvantagesndash Hardware overhead

bull Two data input portsbull Shadow register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 283

「DIP概論」- IP Testing

Random-Access Scan (12)C

addressable storage elements

clocks and controls

Y-address(decoder)

X-address(decoder)

Sout

SinSCK

PI PO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 284

「DIP概論」- IP Testing

Random-Access Scan (22)bull Advantages

ndash Scan in a new vector only bits that need be changed must be addressed and modified also selected bits can be observed

bull Full controllability and observability

bull Disadvantagesndash Hardware overhead

bull Considerable overhead associated with storing the addresses of the cells to be setread

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 285

「DIP概論」- IP Testing

IBM LSSD Scan Cellbull Level Sensitive Scan Design

D

Sin

Q2 Sout(L2)

Q1 (L1)

C

A

B

Normal mode A = 0 C and B activeTest mode C = 0 A and B active

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 286

「DIP概論」- IP Testing

Clock Schemebull To obtain race-free condition clocks C and

B as well as A and B are nonoverlapping

C

B

A

B

Normal mode A = 0

Test mode C = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 287

「DIP概論」- IP Testing

LSSD Double-Latch Design

Sout

Sin

CA

B

Shift Register Latch (SRL)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 288

「DIP概論」- IP Testing

LSSD Single-Latch Design

Sout

SinC2

Shift Register Latch (SRL)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 289

「DIP概論」- IP Testing

Scan Design Costsbull Hardware overheadbull Extra pinsbull High test timebull Extra slower clock controlsbull Possible performance degradationbull Some designs are not easily realizable as

scan designTest generation costs can be significantly reduced and lead to higher fault coverage

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 290

「DIP概論」- IP Testing

Notes

Chapter 6

Advanced Scan Concepts

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 292

「DIP概論」- IP Testing

Advanced Scan Concepts

bull Multiple test sessionsbull Multiple scan chainsbull Broadcast scan chainsbull Partial scan

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 293

「DIP概論」- IP Testing

Multiple Test Sessions (12)bull of test patterns

ndash C1 100 C2 200 C3 30020 bits 20 bits 20 bits

C1 C2 C3

Test time= 60 300= 18000 (cycles)

One session

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 294

「DIP概論」- IP Testing

Multiple Test Sessions (22)bull of test patterns

ndash C1 100 C2 200 C3 300

20 bits 20 bits 20 bits

C1 C2 C3

Test time= 60 100 +

40 100 +20 100

= 12000 (cycles)

Three sessions

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 295

「DIP概論」- IP Testing

Multiple Scan Chainsbull Reduce test application timebull Large pin overhead

ndash Usually test IO will share the normal IO

A single chain (long test time) Multiple chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 296

「DIP概論」- IP Testing

Broadcast Scan Chainsbull Using a single data input to support multiple

scan chains

Source Lee et al ICCADrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 297

「DIP概論」- IP Testing

Virtual Circuitsbull The inputs of circuits under test (CUTs) are

connected in a 1-to-1 manner

bull The whole virtual circuit is considered as one circuit during ATPG

bull The resulted test patterns can be shared by all CUTs Source Lee et al ICCADrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 298

「DIP概論」- IP Testing

Partial Scanbull Only a subset of flip-flops are scannedbull Trade-offs

ndash Area overheadndash TG complexity

partial scan

full scan

sequential TG

combinational TG

1000 (scanned FFrsquos)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 299

「DIP概論」- IP Testing

A Basic Method for Partial Scanbull Represent a sequential circuit with feedback

as a directed graph G = (V E)ndash Each flip-flop i is represented as vertex vi in V ndash Each combinational path from flip-flop i to j is

represented as a directed edge from vi to vj in E

Source Cheng and Agrawal IEEE TComputersrsquo90

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 300

「DIP概論」- IP Testing

Graph Representation (13)

3

1 2 4 5 6

A sequential circuit with 6 flip-flops

Graph representation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 301

「DIP概論」- IP Testing

Graph Representation (23)bull Distance between two vertices on a path is

defined as the number of vertices on that path

distance = 4

distance = 3

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 302

「DIP概論」- IP Testing

Graph Representation (33)bull Sequential depth of a circuit is defined as

the distance of the longest pathbull Cycle length is defined as the maximum

number of vertices in a cycle

Sequential depth = 6

Cycle length = 3 Cycle length = 1 Cycle length = 2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 303

「DIP概論」- IP Testing

Analysis of Sequential Circuits (13)

bull Any sequential circuit can be divided into 3 classes of subcircuits based on the directed graph representationndash Acyclic directed (testable)ndash Directed with only self-loops (testable)ndash Directed with cycles of two or more vertices

(not testable)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 304

「DIP概論」- IP Testing

Analysis of Sequential Circuits (23)

Directed with cycles of two or more vertices (not testable)

Acyclic directed (testable)

Directed with only self-loop (testable)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 305

「DIP概論」- IP Testing

Analysis of Sequential Circuits (33)

bull The number of gates or flip-flops is not the dominant factor for test generation complexity

bull Cycle length is the dominant factorndash To reduce test generation complexity cycles of

length ge 2 should be break or eliminatedbull Sequential depth is minor

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 306

「DIP概論」- IP Testing

Flip-Flop Selection Algorithm (12)

beginidentify all cyclesrepeat

for every vertex begincount the frequency of appearance in the cycle list

endselect the most frequently used vertexremove all cycles containing the selected vertex from the cycle listuntil cycle list is empty

end

bull Finding the vertex set that breaks all cycles called the feedback vertex set problem is NP-completendash Heuristics must be used to bound the computation time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 307

「DIP概論」- IP Testing

= 695

Flip-Flop Selection Algorithm (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 308

「DIP概論」- IP Testing

The BALLAST Methodology (13)bull Scan storage elements are selected such that

the remainder of circuit has some testable structurendash A complete test set can be obtained by using

combinational ATPGsequential TG

combinational TG

1000Source Gupta et al IEEE TComputersrsquo90

BALLAST

(scanned FFrsquos)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 309

「DIP概論」- IP Testing

The BALLAST Methodology (23)

Sout

Sin

HOLD(for test)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 310

「DIP概論」- IP Testing

bull Test procedure for a test pattern ndash Scan in the pattern to R3 and R6

ndash Hold the test pattern in R3 and R6 for two clock cycles such that the test response appears in R4and R5

ndash Load data to R3 and R6 and scan out

The BALLAST Methodology (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 311

「DIP概論」- IP Testing

Circuit Model (14)

bull Given a synchronous sequential circuit Sndash The combinational logic can be partitioned into

clouds where each cloud is a maximal region of connected combinational logic such that its inputs are either primary inputs or outputs of FFrsquos and its outputs are either primary outputs or inputs to FFrsquos

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 312

「DIP概論」- IP Testing

Circuit Model (24)bull A register

ndash Consists of one or more FFrsquos driven by the same clock signal

ndash Receives data from exactly one cloud and feeds exactly one cloud

bull Two typesndash Load set (L) always operates in LOAD modendash Hold set (H) two modes of operation ndash LOAD

and HOLD

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 313

「DIP概論」- IP Testing

Circuit Model (34)bull A directed graph G = (V A H W)

ndash V the set of cloudsndash A the set of connections between two clouds

through registersndash H sub A connections through HOLD registersndash W ArarrZ+ defines the number of FFrsquos in each

registersbull W(a) represent the cost of converting a register into

a scan register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 314

「DIP概論」- IP Testing

Circuit Model (44)

R3

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 315

「DIP概論」- IP Testing

Balanced Sequential Structurebull A synchronous sequential circuit S with G is said

to be a balanced sequential structure (B-structure) ifndash G is acyclic ndash forallv1 v2 isin V all directed paths from v1 to v2 are of equal

lengthndash forallh isin H if h is removed from G the resulted graph is

disconnectedbull When examining whether a circuit with scan

registers is a B-structure the arcs corresponding to scan registers must be removed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 316

「DIP概論」- IP Testing

Example of B-structure

Red arcs represent HOLD registersOthers represent LOAD registers

A B-structure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 317

「DIP概論」- IP Testing

Kernel of a B-Structure (13)bull Given a B-structure SB

ndash Combinational equivalent CB is defined as the combinational circuit formed by replacing each FF in every register in SB by a wire or an inverter

bull Single-pattern testablebull A complete single-pattern test set can be derived

using combinational test generation techniques

bull The depth d of SB

ndash The number of registers on the longest path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 318

「DIP概論」- IP Testing

Kernel of a B-Structure (23)B-structure SB (d = 2)

Combinational Equivalent CB

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 319

「DIP概論」- IP Testing

Kernel of a B-Structure (33)bull Given an input pattern I applied to SB define the

single-pattern output of SB for I as the steady-state output of SB when I is held constant at the inputs to SB and all its registers are operated in LOADmode for at least d clock cycles

bull Given some fault f in SB if the single-pattern outputs for I of the good and the faulty circuits are different then I is a single-pattern test for f

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 320

「DIP概論」- IP Testing

Outline of BALLAST1 Construct G = (V A H W)2 Remove a minimal cost set of arcs R to

construct SB

3 Determine CB of SB and a complete test set Tfor CB using a combinational ATPG

4 Construct a scan path composed of the registers in R so that they can ldquoshiftrdquo ldquoholdrdquo and ldquoloadrdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 321

「DIP概論」- IP Testing

Selection of Scan Registers1 Transform G = (V A H W) into an acyclic

graph GA by removing a minimal cost set of ldquofeedbackrdquo arcs RA (NP-complete)

2 Transform GA into a balanced graph GB by removing a minimal cost set of arcs RB (NP-complete)R = RAcupRB is the desired set for scan registers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 322

「DIP概論」- IP Testing

Test Procedurebull Operate all scan registers in the SHIFT mode for l

clock cycles (scam in the first test pattern)ndash l is the total number of FFrsquos in the scan path

bull Repeat N times N is the number of test patterns(a) Place all scan register in HOLD mode and all nonscan

registers in LOAD mode for d clock cycles(b) Operate all scan registers in LOAD Load for 1clock

cycle(c) Operate all scan register in SHIFT mode for l clock

cycles

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 323

「DIP概論」- IP Testing

Elimination of HOLD Modebull Eg By adding two dummy bits (d) between

the patterns to be scanned to R3 and R6 the HOLD mode can be eliminated

Sin

Sout1101hellip01dd10hellip101

R3 R6

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 324

「DIP概論」- IP Testing

ConclusionsMethods Partial Scan

Multiple TestSessions

Mutiple ScanChains

Broadcast ScanChains

Area Overhead

PerformanceDegradation

Extal Pins

Extral ClockControl

Test ApplicationTime

same

same

same

same

same

same

darr or uarr

darr

darr

darr

same or uarr

same

uarr

same

darr

same

same

darr

darr

same

Full Scan

Chapter 7

Compression Techniques

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 326

「DIP概論」- IP Testing

Challenges from ORA

bull A bit-by-bit comparison of observed output values with the correct values as previously computed and saved is quite inefficientndash Require a significant amount of memory

storage for saving the correct outputs associated with all test vectors

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 327

「DIP概論」- IP Testing

Response Compressionbull Compress or compact output responses into

ldquoa signaturerdquondash A circuit is tested by comparing the observed

signature with the correct computed signature

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 328

「DIP概論」- IP Testing

Error Maskingbull signature(faulty circuit)

= signature(fault-free circuit)ndash The erroneous output response is an alias of the

correct output responsebull Measurement of masking probability

ndash Compute the fraction of all possible erroneous response sequences that cause masking associated with specific compression techniques

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 329

「DIP概論」- IP Testing

Requirements of Compression Techniques

bull Easy to implement specially in the BIST environment

bull Small performance degradationbull High degree compactionbull No or small alias errors

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 330

「DIP概論」- IP Testing

Basic Compression Techniques

bull Ones-count compressionbull Transition-count compressionbull Parity-check compressionbull Syndrome Testingbull Signature Analysis

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 331

「DIP概論」- IP Testing

Ones-Count Compression (12)bull Given a single-output circuit C let the

output response of C be R = r1 r2 hellip rm

ndash In ones counting the signature 1C(R) is the number if 1s appearing in R ie

where 0 le 1C(R) le m

bull The degree of compression is ⎡log2(m+1)⎤

sum=i

irR1C )(

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 332

「DIP概論」- IP Testing

Ones-Count Compression (22)

counter

s-a-0 fault f2

s-a-1 fault f1

111100001100110010101010

00000000 = R211000000 = R110000000 = R0

Signature (ones count)1C(R0) = 11C(R1) = 21C(R2) = 0

x1x2x3

Input test patternsequence T

Output Reponses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 333

「DIP概論」- IP Testing

Analysis of Ones-Countbull Consider a circuit tested with m random

input vectors and let 1C(R0) = r 0 le r le mndash The number of m-bit sequences having r 1s is

such sequences are aliases

bull The ratio of masking sequences to all possible erroneous sequence given 1C(R0) = r is

⎥⎦

⎤⎢⎣

⎡rm

1rm

minus⎥⎦

⎤⎢⎣

)1

1rmM

2CP m

m

r1C minus

minus=(

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 334

「DIP概論」- IP Testing

Transition-Count Compressionbull TC(R) = sum

minus

=+

oplus1m

1i1ii rr

NetworkT D Q

counter

00000000 = R211000000 = R110000000 = R0

Signature (transition count)TC(R0) = 1TC(R1) = 1(undetectable fault)TC(R2) = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 335

「DIP概論」- IP Testing

bull If all faulty sequences are equally likely to occur as the response of a faulty circuit then the probability of masking is given by

Analysis of Transition-Count

122)|(

1

minusminus

=minus

m

mr

TC1CrmMP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 336

「DIP概論」- IP Testing

Parity-Check Compression

NetworkT

00000000 = R211000000 = R110000000 = R0 D Q

Signature (parity)p(R0) = 1p(R1) = 0p(R2) = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 337

「DIP概論」- IP Testing

bull All errors consisting of odd number of bit errors are detectedndash Detect all single-bit errors

bull All errors consisting of even number of bit errors are maskedndash Assume all faulty bit streams are equally likely

the probability of masking approaches frac12 as m increases

Analysis of Parity-Check

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 338

「DIP概論」- IP Testing

Syndrome Testingbull Rely on exhaustive testing ie applying all

2n test vectors to an n-input combinational circuitndash Eg Consider a single-output circuit

implementing a function fbull The syndrome S (or signature) is the normalized

number of 1s in the resulting stream ie S = K2n where K is the number of minterms in the function f

ndash A special case of ones-count compression

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 339

「DIP概論」- IP Testing

Signature Analysis

bull Signature analysis is a compression technique based on the concept of cyclic redundancy checking (CRC) and realized in hardware using linear-feedback shift registers (LFSRs)ndash The signature is the content of this register after

the last input bit has been sampled

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 340

「DIP概論」- IP Testing

LFSRs Used as Signature Analyzers

bull Single-input signature registers (SISRs)bull Multiple-input signature registers (MISRs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 341

「DIP概論」- IP Testing

SISRsbull Initial state I(x) = 0bull Final state R(x) the remainder or signature

)()()( )(or )()()(

)()( xRxPxQxG

xPxRxQ

xPxG

+=+=

G(x) Q(x)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 342

「DIP概論」- IP Testing

Example of SISRs

R(x) = x2+x4 Q(x) =1+x2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 343

「DIP概論」- IP Testing

Analysis of SISRs (12)

bull For a test bit stream of length mndash 2m possible responses of which only one is

correctndash The number of bit streams producing a specific

signature is 2m 2n = 2m-n where n is the length of the LFSR

ndash Among these streams only one is correct

( ) 21212P n

m

nm

SA nmM minusminus

congminus

minus=|

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 344

「DIP概論」- IP Testing

ndash Eg If n = 16 then(1-2-16) 100 = 999984

of erroneous responses are detectedNote This is not of faults

Analysis of SISRs (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 345

「DIP概論」- IP Testing

MISRs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 346

「DIP概論」- IP Testing

Implementation of MISRs

(a) Original (a) Modified

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 347

「DIP概論」- IP Testing

The Storage Cell for MISRs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 348

「DIP概論」- IP Testing

Notes

Chapter 8

Built-In Self-Test (BIST)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 350

「DIP概論」- IP Testing

Built-In Self-Test (BIST) (12)bull Capability of a circuit (chip board or

system) to test itself

Test Pattern Generator (TPG)

Circuit under Test (CUT)

Output Response Analyzer (ORA)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 351

「DIP概論」- IP Testing

bull On-line not placed into the test modendash Concurrent simultaneous with normal

operationndash Nonconcurrent idle normal operation

bull Off-line placed into the test modendash Functional diagnosis SW or FWndash Structural

bull LFSR-based TPG and ORAbull FC is estimated

Built-In Self-Test (BIST) (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 352

「DIP概論」- IP Testing

Glossary of BIST Test Structures (12)bull BILBO

ndash built-in logic block observation (register)bull LFSR

ndash linear feedback shift registerbull MISR

ndash multiple-input signature registerbull ORA

ndash output response analyzer

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 353

「DIP概論」- IP Testing

bull PRPG ndash pseudorandom pattern generator also referred

to as a pseudorandom number generatorbull SISR

ndash single-input signature registerbull SRSG

ndash shift-register sequence generator also a single-output PRPG

bull TPGndash test pattern generator

Glossary of BIST Test Structures (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 354

「DIP概論」- IP Testing

bull Exhaustive testingndash Exhaustive test-pattern generator

bull Pseudorandom testingndash Weighted test generatorndash Adaptive test generator

Test Pattern Generation for BIST (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 355

「DIP概論」- IP Testing

Test Pattern Generation for BIST (22)

bull Pseudoexhaustive testingndash Syndrome driver counterndash Constant-weight counterndash Combined LFSR and shift registerndash Combined LFSR and XOR gatesndash Condensed LFSRndash Cyclic LFSR

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 356

「DIP概論」- IP Testing

Exhaustive Testing

bull Apply all 2n input vectors where n is the number of inputs to CUTndash Impractical for large n

bull Detect all detectable faults that do not cause sequential behaviorndash In general not applicable to sequential circuits

bull Can use a counter or LFSR for TPG

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 357

「DIP概論」- IP Testing

bull A shift register with a linear feedback network is called a linear feedback shift register (LFSR)

bull A n-stage shift register has at most 2n statesrArr A n-stage LFSR has at most 2nndash1 stages

the linear successor of the all-zero state is itself

there4

Linear Feedback Shift Register (LFSR) (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 358

「DIP概論」- IP Testing

Linear Feedback Shift Register (LFSR) (22)

D Q D Q

S0 1 0S1 0 1S2 (=S0) 1 0

Z = 0101helliphellip2 states

Z D Q D Q D Q Z

S0 0 1 1S1 1 0 1S2 0 1 0S3 0 0 1S4 1 0 0S5 1 1 0S6 1 1 1S7 (=S0) 0 1 1

Z = 11010011101001 helliphellip7 states

linear feedback network

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 359

「DIP概論」- IP Testing

Two Types of LFSRs (12)bull Type 1 External type

D Q D Q ZD Q D Q

C1 C2 Cn-1 Cn= 1C0

= 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 360

「DIP概論」- IP Testing

Two Types of LFSRs (22)bull Type 2 Internal type

D Q

Cn-1Cn= 1

D Q

Cn-2

D Q

C1

D Q Z

C0= 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 361

「DIP概論」- IP Testing

Mathematical Operations over GF(2)

bull Multiplication(bull) bull Addition( )

bull 0 10 0 01 0 1

0 10 0 11 1 0

Eg Let C1 = 0 C2 = 1 C3 = 1 and a1 = 0 a2 = 1 a3 = 1If a0 = C1 bull a1 C2 bull a2 C3 bull a3 then a0 = 0 bull 0 1 bull 1 1 bull 1 = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 362

「DIP概論」- IP Testing

Analysis of LFSRsbull A sequence of binary numbers can be

represented using a generation function (polynomial)

bull The behavior of an LFSR can be determined by its ldquoinitial seed (S0)rdquo and ldquofeedback coefficients (Ci)rdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 363

「DIP概論」- IP Testing

Characteristic Polynomials (13)

bull Let a0 a1 hellip am hellipbe the sequence of binary numbers ndash Generation function

G(x) = a0 + a1x +hellip+ amxm + hellip=bull Let am = a0 a1 hellip am hellipbe the output

sequence of an LFSR of type 1rArr am =

xa m

mmsum

infin

=0

aC im

n

ii minus

=sum

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 364

「DIP概論」- IP Testing

bull Let the seed S0 be a-1 a-2 hellip a-n hellip

rArr G(x) = =

rArr G(x) = under GF(2)

rArr G(x) depends on the seed S0 and feedback coefficients

xa m

mmsum

infin

=0sum suminfin

= =minus⎟⎠

⎞⎜⎝

0 1m

mn

iimi xaC

( )sum

sum

=

minus

minus

minus

minus=

+

++

n

i

i

i

i

i

in

ii

xC

xaxaxC

1

1

11

1

Characteristic Polynomials (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 365

「DIP概論」- IP Testing

bull Let P(x) = 1 +

= 1 + C1x + C2x2 + hellip+ Cnxn

called the characteristic polynomial of the LFSR representing the linear feedback network

bull The degrees of all characteristic polynomials for an n-stage LFSR are nndash Eg

P(x) = x3 + x + 1

sum=

n

i

i

i xC1

D Q D Q D Q Z

Characteristic Polynomials (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 366

「DIP概論」- IP Testing

Maximum Length Sequences

bull If period p of the sequence generated by an n-stage LFSR is 2n-1 then it is a maximum length sequencendash 1rsquos = 0rsquos + 1

bull The characteristic polynomial associated with the maximum length sequence is a primitive polynomial

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 367

「DIP概論」- IP Testing

Primitive Polynomialsbull The number of primitive polynomials for n-

stage LFSR is given by

where

( ) ( )n

nn 12

2

minus=φλ

( ) prod ⎟⎟⎠

⎞⎜⎜⎝

⎛minus=

np pnn

|

11φ

n1 12 14 28 1616 204832 67108864

( )n2λ

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 368

「DIP概論」- IP Testing

Some Primitive PolynomialsEg 20 3 0 for x20 + x3 + 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 369

「DIP概論」- IP Testing

An Example of LFSR

bull 23-1 = 7 ldquoalmost completerdquo patterns are generated

D Q D Q D Q Z

S0 0 1 1S1 1 0 1S2 0 1 0S3 0 0 1S4 1 0 0S5 1 1 0S6 1 1 1S7(=S0) 0 1 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 370

「DIP概論」- IP Testing

Exhaustive Testing

D Q D Q D Q0 0 1

0 0 0

1 0 0

scan chain 3

CUT

test cycles 3+23

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 371

「DIP概論」- IP Testing

Off-Line BIST Architecturesbull Criteria

ndash Centralized or distributed BIST circuitryndash Embedded or separate BIST elements

bull Key elementsndash Test pattern generators (TPGs)ndash Output response analyzers (ORAs)ndash The circuits under test (CUTs)ndash A distribution system (DIST) for transmitting data from

TPGs to CUTs and from CUTs to ORAsndash A BIST controller for controlling the BIST circuitry

and CUT during self-test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 372

「DIP概論」- IP Testing

CentralizedSeparate BIST (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 373

「DIP概論」- IP Testing

CentralizedSeparate BIST (22)

bull During testing the BIST controller may carry out one or more of the following functionsndash Single-step the CUTs through some test

sequencendash Inhibit system clocks and control test clocksndash Communicate with other test controllers

possibly using test bussesndash Control the operation of a self-test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 374

「DIP概論」- IP Testing

DistributedSeparated BIST

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 375

「DIP概論」- IP Testing

DistributedEmbedded BIST

The TPG and ORA elements are configured from functional elements within the CUT such as registers

Less hardware overheadLead to a more complex design

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 376

「DIP概論」- IP Testing

Factors for Choosing BIST Architecturesbull Degree of test parallelism (distributed darr)bull Fault coverage (distributed darr)bull Level of packaging (centralized darr)bull Test time (distributed darr)bull Physical constraints (embedded and separateuarr)bull Complexity of replaceable units (centralized darr)bull Factory and field of test-and-repair strategiesbull Performance degradation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 377

「DIP概論」- IP Testing

Test-Per-Clock System

LFSR SR

CUT

MISR

Some new set of faults is tested during every clock period

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 378

「DIP概論」- IP Testing

Test-Per-Scan SystemLFSR SR

CUT

MISR SR

Each new set of faults being tested requiresOne clock to conduct the testA series of shifts of the scan chain (SR)

Complete that testRead out all of the test results

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 379

「DIP概論」- IP Testing

STUMPSbull Self-Test Using a MISR and Parallel Shift register

ndash Test-per-scan

LFSR (Pseudo-Random Test Pattern Generator)

SR1 SR2 SRn

MISR

CUT1 CUT2 CUTn

Source Bardell ITCrsquo82

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 380

「DIP概論」- IP Testing

BILBObull Built-In Logic Block Observation

ndash Distributedembedded

BILBO register

BILBO0 0 shift mode0 1 reset1 0 LFSRMISR1 1 normal mode

Source Konemann 1979

z1 z2 zn

B1 B2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 381

「DIP概論」- IP Testing

Applications of BILBO (12)bull Bus-Oriented structure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 382

「DIP概論」- IP Testing

Applications of BILBO (22)bull Pipeline-oriented structure

POs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 383

「DIP概論」- IP Testing

What to Do If 2n Is Too Large

bull Using pseudorandom testingndash Eg Generate only 232 test patterns

bull Using pseudoexhaustive testingndash Eg Partitioning

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 384

「DIP概論」- IP Testing

Pseudorandom Testingbull Weighted test generation

ndash The distribution of 0s and 1s produced on the output lines of TPGs is not necessary uniform

bull Adaptive test generationndash Modify the weights based on the simulation

resultsbull (advantage) efficient in terms of test lengthbull (disadvantage) the TPG hardware is more complex

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 385

「DIP概論」- IP Testing

Weighted Test Generation

bull Using an LFSR and a combinational circuit

D Q D Q D Q

The probability of 05 for a 1is changed to 025

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 386

「DIP概論」- IP Testing

Pseudoexhaustive Testing

bull Achieve many benefits of exhaustive testing but usually require far fewer test patternsndash Rely on various forms of circuit segmentation

and attempt to test each segment exhaustivelybull A segment is a subcircuit of a circuit C

ndash Segments need not be disjoint

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 387

「DIP概論」- IP Testing

Segmentation

bull Logical segmentationndash Sensitized path segmentationndash Cone segmentation (verification testing)

bull Physical segmentation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 388

「DIP概論」- IP Testing

bull The circuit can be pseudoexhaustivelytested with 2n1 + 2n2 + 1 test patterns

n1

n2

C1

C2

Sensitized Path Segmentation (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 389

「DIP概論」- IP Testing

Sensitized Path Segmentation (22)n1

n2

C1

C2

n1

n2

C1

C2

n1

n2

C1

C2

2n1 test patterns

2n2 test patterns

1 test pattern

1

1

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 390

「DIP概論」- IP Testing

Cone Segmentation

bull An m-output circuit is logically segmented into m cones each cone consists of all logic associated with one outputndash Each cone is tested exhaustively and all cones

are tested concurrentlyhelliphellipndash Called verification testing by McCluskey[1984]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 391

「DIP概論」- IP Testing

An (n w)-CUTbull [Definition] Consider a combinational circuit

C with inputs X = x1 x2 hellip xn and outputs Y= y1 y2 hellip ym Let yi = fi(Xi) where Xi sube X Let w = maxi|Xi| We denote this circuit as an (n w)-CUT ndash Pseudoexhaustively testing an (n w)-CUT needs at

least 2w test patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 392

「DIP概論」- IP Testing

An (4 2)-CUT

y1 y2 y3 y4

x1 x2 x3 x4

Pseudoexhaustively testing this (4 2)-CUT need at least 22 test patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 393

「DIP概論」- IP Testing

Constant Weight Patternsbull [Definition] Let T be a set of n-tuples T is

said to exhaustively cover all k-subspaces if for all subsets of k bit positions each of the 2k

binary pattern appears at least once among the |T| n-tuplesndash Eg

⎥⎥⎥⎥

⎢⎢⎢⎢

=

101011110000

Tn = 3

k = 2|T| = 4

T can be a pseudoexhaustive test set for an (n w)-CUT if k ge w

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 394

「DIP概論」- IP Testing

Identification of Test Signal Inputsbull Consider a CUT with n inputs If none of

the outputs is a function of both inputs say a and b then the inputs a and b can be applied to the same test signal line

f(x y)

g(x y)

x

y

z

1 1 0 0

1 1 0 0

1 0 1 0

f(x y)

g(x y)

x

y

z

1 1 0 0

1 0 1 0

apply x and z to the same test signal line

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 395

「DIP概論」- IP Testing

MTC Circuitsbull [Definition]A circuit is said to be a maximal-test-

concurrency(MTC) circuit if the minimal number of required test signals for the circuit is equal to the maximum number of inputs upon which any output depends

f(x y)

g(x y)

x

y

z

1 1 0 0

1 0 1 0

f(x y)

g(x y)

x

y

z

1 1 0 0

1 0 1 0

0 1 1 0h(x z)

A MTC circuit A non-MTC circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 396

「DIP概論」- IP Testing

Identification of Minimal Set of Test Signals

Step 1 Generate a dependency matrix D = [dij] where dij = 1 if output i depends on input j otherwise dij = 0

Step 2 Partition the matrix into group of inputs so that two or more inputs in a group do not affect the same output

Step 3 Collapse each group to form an equivalent input called a test signal input

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 397

「DIP概論」- IP Testing

Example of Identification (12)

abcdefg

f1(a b e)f2(b c g)f3(a d e)

f4(c d e)

f5(e f)

C

f

f

f

f

f

gfedcba

D

5

4

3

2

1

01100000011100001100110001100010011

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

Step 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 398

「DIP概論」- IP Testing

Example of Identification (22)

f

f

f

f

f

gfedbca

Dg

5

4

3

2

1

01100000011010001100110001100010101

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

Step 2

I II III IV

f

f

f

f

f

Dc

5

4

3

2

1

11000111011110110111

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

Step 3

I II III IV

Transformation to a (4 3)-CUT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 399

「DIP概論」- IP Testing

Physical Segmentation

bull Insert bypass storage cells (bscs) such that in the test mode each output and bscdepends on at most w inputs and bscsndash A bypass storage cell is similar to a cell used in

boundary-scan designbull In the normal mode the inserted bsc acts a wirebull In the test mode the inserted bsc can be part of an

LFSRSR

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 400

「DIP概論」- IP Testing

gate

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 4 4

6 5

Example of Physical Segmentation (16)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 401

「DIP概論」- IP Testing

Example of Physical Segmentation (26)x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 402

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 1

Example of Physical Segmentation (36)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 403

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 2

Example of Physical Segmentation (46)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 404

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 3

Example of Physical Segmentation (56)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 405

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 4

Example of Physical Segmentation (66)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 406

「DIP概論」- IP Testing

Pseudoexhaustive Testing by LFSRSR Chains

bull Step1 Partition the circuit under test(CUT) by inserting bypass storage cells(bscs)ndash Reduce the maximum dependency

bull Step 2 Route an LFSRSR chain with a primitive feedback polynomial through the primary inputs(PIs) and bscs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 407

「DIP概論」- IP Testing

LFSRSR Chainsx4 + x3 + 1 (primitive)

PIs

+

BSCs

An LFSRSR chain with a primitive feedbackpolynomial of degree k generates the maximum sequence of length 2k-1

Exhaustively test each output cone

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 408

「DIP概論」- IP Testing

Residue Polynomials

bull For an LFSRSR with primitive feedback polynomial f(x) of degree k the residue Ri(x) of stage i is defined as

Ri(x) = xi mod f(x)

XOR network with f(x)210 k-1 k i

R0 R1 R2 Rk-1 Rk Ri

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 409

「DIP概論」- IP Testing

Example of Residue Polynomials

+x3 + x + 1

1 x x2 x+1

x2+x

x2+x+1

0 1 2 3 4 5

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 410

「DIP概論」- IP Testing

Linear Independencybull [Theorem] An output cone depending on

the inputs p1hellip pk can be exhaustively tested hArr the corresponding residues Rp1

hellipRpk

are linear independent (LI)

210 k-1 k i

R0 R1 R2 Rk-1 Rk Ri

Output G

XOR network with f(x)

R2 Rk-1 Rk is LIhArrThe cone of G is

exhaustively tested

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 411

「DIP概論」- IP Testing

Example of Linear Independency+

x3 + x + 1

1 x x2 x+1

x2+x

x2+x+1

0 1 2 3 4 5

bull If some output cone C depends on inputs 0 3 and 4the output cone can be exhaustively tested

Because 1 x+1 x2+x is LI

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 412

「DIP概論」- IP Testing

Why Not Exhaustively Testingbull Subject to the input-output relation it is not

an easy task to construct a desirable LFSRSR chain as the pseudo-exhaustive TPG for the CUTndash Not all the output cones whose input residues

are LI that is linear dependent (LD)bull Called the LD problem

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 413

「DIP概論」- IP Testing

Possible Solutions to The LD Problembull To overcome the LD problem some variants of

LFSRSR have been proposedndash LFSRXORndash Reconfigurable LFSRSRndash Permuted LFSRSRndash Convolved LFSRSRndash Multiple LFSRSRndash Cell-reordering LFSRSRndash Constant-weight LFSRSRndash Linear-code LFSRSRndash Condensed LFSRSR

These solutions encounter serious problemsThe hardware overhead maybe largeThe construction time maybe long

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 414

「DIP概論」- IP Testing

LFSRXOR+ x3 + x + 1

1 x x2 x+1

x2+x

x2+x+1

0 1 2

++

3 4 5

XOR network

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 415

「DIP概論」- IP Testing

Reconfigurable LFSRSR

0 1 2 3 4 5 6

+

7

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 416

「DIP概論」- IP Testing

Permuted LFSRSR

0 1 2 3 4 5 6

+

7

0 2 5 1 3 4 6 7

inputs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 417

「DIP概論」- IP Testing

Convolved LFSRSR

0 1 2 3 4 5 6

+

7+

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 418

「DIP概論」- IP Testing

Multiple LFSRSR

0 1 2 3

+

4 5 6 7

+

1 0 0 0 1 1 0 0

seed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 419

「DIP概論」- IP Testing

Tree-Structured LFSRSR (TLS)

bull Rationalndash The SR chain of LFSRSR unnecessarily

constraints the searching domain for constructing a pseudo-exhaustive TPG

bull Constructionndash Step 1 Backbone generationndash Step 2 Tree growing

Source Rau et al ITCrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 420

「DIP概論」- IP Testing

Backbone Generationbull Step 1 Use a selected primitive feedback

polynomial to construct the LFSR portionbull Step 2 Based on the LI constraint include

as many PIs or bscs as possible to a shift register(SR) chain connected to the LFSR with as little routing overhead as possibleThe constructed LFSR and SR portion is called the Backbone

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 421

「DIP概論」- IP Testing

Example of Backbone Generation (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 422

「DIP概論」- IP Testing

Example of Backbone Generation (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 423

「DIP概論」- IP Testing

Tree Growing

bull Based on the LI constraint try to connect isolated PIs or BSCs to the backbone with as little routing overhead as possible

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 424

「DIP概論」- IP Testing

Example of Tree Growing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 425

「DIP概論」- IP Testing

XOR-Tree Generation

bull There may be PIs or BSCs which can not be included in the scan tree after the backbone generation and tree growing processesndash Because the LI requirement can not be

satisfiedndash Referred to as the linear dependent (LD)

problem

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 426

「DIP概論」- IP Testing

Overcoming The LD Problem

bull How to overcome the LD problem using as few XORs as possiblendash Use nonzero-terms of polynomial to directly

synthesize the required residuesndash Eg Under polynomial f(x) = x3 + x + 1 we can

synthesize R4 (x2 + x) with ldquoR2 (x2) xor R1(x)rdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 427

「DIP概論」- IP Testing

Looking for Proper Residues

Rj

XOR network with f(x)210 k-1

R0 R1 R2 Rk-1

i

Ri

jN

bull [Theorem] There must exist a residue Rj j gt i to avoid the LD problem

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 428

「DIP概論」- IP Testing

Residue Replacementbull Synthesize an XOR network from the exited

backbone and tree branches for shorter routingdistance oplus

backbone

branches

isolated oplus

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 429

「DIP概論」- IP Testing

Residue Replacement Process

bull Under the polynomial f(x) = x4 + x3 +1 We can synthesize residue R10 with the existent residues R5 and R6 as follows

R10 = R9 + R7

= R8 + R6 + R7

= R7 + R5 + R6 + R7

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 430

「DIP概論」- IP Testing

Simulation Results of TLS (12) (n m k) Ckt Before Partitioning After Partitioning C432 (36 7 36) (56 27 20) C499 (41 32 41) (49 40 14) C880 (60 26 45) (75 41 20) C1355 (41 32 41) (49 40 14) C1908 (33 25 33) (47 39 19) C2670 (233 140 122) (262 169 20) C3540 (50 22 50) (118 90 20) C5315 (178 123 67) (225 170 20) C6288 (32 32 32) (87 87 20) C7552 (207 108 194) (296 197 20)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 431

「DIP概論」- IP Testing

Simulation Results of TLS (22)

PIsBSCs [16] Ckt (n m k) CPU time Backbone Branches Isolated XORs XORs

C432 (56 27 20) 056 44 12 0 0 9 C499 (49 40 14) 054 48 1 0 0 11 C880 (75 41 20) 064 69 6 0 0 13 C1355 (49 40 14) 277 47 2 0 0 11 C1908 (47 39 19) 241 41 4 2 3 10 C2670 (262 169 20) 1374 247 15 0 0 7 C3540 (118 90 20) 3482 72 45 1 6 27 C5315 (225 170 20) 7566 186 39 0 0 36 C6288 (87 87 20) 25937 59 25 3 15 25 C7552 (296 197 20) 3359 216 80 0 0 31

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 432

「DIP概論」- IP Testing

Solutions of BIST (12)

bull Exhaustivepseudoexhaustive testingbull Weighted pseudorandom testingbull Mixed mode test pattern generation

ndash Pseudorandom test patterns firstndash Deterministic test patterns followed

bull Donrsquot consider the fact that the test pattern are given in a form of testcubes with unspecified inputs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 433

「DIP概論」- IP Testing

Solutions of BIST (22)

bull Reseeding ndash Change the seeds as needed

bull Reprogram the characteristic polynomialbull Combination of two or more of the above

methods

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 434

「DIP概論」- IP Testing

Notes

Chapter 9

Boundary-Scan Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 436

「DIP概論」- IP Testing

Board Level Testing

Sn m

Sn m

n

mMUXm

TNIsolate one module (chip) from the others

Test chips and chip interconnectionsRaise the concept of boundary-scan testing

R1

R2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 437

「DIP概論」- IP Testing

History of Boundary-Scan Testingbull 1988 Joint Test Action Group (JTAG)

proposed Boundary-Scan Standardbull 1990

ndash Boundary-Scan approved as IEEE 11491ndash Boundary-Scan Description Language (BSDL)

proposed by HPbull 1993 11491a approved to replace 11491bull 1994 11491b BSDL approved

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 438

「DIP概論」- IP Testing

1149111491a

bull Testing of digital chips and interconnections between chips

bull Widely used in industryndash Eg advance CPU HDTV satellite systemhelliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 439

「DIP概論」- IP Testing

Chip Architecture for 11491

TAPC

MUX

Sin

Sout

MRsInstruction Reg

Bypass Reg

Application Logic

OptionalBIST registersScan registers

MRs Miscellaneous Registers Boundary-Scan Cell

Boundary-Scan Path

TDITMS

TCKTDO

TAP

IO Pad

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 440

「DIP概論」- IP Testing

A Typical Boundary-Scan Cell (13)

0

1

MUX

S QA

Q1D

QB

Q1D

0

1

MUX

S

INOUT

SOUT

SIN

ShiftDR

ClockDR UpdateDR

Mode_Control

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 441

「DIP概論」- IP Testing

bull As an input boundary-scan cell INcorresponds to a chip input pad OUT is tied to a normal input to the application logic

bull As an output boundary-scan cell IN corresponds to the output of the application logic OUT is tied to an output pad

A Typical Boundary-Scan Cell (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 442

「DIP概論」- IP Testing

bull Operation Modesndash Normal Mode Mode_Control = 0

bull IN -gt OUTndash Scan Mode ShiftDR = 1 ClockDR

bull TDI-gthellip-gtSIN-gtSOUT-gthellip-gtTDOndash Capture Mode ShiftDR = 0 ClockDR

bull IN-gtQA

ndash Update Mode Mode_Control = 1 UpdateDRbull QA-gtOUT

A Typical Boundary-Scan Cell (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 443

「DIP概論」- IP Testing

Board And Chip Testing

Application Logic 2

Application Logic 3 Application Logic 4

TDI

TDO

Application Logic 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 444

「DIP概論」- IP Testing

Board And Chip Test Modes

bull External Test Modendash Test the interconnection between the chips of

boardbull Sample Test Mode

ndash Sample and shift out or shift in data without interfering the normal operation of board

bull Internal Test Modendash Test the chips of board

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 445

「DIP概論」- IP Testing

External Test Mode (14)

Chip 1

Chip 2

TDI

TDO

Shift-DR(Chip 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 446

「DIP概論」- IP Testing

External Test Mode (24)

Chip 1

Chip 2

TDI

TDO

Update-DR(Chip 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 447

「DIP概論」- IP Testing

External Test Mode (34)

Chip 1

Chip 2

TDI

TDO

Capture-DR(Chip 2)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 448

「DIP概論」- IP Testing

External Test Mode (44)

Chip 1

Chip 2

TDI

TDO

Shift-DR(Chip 2)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 449

「DIP概論」- IP Testing

Sample Test Mode (12)

0

1

MUX

S QA

Q1D

QB

Q1D

0

1

MUX

S

INOUT

SOUT

SIN

ShiftDR

ClockDR UpdateDR

Mode_Control

Sample

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 450

「DIP概論」- IP Testing

Sample Test Mode (22)

0

1

MUX

S QA

Q1D

QB

Q1D

0

1

MUX

S

INOUT

SOUT

SIN

ShiftDR

ClockDR UpdateDR

Mode_Control

Shift inShift out

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 451

「DIP概論」- IP Testing

Internal Test Mode (12)

Chip 1TDI

Shift-DR

TDO

Chip 1TDI

Update-DR

TDO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 452

「DIP概論」- IP Testing

Internal Test Mode (22)

Chip 1TDI

Capture-DR

TDO

Chip 1TDI

Shift-DR

TDO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 453

「DIP概論」- IP Testing

Test Bus (12)bull A board supporting 11491 contains a test bus

consisting of at least four signalsndash TDI Test Data Inputndash TDO Test Data Outputndash TMS Test Mode Selectorndash TCK Test Clockndash TRST(optional) Test Reset

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 454

「DIP概論」- IP Testing

Test Bus (22)

bull These signals are connected to a chip via its test-bus portsndash Ring configurationndash Star configuration

bull Each chip is considered to be a slave bus and the bus is assumed to be driven by a bus master

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 455

「DIP概論」- IP Testing

Ring Configuration

TDOTDI

TMSTCK

Busmaster

TDITCKTMSTDO

1

Application chips

TDITCKTMSTDO

2

TDITCKTMSTDO

N

TAPC

Registers

TAPC

Registers

TAPC

Registers

CKTMS

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 456

「DIP概論」- IP Testing

Star Configuration

TDOTDI

TMS1

TCK

Busmaster

TDITCKTMSTDO

1

Application chips

TDITCKTMSTDO

2

TDITCKTMSTDO

N

TMSN

TMS2

TAPC

Registers

TAPC

Registers

TAPC

Registers

CKTMS

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 457

「DIP概論」- IP Testing

Test-Bus Circuitry (12)

bull The (on-chip) test-bus circuitry allows access to and control of the test features of a chip consisting of four main elementsndash Test access port(TAP)ndash TAP controller(TAPC)ndash A scannable instruction register and associated

logicndash A group of scannable test data registers(TDRs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 458

「DIP概論」- IP Testing

Test-Bus Circuitry (22)Boundary-scan register

Bypass registers

M

U

X

Decoding logic MUX

TDOTMS

TCK

Test data registers(TDRs)

TDI

optional

optional

Device identification register

User test data register

TAPC

IR clocks and controls

TDR clocks and controls

SelectEnable

OutputBuffer

Instruction register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 459

「DIP概論」- IP Testing

TAPC

bull A synchronous finite state machine with 16statesndash Inputs TCK TMSndash Outputs ShiftDR ClockDR UpdateDR ShiftIR

ClockIR UpdateIR Select Enable TCK (optional) TRST

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 460

「DIP概論」- IP Testing

States of TAPC (12)bull Test-Logic-Reset normal modebull Run-TestIdle wait for a internal test such

as BISTbull Select-DR-Scan initial a scan-data

sequence for the selected registersbull Capture-DR load data in parallelbull Shift-DR load data in serialbull Exit1-DR finish phase-1 shifting of data

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 461

「DIP概論」- IP Testing

States of TAPC (22)bull Pause-DR temporarily halt the scan

operation to allow the bus master to reload datandash Necessary during the transmission of long test

sequencesbull Exit2-DR finish phase-2 shifting of databull Update-DR parallel load from associated

shift registers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 462

「DIP概論」- IP Testing

TMS = 1

TMS = 0

TMS = 0

TMS = 1

TMS = 0

TMS = 1

TMS = 1 TMS = 0

TMS = 0

TMS = 0

TMS = 1

State Diagram of TAPCTest-Logic-Reset

Run-testIdle

TMS = 1TMS = 0

TMS = 0

TMS = 1 TMS = 1 TMS = 1

Control of data registers Control of instruction register

Capture-DR

Shift-DR

Exit1-DR

Pause-DR

Exit2-DR

Update-DR

Select-DR-Scan Select-IR-Scan

Capture-IR

Shift-IR

Exit1IR

Pause-IR

Exit2-IR

Update-IR

TMS = 1

TMS = 0

TMS = 0

TMS = 1

TMS = 0

TMS = 1

TMS = 1 TMS = 0

TMS = 0

TMS = 0

TMS = 1

TMS = 0

TMS = 1

TMS = 0

TMS = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 463

「DIP概論」- IP Testing

Test Data Registers

bull Test Data Registers(TDRs)ndash Boundary-scan registersndash Bypass register(1-bit)ndash Device Identification registersndash Registers that are part of the application logic

itself

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 464

「DIP概論」- IP Testing

bull Instruction Register(IR)ndash Shift in a new instruction while holding the

current instruction fixed as its output portsndash Specify operations to be executedndash Select TDRs

bull Each instruction enables a single serial test-data register path between TDI and TDO

Instruction Register and Instructions (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 465

「DIP概論」- IP Testing

Instruction Register and Instructions (22)

bull Instructionsndash Mandatory

bull BYPASS to reduce the length of the scan pathbull EXTEST external test modebull SAMPLE sample test mode

ndash Recommendedbull INTEST internal test modebull RUNBIST for the Run-TestIdle State

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 466

「DIP概論」- IP Testing

BYPASS (12)

Bypass register

TAPC

TDOTMS TCKTDI

Application Logic

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 467

「DIP概論」- IP Testing

BYPASS (22)

Bypass register

TAPC

TDI

Application Logic

Bypass register

TAPC

TDO

Application Logic

1 2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 468

「DIP概論」- IP Testing

Summaries of Boundary-Scan Operations

bull Instructions are sent serially over TDI into the instruction register

bull Selected test circuitry is configured to respond to the current instruction

bull Test instruction is to be executedbull Test results are shifted out through TDO

new test data on TDI may be shifted in at the same time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 469

「DIP概論」- IP Testing

bull Now the IEEE 11491b standardbull Purposes (12)

ndash To provide a standard description language for boundary scan devices

ndash To simplify the design work for boundary scan ndashautomated synthesis is possible

ndash To promote consistency throughout ASIC designers device manufacturers foundries test developers and ATE manufacturers

Boundary Scan Description Language (BSDL) (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 470

「DIP概論」- IP Testing

Boundary Scan Description Language (BSDL) (22)

bull Purposes(22)ndash For easy incorporation into software tools for

test generation analysis and failure diagnosisndash To reduce possibility of human error when

employing boundary scan in a design

Chapter 10

Memory Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 472

「DIP概論」- IP Testing

Fault Models (13)bull Stuck-at fault (SAF)

ndash The logic value of a cell or a line is always 0 or 1

bull Transition fault (TF)ndash A cell or a line that fails to undergo a 0rarr1 or

a 1rarr0bull Coupling fault (CF)

ndash A write operation to one cell changes the contents of a second cell

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 473

「DIP概論」- IP Testing

Fault Models (23)

bull Neighborhood Pattern Sensitive Fault (NPSF)ndash The content of a cell or the ability to change its

content is influenced by the contents of some other cells in the memory

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 474

「DIP概論」- IP Testing

Fault Models (33)

bull Address Decoder Fault (AF)ndash Any fault that affects address decoder

bull With a certain address no cell will be accessedbull A certain cell is never accessedbull With a certain address multiple cells are accessed

simultaneouslybull A certain cell can be accessed by multiple addresses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 475

「DIP概論」- IP Testing

Memory Chip Test Algorithms

bull Traditional testsbull Tests for SAFs TFs and CFsbull Tests for NPSFs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 476

「DIP概論」- IP Testing

Traditional TestsAlgorithms Test length Order

n is the number of bits of the memory array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 477

「DIP概論」- IP Testing

Test Time as A Function of Memory Size

Cycle time 10 nsn is the number of bits of the memory array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 478

「DIP概論」- IP Testing

Notation of March Test Algorithms

bull uArr address 0 to address n-1bull dArr address n-1 to address 0bull either waybull w0 write 0bull w1 write 1bull r0 read a cell whose value should be 0bull r1 read a cell whose value should be 1

hArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 479

「DIP概論」- IP Testing

March Test Algorithm MATS

bull Modified Algorithmic Test Sequencendash (w0) (r0 w1) (r1)

Step 1 write 0 to all cellsStep 2 for each cell

read 0 and write 1Step 3 read 1 from all cells

hArr hArr hArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 480

「DIP概論」- IP Testing

Other March Test Algorithms (13)

bull MATS+ndash (w0) uArr(r0 w1) dArr(r1 w0)

bull Marching 10ndash (w0) uArr(r0 w1 r1) dArr(r1 w0 r0)

(w1) uArr(r1 w0 r0) dArr(r0 w1 r1)bull MATS++

ndash (w0) uArr(r0 w1) dArr(r1 w0 r0)

hArrhArr

hArrhArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 481

「DIP概論」- IP Testing

bull MARCH Xndash (w0) uArr(r0 w1) dArr(r1 w0) (r0)

bull MARCH C-ndash (w0) uArr(r0 w1) uArr(r1 w0)

dArr(r0 w1) dArr(r1 w0) (r0)bull MARCH A

ndash (w0) uArr(r0 w1 w0 w1) uArr(r1 w0 w1)dArr(r1 w0 w1 w0) dArr(r0 w1 w0)

Other March Test Algorithms (23)

hArr hArr

hArr

hArr

hArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 482

「DIP概論」- IP Testing

bull MARCH Yndash (w0) uArr(r0 w1 r1) dArr(r1 w0 r0) (r0)

bull MARCH Bndash (w0) uArr(r0 w1 r1 w0 r0 w1) uArr(r1 w0 w1)dArr(r1 w0 w1 w0) dArr(r0 w1 w0)

Other March Test Algorithms (33)

hArrhArrhArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 483

「DIP概論」- IP Testing

Tests for FaultsAlgorithms Test Length Fault CoverageMATS 4n Some AFs SAFsMATS+ 5n AFs SAFsMarching 10 14n AFs SAFs TFsMATS++ 6n AFs SAFs TFsMARCH X 6n AFs SAFs TFs some CFsMARCH C- 10n AFs SAFs TFs some CFsMARCH A 15n AFs SAFs TFs some CFsMARCH Y 8n AFs SAFs TFs some CFsMARCH B 17n AFs SAFs TFs some CFsn is the number of bits of the memory array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 484

「DIP概論」- IP Testing

NPSF

bull ANPSFndash Active Neighborhood Pattern Sensitive Fault

bull PNPSFndash Passive Neighborhood Pattern Sensitive Fault

bull SNPSFndash Static Neighborhood Pattern Sensitive Fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 485

「DIP概論」- IP Testing

ANPSF

bull n changes rArr b changesndash Eg n 0 rArr 1

b 1 rArr 0

n n nn b nn n n

b base celln neighborhood cells

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 486

「DIP概論」- IP Testing

PNPSF

bull Contain n patterns rArr b cannot changendash Eg n 00000000 rArr b 0 or 1

n n nn b nn n n

b base celln neighborhood cells

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 487

「DIP概論」- IP Testing

SNPSF

bull Contain n patterns rArr b is forced to a certain valuendash Eg n 11111111 rArr b 1

n n nn b nn n n

b base celln neighborhood cells

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 488

「DIP概論」- IP Testing

DC Parametric Testing

bull OpenShort testbull Power consumption testbull Leakage testbull Threshold testbull Output drive current testbull Output short current test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 489

「DIP概論」- IP Testing

AC Parametric Testingbull Output signal

ndash The rise and fall timesbull Relationship between input signals

ndash The setup and hold timesbull Relationship between input and output

signalsndash The delay and access times

bull Successive relationship between input and output signalsndash The speed test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 490

「DIP概論」- IP Testing

Dynamic Faults

bull Recovery faultsndash Sense amplifier recoveryndash Write recovery

bull Retention faultsndash Sleeping sicknessndash Refresh line stuck-at ndash Static data loss

bull Bit-line precharge voltage imbalance faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 491

「DIP概論」- IP Testing

BIST Pros And Consbull Advantages

ndash Minimal use of testersndash Can be used for embedded RAMs

bull Disadvantagesndash Silicon area overheadndash Speed slow access timendash Extra pins or multiplexing pinsndash Testability of the test hardware itselfndash A high fault coverage is a challenge

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 492

「DIP概論」- IP Testing

Architecture of a DRAM Chip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 493

「DIP概論」- IP Testing

Typical Memory BIST Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 494

「DIP概論」- IP Testing

Multiple Memory BIST Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 495

「DIP概論」- IP Testing

Serial Testing of Embedded RAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 496

「DIP概論」- IP Testing

Built-In Self-Repair

bull BIST can only identify faulty chipbull Laser cut may be infeasible in some cases

eg field testingbull Two types

ndash Use fault-array comparatorbull Repair by cellbull Repair by column (or row)

ndash Using switch array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 497

「DIP概論」- IP Testing

BIST Using Switch Array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 498

「DIP概論」- IP Testing

BIST Using Fault-Address Comparison

Chapter 11

SOC Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 500

「DIP概論」- IP Testing

System-on-A-Chip (SOC)bull Integrate all the function blocks of a

complete system into a single chip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 501

「DIP概論」- IP Testing

Challenges vs Solutions

bull Challengesndash Capacityndash Design productivity gapndash Time-to-market (TTM)ndash helliphellip

bull Solutionsndash Core-based designndash Platform-based designndash helliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 502

「DIP概論」- IP Testing

Core-Based SOC Design

bull Coresndash Pre-defined pre-verified complex function

blocks also termed Virtual Components (VCs) or Intellectual Properties (IPs)

bull Core-based SOC designndash Reuse existed cores to implement a complete

system in a single chiprArrReduce TTM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 503

「DIP概論」- IP Testing

SOC Components

bull Simple coresbull Complex coresbull User-define logic (UDL) bull Interconnect logic and wirerArr SOC testing should cover all the

components

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 504

「DIP概論」- IP Testing

SOC Design Flow

bull SOC components -- cores are only manufactured and tested in the final systemndash It is quite difficult to test the

individual coresbull Cores usually are protected

by laws

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 505

「DIP概論」- IP Testing

Core-Based Test Challenges

bull Distributed design and test developmentbull Test access to embedded coresbull SOC-level test optimization

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 506

「DIP概論」- IP Testing

Distributed Design and Test Development

bull Core providersndash Core-internal design DFT

bull Test pattern generation for coresbull Deliver cores with the complete tests

bull Core usersndash Chip-level DFT

bull Test pattern generation for chipsndash Reuse of core-level test patternsndash Additional test patterns for non-core circuitry

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 507

「DIP概論」- IP Testing

Test Access to Embedded Cores (12)

bull Many cores are (deeply) embedded rArr No direct (functional) access to core terminalsndash Other cores between SOC pins and core

terminalsndash Often core terminals gt SOC pins

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 508

「DIP概論」- IP Testing

Test Access to Embedded Cores (22)

bull To test cores as stand-alone unitsndash Provide core test access paths from SOC pins to

core terminalsndash Isolate cores such that external influence do not

hamper the core testndash Provide test access means for outward-facing

tests

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 509

「DIP概論」- IP Testing

SOC-Level Test Optimizationbull How are embedded cores tested

ndash Stand-alone vs merged with other modulesbull Optimization of test access infrastructure

ndash Test quality and bandwidth vs area and costbull Optimization of test execution and

schedulingndash Trade-offs between test vector count and

application time power dissipation and area

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 510

「DIP概論」- IP Testing

Solutions to Challenges

bull Distributed design and test developmentndash Standardized set of deliverables

bull Test access to embedded coresndash Standardized on-chip test access hardwarendash Tools for test translation

bull SOC-level test optimizationndash Tools to evaluate trade-offs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 511

「DIP概論」- IP Testing

Test Access Architecture

bull Test pattern sourcesinkndash Generates test patternscompares test responses

bull Test access mechanism (TAM)ndash Transports test patternsresponses tofrom CUT

bull Core test wrapperndash Provides switching of core terminals to functional IO

or TAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 512

「DIP概論」- IP Testing

Off-Chip SourceSinkbull pins determines bandwidthbull More TAM area

ndash Requires expensive ATE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 513

「DIP概論」- IP Testing

On-Chip SourceSinkbull Close to core-under-test (CUT)bull Less TAM area

ndash Requires lightweight ATEbull BIST IP area

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 514

「DIP概論」- IP Testing

TAM

bull Tasksndash Transport test patterns from source to CUTndash Transport responses from CUT to sink

bull Design parametersndash Width transport capacityndash Length transport distance

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 515

「DIP概論」- IP Testing

TAM Widthbull Transport capacity

ndash Minimum meet core testrsquos data ratendash Maximum bandwidth of sourcesink

bull Trade-offsndash Test qualityndash Test application time ndash Silicon area cost

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 516

「DIP概論」- IP Testing

TAM Lengthbull Physical distance

ndash On-chip sourcesink may shorten TAM lengthndash Sharing may shorten TAM length

bull Share TAM with functional hardwarebull Go through vs pass around other modulesbull Share TAMs between multiple cores

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 517

「DIP概論」- IP Testing

TAM Implementationsbull Multiplexed accessbull Reused system bus (AMBA)bull Transparency (Macro Test SOCET)bull Boundary Scan (JTAG partial-scan variants)bull Scalable TAMs (Test Bus Test Rail)

On one SOC different TAMs may co-exist

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 518

「DIP概論」- IP Testing

Multiplexed Access (13)

bull Connect wires to all core terminals and multiplex onto existing IC pins

bull Common practice for embedded memories

bull Also used for block-based ASICs

MUX

control

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 519

「DIP概論」- IP Testing

Benefits of Multiplexed Access

bull Each embedded core can be tested as stand-alone device

bull Translation from core-level test into IC-level test is simple

bull Simple silicon debug and diagnosis

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 520

「DIP概論」- IP Testing

Drawbacks of Multiplexed Accessbull Not scalable

ndash terminals of one core gt IC pinsbull Parallelserial conversion rArr at-speed testing is

difficult

ndash Too many embedded cores bull High area costs for connecting and multiplexing all

coresbull Control circuitry for the multiplexer grows more and

more complex

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 521

「DIP概論」- IP Testing

Analysis of Multiplexed Access (13)bull Let K be the number of SOC pins available

for scan test and M be the number of control pinsrArrThe number of scan chains as TAM N =

bull For core iisinC where C is the core setndash pi the number of test patternsndash fi the number of scannable flip-flops

bull In a balanced way each chain has flip-flops

ndash ti the test time

( )⎥⎥

⎢⎢

⎢ minus2MK

⎥⎥⎥

⎢⎢⎢

Nf i

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 522

「DIP概論」- IP Testing

bull The test time ti of core i

can be reduced as

Analysis of Multiplexed Access (23)

pNfp1pN

f it ii

iiibull⎥⎥⎥

⎢⎢⎢

⎡++bull

⎥⎥⎥

⎢⎢⎢

⎡= bull

p1Nf1pt i

iii bull+bull+=

⎥⎥⎥

⎢⎢⎢

⎡⎟⎠⎞⎜

⎝⎛

Scan-In Normal Scan-Out

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 523

「DIP概論」- IP Testing

bull The total test time T of the SOC

can be reduced as

Analysis of Multiplexed Access (33)

( )sumisin

⎟⎠

⎞⎜⎝

⎛+⎥⎥⎤

⎢⎢⎡bull+=

Cip

Nf1pT i

ii

⎥⎥

⎤⎢⎢

isin+sum

isin⎟⎠

⎞⎜⎝

⎛+⎥⎥⎤

⎢⎢⎡bull=

Nf

CiCip

NfpT i

ii

i max

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 524

「DIP概論」- IP Testing

Reused System Busbull Many SOCs have an on-chip system bus

which connects to most cores especially the platform-based system

bull Reuse of the system bus as TAM is cheap wrt silicon area

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 525

「DIP概論」- IP Testing

An Example of Reused System Busbull ARMrsquos Advanced Microcontroller Bus

Architecture (AMBA)ndash The 32-bit system bus is used as TAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 526

「DIP概論」- IP Testing

Analysis of Reused System Busbull Benefits

ndash Low area cost for TAMndash Translation form core-level test into IC-level

test is independent of SOC configurationbull Drawbacks

ndash Not scalablebull Fixed bus width does not allow trade-offs

(area quality test time)ndash Functional test approach of ARM core

dominates overall IC test approachbull Difficult to integrate scan design or BIST

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 527

「DIP概論」- IP Testing

Transparencybull Transparent path

ndash Path from input to output which propagates data without information loss

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 528

「DIP概論」- IP Testing

Examples of Transparency

bull Scan chains bull Arithmetic functions add + 0 mult 1bull Embedded memories SRAM DRAM

ROMbull Basic gates AND OR INV MUX

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 529

「DIP概論」- IP Testing

Analysis of Transparency (12)

bull Benefitsndash Low area cost for TAM in case of reuse of

existing hardwarebull Drawbacks (12)

ndash Corersquos test access depends on other modulesndash Translation from core-level test into IC-level

test might be complicated eg latencies of cores

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 530

「DIP概論」- IP Testing

Analysis of Transparency (22)bull Drawbacks (22)

ndash During core design core environments are unknown

bull Insufficient transparency ndash core user has to add TAMs

bull Too much transparency ndash area costbull Multiple versions ndash expensive for core provider and

core user

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 531

「DIP概論」- IP Testing

Macro Test Philips Research

bull Generic approach for testing embedded modules

bull Originally focused on defect-oriented testing

bull Approach and tools proved useful for core test

bull May take advantage of transparent paths through modules

defect-oriented testing A type of testing where the nature of the test ismeant to directly exercise detect and isolate defects and defect effects rather than abstract fault models

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 532

「DIP概論」- IP Testing

SOCET PrincetonNEC

bull Core provider is responsible for testable and transparent cores

bull Design-for-transparency techniquebull Multiple versions of cores with different

area and transparency latency ndash Selection and trade-offs at SOC level

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 533

「DIP概論」- IP Testing

Boundary Scan (12)

bull Boundary Scan Test solves board-level interconnect testndash IEEE 11491 standard (lsquoJTAGrsquo)ndash ICs are components in SOB

bull Cores are components in SOC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 534

「DIP概論」- IP Testing

Boundary Scan (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 535

「DIP概論」- IP Testing

Examples of Boundary Scanbull Various Texas Instruments papers have

suggested the use of Boundary Scan as TAM

bull Partial Boundary Scan Ringndash No scan flip-flops on those inputs for which

stimuli can be justified from preceding logicndash ATPG techniques to find this out

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 536

「DIP概論」- IP Testing

Benefits of Boundary Scan

bull Existing well-known and well-documented standard

bull Reuse of IC-level BIST implementations augmented with private instructions for test debug emulation etc

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 537

「DIP概論」- IP Testing

Drawbacks of Boundary Scan

bull Fixed 1-bit TAM width does not allow trade-offs between silicon area test quality and test time

bull Intertwined test control and test data due to lack of pins

bull Multiple TAP controllers on one IC is against IEEE 11491 standard

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 538

「DIP概論」- IP Testing

Dedicated Scalable TAMs (12)bull Dedicated TAM

ndash Not through other modules or over existing buses bull Scalable TAM

ndash TAM width is variable to be chosen by core provideruser

bull Core user determines IC-level architecturendash How many TAMs of which widthndash Which configuration (bus rail etc)ndash Which core connects to which TAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 539

「DIP概論」- IP Testing

Dedicated Scalable TAMs (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 540

「DIP概論」- IP Testing

Example I of Dedicated Scalable TAMs

Test Bus

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 541

「DIP概論」- IP Testing

Example II of Dedicated Scalable TAMs

TestRail

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 542

「DIP概論」- IP Testing

Analysis of Dedicated Scalable TAMs (12)

bull Benefitsndash Guaranteed test access

bull Accessibility of a core does not depend on neighboring circuitry

ndash Fast and easy test expansion bull No difficult path-finding through complicated

circuitry ndash Enable ldquoplug-n-playrdquo connection at IC levelndash Allow the trade-offs between area quality and

test time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 543

「DIP概論」- IP Testing

Analysis of Dedicated Scalable TAMs (22)bull Costs

ndash Design timebull Can be minimized through standardization and

automation

ndash Silicon area ndash sharing with existing hardware is more difficult

bull But transistors are not as expensive as they used to be

ndash Performance impact bull Can be avoided if taken into account upfront

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 544

「DIP概論」- IP Testing

Daisychain Architecturecontrol

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 545

「DIP概論」- IP Testing

Analysis of Daisychain Architecture (12)

bull Reassign the indices of the cores according to a non-decreasing number of patternsndash We can scan in a pattern in all cores p1 times

pNf

1p11

C

1j

j +⎥⎥

⎤⎢⎢

⎡+ sum

=⎟⎠⎞⎜

⎝⎛

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 546

「DIP概論」- IP Testing

bull Afterwards we put core 1 in by-pass mode and test next p2 ndash p1 patterns for the other cores

bull The total test time T of the SOC is

Analysis of Daisychain Architecture (22)

⎟⎠⎞⎜

⎝⎛

=⎟⎠⎞⎜

⎝⎛ minus+

⎟⎟⎠

⎞⎜⎜⎝

⎛sum ⎥

⎤⎢⎢

⎡+minus pp

Nf

1pp 1212

C

2j

j

( ) 1ppNf

1ipp 0C

C

1i

C

ij

j1ii minus=+⎟

⎟⎠

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛sum ⎥

⎤⎢⎢

⎡+minusminussum

= =minus

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 547

「DIP概論」- IP Testing

Distribution ArchitectureScan Enables

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 548

「DIP概論」- IP Testing

Si scan clocksli length of scan chains

Reduction of Idle TimeNormal

A single scan enable

Multiple scan enables

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 549

「DIP概論」- IP Testing

Analysis of Distribution Architecture

bull We define ni to be the number of scan chains of core i

bull The total test time T of the SOC is

pnf1pt i

iii

i++=

⎥⎥⎥

⎢⎢⎢

⎡⎟⎠⎞⎜

⎝⎛

( ) ⎟⎟⎠

⎞⎜⎜⎝

⎛+⎥⎥

⎤⎢⎢

⎡+

isinp

nf1p i

i

iiCi

max

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 550

「DIP概論」- IP Testing

The Scan Chain Distribution Problem (SCDP)bull Find a distribution of a given number of

scan chains over the cores such that the total test time is minimized

FF

FF

core

FF

FF

core

A single scan chain Two scan chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 551

「DIP概論」- IP Testing

The SCDP Algorithm

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 552

「DIP概論」- IP Testing

Reduction of Scan Controlsbull Distribute as fewer scan controls as possible

over the cores such that minimal time resulted form SCDP is still maintainedndash Constructing an additional scan chain needs to

remove two scan-control signalsndash Some cores are controlled by the same scan-

control signalbull An efficient algorithm has been presented

by Aerts et al ndash ITCrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 553

「DIP概論」- IP Testing

Core Test Wrapperbull Interface between the CUT and the rest of

chipndash Provide switching capability between modes

bull Normal functional operationbull InTest inward-facing core test modebull ExTest outward-facing interconnect test modebull Bypass

ndash Width adaptationbull Serial-to-parallel conversion at core inputsbull Parallel-to-serial conversion at core outputs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 554

「DIP概論」- IP Testing

Functional-Only Connections

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 555

「DIP概論」- IP Testing

Wrapper + TAM

Daisychain

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 556

「DIP概論」- IP Testing

Wrapper Modes (14)

Normal Operation

Normal

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 557

「DIP概論」- IP Testing

Wrapper Modes (24)

InTest

InTest

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 558

「DIP概論」- IP Testing

Wrapper Modes (34)

ExTest

ExTest

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 559

「DIP概論」- IP Testing

Wrapper Modes (44)

Bypass

Bypass

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 560

「DIP概論」- IP Testing

Reasons for Modular Testingbull Test Quality

ndash Different circuit structures such as random logic memory hellip require different test methods

bull Blackboxed Embedded Corendash Implementation is not known forced to use the tests

developed by core provider

bull Divide-and-conquerndash Very large SOCs are intractable for ATPG or fault

simulation tools

bull Test Reusendash Module will be reused in other designs

Chapter 12

Introduction to IEEE P1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 562

「DIP概論」- IP Testing

IEEE P1500 lsquoSECTrsquo (12)bull Facilitate test interoperability of embedded

cores to improve efficiency of core creators integrators and manufacturersndash Standardize interface between core provider and

core userbull Core test information modelbull Test access to embedded cores

ndash Do not standardizebull Corersquos internal test methods and DFTbull Chip-level test integration and optimization

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 563

「DIP概論」- IP Testing

IEEE P1500 lsquoSECTrsquo (22)bull Membership of IEEE P1500 is on an individual

basis information and meetings are open to everyonendash httpgrouperieeeorggroups1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 564

「DIP概論」- IP Testing

IEEE P1500 Main Componentsbull Standardized scalable core test wrapperbull Core test information model

ndash Described in standardized Core Test Language (CTL)bull Two compliance levels

ndash IEEE 1500 Unwrappedndash IEEE 1500 Wrapped

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 565

「DIP概論」- IP Testing

IEEE P1500 for Mergeable Cores (13)bull Mergeable cores

ndash Cores that can be merged with surrounding circuitry to form one unit for testing

ndash Mergeable cores do not need to be mergedbull Eg Digital logic at RT- or gate-level

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 566

「DIP概論」- IP Testing

IEEE P1500 for Mergeable Cores (23)

MergeableEg digital logicAt RTgate-level

Non-MergeableEg layoutencrypted memory

Before integration

MergedCoremodule tested as part of its integration environment

Non-MergedCoremodule tested as aseparate entity with test patternsdeveloped for the coremoduleas a stand-alone unit

After integration

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 567

「DIP概論」- IP Testing

bull Challengesndash Most DFT insertion and test pattern generation take

place at gate-levelndash Core test cannot be re-used once core is mergedndash What to standardize for RTL- and other merged

cores to facilitate test interoperability

IEEE P1500 for Mergeable Cores (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 568

「DIP概論」- IP Testing

Standardized Wrapperbull IEEE P1500 is a core-level standard

ndash Implementation of SourceSink depends on test methods

ndash Implementation of TAMs depends on SOCndash Note IEEE P1500 only standardizes the

wrapper

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 569

「DIP概論」- IP Testing

Wrapper Functionsbull Transparent functional modebull Test access

ndash Inward-facing for core-internal tests (InTest)ndash Outward-facing for core-external tests (ExTest)

bull Switchable connection between core and TAM(s)ndash One lsquosingle-bit TAM Plugrsquo is mandatoryndash Zero or more lsquoMulti-bit TAM Plugsrsquo are optional

bull Optional lsquowidth adaptationrsquo for TAM plugs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 570

「DIP概論」- IP Testing

The Wrapper Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 571

「DIP概論」- IP Testing

Wrapper Elements (12)bull Wrapper Instruction Register (WIR)

ndash Controls operation of wrapperndash Mandatory optional and user-defined instructions ndash Implementation requires shiftupdate registerndash Controlled directly from WIPndash Instructions are loaded via WSI-WSO

bull Wrapper Bypass Register (WBY)ndash Mandatory bypass for serial TAM

(between WSI-WSO)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 572

「DIP概論」- IP Testing

Wrapper Elements (22)bull Wrapper Boundary Register (WBR)

ndash Controllabilityobservability on core terminalsndash Built from library of wrapper cellsndash In test mode configured to one or multiple test

access chainsndash Test data are loaded from WSI-WSO or

WPI-WPO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 573

「DIP概論」- IP Testing

Wrapper Interface (12)bull Functional inputsoutputs

ndash Number names and functions match the corersquos functional inputsoutputs

bull Wrapper Interface Port (WIP)ndash 6-bit control port for WIR and Wrapper

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 574

「DIP概論」- IP Testing

Wrapper Interface (22)bull Serial interface WSI-WSO

ndash Load instructions into WIRndash Load test data into selected wrapper registers

(WBR WBY)bull Parallel interface WPI-WPO

ndash Load test data into WBRndash User-defined width

bull Zero or more parallel ports (typical one)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 575

「DIP概論」- IP Testing

Wrapper Interface Register (WIR)bull Serial shiftupdate registerbull Scalable length

ndash Mandatory bits for mandatory wrapper modesndash Optional bits for optional wrapper modesndash User-defined bits

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 576

「DIP概論」- IP Testing

Wrapper Interface Port (WIP)bull Functions

ndash Control the operation of the WIRndash Control together with the WIR instruction the operation of the

wrapperbull Signals

WRCK lsquoWrapper Clockrsquo dedicated P1500 clock signal for WIR WBY optionally WBR

WRSTN lsquoWrapper Resetrsquo dedicated P1500 reset (asynchronous active-low) signal for WIR puts wrapper in Normal mode

SelectWIR (De-)selects WIR as register between WSI-WSO

CaptureWR Enables capture operation for selected register

ShiftWR Enables shift operation for selected register

UpdateWR Enables update operation for selected register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 577

「DIP概論」- IP Testing

Basic Wrapper Cellbull Modes

ndash Normal mode normal = 1ndash Shift mode shift = 1

bull Controllabilityndash normal = 0 =gt value in SE is driven onto cfo

bull Observabilityndash shift = 0 =gt value at cfo is captured into SE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 578

「DIP概論」- IP Testing

Wrapper Cell Optionsbull SEs can be shared with functional SEsbull Capture in Update SE instead of Shift SEbull Update SE that prevents ripple-through while

shiftingbull Multiple shift SEs for high-speed stimuli bull Mode in which lsquosafersquo value is presented at cfo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 579

「DIP概論」- IP Testing

Wrapper Cell with Only ShiftCapture SE

Dedicated SE Shared SE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 580

「DIP概論」- IP Testing

Wrapper Cell with ShiftCapture + Update SEs

Shared Updated SE

Dedicated SEs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 581

「DIP概論」- IP Testing

Scalable Wrapper Cell

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 582

「DIP概論」- IP Testing

Wrapper Instruction Set

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 583

「DIP概論」- IP Testing

Serial Interface WSI-WSO (12)bull Mandatory serial interface is used for two

purposesndash Wrapper control load instructions into the WIRndash Low-bandwidth test data access to WBR (serial TAM)

bull P1500 envisions concatenated connectionndash Daisychain is a flat interconnection methodndash Supports hierarchical design

bull Consistent interface at every level of hierarchy

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 584

「DIP概論」- IP Testing

Serial Interface WSI-WSO (22)bull Concatenated serial mechanism easy to

connect to IEEE 11491 (JTAG) TAP and TAP Controllerndash Private instructions connect daisychained serial

mechanisms between TDI and TDOndash Cores can be tested and debugged even while

SOC is soldered onto PCB

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 585

「DIP概論」- IP Testing

Parallel Interface(s) WIP-WPO (12)bull Optional parallel interface(s) are used for test

data access to WBR with user-defined scalable bandwidth

bull Optionsndash Zero Low-bandwidth serial interface is only TAMndash One SOC manufacturing test takes place via Parallel

TAM bull Serial TAM is used for loading WIR instructions and

during board-level silicon debugndash Multiple Different core tests need different

bandwidths

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 586

「DIP概論」- IP Testing

bull P1500 supports many SOC-level configurationsndash Multiplexingndash Daisychainndash Distribution

Parallel Interface(s) WIP-WPO (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 587

「DIP概論」- IP Testing

Typical Usage of P1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 588

「DIP概論」- IP Testing

P1500 Wrapper Parameters (12)bull Scalability in the follow parameters

ndash Bandwidthbull Number of WPI-WPO pairs (zero or more)bull Width of the WPI-WPO pairs (if present)

ndash Instructionsbull Optional instructionsbull User-defined instructionsbull OpCodes of instructions

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 589

「DIP概論」- IP Testing

bull WBR functionalityndash Shared or dedicated wrapper cellsndash Shift-only or Shift+Update wrapper cellsndash Storage capacity (one or more bits)ndash Location of capture (in Shift or Update register)ndash Ripple protection (with Update register or gate)ndash lsquoSafe statersquo output values

P1500 Wrapper Parameters (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 590

「DIP概論」- IP Testing

Notes

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 591

「DIP概論」- IP Testing

P1500rsquos Information Model (12)

bull The information model should allow the SOC integrator or automation tools to successfully create a complete test for the SOC

bull The information model is captured in Core Test Language (CTL) a language for expressing test-related information for reusable cores

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 592

「DIP概論」- IP Testing

bull CTL is meant to co-exist and complement information expressed as a netlist

bull The CTL description of a P1500-compliant core allows to ndash Construct a wrapper and an appropriate TAMndash Configure the code to be testedndash Configure the core for its surroundings to be

testedndash Transform core-level into SOC-level test

patterns

P1500rsquos Information Model (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 593

「DIP概論」- IP Testing

IEEE 1450 (STIL)bull IEEE 1450 - Standard Test Interface Language

(STIL) for digital test vector datandash httpgrouperieeeorggroups1450

bull STIL is meant as a common interchange format between EDA test generation and ATE test application ndash STIL is capable of describing digital test vector datandash Focus on large volume of digital data

bull Developed by EDA vendors ATE vendors and IC manufacturers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 594

「DIP概論」- IP Testing

IEEE P14506 (CTL) (12)

bull IEEE P14506 - Core Test Language bull Initially created by and developed within

IEEE P1500 to describe its information modelndash CTL syntax and semantics in IEEE P14506ndash Information model and CTL usage in IEEE

P1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 595

「DIP概論」- IP Testing

IEEE P14506 (CTL) (22)bull CTL uses STIL-like syntax

ndash Test patterns and waveforms are described in STIL

ndash CTL mandates separation of test patterns into test protocol and test data for easy expansion

ndash CTL-specific constructs describe corersquos test modes

ndash CTL-specific constructs describe corersquos integration

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 596

「DIP概論」- IP Testing

STIL - CTL Structure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 597

「DIP概論」- IP Testing

CTL Key Words

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 598

「DIP概論」- IP Testing

Usage of MacroDefs (12)

bull STIL contains the construct MacroDefsndash This can be used for separating test protocol

and data in CTL this separation is mandatory

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 599

「DIP概論」- IP Testing

Usage of MacroDefs (22)bull Typical usage

ndash Voluminous test data is coded in separate CTL file

ndash CTL for lsquo1500-Unwrappedrsquo core references test patterns with a MacroDef applicable for unwrapped core

ndash CTL for lsquo1500-Unwrappedrsquo core references same test patterns but has an updated MacroDefs

ndash SOC-level test again references same test patterns but with yet another MacroDefs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 600

「DIP概論」- IP Testing

Motivation for Dual Compliance Levels (12)

bull Testing an embedded core or module only works if properly isolated from the rest of the SOC and hence requires a wrapper

bull The P1500 wrapper is scalable in many aspects to allow optimization towardsndash Corendash SOC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 601

「DIP概論」- IP Testing

bull In order to provide additional flexibility and support multiple use scenarios P1500 standardizes two separate compliance levels

Motivation for Dual Compliance Levels (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 602

「DIP概論」- IP Testing

Two Compliance Levels (12)

bull IEEE 1500 Unwrappedndash Core does not have a complete IEEE 1500

wrapper functionndash Core has a complete IEEE Information Model

which accurately describes the corersquos tests as well as provide all information on the basis of which the core could be made lsquoIEEE 1500 Wrappedrsquo (either manually or automatically by tools)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 603

「DIP概論」- IP Testing

Two Compliance Levels (22)

bull IEEE 1500 Wrappedndash Core incorporates complete IEEE 1500 wrapper

function ndash Core has a complete Information Model which

accurately describes the corersquos tests as well as the wrapper and how to operate it

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 604

「DIP概論」- IP Testing

P1500 Use Scenario 1 (13)

bull Core provider delivers lsquoIEEE 1500 Unwrappedrsquo corendash The Information Model that comes with it

contains all relevant core test knowledge including core-related data for generation of the IEEE 1500 wrapper

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 605

「DIP概論」- IP Testing

P1500 Use Scenario 1 (23)

bull Core user makes core lsquoIEEE 1500 Wrappedrsquondash Adding IEEE 1500 Wrapperndash Upgrading the Information Model from bare

core terminals to wrapper terminals

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 606

「DIP概論」- IP Testing

P1500 Use Scenario 1 (33)

bull Can take data specific to particular system-chip into account while instantiating the wrapper (eg TAMs width of TAMs rsquosafersquo state)

bull lsquoIEEE 1500 Unwrappedrsquo guarantees fast and reliable route to lsquoIEEE 1500 Wrappedrsquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 607

「DIP概論」- IP Testing

P1500 Use Scenario 2bull Core provider delivers lsquoIEEE 1500

Wrappedrsquo core of which the wrapper is built-to-order on customer specification

bull Similar to Scenario 1 except conversion done by core provider

bull Requires cooperative information exchangebull Core provider might have expertstools for

conversion

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 608

「DIP概論」- IP Testing

P1500 Use Scenario 3 (12)

bull Core provider offers a catalogue of off-the-shelf lsquoIEEE 1500 Wrappedrsquo cores with fixed wrapper parameters

bull Core user selects the core which best matches the system chip needs

bull Allows to integrate wrapper with core in order to minimize costs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 609

「DIP概論」- IP Testing

P1500 Use Scenario 3 (22)

bull Scenario might be popular especially for hard cores

bull Large cataloguendash More work for core providerbut more choice

for core user

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 610

「DIP概論」- IP Testing

Usage of Dual Compliance Levels (12)

bull Full benefits of test interoperability are only obtained from a fully compliant lsquo1500-wrappedrsquo Core

bull Two compliance levels provide two optionsndash Make a core lsquo1500-wrappedrsquo compliant directly ndash Make an intermediate stop at lsquo1500-

Unwrappedrsquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 611

「DIP概論」- IP Testing

bull For this purpose lsquo1500-Unwrappedrsquo will also be fully standardized

Usage of Dual Compliance Levels (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 612

「DIP概論」- IP Testing

SOC Test Creation

bull Distinguish two types of circuitry within SOC ndash IEEE 1500 Wrapped Coresndash lsquoOther Circuitryrsquo

bull Unwrapped coresbull Interconnect logic and wiring

bull IEEE P1500 facilitates SOC test for both types

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 613

「DIP概論」- IP Testing

Test Creation for Compliant Cores (13)

bull Test for IEEE 1500 Wrapped core is delivered with the core in its Information Modelndash No need for core user to know the

implementation details of the core to develop a test

ndash Test re-use

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 614

「DIP概論」- IP Testing

bull Test access to core is guaranteed (provided proper TAM connections are made)

Test Creation for Compliant Cores (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 615

「DIP概論」- IP Testing

bull Translation of test from wrapper boundary to SOC pinsndash In case of one-to-one relationship between core

terminals and SOC pins simple renaming suffices

ndash Sharing TAMs with multiple cores bypasses bidirectional TAMs complicate this process

Test Creation for Compliant Cores (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 616

「DIP概論」- IP Testing

Test Creation for lsquoOther Circuitryrsquo (12)

bull Test re-use not possiblebull Typically ATPG at SOC level is required

to generate test patterns for this circuitry bull IEEE 1500 Wrapped cores are tested by

their own patterns and do not need to be included in this

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 617

「DIP概論」- IP Testing

ndash Wrapped cores should be black-boxedbull For some cores not netlist available at allbull Even if netlist is available blackboxing will reduce

the compute time for ATPG for the other circuitry substantially

ndash The P1500 Information Model provides necessary information about controllability observability features in wrapper to APTG tool

Test Creation for lsquoOther Circuitryrsquo (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 618

「DIP概論」- IP Testing

Overview of Example

Given a very small scan-testablecorebull lsquo1500-Unwrappedrsquo compliant core

ndash P1500 Information Modelbull lsquo1500-Wrappedrsquo compliant core

ndash P1500 Wrapper ndash P1500 Information Model

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 619

「DIP概論」- IP Testing

Bare Core

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 620

「DIP概論」- IP Testing

STIL Test Patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 621

「DIP概論」- IP Testing

Wrapped Core

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 622

「DIP概論」- IP Testing

Modes Instruction and Opcodes

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 623

「DIP概論」- IP Testing

Normal + Serial Bypass Modes

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 624

「DIP概論」- IP Testing

Serial in Test Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 625

「DIP概論」- IP Testing

Serial ExTest Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 626

「DIP概論」- IP Testing

Parallel InTest Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 627

「DIP概論」- IP Testing

Parallel ExTest Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 628

「DIP概論」- IP Testing

Wrapper Design (12)

bull Automated wrapper designndash Library of wrapper cellsndash Wrapper configuration depends on core

terminal types ndash Optimization for test time

bull No industry-wide standard (yet)ndash Ad-hoc wrappers may not operate in concerto

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 629

「DIP概論」- IP Testing

Wrapper Design (22)

bull Optimal wrapper design algorithm for test time minimization

Ref [Marinissen et al ndash ITCrsquo00]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 630

「DIP概論」- IP Testing

Wrapper Chain Design (12)

bull Wrapper itemsndash Wrapper input cellsndash Wrapper output cellsndash Core-internal scan chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 631

「DIP概論」- IP Testing

Wrapper Chain Design (22)

bull Wrapper chain designndash Designing the test access chains within the

wrapper from wrapperrsquos TAM input plug through all wrapper items to TAM output plug

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 632

「DIP概論」- IP Testing

Wrapper Chain Design amp Test Time (12)

bull lsquoTest Timersquo for large ICs is important cost factor ndash Test application time

=gt more time on ATE

ndash Size of test vector set =gt more expansive ATE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 633

「DIP概論」- IP Testing

bull Wrapper chain design has large impact on test time ndash Partitioning which wrapper item in which

wrapper chainndash Ordering position of wrapper item in a

wrapper chainndash Bypasses shorten wrapper chain where

possible

3

2

1

Wrapper Chain Design amp Test Time (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 634

「DIP概論」- IP Testing

Ordering of Wrapper Items

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 635

「DIP概論」- IP Testing

Bypasses (12)

bull Scan chain bypassndash Shortens wrapper chain length through during

ExTestbull Wrapper bypass

ndash Shortens wrapper chain length while testing other core up- or downstream in same TAM

ndash Contains register for plug-n-play connection of (possible) long wires

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 636

「DIP概論」- IP Testing

Bypasses (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 637

「DIP概論」- IP Testing

Partitioning of Wrapper Items (12)

bull Partition ndash x wrapper input cells all of scan length 1ndash y wrapper output cells all of scan length 1ndash z core-internal scan chains which scan length Ii

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 638

「DIP概論」- IP Testing

bull over ndash m wrapper chains

(typically m lt z lt x+y+z)such that ndash scan-in length over all wrapper chains in

minimizedndash scan-out length over all wrapper chains in

minimized

Partitioning of Wrapper Items (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 639

「DIP概論」- IP Testing

Three-Step Solution Approach (13)

1 Find partition PS of z core-internal scan chains over m wrapper chains such that maximum sum of scan lengths in any wrapper chain is minimized

(Hard)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 640

「DIP概論」- IP Testing

2 Assign x wrapper input cells to wrapper chains on top of PS such that maximum scan-in time of any wrapper chain is minimized

(Easy)

Three-Step Solution Approach (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 641

「DIP概論」- IP Testing

3 Assign y wrapper output cells to wrapper chains on top of PS such that maximum scan-out time of any wrapper chain is minimized

(Easy)

Three-Step Solution Approach (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 642

「DIP概論」- IP Testing

Wrapper Scan Chain Partitioning (12)

[Problem Definition]Givenndash Set of core-internal scan chains

S = S1 S2 hellip SZ with length L(Si)ndash m identical wrapper chains (typically mlt z)

Find ndash Partition P =P1 P2 hellip Pm of S such that

is minimizedsum isinlele P SLi

Smi)(max

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 643

「DIP概論」- IP Testing

bull Problem is equivalent to well-known NP-hard problems of Multi-Processor Scheduling and Bin Design

Wrapper Scan Chain Partitioning (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 644

「DIP概論」- IP Testing

WSCP Algorithms (13)

Polynomial-time algorithms for near-optimal resultsbull LPT(Last Processing Time)

ndash Sort items from large to smallL(S1) ge L(S2) ge hellip ge L(Sz)

ndash Assign scan chains to shortest wrapper chain so far

Ref [Grahamrsquo69]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 645

「DIP概論」- IP Testing

WSCP Algorithms (23)

bull COMBINEndash Use LPT to obtain start solution ndash Linear Search over maximum wrapper chain

lengths bull Try whether wrapper items fit a wrapper chain

length with FFD (First Fit Decreasing)

Ref [Coffman Garey Hohnson78]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 646

「DIP概論」- IP Testing

WSCP Algorithms (33)

bull LPT is fast and has good resultsndash COMBINE produces sometimes better

resultsat the expense of more CPU time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 647

「DIP概論」- IP Testing

Example Core (12)

bull Core characteristicsndash Terminals

8 functional inputs a[07]

11 functional outputs z[010]

9 scan inputs si[08]

9 scan outputs so[08]

+ 1 scan enable sc

38 core terminals in total

ndash Core-internal scan chains lengths 12 6 8 6 6 12 6 8 8 flip flops

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 648

「DIP概論」- IP Testing

Example Core (22)

bull Desired wrapper characteristicsndash Serial TAMndash 3-bit parallel TAMndash Wrapper bypassndash No scan chain bypasses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 649

「DIP概論」- IP Testing

Wrapper Result (14)bull Algorithmic results

ndash LPT max length = 26P1 = 12 8 6P2 = 12 6 6P3 = 8 8 6

ndash COMBINE max length = 24P1 = 12 12P2 = 8 8 8P3 = 6 6 6 6

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 650

「DIP概論」- IP Testing

Wrapper Result (24)

bull Operation modes (13)ndash Serial access

bull All wrapper items connected into one chain

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 651

「DIP概論」- IP Testing

Wrapper Result (34)

bull Operation modes (23)ndash Parallel access

bull All wrapper items divided over the (three) wrapper chains according to COMBINE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 652

「DIP概論」- IP Testing

Wrapper Result (44)

bull Operation modes (33)ndash Parallel pass

bull Bypass over the (three) wrapper chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 653

「DIP概論」- IP Testing

Compliance Checking (12)

bull Automatic check to assure that Core + Wrapper are compliant to standard

bull Relevant to both core provider and core user as compliance guarantees interoperability of this core with others at SOC level

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 654

「DIP概論」- IP Testing

Compliance Checking (22)

bull No industry-wide standard (yet)ndash Current compliance checkers only work for

company-internal standardsbull Wrapper generator and compliance checker

might work in concerto

Ref [Marinissen et al - ITC00]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 655

「DIP概論」- IP Testing

Wrapper Generator + Compliance Checker (13)

bull Automated wrapper design ndash corersquos netlist availablendash Compliance checker identifies still missing

wrapper functionality ndash Wrapper generator adds only required missing

hardwarendash Optional compliance checker for outgoing

inspection

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 656

「DIP概論」- IP Testing

bull Automated wrapper design ndash corersquos netlist not availablendash Wrapper generator adds full wrapper

functionalityndash Optional compliance checker for outgoing

inspection bull Manual wrapper design

ndash compliance checker for outgoing inspection

Wrapper Generator + Compliance Checker (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 657

「DIP概論」- IP Testing

bull Wrapped core usage ndash compliance checker for incoming inspection

Wrapper Generator + Compliance Checker (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 658

「DIP概論」- IP Testing

ExTest test Generation (12)

bull Test patterns for cores come from core provider

bull Core user is responsible for test patterns of SOC-specific circuitryndash Interconnect wiring ndash Interconnect logic(lsquoglue logicrsquo)ndash SOC-specific modules(lsquoUDLrsquo)

Interconnect ATPG

Normal ATPG

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 659

「DIP概論」- IP Testing

ExTest test Generation (22)

bull Interconnect ATPGndash lsquoLow-fatrsquo netlistndash Specific fault model for interconnect

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 660

「DIP概論」- IP Testing

Interconnect Faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 661

「DIP概論」- IP Testing

Interconnect ATPG

bull Determine a set of tests to detectndash Any interconnection open (S1 or S0)ndash Any shorted pair of net (wired-AND or wired-

OR)bull Solution is known as the ldquoCountingrdquo

algorithm

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 662

「DIP概論」- IP Testing

TAM Architecting (12)

bull Decision support to analyze and evaluate trade-offs for various TAM architectures at SOC levelndash How many TAMsndash Which core connects to which TAMndash How wide is each TAMndash How is the wrapper designed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 663

「DIP概論」- IP Testing

TAM Architecting (22)

bull Impact onndash Test quality ndash Test time ndash Areandash Dissipationndash Performance impact

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 664

「DIP概論」- IP Testing

Three TAM Architectures

Ref [Aerts amp Marinissen - ITC98]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 665

「DIP概論」- IP Testing

Multiplexing Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 666

「DIP概論」- IP Testing

Daisychain Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 667

「DIP概論」- IP Testing

Distribution Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 668

「DIP概論」- IP Testing

Architecture Model

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 669

「DIP概論」- IP Testing

Improved Wrapper Design

Source [Iyengar et al ndash ITCrsquo01]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 670

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (14)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 671

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (24)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 672

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (34)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 673

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (44)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 674

「DIP概論」- IP Testing

Problem Formalization (13)

bull PW Design a wrapper for a given core such that ndash The core testing time in minimized ndash The TAM width required for the core is minimized

bull PAW Determinendash An assignment of cores to TAMs of given widthsndash A wrapper design for each core

such that the SOC testing time is minimized

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 675

「DIP概論」- IP Testing

Problem Formalization (23)

bull PPAW Determinendash A partition of the total TAM width over the given number of

TAMs ndash An assignment of cores to TAMs of given widthsndash A wrapper design for each core

such that the SOC testing time is minimized

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 676

「DIP概論」- IP Testing

Problem Formalization (33)

bull PNPAW Determine ndash The number of TAMs for the SOCndash A partition of the total TAM width over the given number of

TAMs ndash An assignment of cores to TAMs of given widthsndash A wrapper design for each core

such that the SOC testing time is minimized

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 677

「DIP概論」- IP Testing

More Research Neededbull Many interesting research results are

appearing in this domainbull TAM architecting and test scheduling are

intertwinedbull Most of todayrsquos approaches focus only on

ndash lsquoTest-busrsquo like TAMs (and ignore other TAM types)

ndash InTests (and ignore ExTests)ndash Test time (and ignore other costs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 678

「DIP概論」- IP Testing

Test Expansion

bull Translation of ndash Core-level test (defined at core terminals)intondash SOC-level test defined at IC pins)

bull Test Protocol Expansion

Ref [Marinissen amp Lousberg ndash TEC97 ETW99]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 679

「DIP概論」- IP Testing

Macro Test Concept Overview (13)

bull Test = test protocol + test patternsbull Subsequent tasks automated

ndash Test protocol expansion (TPE)ndash Test protocol scheduling (TPS)ndash Test assembly (TASS)

bull Support of multiple hierarchy levels

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 680

「DIP概論」- IP Testing

bull Supports every kind of test access mechanismndash Original forcus on transparency of macros

especially core-internal scan chains

Macro Test Concept Overview (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 681

「DIP概論」- IP Testing

Macro Test Concept Overview (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 682

「DIP概論」- IP Testing

Terminology (12)

bull Pattern ndash A vector with stimulus and response values

bull Pattern List ndash The list of all patterns needed for a test of a

macrobull Test Protocol

ndash The prescription according to which a pattern should be applied

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 683

「DIP概論」- IP Testing

Terminology (22)

bull Testndash Repeated execution of a test protocol where

every time another pattern from the pattern list is filled in

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 684

「DIP概論」- IP Testing

Simple Example (12)

Ref [Marinissen amp Lousberg ndash ETW99]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 685

「DIP概論」- IP Testing

Simple Example (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 686

「DIP概論」- IP Testing

Transfer through Neighbors

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 687

「DIP概論」- IP Testing

Example SOC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 688

「DIP概論」- IP Testing

Test Protocol Expanded to SOC Pins

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 689

「DIP概論」- IP Testing

Test Assembly

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 690

「DIP概論」- IP Testing

Test Assembly Example

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 691

「DIP概論」- IP Testing

Test Scheduling (12)

bull Minimization of occupancy of resources for given core tests and SOC test infrastructure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 692

「DIP概論」- IP Testing

Test Scheduling (22)

bull Resources ndash Power dissipation during test executionRef[Zorian ndash VTS93]

[Saluja amp Agrawal ndash Trans VLSI System97]

ndash Test application timestorage capacity at ATERef[Marinissen amp Aerts ndashTECS98]

[Chakrabarrty ndash ICCAD99 TCAD00][Iyengar amp Chakrabarrty ndash VTS01][Larsson amp Peng - DATE01]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 693

「DIP概論」- IP Testing

Modifiedhelliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 694

「DIP概論」- IP Testing

Examples of Cores

bull Processor ARM hellipbull Memory RAM ROM hellipbull DSP TI hellipbull Peripheral DMA controller hellipbull Interface PCI USB UART hellipbull Multimedia JPEG MPEG hellipbull Networking Ethernet controller hellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 695

「DIP概論」- IP Testing

Chip and Board Testing

DFT BISThelliphellip

Boundary Scanhelliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 696

「DIP概論」- IP Testing

Virtual Component (VC)

bull A design block that meets the VSI (Virtual Socket Interface) specification and is used as a component in the virtual socket design environmentndash VSI is supported by the VSI Alliance (VSIA)

httpwwwvsiacom

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 697

「DIP概論」- IP Testing

Intellectual Property (IP)

bull The rights in cores that allow the owner of those rights to control the exploitation of those cores and the expression of the cores by othersndash Protected by lawsndash Liability in cases of failure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 698

「DIP概論」- IP Testing

Notes

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 699

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

h

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 700

「DIP概論」- IP Testing

Fig 6-3[1990] Fig 6-4[1990] Fig 6-5[1990] Fig 6-10[1990]

Fig 6-23[1990] Fig 6-27[1990](pp 166 done)

Fig 6-29[1990] Fig 6-30[1990]

Fig 6-34[1990] Fig 6-37[1990]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 701

「DIP概論」- IP Testing

bull Sequential controllability and observabilitybull Bugs 136amp137 144(modified)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 702

「DIP概論」- IP Testing

bull A fault model is an abstraction of the error caused by a particular physical faultsndash The purpose is to simplify the test procedure

and reduce its cost while still retaining the capability of detecting the presence of the modeled faults

ndash Defects vs faults vs errors vs failuresndash Permanent faults vs non-permanent ones

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 703

「DIP概論」- IP Testing

Acknowledgements

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 704

「DIP概論」- IP Testing

An Example of SOC

ADC

DAC

PLL

RAMROM

IP 1BUS amp INTERCONNECT

ASIC 1

UDL

DSP CPU ASIC 2IP 2

Page 6: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 6

「DIP概論」- IP Testing

VLSI Development FlowDetermine specification

Design the circuit

Verify the design

Develop the test procedure

Manufacture the circuit

Test the manufactured circuit

Deliver to customers

Design Errors

TestPlans

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 7

「DIP概論」- IP Testing

Why Do Circuits Fail

bull Human design errorsbull Manufacturing defects bull Package defectsbull Field (Environment) failures

ndash Temperature humidity power etc

verifytest

testtest

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 8

「DIP概論」- IP Testing

Verification vs Testingbull Verification

ndash Check for the correctness of a designbull Simulation

ndash Performed oncebull Testing

ndash Check the correctness of the manufactured circuitndash Performed repeatedly

Verification Testinglogicsoft faults realhard faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 9

「DIP概論」- IP Testing

Why Testing

bull Detect and eliminate (hard-)faulty circuits

Vdd

10

00

0

0

fault-free circuit faulty circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 10

「DIP概論」- IP Testing

How to Do Testing

Circuit Under Test

(CUT)

Test Pattern Generator

(TPG)

Output Response Analyzer(ORA)

test patterns T

outputresponses R

GoodBad

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 11

「DIP概論」- IP Testing

Related Terminologies in Testing

bull Diagnosisndash Depict the faulty sites

bull Reliabilityndash Tell whether a ldquogoodrdquo circuit will work after

some time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 12

「DIP概論」- IP Testing

Importance of Testing

N the number of transistors in a circuit (chip)p the probability that a transistor is faultyPf the probability that the chip is faulty

Pf = 1-(1-p)N

If p = 10-6 and N= 106

Pf = 632

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 13

「DIP概論」- IP Testing

Key Issues in Testing

Circuit Under Test

(CUT)

Test Pattern Generator

(TPG)

Output Response Analyzer(ORA)

test patterns T

outputresponses R

Fault Modeling Design for Testability

Test GenerationProblem

Good if R = RrsquoBad if R ne Rrsquoexpected

responses Rrsquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 14

「DIP概論」- IP Testing

Circuit Modeling

bull Describe the behavior of circuitsndash Behavior modelndash RTL modelndash Gate level modelndash helliphellip

clocks (edgelevel-sensitive)delaytiming

algorithms

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 15

「DIP概論」- IP Testing

Fault Modeling

bull Describe the effects of physical faultsbull Fault model requirements

ndash Adequately represent actual faultsndash High coverage against physical faultsndash Well-behavedndash Simple enough to use in practice

bull Eg Fault simulation test generation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 16

「DIP概論」- IP Testing

Fault Modelsbull Single stuck-at fault model

ndash Any single line x is stuck at 0 or 1bull Multiple stuck-at fault model

ndash Several lines x are stuck at 0 or 1bull Delay fault model

ndash Delay of a single path is changedbull Bridging fault model

ndash Signals x and y become AND(x y) or OR(x y)bull helliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 17

「DIP概論」- IP Testing

Single Stuck-at Fault Model (12)

bull Depict that ldquoone single linerdquo is permanently stuck at 1 or 0

EA

B

C

D F

G

A s-a-1A s-a-0E s-a-1E s-a-0

B s-a-1B s-a-0F s-a-1F s-a-0

C s-a-1C s-a-0G s-a-1G s-a-0

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

14 faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 18

「DIP概論」- IP Testing

Single Stuck-at Fault Model (22)bull Advantages

ndash Match the gate level and are well-behavedndash The number of possible faults is relatively smallndash Tests for single stuck-at faults give good coverage of

permanent faultsbull Disadvantages

ndash Dose not account for some physical fault effectsndash Few physical faults behave exactly like single-at faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 19

「DIP概論」- IP Testing

Detectability of Faults

bull A fault f is said to be detectable if there exists a test vector x such that Cf(x) ne C(x) ie f is ldquodetectedrdquo by x

Vdd

10

00

0

0

fault-free circuit C fault f is detected by (00)

xf s-a-1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 20

「DIP概論」- IP Testing

Fault Coverage (FC)FC =

the size of fault listnumber of detected faults

CA

B

6 faultsA0 A1 B0 B1 C0 C1

test vector set detected faults FC(0 0)(0 1)(1 1)(0 0) (1 1)(1 0) (0 1) (1 1)

C1A1 C1A0 B0 C0A0 B0 C0 C1ALL

1667333350006667

10000

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 21

「DIP概論」- IP Testing

Testing QualityIC

FabricationYield(Y)

Rejected Parts

Shipped PartsDefect Level(DL)

bull Yield (Y) fraction of good partsbull Defect Level (DL) fraction of shipped parts that are defectivebull Quality of shipped parts is a function of Y and FC

DL = 1 ndash Y (1 - FC)

Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 22

「DIP概論」- IP Testing

Circuit Simulationbull Determine how a good circuit should work

ndash Given input vectors determine the normal circuit output responses

EA

B

C

D F

G

1

10

0

01

1

Simulation under the input 1 0 0 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 23

「DIP概論」- IP Testing

Fault Simulation (12)

bull Determine the behavior of faulty circuitsE s-a-0 A

B

C

D F

G

1

100

0

01

10

x

Simulation under the input 1 0 0 0 with fault E s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 24

「DIP概論」- IP Testing

Fault Simulation (22)

bull Given a test vector determine all faults that are detected by this test vector

CA

B 1

10

Test vector (1 1) detects A0 B0 C1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 25

「DIP概論」- IP Testing

Test Generation (12)

bull Given a fault identify a test vector to detect this fault

A

B

C

D s-a-0

E

F

x

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 26

「DIP概論」- IP Testing

Test Generation (22)

bull Sensitizationndash To detect D s-a-0 D must be set to 1

ie A = B = 1bull Propagation

ndash To propagate the fault effect to the output F Emust be set to 1 ie C = 0

Test vector for D s-a-0 is 1 1 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 27

「DIP概論」- IP Testing

Automatic Test Pattern Generation (ATPG) (12)

bull Given a circuit identify a set of test vectors to detect all the detectable faults under the considered fault models

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 28

「DIP概論」- IP Testing

Automatic Test Pattern Generation (ATPG) (22)a circuit and the fault list

more fulats

select a fault

test generation

fault simulation

fault dropping

exit

Yes

No

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 29

「DIP概論」- IP Testing

Difficulties in Test Generation (12)

bull Reconvergent fanout

A

B

C

D s-a-1

E

F

x

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 30

「DIP概論」- IP Testing

Difficulties in Test Generation (22)bull Sequential test generation

combinational circuit

D

clk

Q

x The fault effect cannot be observed at POs

PIs POs

The test patterns cannotbe generated at PIs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 31

「DIP概論」- IP Testing

Advanced Test GenerationFC

100

of test patterns

Pseudorandom Test Pattern Generation

Deterministic Test Pattern Generation

Design for Testability (DFT)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 32

「DIP概論」- IP Testing

Testing Costs

bull Test software developmentndash Automatic test pattern generator (ATPG)ndash Fault simulation and other debugging policies

bull Design for testability (DFT)ndash Chip area overhead ie yield lossndash Performance overhead ie degradation

bull Automatic test equipments (ATEs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 33

「DIP概論」- IP Testing

Difficulties in Testing

bull Some real faults are too complex to modelbull Most testing problems are NP-completebull IO access is limitedbull ATEs are expensive

Testing is rarely complete (FC lt 100)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 34

「DIP概論」- IP Testing

The Goals of Testingbull Detect all expected faults (high fault coverage)bull Diagnose to the smallest replaceablerepairable

component (high fault resolution)bull Fast and low-cost test generationbull Fast and low-cost test applicationbull Efficient response comparisonbull High degree of automationbull Low penalties in hardware overheadperformance

Chapter 2

Fault Models

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 36

「DIP概論」- IP Testing

Faults and Errors

bull Faultsndash Physical defects within a circuit or a systemndash May or may not cause the circuit to fail

bull Errorsndash Manifestation of faults that results in incorrect

circuit or system outputs or statesndash Caused by faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 37

「DIP概論」- IP Testing

Failures

bull Deviation of a circuit or a system from its specified behaviorndash Fails to do what it should do ndash Caused by errors

bull Faults Errors and Failures

Faults rArr Errors rArr Failures

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 38

「DIP概論」- IP Testing

Why Model Faultsbull Identify target faults and describe their

effectsbull Limit the scope of test generation

ndash Create test patterns only for the modeled faultsbull Make analysis possible

ndash Compute the fault coverage for specific test patterns

ndash Associate specific faults with specific test patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 39

「DIP概論」- IP Testing

Fault Modelsbull Stuck-at faultsbull Bridging faultsbull PLA faultsbull Transistor stuck-onopen faultsbull Delay faultsbull Functional faultsbull State transition faultsbull Memory faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 40

「DIP概論」- IP Testing

Stuck-at Faultsbull Single stuck-at fault model

ndash Only a single line is permanently set to either 0 or 1

bull Multiple stuck-at fault modelndash Several stuck-at faults occur at the same time

bull For a circuit with k linesndash There are 2k single stuck-at faultsndash There are 3k-1 multiple stuck-at faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 41

「DIP概論」- IP Testing

Why Single Stuck-at Fault Model (12)

bull Complexity is greatly reducedndash Many different physical defects may be

modeled by the same logical stuck-at faultsbull Technology independent

ndash Can be applied to TTL ECL CMOS etcbull Design style independent

ndash Can be applied to gate arrays standard cells full-custom description

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 42

「DIP概論」- IP Testing

Why Single Stuck-at Fault Model (22)

bull The test patterns derived for single stuck-at faults are still valid for most defects even not accurately model some other physical defects

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

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 43

「DIP概論」- IP Testing

Bridging Faults (12)

bull Two or more normally distinct points(lines) are shorted togetherndash Logic effect depends on technology

bull Wired-AND for TTLbull Wired-OR for ECL

TTL Transistor-Transistor Logic

ECL Emitter-Coupled Logic

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 44

「DIP概論」- IP Testing

Bridging Faults (22)bull Wired-AND for TTL bull Wired-OR for ECL

A

B

f

g

A

B

f

g

A

B

f

g

A

B

f

g

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 45

「DIP概論」- IP Testing

PLA Faults

bull Stuck-at faults on inputs and outputsbull Crosspoint faults

ndash MissingExtrabull Bridging faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 46

「DIP概論」- IP Testing

Missing Crosspoint Faults in PLAbull Missing crosspoint in the AND plane

ndash Growth faultbull Missing crosspoint in the OR plane

ndash Disapperance fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 47

「DIP概論」- IP Testing

Extra Crosspoint Faults in PLAbull Extra crosspoint in the AND plane

ndash Shrinkage faultbull Extra crosspoint in the OR plane

ndash Appearance fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 48

「DIP概論」- IP Testing

Transistor Stuck-On Faults (12)

bull Also referred as stuck-short faults

stuck-on

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 49

「DIP概論」- IP Testing

Transistor Stuck-On Faults (22)

bull May cause ambiguous logic levelsndash Depend on the relative impedances of the pull-

up and pull-down networksbull Quiescent current may be increased called

IDDQ fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 50

「DIP概論」- IP Testing

Transistor Stuck-Open Faults (12)

bull May cause output floating(high impedance)

stuck-open

0 Z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 51

「DIP概論」- IP Testing

Transistor Stuck-Open Faults (22)

bull Turn the circuit into a sequential circuitndash Stuck-open faults require two-vector test

patterns

stuck-open

10 0100

two-vector test pattern

fault-free response

fault response

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 52

「DIP概論」- IP Testing

Gate Delay Faults (12)bull Slow to rise or fall

X X

R

X is slow to rise when channel resistance R is abnormally high

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 53

「DIP概論」- IP Testing

Gate Delay Faults (22)bull Detectability of gate delay faults

ndash May not be detected

slow

critical path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 54

「DIP概論」- IP Testing

Path Delay Faultsbull Propagation delay of a path exceeds the

clock intervalbull The number of paths grows exponentially

with the number of gates

XY

XY

the clock interval

propagation delay

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 55

「DIP概論」- IP Testing

Functional Faultsbull Behavioral faults

ndash Fault effects are modeled at a higher level for modules such as

bull Decodersbull Multiplexersbull Addersbull Countersbull RAMsbull ROMs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 56

「DIP概論」- IP Testing

An Example of Functional Faultsbull Decoder

ndash f(LiLj) instead of line Li line Lj is selectedndash f(LiLi+Lj) in addition to Li Lj is selectedndash f(Li0) none of the lines are selected

DecoderLi

Lj

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 57

「DIP概論」- IP Testing

State Transition Graph(STG)bull Each state transition is associated with a 4-

tuple (source input output destination state)

S1

S3S2

I1O1 I2O2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 58

「DIP概論」- IP Testing

Single State Transition Faults

bull A fault causes a single state transition to a wrong destination state

S1

S3S2

IO IO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 59

「DIP概論」- IP Testing

Memory Faults (12)

bull Parametric faultsndash Change the values of electrical parameters of

active or passive devices from their normal or expected values

bull Output levelsbull Power Consumptionbull Noise marginbull Data retention time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 60

「DIP概論」- IP Testing

Memory Faults (22)

bull Functional faultsndash Stuck faults in address register data register

and address decoderndash Cell stuck faultsndash Cell coupling faultsndash Pattern sensitive faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 61

「DIP概論」- IP Testing

Coupling Faults

bull A transition in memory bit i causes an unwanted change in memory bit j

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 62

「DIP概論」- IP Testing

Pattern Sensitive Faultsbull The presence of a faulty signal depends on

the signal values of the nearby pointsndash Most common in DRAM

0 0 00 d b0 a 0

a = b = 0 rArr d = 0 prevent writing a 1 into da = b = 1 rArr d = 1 prevent writing a 0 into d

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 63

「DIP概論」- IP Testing

Fault Detectionbull Let z BnrarrB A test pattern t detects a fault f

iff z(t)opluszf(t) = 1x1

x2

x3

z1

z2

f s-a-1 z1 = x1 x2

z2 = x2 x3

z1f = x1

z2 f= x2 x3

The test pattern 100 detects f because z1(100) = 0while z1f(100) = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 64

「DIP概論」- IP Testing

Sensitization

bull Given a test pattern t a line is said to ldquobe sensitized to a fault f by trdquo if its normal value is changed in the presence of f

bull A path composed of sensitized lines is called ldquoa sensitized pathrdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 65

「DIP概論」- IP Testing

Detectability

bull A fault f is said to be detectable if there exists a test pattern t that detects f otherwise f is a redundant fault

bull For a redundant fault f z(t) = zf(t)ndash No test pattern can simultaneously

sensitize(activate) f and create a sensitized path to a primary output(PO)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 66

「DIP概論」- IP Testing

Redundant Faultsbull G1 stuck-at-0 fault is redundant

ndash Redundant faults do not change the function of the circuit

ndash The related circuit can be removed to simplify the circuit

1

s-a-0G1

1

1

00

0

10a

b

c

z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 67

「DIP概論」- IP Testing

Fault Collapsing

bull The process to reduce the number of the faults under consideration is known as fault collapsing

bull Why fault collapsingndash Save memory space and CPU time for fault

simulation and test generation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 68

「DIP概論」- IP Testing

Fault Equivalencebull A test pattern t distinguishes between faults α and β iff zα(t) ne zβ(t)

bull Two faults α and β are said to be equivalent in a circuit iff zα(t) = zβ(t) for all tndash Denoted by αharr βndash No test patterns can distinguish between α and β

ndash Any test pattern which detects one of them detects all of them

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 69

「DIP概論」- IP Testing

Fault Equivalence of Primitive Gates (12)

bull NOTndash Input s-a-1 and output s-a-0 are equivalentndash Input s-a-0 and output s-a-1 are equivalent

bull ANDndash All s-a-0 are equivalent

bull ORndash All s-a-1 are equivalent

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 70

「DIP概論」- IP Testing

bull NANDndash All input s-a-0 and output s-a-1 are equivalent

bull NORndash All input s-a-1 and output s-a-0 are equivalent

Fault Equivalence of Primitive Gates (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 71

「DIP概論」- IP Testing

Equivalent Fault Collapsing (12)[Theorem 2-1] Under the single stuck-at faultmodel for an n-input primitive gate n+2instead of 2n+2 faults need to be considered

2n+2

n+1 n+1

equivalence

n+2cup

[Proof]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 72

「DIP概論」- IP Testing

Equivalent Fault Collapsing (22)

s-a-0

s-a-1s-a-1

s-a-1

s-a-1s-a-1

s-a-1 s-a-0

s-a-0

s-a-0

s-a-0

s-a-0 s-a-0

s-a-1

s-a-1

s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 73

「DIP概論」- IP Testing

Fault Dominancebull Let Tα be the set of all test patterns that

detect fault α We say that a fault βdominates fault α iff zα(t) = zβ(t) for all tisinTα

ndash Denoted by β rarr αndash No need to consider fault β for fault detection

Tβ supeTα

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 74

「DIP概論」- IP Testing

Fault Dominance of Primitive Gatesbull AND

ndash Output s-a-1 dominates any input s-a-1bull OR

ndash Output s-a-0 dominates any input s-a-0bull NAND

ndash Output s-a-0 dominates any input s-a-1bull NOR

ndash Output s-a-1 dominates any input s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 75

「DIP概論」- IP Testing

Dominated Fault Collapsing (12)[Theorem 2-2] Under the single stuck-at fault model for an n-input primitive gate only n+1faults need to be considered

2n+2

n+1 n+1

equivalencen+1

cup

[Proof]

n 1dominance

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 76

「DIP概論」- IP Testing

Dominated Fault Collapsing (22)

s-a-0

s-a-1s-a-1

s-a-1

s-a-1s-a-1

s-a-1 s-a-0

s-a-0

s-a-0

s-a-0

s-a-0 s-a-0

s-a-1

s-a-1

s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 77

「DIP概論」- IP Testing

Prime Faultsbull α is a prime fault if every fault dominated

by α is also equivalent to αbull Representative set of prime faults(RSPF)

ndash A set consisting of exactly one prime fault from each equivalence class of prime faults

bull Achieve 100 fault coverage ndash Only generate the test set for RSPF

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 78

「DIP概論」- IP Testing

Checkpoints (13)

bull Primary inputs and fanout branches

[Theorem 2-3] Any test set which detects all single stuck-at faults on every check point will detect all single stuck-at faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 79

「DIP概論」- IP Testing

Checkpoints (23)

a

b

c

d

e

s-a-1s-a-1

s-a-1

s-a-1s-a-1

s-a-1

s-a-1

s-a-1s-a-0

s-a-0

s-a-0s-a-0

s-a-0

s-a-0s-a-0

s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 80

「DIP概論」- IP Testing

Checkpoints (33)bull The set of checkpoint faults can be further

collapsed by using equivalence and dominance relations

a

b

c

d

e

10 checkpoint faultsa s-a-0 harr d s-a-0c s-a-0 harr e s-a-0b s-a-0 rarr d s-a-0b s-a-1 rarr d s-a-16 test patterns are enough

Chapter 3

Fault Simulation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 82

「DIP概論」- IP Testing

Simulationbull True-value simulation

ndash Compute the responses for given inputtest patterns without injecting any faults in the circuit

bull For verifying the correctness of the design

bull Fault simulationndash Compute the responses for given inputtest

patterns with injecting considered faults in the circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 83

「DIP概論」- IP Testing

Why Fault Simulation

bull To evaluate the quality of a test setndash In terms of fault coverage(FC)

bull To incorporate into ATPGndash Decrease the time for test pattern generation

bull To construct fault dictionary ndash For post-test diagnosis

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 84

「DIP概論」- IP Testing

Simulation Mechanisms

bull Compiled-code simulationndash Circuit is translated into the program where

each gate is executed for each patternbull Event-driven simulation

ndash Circuit structure and gate status are stored in a table and only those gates which are needed to be updated with a new pattern are processed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 85

「DIP概論」- IP Testing

Compiled-Code Simulation (13)levelize circuit and produce compiled-codeinitialize data variables(flip-flops and memory)for every input pattern begin

set the primary inputs to the input pattern repeat until (steady-state or maximum iteration-count are reached)begin

execute compiled-codeupdate the associated data variables(flip-flop or memory)

endend

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 86

「DIP概論」- IP Testing

Compiled-Code Simulation (23)

bull The use of compiled-code simulation is usually limited into high-level designndash Since detailed timing or delay is almost

impossible to be simulated in the translated compiled-code

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 87

「DIP概論」- IP Testing

Compiled-Code Simulation (33)

D-FF

abc

d

e

f

Compiled-Code

d = a amp b amp cf = d | ee = f

Q D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 88

「DIP概論」- IP Testing

Event-Driven Simulation (12)initialize simulation time t to 0while (event list is not empty) begin

for every event (i t) begin gate i changes at time tupdate the value of gate i schedule fanout gates of i in the event list if the associated value changes are expected

endadvance simulation time t

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 89

「DIP概論」- IP Testing

Event-Driven Simulation (22)1a

c

bd

e

f

g2

2

2

41

1 rarr0

0 rarr1

1 rarr0

0 rarr1

1 rarr0 rarr1

simulation time t event fanout

0 c = 0 d e

1

2 d = 1 e =0 f g

3

4 g = 0

5

6 f = 1 g

7

8 g = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 90

「DIP概論」- IP Testing

Logic Value Based Fault Simulationbull For functional faults such as single stuck-at

faults helliphellipndash Logic simulation on both fault-free and faulty

circuitsTest Patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 91

「DIP概論」- IP Testing

Complexity of Fault Simulation

bull Suitable for single stuck-at fault modelbull Higher than logic simulation but much

lower than test pattern generationbull In reality the complexity can be reduced by

fault collapsing and advanced techniques

patterns faults gates

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 92

「DIP概論」- IP Testing

Characteristics of Fault Simulationbull Fault activities with respect to fault-free

circuit are often sparse both in time and in spacendash For example f1 is not activated by the given

pattern(time) while f2 affects only the lower part of the circuit(space)

f1 s-a-0

f2 s-a-0

0

1

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 93

「DIP概論」- IP Testing

Efficiency of a Fault Simulator

bull Depend on its ability to exploit the sparse characteristics both in time and in space

人生最大的成就是從失敗中站起來證嚴法師靜思語

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 94

「DIP概論」- IP Testing

Classical Fault Simulation Techniques

bull Serial fault simulationbull Parallel fault simulationbull Deductive fault simulationbull Concurrent fault simulation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 95

「DIP概論」- IP Testing

Serial Fault Simulation

bull The simplest algorithm for fault simulationndash Simulate the fault-free circuit for all input

patterns and save the outputs in a file(table)ndash Simulate one faulty circuit at a time until the

target fault is detected by some one test pattern or proven to be undetectable

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 96

「DIP概論」- IP Testing

Parallel Fault Simulation

bull Simulate faulty circuits in parallel with fault-free circuit by taking advantage of inherent parallel operation of computer wordsndash The number of circuits being processed

concurrently is limited by the word length wbull Each pass at most w-1 faulty circuit are processed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 97

「DIP概論」- IP Testing

Example of Parallel Fault Simulation

0 0 0 0 0 1 0 0 1 0 1 1

1 1 1 1 1 1 0 1

1 1 0 1 1 1 0 0

0 1 0 0

1 0 0 1

1 1 1 1a

b

f

c

de

g

h

is-a-1

s-a-0

s-a-0

for fault-free circuitfor circuit with fault b s-a-1for circuit with fault f s-a-0for circuit with fault i s-a-0

rArr Faults f s-a-0 and i s-a-0 are detected by test pattern (a b f) = (1 0 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 98

「DIP概論」- IP Testing

Deductive Fault Simulation

bull Only the fault-free circuit is simulated (true-value simulation) ndash All signal values in each faulty circuit are

deduced from the fault-free circuit values and the circuit structure

bull Each signal is associated a list of faults in the circuit which can change the state of that line

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 99

「DIP概論」- IP Testing

Basic Fault List Propagation RulesInputs Output

a b cOutput Fault list

Lc

0 0 0 [La cap Lb] cup c1

[La cap Lb] cup c1

[La cap Lb] cup c1

[La cup Lb] cup c0

[La cup Lb] cup c1

[La cap Lb] cup c0

[La cap Lb] cup c0

[La cap Lb] cup c0

La cup c0

La cup c1

(1)0 1 0 (2)1 0 0 (3)1 1 1 (4)0 0 0 (5)0 1 1 (6)1 0 1 (7)1 1 1 (8)0 - 1 (9)

1 - 0 (10)

NOT

OR

AND

Gate Type

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 100

「DIP概論」- IP Testing

Example of Deductive Fault Simulation (12)ab

c 1 b0 c0

d 1 b0 d0

1 a0

1 b0

e 1 a0 b0 c0 e0

f 0 b0 d0 f1

Initially La = a0 and Lb = b0For the fanouts of b c and d Lc = b0 c0 and Ld = b0 d0

Le = [La cup Lc] cup e0 = a0 b0 c0 e0 by Rule (4)Lf = Ld cup f1 = b0 d0 f1 by Rule (10)

g

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 101

「DIP概論」- IP Testing

ab

g

1 a0

1 b1

e 1 a0 b0 c0 e0

f 0 b0 d0 f1

1 a0 c0 e0 g0

Lg = [Le cap Lf] cup g0 = a0 c0 e0 g0 by Rule (7)

c 1 b0 c0

d 1 b0 d0

Example of Deductive Fault Simulation (22)

rArr Faults a0 c0 e0 and g0 are detected by test pattern (a b) = (1 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 102

「DIP概論」- IP Testing

Concurrent Fault Simulation

bull Each gate retains a list of fault copies each of which stores the status of a fault to exhibit difference form the fault-free values

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 103

「DIP概論」- IP Testing

Example of Concurrent Fault Simulation

ab c

d g

1

1

e

f

1

11 1

1 0

0 1 0 1 1 1

b0 d0 f1

01 1

00

a0

01

1

b0

00

0

c0

01

1

d0

1

00

e0

01

1

f1

10

0

g0

1

a001 0

10 0

10 0

11 0

b0 c0 e0

rArr Faults a0 c0 e0 and g0 are detected by test pattern (a b) = (1 1)

1

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 104

「DIP概論」- IP Testing

Modern Fault Simulation Techniques

bull Parallel-Pattern Single-Fault Propagation (PPSFP)

bull Critical Path Tracing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 105

「DIP概論」- IP Testing

PPSFP

bull Based on the serial fault simulation many patterns are simulated in parallel for fault-free and faulty circuits respectivelyndash The number of patterns is limited by the word

length wbull Each pass at most w patterns are processed

ndash The basis of all modern fault simulators

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 106

「DIP概論」- IP Testing

Example of PPSFPbull Consider fault f s-a-0 and four pattern p3 p2

p1 and p0

0 1 0 1 1 0 1 0

1 0 0 1

1 1 0 1

0 1 0 1

1 0 0 0

1 1 1 1a

b

f

c

de

g

h

i

s-a-0

p3 p2 p1 p0

0 0 0 00 0 0 0

0 1 0 1

rArr Fault f s-a-0 are detected by test pattern p3 (a b f) = (1 0 1)

(faulty values)1 0 0 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 107

「DIP概論」- IP Testing

Sensitive Inputs

bull A gate input a is sensitive if complementing the value of a changes the value of the gate output

ab

1rarr0

1

c

a is sensitive

ab 0

0 c

a is not sensitive

1rarr0 0 rarr1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 108

「DIP概論」- IP Testing

Critical Pathsbull Let l(v) be the fault-free value of line l

under input pattern t We say that line l is critical with respect to t iff t detects the fault l s-a-l(v)

bull A gate input i is critical with respect to t if the gate output is critical and i is sensitive

bull A path consisting of only critical lines is said to be a critical path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 109

「DIP概論」- IP Testing

Critical Path Tracing

bull Two-step procedurendash Perform true-value simulation and identify

sensitive gate inputsndash Backtrace from POs to identify the critical lines

bull O(|G|) for fanout-free circuitsndash The fanout-free situation is very rare

bull Perform in fanout-free region and the stem faults are simulated by other methods mentioned earlier

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 110

「DIP概論」- IP Testing

Example of Critical Path Tracing (12)

a

b

f

c

d e

g

h

i

1

0

11

1

0

1fanout-free region

sensitive input

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 111

「DIP概論」- IP Testing

Example of Critical Path Tracing (22)

a

b

f

c

d e

g

h

i

1

0

11

1

0

1fanout-free region

sensitive inputcritical line

rArrFaults i0 h0 f0 e0 and d1 are detected by test pattern (a b f) = (1 0 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 112

「DIP概論」- IP Testing

Anomaly of Critical Path Tracinga

b

f

c

d e

g

h

i

1

0

11

1

0

1critical line

bull Stem criticality is hard to infer from branchesndash Eg Fault b s-a-1 is not detected by (a b f) = (1 0 1)

even though branches c and d are critical

stem

branch

branch

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 113

「DIP概論」- IP Testing

Multiple Path Sensitizationa

b

f

c

d

g

h

i

1

1

1

1

1

1fanout-free region

sensitive inputcritical line

bull Both c and d are not critical but b is critical and bs-a-0 can be detected by (a b f) = (1 1 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 114

「DIP概論」- IP Testing

Summariesbull Does specific test patterns detect specific

faultsndash Serial fault simulationndash Parallel fault simulationndash PPSFP

bull Which faults does a specific test pattern detect (suitable for ATPG)ndash Deductive fault simulationndash Concurrent fault simulationndash Critical Path Tracing

Chapter 4

Test Generation (TG)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 116

「DIP概論」- IP Testing

Test Generation (TG) Methods

bull From truth tablebull Using Boolean equationbull Using Boolean differencebull From circuit structure

Impractical

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 117

「DIP概論」- IP Testing

TG from Truth Table

bull Based on the serial fault simulationndash Impractical

ab

c

f

α s-a-0abc f fα000 0 0001 0 0010 0 0011 0 0100 0 0101 1 1110 1 0111 1 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 118

「DIP概論」- IP Testing

TG Using Boolean Equation

bull Based on the definition of detectability we have

Tα = (a b c) | f(a b c) oplus fα(a b c) = 1= (1 1 0)

bull High complexity

ab

c

f

α s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 119

「DIP概論」- IP Testing

Boolean DifferenceThe Boolean difference of f(x) with respect to xi is

)()()( 1f0fdx

xdfii

i

oplus=

where fi(0) = (x1 hellip 0 hellip xn) and fi(1) = (x1 hellip 1 hellip xn)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 120

「DIP概論」- IP Testing

Physical Meaning of Boolean Difference

bull Find all the input combinations such that the change of xi will cause the change of f(x)

bull Relationship between TG and Boolean difference

x1xixn

fcircuit0 rarr 1

0 rarr1

1rarr0or x1

xixn

fcircuit1rarr 0

1 rarr0

0 rarr1or

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 121

「DIP概論」- IP Testing

Case 1 Faults are present at PIsab

c

f

cb0cb1f0fda

xdfaa +=++bull=oplus= )(1)()()(

The set of all tests for a s-a-1 is (a b c) | a(b + c) = (0 1 x) (0 x 1)The set of all tests for a s-a-0 is (a b c) | a(b + c) = (1 1 x) (1 x 1)

TG Using Boolean Difference (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 122

「DIP概論」- IP Testing

TG Using Boolean Difference (22)Case 2 Faults are present at internal lines

ab

c

f

h = ab

caacac1f0fdh

xdfachf hh +=bull+bull=oplus=+= 11)()()(

The set of all tests for h s-a-1 is (a b c) | h(a + c) = (0 x x) (x 0 0)The set of all tests for h s-a-0 is (a b c) | h(a + c) = (1 1 0)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 123

「DIP概論」- IP Testing

Controlling and Inversion Valuesbull The value c of an input is said to be controlling

if it determines the value of the gate output regardless of the values of the other inputs then the output value is c oplus i where i for the inversion

bull The basic gates can be characterized by the two parametersndash The controlling value cndash The inversion value i

c iAND 0 0OR 1 0NAND 0 1NOR 1 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 124

「DIP概論」- IP Testing

Composite Logic Values and Operations

vvf symbol

00 0

11 1

10 D

01 D

AND 0 1 D0 0

DD0x

1DDx

00000

D x0 0

D0Dx

10xxx

DDx x

OR 0 1 D1 D

1D1x

1111

01DDx

D x0 D

11Dx

1x1xx

DDx x

5-valued operations

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 125

「DIP概論」- IP Testing

Line Justification (LJ)bull Set PIs to some values such that the specific

line has the predetermined value ab

c

f

10 = D

0

1

1

0

s-a-0D

h

ndash Eg Set both a and b to 1 h has the desired value 1 to activate the fault s-a-0 additionally set c to 0 the fault effect will be propagated to f

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 126

「DIP概論」- IP Testing

Justify(l val)Justify(l val)beginset l to valif l is a PI then returnc = controlling value of li = inversion of linval = val oplus i

if(inval = c)then for every input j of l

Justify(j inval)else

beginselect one input j of lJustify(j inval)

endend

Line justification for a fanout-free circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 127

「DIP概論」- IP Testing

TG from Circuit Structure

bull Two basic goalsndash Fault activation (FA)ndash Fault propagation (FP)

rArrLine justification (LJ)

ab

c

f

10 = D larr fault activation (FA)

0 larr fault propagation (FP)

1

1

0

s-a-0D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 128

「DIP概論」- IP Testing

TG for l s-a-vTG(l v)begin

set all values to xJustify(l v) FA if v = 0 then Propagate(l D) FP else Propagate(l D)

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 129

「DIP概論」- IP Testing

Propagate(l err)Propagate(l err) err is D or D beginset l to errif l is PO then returnk = the fanout of l c = controlling value of ki = inversion of kfor every input j of k other than lJustify(j c)

Propagate(k err oplus i)end

Error propagation for a fanout-free circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 130

「DIP概論」- IP Testing

Implication

bull Compute the values that can be uniquelydetermined and check for their consistency with the previously determined ones

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 131

「DIP概論」- IP Testing

Decision Trees

bull Decision Treesndash Consist of decision nodes for problems that the

algorithm is attempting to solvendash A branch leaving a decision node corresponds

to a decisionndash A SUCCESS terminal node labeled S

represents finding a test ndash A FAILURE terminal node labeled F

indicates the detection of an inconsistency

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 132

「DIP概論」- IP Testing

Backtracking

bull A systematic exploration of the complete space of possible solutions and recovery from incorrect decisions recovery involves restoring the state of the computation to the state existing before the incorrect decision

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 133

「DIP概論」- IP Testing

Backtracking of Incorrect Decisions

0xxx

ad

d = 0

F F

a = 0 a = 1b = 0

a = 1b = 1c = 0

bc

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 134

「DIP概論」- IP Testing

bull A FA problem is a LJ problembull A FP problem

ndash Select a FP path to a PO rArr decisionsndash Once the FP path is selected rArr a set of LJ

problemsbull A LJ problem is an either implication or

decision problem

Common Concepts of Structural TG (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 135

「DIP概論」- IP Testing

Common Concepts of Structural TG (22)

bull Incorrect decision(inconsistency) rArr Backtrack and make another decisions

bull Once the fault effect is propagated to a PO and all lines to be justified are justified the test pattern is generated otherwise the decision process is repeatedly until all possible decisions have been tried

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 136

「DIP概論」- IP Testing

A Simple Example of TG (12)

s-a-1

abc

d

e

G2

G1

G3

G5

G4

G6

f1

f2

bull FA rArr G1 = D rArr a = 1 b = 1 c = 1 rArr G2 = 0 (rArr G5 = 0) G3 = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 137

「DIP概論」- IP Testing

A Simple Example of TG (22)bull FP through G5 or G6 (the last page)

ndash Decision through G5rArr G2 = 1 inconsistency rArr backtracking

ndash Decision through G6rArr G4 = 1 rArr e = 0 rArr SUCCESS

rArrThe resulted test pattern is 111x0 G5 G6

F S

G5 G6

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 138

「DIP概論」- IP Testing

Advanced Example (14)

s-a-1

ab

cd

efh

k

l

mno

p

q

r s

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 139

「DIP概論」- IP Testing

Advanced Example (24)

bull FA rArr h = D

bull FPrArr e = 1(rArr o = 0) f = 1 rArr q = 1 r = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 140

「DIP概論」- IP Testing

Advanced Example (34)rArr Justify q = 1 rArr l = 1 or k = 1

ndash Decision l = 1rArr c = 1 d = 1 rArr m = 0 n = 0 rArr r = 0rArr inconsistency rArr backtracking

ndash Decision k = 1rArr a = 1 b = 1

rArr Justify r = 1 rArr m = 1 or n = 1rarr Decision m = 1

rArr c = 0 rArr SUCCESSrarr Decision n = 1

rArr d = 0 rArr SUCCESS

rArrThe resulted test is pattern 110x110 or 11x0110

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 141

「DIP概論」- IP Testing

Advanced Example (44)

q = 1

F

l = 1 l = 0 k = 1

r = 1

S

m = 1

S

n = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 142

「DIP概論」- IP Testing

A Generic TG AlgorithmSolve( )beginif Imply_and_check( ) = FAILUREthen return FAILURE

if(error at PO and all lines are justified)then return SUCCESS

if(no error can be propagated to a PO)then return FAILURE

select an unsolved problemrepeat

begin backtracking select one untried way to solve itif solve( ) = SUCCESS then

return SUCCESSend

until all ways to solve it have been triedreturn FAILURE

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 143

「DIP概論」- IP Testing

D-frontier And J-frontier

bull D-frontierndash The set of all gates whose output value is

currently x but have one or more fault signals on their inputs

bull J-frontierndash The set of all gates whose output value is

known but is not implied by their input values

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 144

「DIP概論」- IP Testing

Example of D-frontier

bull Initially the D-frontier is G6

s-a-1

abc

d

e

G2

G1

G3

G5

G4

G6

f1

f2

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 145

「DIP概論」- IP Testing

Example of J-frontierbull Initially the J-frontier is q = 1 r = 1

s-a-1

ab

cd

efh

k

l

mno

p

q

r s

1

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 146

「DIP概論」- IP Testing

LocalGlobal Implication

bull Local implicationndash Propagate values from one line to its immediate

inputs or outputsbull Global implication

ndash Propagation of values involves a larger area of the circuit and reconvergent fanout

bull Case analysis the SOCRATES system

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 147

「DIP概論」- IP Testing

Local Implication (Backward)

larr 1x

x

larr 0x

1

larr 0x

xlarr 1

x

x

Before

J-frontier = hellip

After1larr 1

larr 1

0larr 0

1

0x

xJ-frontier = hellip a

11

1 rarr

a

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 148

「DIP概論」- IP Testing

Local Implication (Forward) (12)bull Binary values

x

Before0 rarr x

1

x

0 rarr

x

0a

1 rarr

1 rarr

x

0a

D

1 rarr

xa

D

0 rarr

xa

J-frontier = hellip a

J-frontier = hellip a

D-frontier = hellip a

D-frontier = hellip a

x

After0

10

x

0

1

1

larr 0

0

D

1 aD

0 a

J-frontier = hellip

J-frontier = hellip

D-frontier = hellip

D-frontier = hellip

0 rarr

1 rarr

D rarr

0 rarr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 149

「DIP概論」- IP Testing

Local Implication (Forward) (22)bull Error values

Before After

x

x1D

D-frontier = hellip a

x

1

D-frontier = hellipa a

D rarr x

Dx a D-frontier = hellip a

D rarr D rarr

D rarrx D

DD rarr

D

DD-frontier = hellip a D-frontier = hellip

aD rarrx D

D0 rarr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 150

「DIP概論」- IP Testing

Unique D-drive

Before

xx a D-frontier = hellip aD

After

D rarr

larr 1D-frontier = hellip

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 151

「DIP概論」- IP Testing

x-path

bull A path is said to be a x-path if all its lines have value x

[Theorem 4-1] Let G be a gate on D-frontier The error(s) on the input(s) of G can be propagated to a PO Z if there exists at least one x-path between G and Z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 152

「DIP概論」- IP Testing

Error-Propagation Look-Ahead (12)

DD

x

x x

x

x

00

11

bull By Theorem 4-1 none of the fault effects can be observed on any POs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 153

「DIP概論」- IP Testing

Error-Propagation Look-Ahead (22)

bull Using the error-propagation look-ahead technique we may prune the decision tree by recognizing states from which any further decisions will lead to a failure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 154

「DIP概論」- IP Testing

D-Algorithm

bull FP is always given priority over LJbull Propagate fault effects on several

reconvergent paths referred to as ldquomultiple-path sensitizationrdquondash Some faults cannot be detected by sensitizing

only a single path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 155

「DIP概論」- IP Testing

The D-algorithm Implementation (12)D-alg( )begin Implicationsif Imply_and_check( ) = FAILURE

then return FAILURE

if(error not at PO) thenbeginif D-frontier = empty

then return FAILURE

repeat beginselect an untried gate G from

D-frontier Decisionsc = controlling value of Gassign c to every input of G with

value xif D-alg( ) = SUCCESS

then return SUCCESSend

until all gates from D-frontier have been tried

return FAILUREend if (error not at PO)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 156

「DIP概論」- IP Testing

if J-frontier = emptythen return SUCCESS

select a gate G from the J-frontierc = controlling value of G

repeat begin Decisionsselect an input j of G with value xassign c to jif D-alg( ) = SUCCESS

then return SUCCESSassign c to j

end

until all inputs of G are specifiedreturn FAILURE

end D-alg

The D-algorithm Implementation (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 157

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

Example of D-Algorithm (0113)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 158

「DIP概論」- IP Testing

Example of D-Algorithm (0213)bull Value computation (16)

Decisions Implications Commentsa = 0 Fault activationh = 1b = 1 Unique D-driven through gc = 1g = D D-frontier = i k m

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 159

「DIP概論」- IP Testing

Example of D-Algorithm (0313)bull Value computation (26)

Decisions Implications Commentsd = 1 Fault propagation through i

Propagate fault effects on i = Dd = 0

a single path D-frontier = k m n

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 160

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

Example of D-Algorithm (0413)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 161

「DIP概論」- IP Testing

bull Value computation (36)Decisions Implications Comments

j = 1 Fault propagation through nk = 1 Propagate fault effects onl = 1 a single path m = 1

n = De = 0e = 1k = D Contradiction

Example of D-Algorithm (0513)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 162

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

01

DContradiction

Example of D-Algorithm (0613)

D

1

11

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 163

「DIP概論」- IP Testing

bull Value computation (46)Decisions Implications Comments

e = 1 Fault propagation through kk = D Propagate fault effects on e = 0 two paths j = 1 D-frontier = m n

Example of D-Algorithm (0713)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 164

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

D

10 1

Example of D-Algorithm (0813)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 165

「DIP概論」- IP Testing

bull Value computation (56)Decisions Implications Comments

l = 1 Fault propagation through nm = 1 Propagate fault effects on

n= D two reconvergent paths f = 0

f = 1

m =D Contradiction

Example of D-Algorithm (0913)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 166

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

D

10 1

01

D

Contradiction

Example of D-Algorithm (1013)

D

1

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 167

「DIP概論」- IP Testing

bull Value computation (66)Decisions Implications Comments

f = 1 Fault propagation through mm = D Propagate fault effects onf = 0 three paths l = 1n= D Fault effects on POrsquos

Example of D-Algorithm (1113)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 168

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

D

10 1

10

D

1

D

Example of D-Algorithm (1213)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 169

「DIP概論」- IP Testing

bull Decision treendash Nodes the associated D-frontierndash Branches the taken decision ie the gate selected from the

D-frontieri k m

k m n

m nF

F S

i

n k

n m

Two times of backtracking

Example of D-Algorithm (1313)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 170

「DIP概論」- IP Testing

Partial Specification of The x Valuebull For a ldquototally unspecifiedrdquo composite value x

both v and vf are unknownndash x for 0 1 D D

bull For a ldquopartially specifiedrdquo composite value x v is binary and vf is unknown(u) vice versandash 0u for 0 D ndash 1u for D 1ndash u0 for 0 Dndash u1 for D 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 171

「DIP概論」- IP Testing

9-V Algorithmbull Similar to D-algorithm except that the

considered logic values are 0 1 D D 0u 1u u0 u1 uu (9-value)

bull Drive a D(D) through a gate G with controlling value c the values it assigns to the unspecified inputs of G correspond to the set c D(c D)

bull ub or bu (b is binary) at a PI is immediately transformed to bb

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 172

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

Example of 9-V Algorithm (17)

u1

u1

u1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 173

「DIP概論」- IP Testing

Example of 9-V Algorithm (27)

Decisions Implications Commentsa = 0 Fault activationh = 1b = 1 Unique D-driven through gc = 1g = Di = u1k = u1m = u1 D-frontier = i k m

bullV

alue computation (13)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 174

「DIP概論」- IP Testing

Example of 9-V Algorithm (37)

Decisions Implications Commentsd = 1 Fault propagation through i

i = Dd = 0

n = 1u D-frontier = k m n

bullV

alue computation (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 175

「DIP概論」- IP Testing

Example of 9-V Algorithm (47)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

u1

1

0

D

1u

u1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 176

「DIP概論」- IP Testing

Example of 9-V Algorithm (57)

bullV

alue computation (33)

Decisions Implications Commentsl = u1 Fault propagation through nj = u1

n = Df = u0f = 1f = 0

e = u0

e = 1e = 0k = D

m = D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 177

「DIP概論」- IP Testing

0

1D

Example of 9-V Algorithm (67)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

u1

u1

1

0

D

D0

1D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 178

「DIP概論」- IP Testing

Example of 9-V Algorithm (77)bull Decision tree

ndash Nodes the associated D-frontierndash Branches the taken decision ie the gate selected from the

D-frontier

i k m

k m n

S

i

n

No backtracking

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 179

「DIP概論」- IP Testing

D-Algorithm vs 9-V Algorithm

bull Whenever there are k possible paths for FPndash D-algorithm may eventually try all the 2k-1

combinations of pathsndash 9-V algorithm tries only one path at a time but

without precluding simultaneous FP on the other k-1 paths

bull Enumerate at most k ways of FP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 180

「DIP概論」- IP Testing

Inversion Parity

bull In circuits composed only of AND OR NAND NOR and NOT gates we can define the ldquoinversion parityrdquo of a path as the number taken modulo 2 of the inverting gates (NAND NOR and NOT) along that path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 181

「DIP概論」- IP Testing

Path-Oriented DEcision Making (PODEM)bull PODEM allows the value assignments for LJ

problems only on PIs ie backtracking can occur only on PIs ndash Treat a value vk to be justified for line k as an

objective (k vk)ndash Use the backtracing procedure to map the object

into a PI assignment that ldquois likely to contributerdquo to achieve the objective

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 182

「DIP概論」- IP Testing

BacktracingObjective (k vk)Step 1 Find a x-path from line k to a PI say aStep 2 Count the inversion parity of the pathStep 3 If the inversion parity is even then

return (a vk) otherwise (a vk)

Note No non-PI values are assigned during backtracing ie these values are assigned only by simulating PI assignments (implications)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 183

「DIP概論」- IP Testing

The Backtracing ImplementationBacktrace(k vk) map objective into PI assignment beginv = vk

while k is a gate output begin

i = inversion of kselect an input j of k with value xv = v oplus ik = j

endreturn (k v) k is a PI

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 184

「DIP概論」- IP Testing

Example of Backtracing ProcedureObjective (f 1)

fd

e

ca

bx

x

x

xxx

fd

e

ca

bx

1

x

10x

The first time of backtracing

fd

e

ca

bx

1

x1

0x

fd

e

ca

b1

1

0

101

The second time of backtracing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 185

「DIP概論」- IP Testing

Choosing of Objectives (12)

bull In PODEM the order of the objectives being considered is as follows1 The objectives for FA2 Repeatedly select a gate G from the D-frontier

(until some fault effect is at a PO or the D-frontier is empty) and consider the input with x value as an objective

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 186

「DIP概論」- IP Testing

Choosing of Objectives (22)

Objective( )being

the target fault is l s-a-v if (the value of l is x) then return (l v)select a gate G from the D-frontierselect an input j of G with value xc = controlling value of G return (j c)

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 187

「DIP概論」- IP Testing

The PODEM ImplementationPODEM( ) beginif (error at PO) then return SUCCESSif (test not possible) then return FAILURE(k vk) = Objective( )(j vj) = Backtrace(k vk) j is a PI Imply(j vj)if PODEM( ) = SUCCESS then return SUCCESSImply(j vj) reverse decision if PODEM( ) = SUCCESS then return SUCCESSImply(j x)return FAILURE

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 188

「DIP概論」- IP Testing

Example 1 of PODEM (18)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

D

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 189

「DIP概論」- IP Testing

Example 1 of PODEM (28)bull Value computation (13)

Objective PI Assignment Implications D-frontier Comments

(a 0) a = 0 h = 1 g

(b 1) b = 1 g(c 1) c = 1 g = D i k m

(d 1) d = 1 d = 0

i = D k m n

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 190

「DIP概論」- IP Testing

Example 1 of PODEM (38)bull Value computation (23)Objective PI Assignment Implications D-frontier Comments

(k 1) e = 0 e = 1j =0

k =1n = 1 m x-path check fails

e = 1 e = 0 reversal

j = 1k = D m n

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 191

「DIP概論」- IP Testing

Example 1 of PODEM (48)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

00

1

D

D

11

x-path(to PO)check failsrArr Backtracking

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 192

「DIP概論」- IP Testing

Example 1 of PODEM (58)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

11

0

D

D

1D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 193

「DIP概論」- IP Testing

Example 1 of PODEM (68)bull Value computation (33)Objective PI Assignment Implications D-frontier Comments

(l 1) f = 1 f = 0l = 1

m = Dn = D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 194

「DIP概論」- IP Testing

Example 1 of PODEM (78)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

11

0

D

D

11 0

D

D

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 195

「DIP概論」- IP Testing

Example 1 of PODEM (88)bull Decision tree

ndash Nodes the PIs selected to be assigned valuesndash Branches the value assigned to the PI

a0b1

c1d1

e0F f1

S

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 196

「DIP概論」- IP Testing

Features of PODEMbull PODEM examines all possible input

patterns implicitly but exhaustively as tests for a given fault ie a complete TG

bull PODEM does not needndash Consistency checkndash The J-frontierndash Backward implications

bull Generally faster than D-algorithm

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 197

「DIP概論」- IP Testing

A More Intelligent Backtracing (12)bull To guide the backtracing process of PODEM

controllability for each line is measuredndash CY1(a) the probability that line a has a value 1ndash CY0(a) the probability that line a has a value 0

bull Eg f = ab assume CY1(a) = CY0(a) = CY1(b) = CY0(b) = 05ndash CY1(f) = CY1(a) CY1(b) = 025ndash CY0(f) = 1 - CY1(f) = 075

ab f

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 198

「DIP概論」- IP Testing

bull How to guide the backtracing process using controllabilityndash Principle 1 Among several unsolved problems first

attack the hardest onendash Principle 2 Among several solutions of a problem

first try to the easiest onebull Eg

ndash Objective (c 1) rArr Choose path c-a to backtracendash Objective (c 0) rArr Choose path c-a to backtrace

A More Intelligent Backtracing (22)

ab c

CY1(a) = 033 CY0(a) = 067CY1(b) = 05 CY0(b) = 05

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 199

「DIP概論」- IP Testing

Example 2 of PODEM (14)Initial objective(G5 1)G5 is an AND gate Choose the hardest-1rArr Current objective is (G1 1)G1 is an AND gate Choose the hardest-1 rArr Arbitrarily current objective is (A 1)A is a PI Implication rArr G3 = 0

Ps Initially CY1 and CY0 for all PIs are set to 05

C1(G1) = 025

C1(G1) = 0656

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 200

「DIP概論」- IP Testing

Example 2 of PODEM (24)Is the initial objective justified No rArr Current objective (G5 1)G5 is an AND gate Choose the hardest-1rArr Current objective is (G1 1)G1 is an AND gate rArr Choose the hardest-1 rArr Arbitrarily current objective is (B 1)B is a PI rArr Implication rArr G1 = 1 G6 = 0

C1(G1) = 025

C1(G1) = 0656

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 201

「DIP概論」- IP Testing

Example 2 of PODEM (34)Is the initial objective justified No rArr Current objective (G5 1)The value of G1 is known rArr Current objective (G4 0)The value of G3 is known rArr Current objective(G2 0)A B are known rArr Current objective (C 0)C is a PI rArr Implication rArr G2 = 0 G4 = 0 G5 = D G7 = D

C1(G1) = 025

C1(G1) = 0656

No backtracking

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 202

「DIP概論」- IP Testing

Example 2 of PODEM (44)

bull If the backtracing process is not guided ndash Two times of backtracking may occur

G5rarr G4rarr G2rarr A

G5rarr G4rarr G2rarr B

G5rarr G4rarr G2rarr C

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 203

「DIP概論」- IP Testing

Head Lines

bull A line that is reachable from at least one stem is said to be bound otherwise free

bull A head line is a free line that directly feeds a bound line

head linesbound

DE

ABC

F

G

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 204

「DIP概論」- IP Testing

The Property of Head Lines[Theorem 4-2] If l is a head line the value of l can be justified without contradicting any other values previously assignedHintThe subcircuit feeding l is fanout-free

head linesbound

DE

ABC

F

G

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 205

「DIP概論」- IP Testing

Fanout-Oriented (FAN) Algorithmbull The FAN algorithm introduces two major

extensions to the backtracing concept of PODEMndash Rather than stopping at PIs backtracing in

FAN may stop at internal lines ie head lines ndash Rather than trying to satisfy one objective

FAN use a multiple-backtrace procedure that attempts to simultaneously satisfy a set of objectives

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 206

「DIP概論」- IP Testing

FAN vs PODEM

head linesbound

DE

ABC

F

G

Assume that setting G = 0 causes the D-frontier to become empty

A1B0

F C0F

1

1

G0F

1

PODEM FAN

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 207

「DIP概論」- IP Testing

Multiple Backtracing (13)Mbacktrace(Current_objectives)beginrepeat

beginremove one entry (k vk) from

Current_objectivesif k is a head line

then add (k vk) to Head_objectiveselse if k is a fanout branch

thenbegin

j = stem(k)increment number of requests at

j for vk

add j to Stem_objectivesend else if k is a fanout branch

else continue tracingbegin

i = inversion of kc = controlling value of k

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 208

「DIP概論」- IP Testing

Multiple Backtracing (23)

if(vkoplus i = c) then

beginselect an input j of k with

value xadd (j c) to

Current_objectivesend if(vkoplus i = c)

elsefor every input j of k with

value x

add (j c) to Current_objectives

end continue tracingend

until Current_objectives = empty

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 209

「DIP概論」- IP Testing

Multiple Backtracing (33)

if Stem_objectives ne emptybeginremove the highest-level stem k from

Stem_objectives

vk = most requested value of k

if(k has contradictory requirements and k is not reachable from target fault)

then return (k vk)add (k vk) to Current_objectivesreturn

Mbacktrace(Current_objectives)end if Stem_objectives ne empty

remove one objective (k vk) from Head_objectivesreturn (k vk)

end Mbacktrace

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 210

「DIP概論」- IP Testing

Generation of Conflicting Values on A Stem

0

1

0

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 211

「DIP概論」- IP Testing

Example of Multiple Backtracing (12)

AB

A1

A2E

E1

E2

G

H

I

JC

1

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 212

「DIP概論」- IP Testing

Example of Multiple Backtracing (22)

(I 1 ) (J 0 ) (I 1 )

(J 0 ) (G 0 ) (J 0 )

(G 0 ) (H 1 ) (G 0 )

(H 1 ) (A1 1 ) (E1 1) (H 1 )

(A1 1 ) (E1 1 ) (E2 1) (C 1) (A1 1 ) A(E1 1 ) (E2 1 ) (C 1 ) (E1 1 ) A E(E2 1 ) (C 1 ) (E2 1 ) A E(C 1) (C 1 ) A E C

A C(E 1 ) (E 1 ) A C(A2 0 ) (A2 1 ) A C

A C

Current_objectivesProcessed

entry Stem_objectives Head_objectives

empty

empty

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 213

「DIP概論」- IP Testing

The FAN Implementation (12)FAN( ) beginif Imply_and_check( ) =

FAILUREthen return FAILURE

if (error at PO and all bound lines are justified) then

beginjustify all unjustified head lines return SUCCESS

end

if(error not at PO and D-frontier = empty)then return FAILURE

add every unjustified bound lines to Current_objectivesselect one gate G from the D-frontier c = controlling value of Gfor every input j of G with value xadd (j c) to Current_objectives

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 214

「DIP概論」- IP Testing

The FAN Implementation (22)(i vi) = Mbackrace(Current_objectives)Assign(i vi)if FAN( ) = SUCCESSthen return SUCCESS

Assign(i vi) reverse decisionif FAN( ) = SUCCESSthen return SUCCESS

Assign(i x)return FAILURE

End FAN( )

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 215

「DIP概論」- IP Testing

ATPG (12)

bull Basic schemeinitialize the test set to NULLrepeat

generate a new test vectorevaluate fault coverage for the test vectorif the test vector is acceptable then add it to the test set

until the required fault coverage is obtained

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 216

「DIP概論」- IP Testing

ATPG (22)

bull Accelerationndash Phase I Random test patterns are generated

first to detect easy-to-detect faultsndash Phase II A deterministic TG is then performed

to generate test patterns for the remaining faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 217

「DIP概論」- IP Testing

Sequential TG

bull For circuits with unknown initial statesndash Time-frame expansion based

bull Extended D-algorithmbull 9-V sequential TG

ndash Simulation basedbull CONTEST [Agrawal and Cheng IEEE TCAD Feb

1989]

bull For circuits with known initial statesndash STALLION [Ma et al IEEE TCAD Oct 1988]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 218

「DIP概論」- IP Testing

Iterative Logic Array (ILA) Model

bull Here the model is restricted to synchronous sequential circuits

initial states

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 219

「DIP概論」- IP Testing

Extended D-algorithm1 Pick up a target fault f2 Create a copy of the combinational logic say Time-

frame 03 Generate a test pattern for f using D-algorithm for

time-frame 04 If all the fault effects are propagated into the FFrsquos

continue the fault propagation in the next time-frame5 If there are values required to be justified in the

FFrsquos continue the line justification (LJ) in the previous time-frame

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 220

「DIP概論」- IP Testing

I

OY1

Y2y1

y2 s-a-1

FF2

FF1

Example of Extended D-algorithm (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 221

「DIP概論」- IP Testing

Example of Extended D-algorithm (22)

OY1

Y2

I

y1

y2 s-a-1

time-frame 00

1

D

I

OY1

Y2

y1

y2 s-a-1

time-frame 1

1D

I

y1

y2 s-a-1

time-frame -1

0

0

Y1

Y2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 222

「DIP概論」- IP Testing

9-V Sequential TG

bull Extended D-algorithm is not completebull If 9-V instead of 5-V is used it will be a

complete algorithmndash Since it takes into account the possible repeated

effects of the fault in the ILA model

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 223

「DIP概論」- IP Testing

Example of 9-V Sequential TG (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 224

「DIP概論」- IP Testing

Example of 9-V Sequential TG (22)bull If 5-V Sequential TG is usedhelliphellip

D D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 225

「DIP概論」- IP Testing

Problems of Time-frame Approachesbull The requirements created during the

forward process (FP) have to be justified (LJ) by the backward processes laterndash Need going both forward and backward time

framesndash Need to maintain a large number of time-

framesbull How many Cyclesbull Implementation is complicated

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 226

「DIP概論」- IP Testing

Simulation-Based Approaches

bull Advantagesndash Timing is considered and asynchronous circuits

can be handledndash Can be easily implemented by modifying a

fault simulatorbull Disadvantages

ndash Can not identify undetectable faultsndash Hard-to-activate faults may not be detected

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 227

「DIP概論」- IP Testing

Difficulties of Sequential Test Generation

bull Initialization is difficultndash Justify invalid statesndash Long initialization sequences (simulator

limitations)bull Timing cannot be considered by time-frame

expansionsndash Races and hazardsndash Asynchronous circuits cannot be handled

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 228

「DIP概論」- IP Testing

Why FC of 100 Is Hard

bull If each undetected fault is redundant then FC will easily reach at 100ndash Proving that the undetected fault is a redundant

fault may be very and very hardbull How to increase FC

faultsredundant the-list fault of size thefaultsredundant the-fault undetected of size the-1

faultsredundant the-list fault of size thefaults detected the

=

=FC

Chapter 5

Design for Testability (DFT)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 230

「DIP概論」- IP Testing

Motivation bull Test costs

ndash Test Generation (TG)ndash Fault Simulationndash Test Application Timendash Memory spacendash helliphellip

bull Test difficultiesndash Sequential gt Combinationalndash helliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 231

「DIP概論」- IP Testing

Testability Measures

bull Controllabilityndash The difficulty of setting a particular logic signal

to a 0 or 1bull Observability

ndash The difficulty of observing the state of a logic signal

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 232

「DIP概論」- IP Testing

SCOAPbull Sandia ControllabilityObservability

Analysis Program [Goldstein 1979]bull Use six cost functions of type integer to

reflect the relative difficulties of controlling and observing signals in digital circuitsndash Higher numbers indicate more difficult to

control or observe signals

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 233

「DIP概論」- IP Testing

Combinational SCOAP Measures

bull For signal lndash CC0(l)

bull The combinational ldquorelative difficultyrdquo of setting l to 0

ndash CC1(l)bull The combinational ldquorelative difficultyrdquo of setting l to 1

ndash CO(l)bull The combinational ldquorelative difficultyrdquo of propagating

a fault effect from l to a PO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 234

「DIP概論」- IP Testing

bull For signal lndash SC0(l)

bull The sequential ldquorelative difficultyrdquo of setting l to 0

ndash SC1(l)bull The sequential ldquorelative difficultyrdquo of setting l to 1

ndash SO(l)bull The sequential ldquorelative difficultyrdquo of propagating a

fault effect from l to a PO

Sequential SCOAP Measures

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 235

「DIP概論」- IP Testing

Initialization

bull CC0(i) = CC1(i) = SC0(i) = SC1(i) = 1 for all PI ibull CO(o) = SO(o) = 0 for all PO obull Set others to infin

The controllabilities range between 1 and infin

The observabilities range between 0 and infin

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 236

「DIP概論」- IP Testing

Controllability of Combinational Components (12)

bull CC0(z) = CC0(a) + CC0(b) + 1bull CC1(z) = minCC1(a) CC1(b) + 1bull SC0(z) = SC0(a) + SC0(b)bull SC1(z) = minSC1(a) SC1(b)

ab z

CC0 or CC1 are related to the number of signals that may be manipulated to control SC0 or SC1 are related to the number of time-frames needed to control

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 237

「DIP概論」- IP Testing

Controllability of Combinational Components (22)ab

ab

abab

ab

ab

z

z

z

z

z

z

CC0(z) = minCC0(a) CC0(b) + 1CC1(z) = CC1(a) + CC1(b) + 1

CC0(z) = CC1(a) + CC1(b) + 1CC1(z) = minCC0(a) CC0(b) + 1CC0(z) = CC0(a) + CC0(b) + 1CC1(z) = minCC1(a) CC1(b) + 1CC0(z) = minCC1(a) CC1(b) + 1CC1(z) = CC0(a) + CC0(b) + 1

CC0(z) = minCC1(a) + CC1(b) CC0(a) + CC0(b) + 1CC1(z) = minCC0(a) + CC1(b) CC1(a) + CC0(b) + 1

CC0(z) = minCC0(a) + CC1(b) CC1(a) + CC0(b) + 1CC1(z) = minCC1(a) + CC1(b) CC0(a) + CC0(b) + 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 238

「DIP概論」- IP Testing

Controllability of Sequential Components

bull CC0(Q) = minCC0(R) CC1(R) + CC0(D) + CC0(C) + CC1(C)bull CC1(Q) = CC1(R) + CC1(D) + CC0(C) + CC1(C)bull SC0(Q) = minSC0(R) SC1(R) + SC0(D) + SC0(C) + SC1(C) + 1bull SC1(Q) = SC1(R) + SC1(D) + SC0(C) + SC1(C) + 1

D

C

Q

R

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 239

「DIP概論」- IP Testing

Observability (12)

P

QR

N

bull CO(P) = CO(N) + CC1(Q) + CC1(R) + 1bull SO(P) = SO(N) + SC1(Q) + SC1(R)

D

C

Q

R bull CO(R) = CO(Q) + CC1(Q) + CC0(R)bull SO(R) = SO(Q) + SC1(Q) + SC0(R) + 1

CO are related to the number of signals that may be manipulated to observeSO are related to the number of time-frames needed to observe

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 240

「DIP概論」- IP Testing

Observability (22)ab

ab

abab

ab

ab

z

z

z

z

z

z

CO(a) = CO(z) + CC1(b) + 1CO(b) = CO(z) + CC1(a) + 1

CO(a) = CO(z) + CC1(b) + 1CO(b) = CO(z) + CC1(a) + 1

CO(a) = CO(z) + CC0(b) + 1CO(b) = CO(z) + CC0(a) + 1CO(a) = CO(z) + CC0(b) + 1CO(b) = CO(z) + CC0(a) + 1

CO(a) = CO(z) + minCC0(b) CC1(b) + 1CO(b) = CO(z) + minCC0(a) CC1(a) + 1CO(a) = CO(z) + minCC0(b) CC1(b) + 1CO(b) = CO(z) + minCC0(a) CC1(a) + 1

zz1z2

zn

CO(z) = minCO(z1) CO(zz) helliphellip CO(zn)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 241

「DIP概論」- IP Testing

Example of SCOAP (13)

1

23

4

5

6

PI3

PI2

PI1

PO

Note ( C0 C1 )

(11)

(11)

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11)

(11)

(11)

Computation of controllability (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 242

「DIP概論」- IP Testing

Example of SCOAP (23)

Note ( C0 C1 )

(11)

(11)

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11)

(11)

(11)

(22)

(22)

(23)

(35)

(27)

(54)

Note ( C0 C1 ) O

(11)

(11)

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11)

(11)

(11)

(22)

(22)

(23)

(35)

(27)

(54) 0

Computation of controllability (22)

Computation of observability (13)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 243

「DIP概論」- IP Testing

Example of SCOAP (33)

Note ( C0 C1 ) O

(11) 5

(11) 5

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11) 9

(11) 9

(11) 9

(22) 8

(22) 8

(23) 3

(35) 5

(27) 3

(54) 0

Note ( C0 C1 ) O

(11) 5

(11) 5

1

23

4

5

6

PI3

PI2

PI1

PO

(11) 5

(11) 5

(11) 9

(11) 9

(11) 9

(22) 8

(22) 8

(23) 3

(35) 5

(27) 3

(54) 0

Computation of observability (23)

Computation of observability (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 244

「DIP概論」- IP Testing

Importance of Testability Measures

bull Speed up test generation (TG) algorithmsbull Improve the testability of the circuit under

design ndash Guide the design for testability (DFT) insertion

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 245

「DIP概論」- IP Testing

Design for Testability (DFT)

bull DFT techniquesndash Design efforts specifically employed to ensure

that a circuit is testablebull In general DFT is achieved by employing

extra hardware overheadndash Conflict between design and test engineersndash Balance between amount of DFT and gain

achieved

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 246

「DIP概論」- IP Testing

Benefits of DFTbull Fault coverage uarr (must guarantee) bull Test generation time darrbull Test lengthTest memoryTest application time darrbull Support a test hierarchy

ndash Chipsndash Boardsndash Systems

rArrPay less now and pay more latter without DFT

FC100

with DFT

of T

without DFT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 247

「DIP概論」- IP Testing

Costs Associated with DFT

bull Pin overhead uarrbull Area uarrbull Yield darrbull Performance darrbull Design time uarr

rArrThere is no free lunch

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 248

「DIP概論」- IP Testing

DFT Techniques

bull Ad hoc DFT techniquesbull Scan-based designsbull Boundary scan

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 249

「DIP概論」- IP Testing

Ad Hoc DFT Techniquesbull Test pointsbull Initializationbull Monostable multivibrators (one-shots)bull Oscillators and clocksbull Partitioning counters and shift registersbull Partitioning of large combinational circuitsbull Logic redundancybull Break global feedback paths

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 250

「DIP概論」- IP Testing

Test Pointsbull Insert test points control points (CPs) and

observation points (OPs) to enhance controllability and observability

C1 C2 C1 C2

jumper

CPOP

original circuits testable circuits

Can be done only for boards

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 251

「DIP概論」- IP Testing

01-Injection

CP1

C1

CP0

C2

01-injection

C1C2

CP00-injection 1-injection

C1C2

CP1

OP OP

OP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 252

「DIP概論」- IP Testing

01-Injection Using a MUX

NT

C1

CP C2

01-injection

MUX

0

1

OP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 253

「DIP概論」- IP Testing

IO-Pin Cost Decrement (12)

01

2n-11 2 n

X1 X2 Xn

Z

CP1CP2

CPN

DEMUX

N = 2n

Using a demultiplexer and a latchregister to implement CPs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 254

「DIP概論」- IP Testing

IO-Pin Cost Decrement (22)

01

2n-11 2 n

X1 X2 Xn

Z

OP1OP2

OPN

MUX

N = 2n

Multiplexing OPs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 255

「DIP概論」- IP Testing

Time-Sharing IO Pins (12)

PIs DEMUX

normal functional

inputsn

n

n nCPs

0

1

NT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 256

「DIP概論」- IP Testing

Time-Sharing IO Pins (22)

OPs

DEMUX

normal functional

outputs

n

n

nPOs

0

1

NT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 257

「DIP概論」- IP Testing

Selection of CPs (12)

bull Control address and data bus lines on bus-structured designs

bull Enablehold inputs to microprocessorsbull Enable and readwrite inputs to memory

devicesbull Clock and presetclear inputs to memory

devices such as flip-flops counter and shift registers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 258

「DIP概論」- IP Testing

Selection of CPs (22)

bull Data select inputs to multiplexers and demultiplexers

bull Control lines on tri-state devices

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 259

「DIP概論」- IP Testing

Selection of OPs (12)

bull Stem lines associated with signals having high fanout

bull Global feedback pathsbull Redundant signal linesbull Outputs of logic devices having many

inputs such as multiplexers and parity generators

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 260

「DIP概論」- IP Testing

Selection of OPs (22)

bull Outputs from state devices such as flip-flops counters and shift registers

bull Address control data buses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 261

「DIP概論」- IP Testing

Initialization (12)bull Design circuits to be easily initializable

ndash Donrsquot disable preset (PR) and clear (CLR) lines

PR

CLR

Vcc

Vcc

Q

Q

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 262

「DIP概論」- IP Testing

Initialization (22)bull When the preset or clear line is driven by

logic a gate can be added to achieve initialization

PR

CLR

Q

Q

C1

Clear

PR

CLR

Q

Q

C1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 263

「DIP概論」- IP Testing

Built-In Initialization Signal Generator

Vcc

t

VZ

Vcc

Z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 264

「DIP概論」- IP Testing

Monostable Multivibrators (One-Shots) (12)

bull Disable internal one-shots during test

C1C2

one-shotjumper

CPOP

jumper

OP CP

Can be done only for boards

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 265

「DIP概論」- IP Testing

Monostable Multivibrators (One-Shots) (22)

C1

C2

one-shotA

B

E (OP)

C

D

MUX

0

1

01-I

s

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 266

「DIP概論」- IP Testing

Oscillators And Clocksbull Disable internal oscillators and clocks

during test

OSCC

OP

AB

01-I

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 267

「DIP概論」- IP Testing

CountersShift Registers (12)bull Partition large counters and shift registers

into smaller units

DIN

CK

DOUTR1

DIN

CK

DOUTR2C

X1 X2

Y1 Y2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 268

「DIP概論」- IP Testing

CountersShift Registers (22)

CPdata inhibit

CPtest data

C

CPclock inhibitCPtest clock

DIN

CK

DOUT

R1

X1

Y1

CPdata inhibit

CPtest data

OP

DIN

CK

DOUT

R2

X2

Y2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 269

「DIP概論」- IP Testing

Partitioning Large Circuits (12)bull Partition large circuits into smaller

subcircuits to reduce test generation cost

C1 C2

AB

C

D

E

F G

m ns

p

q

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 270

「DIP概論」- IP Testing

Partitioning Large Circuits (22)

If 2p+n + 2q+m lt 2n+m then test time can be reduced

m

s

n

q

p

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 271

「DIP概論」- IP Testing

Logic Redundancy

bull Avoid the use of redundant logicndash Remove (for eliminating hazardshelliphellip)

bull Add test points to remove the redundancy during testing

bull Bias fault coverage

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 272

「DIP概論」- IP Testing

Global Feedback Pathsbull Provide logic to break global feedback

paths

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 273

「DIP概論」- IP Testing

Scan SystemPO

C

R

PI

C

Rrsquo

PI

Sin

Sout

PO

Original design Modified design

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 274

「DIP概論」- IP Testing

Scan Storage Cell (SSC)

DSi

N TCK

Q So

N T Q So

0 D1 Si

D QSSC

Symbol for a SSC

rArr A SSC can be used as control point (CP) andor observation point (OP)

SSC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 275

「DIP概論」- IP Testing

Simultaneous CO

C1 C2

MUX

0

1

T

D Q

CPOP

SiN T CK

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 276

「DIP概論」- IP Testing

Scan Register (SR) (12)

Sin

CK

N T

D1

Q

Q1 D2

Q

Q2 Dn

Q

Qn

DSi

N TCK

SoutSSC SSC

R

Symbol for a SR

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 277

「DIP概論」- IP Testing

Scan Register (SR) (22)

bull A scan register (SR) loads data in parallel when N T = 0 (normal mode) and shifts when N T = 1 (test mode)ndash Scan-in operation (test mode)

bull Load data into R from line Sin (control)

ndash Scan-out operation (test mode)bull Read data out of R from line Sout (observation)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 278

「DIP概論」- IP Testing

Generic Scan-Based Design

bull Full serial integrated scanbull Full isolated scanbull Nonserial scan

ndash Random-access scan

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 279

「DIP概論」- IP Testing

Full Serial Integrated Scan (12)

bull All the original storage cells are replaced by the SSCrsquos and made part of the SR

bull Sequential ATPG rarr Combinational ATPG

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 280

「DIP概論」- IP Testing

C

R

PI PO

CK

C

Rs

PI PO

CKNT Sin

Sout

Original design (Normal) Modified design (Scanned)

Full Serial Integrated Scan (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 281

「DIP概論」- IP Testing

Full Isolated Scan (12)bull The SR is not in the the normal data path

C

Rrsquo

Rs

PI PO

Sin Sout

two data input ports

shadow register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 282

「DIP概論」- IP Testing

Full Isolated Scan (22)bull Advantages

ndash Real-time testingbull A single test can be applied at the operational clock

rate of the system

ndash On-line testingbull The circuit can be tested while in normal operation

bull Disadvantagesndash Hardware overhead

bull Two data input portsbull Shadow register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 283

「DIP概論」- IP Testing

Random-Access Scan (12)C

addressable storage elements

clocks and controls

Y-address(decoder)

X-address(decoder)

Sout

SinSCK

PI PO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 284

「DIP概論」- IP Testing

Random-Access Scan (22)bull Advantages

ndash Scan in a new vector only bits that need be changed must be addressed and modified also selected bits can be observed

bull Full controllability and observability

bull Disadvantagesndash Hardware overhead

bull Considerable overhead associated with storing the addresses of the cells to be setread

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 285

「DIP概論」- IP Testing

IBM LSSD Scan Cellbull Level Sensitive Scan Design

D

Sin

Q2 Sout(L2)

Q1 (L1)

C

A

B

Normal mode A = 0 C and B activeTest mode C = 0 A and B active

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 286

「DIP概論」- IP Testing

Clock Schemebull To obtain race-free condition clocks C and

B as well as A and B are nonoverlapping

C

B

A

B

Normal mode A = 0

Test mode C = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 287

「DIP概論」- IP Testing

LSSD Double-Latch Design

Sout

Sin

CA

B

Shift Register Latch (SRL)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 288

「DIP概論」- IP Testing

LSSD Single-Latch Design

Sout

SinC2

Shift Register Latch (SRL)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 289

「DIP概論」- IP Testing

Scan Design Costsbull Hardware overheadbull Extra pinsbull High test timebull Extra slower clock controlsbull Possible performance degradationbull Some designs are not easily realizable as

scan designTest generation costs can be significantly reduced and lead to higher fault coverage

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 290

「DIP概論」- IP Testing

Notes

Chapter 6

Advanced Scan Concepts

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 292

「DIP概論」- IP Testing

Advanced Scan Concepts

bull Multiple test sessionsbull Multiple scan chainsbull Broadcast scan chainsbull Partial scan

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 293

「DIP概論」- IP Testing

Multiple Test Sessions (12)bull of test patterns

ndash C1 100 C2 200 C3 30020 bits 20 bits 20 bits

C1 C2 C3

Test time= 60 300= 18000 (cycles)

One session

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 294

「DIP概論」- IP Testing

Multiple Test Sessions (22)bull of test patterns

ndash C1 100 C2 200 C3 300

20 bits 20 bits 20 bits

C1 C2 C3

Test time= 60 100 +

40 100 +20 100

= 12000 (cycles)

Three sessions

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 295

「DIP概論」- IP Testing

Multiple Scan Chainsbull Reduce test application timebull Large pin overhead

ndash Usually test IO will share the normal IO

A single chain (long test time) Multiple chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 296

「DIP概論」- IP Testing

Broadcast Scan Chainsbull Using a single data input to support multiple

scan chains

Source Lee et al ICCADrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 297

「DIP概論」- IP Testing

Virtual Circuitsbull The inputs of circuits under test (CUTs) are

connected in a 1-to-1 manner

bull The whole virtual circuit is considered as one circuit during ATPG

bull The resulted test patterns can be shared by all CUTs Source Lee et al ICCADrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 298

「DIP概論」- IP Testing

Partial Scanbull Only a subset of flip-flops are scannedbull Trade-offs

ndash Area overheadndash TG complexity

partial scan

full scan

sequential TG

combinational TG

1000 (scanned FFrsquos)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 299

「DIP概論」- IP Testing

A Basic Method for Partial Scanbull Represent a sequential circuit with feedback

as a directed graph G = (V E)ndash Each flip-flop i is represented as vertex vi in V ndash Each combinational path from flip-flop i to j is

represented as a directed edge from vi to vj in E

Source Cheng and Agrawal IEEE TComputersrsquo90

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 300

「DIP概論」- IP Testing

Graph Representation (13)

3

1 2 4 5 6

A sequential circuit with 6 flip-flops

Graph representation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 301

「DIP概論」- IP Testing

Graph Representation (23)bull Distance between two vertices on a path is

defined as the number of vertices on that path

distance = 4

distance = 3

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 302

「DIP概論」- IP Testing

Graph Representation (33)bull Sequential depth of a circuit is defined as

the distance of the longest pathbull Cycle length is defined as the maximum

number of vertices in a cycle

Sequential depth = 6

Cycle length = 3 Cycle length = 1 Cycle length = 2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 303

「DIP概論」- IP Testing

Analysis of Sequential Circuits (13)

bull Any sequential circuit can be divided into 3 classes of subcircuits based on the directed graph representationndash Acyclic directed (testable)ndash Directed with only self-loops (testable)ndash Directed with cycles of two or more vertices

(not testable)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 304

「DIP概論」- IP Testing

Analysis of Sequential Circuits (23)

Directed with cycles of two or more vertices (not testable)

Acyclic directed (testable)

Directed with only self-loop (testable)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 305

「DIP概論」- IP Testing

Analysis of Sequential Circuits (33)

bull The number of gates or flip-flops is not the dominant factor for test generation complexity

bull Cycle length is the dominant factorndash To reduce test generation complexity cycles of

length ge 2 should be break or eliminatedbull Sequential depth is minor

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 306

「DIP概論」- IP Testing

Flip-Flop Selection Algorithm (12)

beginidentify all cyclesrepeat

for every vertex begincount the frequency of appearance in the cycle list

endselect the most frequently used vertexremove all cycles containing the selected vertex from the cycle listuntil cycle list is empty

end

bull Finding the vertex set that breaks all cycles called the feedback vertex set problem is NP-completendash Heuristics must be used to bound the computation time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 307

「DIP概論」- IP Testing

= 695

Flip-Flop Selection Algorithm (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 308

「DIP概論」- IP Testing

The BALLAST Methodology (13)bull Scan storage elements are selected such that

the remainder of circuit has some testable structurendash A complete test set can be obtained by using

combinational ATPGsequential TG

combinational TG

1000Source Gupta et al IEEE TComputersrsquo90

BALLAST

(scanned FFrsquos)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 309

「DIP概論」- IP Testing

The BALLAST Methodology (23)

Sout

Sin

HOLD(for test)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 310

「DIP概論」- IP Testing

bull Test procedure for a test pattern ndash Scan in the pattern to R3 and R6

ndash Hold the test pattern in R3 and R6 for two clock cycles such that the test response appears in R4and R5

ndash Load data to R3 and R6 and scan out

The BALLAST Methodology (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 311

「DIP概論」- IP Testing

Circuit Model (14)

bull Given a synchronous sequential circuit Sndash The combinational logic can be partitioned into

clouds where each cloud is a maximal region of connected combinational logic such that its inputs are either primary inputs or outputs of FFrsquos and its outputs are either primary outputs or inputs to FFrsquos

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 312

「DIP概論」- IP Testing

Circuit Model (24)bull A register

ndash Consists of one or more FFrsquos driven by the same clock signal

ndash Receives data from exactly one cloud and feeds exactly one cloud

bull Two typesndash Load set (L) always operates in LOAD modendash Hold set (H) two modes of operation ndash LOAD

and HOLD

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 313

「DIP概論」- IP Testing

Circuit Model (34)bull A directed graph G = (V A H W)

ndash V the set of cloudsndash A the set of connections between two clouds

through registersndash H sub A connections through HOLD registersndash W ArarrZ+ defines the number of FFrsquos in each

registersbull W(a) represent the cost of converting a register into

a scan register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 314

「DIP概論」- IP Testing

Circuit Model (44)

R3

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 315

「DIP概論」- IP Testing

Balanced Sequential Structurebull A synchronous sequential circuit S with G is said

to be a balanced sequential structure (B-structure) ifndash G is acyclic ndash forallv1 v2 isin V all directed paths from v1 to v2 are of equal

lengthndash forallh isin H if h is removed from G the resulted graph is

disconnectedbull When examining whether a circuit with scan

registers is a B-structure the arcs corresponding to scan registers must be removed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 316

「DIP概論」- IP Testing

Example of B-structure

Red arcs represent HOLD registersOthers represent LOAD registers

A B-structure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 317

「DIP概論」- IP Testing

Kernel of a B-Structure (13)bull Given a B-structure SB

ndash Combinational equivalent CB is defined as the combinational circuit formed by replacing each FF in every register in SB by a wire or an inverter

bull Single-pattern testablebull A complete single-pattern test set can be derived

using combinational test generation techniques

bull The depth d of SB

ndash The number of registers on the longest path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 318

「DIP概論」- IP Testing

Kernel of a B-Structure (23)B-structure SB (d = 2)

Combinational Equivalent CB

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 319

「DIP概論」- IP Testing

Kernel of a B-Structure (33)bull Given an input pattern I applied to SB define the

single-pattern output of SB for I as the steady-state output of SB when I is held constant at the inputs to SB and all its registers are operated in LOADmode for at least d clock cycles

bull Given some fault f in SB if the single-pattern outputs for I of the good and the faulty circuits are different then I is a single-pattern test for f

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 320

「DIP概論」- IP Testing

Outline of BALLAST1 Construct G = (V A H W)2 Remove a minimal cost set of arcs R to

construct SB

3 Determine CB of SB and a complete test set Tfor CB using a combinational ATPG

4 Construct a scan path composed of the registers in R so that they can ldquoshiftrdquo ldquoholdrdquo and ldquoloadrdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 321

「DIP概論」- IP Testing

Selection of Scan Registers1 Transform G = (V A H W) into an acyclic

graph GA by removing a minimal cost set of ldquofeedbackrdquo arcs RA (NP-complete)

2 Transform GA into a balanced graph GB by removing a minimal cost set of arcs RB (NP-complete)R = RAcupRB is the desired set for scan registers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 322

「DIP概論」- IP Testing

Test Procedurebull Operate all scan registers in the SHIFT mode for l

clock cycles (scam in the first test pattern)ndash l is the total number of FFrsquos in the scan path

bull Repeat N times N is the number of test patterns(a) Place all scan register in HOLD mode and all nonscan

registers in LOAD mode for d clock cycles(b) Operate all scan registers in LOAD Load for 1clock

cycle(c) Operate all scan register in SHIFT mode for l clock

cycles

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 323

「DIP概論」- IP Testing

Elimination of HOLD Modebull Eg By adding two dummy bits (d) between

the patterns to be scanned to R3 and R6 the HOLD mode can be eliminated

Sin

Sout1101hellip01dd10hellip101

R3 R6

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 324

「DIP概論」- IP Testing

ConclusionsMethods Partial Scan

Multiple TestSessions

Mutiple ScanChains

Broadcast ScanChains

Area Overhead

PerformanceDegradation

Extal Pins

Extral ClockControl

Test ApplicationTime

same

same

same

same

same

same

darr or uarr

darr

darr

darr

same or uarr

same

uarr

same

darr

same

same

darr

darr

same

Full Scan

Chapter 7

Compression Techniques

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 326

「DIP概論」- IP Testing

Challenges from ORA

bull A bit-by-bit comparison of observed output values with the correct values as previously computed and saved is quite inefficientndash Require a significant amount of memory

storage for saving the correct outputs associated with all test vectors

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 327

「DIP概論」- IP Testing

Response Compressionbull Compress or compact output responses into

ldquoa signaturerdquondash A circuit is tested by comparing the observed

signature with the correct computed signature

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 328

「DIP概論」- IP Testing

Error Maskingbull signature(faulty circuit)

= signature(fault-free circuit)ndash The erroneous output response is an alias of the

correct output responsebull Measurement of masking probability

ndash Compute the fraction of all possible erroneous response sequences that cause masking associated with specific compression techniques

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 329

「DIP概論」- IP Testing

Requirements of Compression Techniques

bull Easy to implement specially in the BIST environment

bull Small performance degradationbull High degree compactionbull No or small alias errors

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 330

「DIP概論」- IP Testing

Basic Compression Techniques

bull Ones-count compressionbull Transition-count compressionbull Parity-check compressionbull Syndrome Testingbull Signature Analysis

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 331

「DIP概論」- IP Testing

Ones-Count Compression (12)bull Given a single-output circuit C let the

output response of C be R = r1 r2 hellip rm

ndash In ones counting the signature 1C(R) is the number if 1s appearing in R ie

where 0 le 1C(R) le m

bull The degree of compression is ⎡log2(m+1)⎤

sum=i

irR1C )(

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 332

「DIP概論」- IP Testing

Ones-Count Compression (22)

counter

s-a-0 fault f2

s-a-1 fault f1

111100001100110010101010

00000000 = R211000000 = R110000000 = R0

Signature (ones count)1C(R0) = 11C(R1) = 21C(R2) = 0

x1x2x3

Input test patternsequence T

Output Reponses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 333

「DIP概論」- IP Testing

Analysis of Ones-Countbull Consider a circuit tested with m random

input vectors and let 1C(R0) = r 0 le r le mndash The number of m-bit sequences having r 1s is

such sequences are aliases

bull The ratio of masking sequences to all possible erroneous sequence given 1C(R0) = r is

⎥⎦

⎤⎢⎣

⎡rm

1rm

minus⎥⎦

⎤⎢⎣

)1

1rmM

2CP m

m

r1C minus

minus=(

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 334

「DIP概論」- IP Testing

Transition-Count Compressionbull TC(R) = sum

minus

=+

oplus1m

1i1ii rr

NetworkT D Q

counter

00000000 = R211000000 = R110000000 = R0

Signature (transition count)TC(R0) = 1TC(R1) = 1(undetectable fault)TC(R2) = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 335

「DIP概論」- IP Testing

bull If all faulty sequences are equally likely to occur as the response of a faulty circuit then the probability of masking is given by

Analysis of Transition-Count

122)|(

1

minusminus

=minus

m

mr

TC1CrmMP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 336

「DIP概論」- IP Testing

Parity-Check Compression

NetworkT

00000000 = R211000000 = R110000000 = R0 D Q

Signature (parity)p(R0) = 1p(R1) = 0p(R2) = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 337

「DIP概論」- IP Testing

bull All errors consisting of odd number of bit errors are detectedndash Detect all single-bit errors

bull All errors consisting of even number of bit errors are maskedndash Assume all faulty bit streams are equally likely

the probability of masking approaches frac12 as m increases

Analysis of Parity-Check

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 338

「DIP概論」- IP Testing

Syndrome Testingbull Rely on exhaustive testing ie applying all

2n test vectors to an n-input combinational circuitndash Eg Consider a single-output circuit

implementing a function fbull The syndrome S (or signature) is the normalized

number of 1s in the resulting stream ie S = K2n where K is the number of minterms in the function f

ndash A special case of ones-count compression

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 339

「DIP概論」- IP Testing

Signature Analysis

bull Signature analysis is a compression technique based on the concept of cyclic redundancy checking (CRC) and realized in hardware using linear-feedback shift registers (LFSRs)ndash The signature is the content of this register after

the last input bit has been sampled

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 340

「DIP概論」- IP Testing

LFSRs Used as Signature Analyzers

bull Single-input signature registers (SISRs)bull Multiple-input signature registers (MISRs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 341

「DIP概論」- IP Testing

SISRsbull Initial state I(x) = 0bull Final state R(x) the remainder or signature

)()()( )(or )()()(

)()( xRxPxQxG

xPxRxQ

xPxG

+=+=

G(x) Q(x)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 342

「DIP概論」- IP Testing

Example of SISRs

R(x) = x2+x4 Q(x) =1+x2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 343

「DIP概論」- IP Testing

Analysis of SISRs (12)

bull For a test bit stream of length mndash 2m possible responses of which only one is

correctndash The number of bit streams producing a specific

signature is 2m 2n = 2m-n where n is the length of the LFSR

ndash Among these streams only one is correct

( ) 21212P n

m

nm

SA nmM minusminus

congminus

minus=|

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 344

「DIP概論」- IP Testing

ndash Eg If n = 16 then(1-2-16) 100 = 999984

of erroneous responses are detectedNote This is not of faults

Analysis of SISRs (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 345

「DIP概論」- IP Testing

MISRs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 346

「DIP概論」- IP Testing

Implementation of MISRs

(a) Original (a) Modified

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 347

「DIP概論」- IP Testing

The Storage Cell for MISRs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 348

「DIP概論」- IP Testing

Notes

Chapter 8

Built-In Self-Test (BIST)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 350

「DIP概論」- IP Testing

Built-In Self-Test (BIST) (12)bull Capability of a circuit (chip board or

system) to test itself

Test Pattern Generator (TPG)

Circuit under Test (CUT)

Output Response Analyzer (ORA)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 351

「DIP概論」- IP Testing

bull On-line not placed into the test modendash Concurrent simultaneous with normal

operationndash Nonconcurrent idle normal operation

bull Off-line placed into the test modendash Functional diagnosis SW or FWndash Structural

bull LFSR-based TPG and ORAbull FC is estimated

Built-In Self-Test (BIST) (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 352

「DIP概論」- IP Testing

Glossary of BIST Test Structures (12)bull BILBO

ndash built-in logic block observation (register)bull LFSR

ndash linear feedback shift registerbull MISR

ndash multiple-input signature registerbull ORA

ndash output response analyzer

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 353

「DIP概論」- IP Testing

bull PRPG ndash pseudorandom pattern generator also referred

to as a pseudorandom number generatorbull SISR

ndash single-input signature registerbull SRSG

ndash shift-register sequence generator also a single-output PRPG

bull TPGndash test pattern generator

Glossary of BIST Test Structures (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 354

「DIP概論」- IP Testing

bull Exhaustive testingndash Exhaustive test-pattern generator

bull Pseudorandom testingndash Weighted test generatorndash Adaptive test generator

Test Pattern Generation for BIST (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 355

「DIP概論」- IP Testing

Test Pattern Generation for BIST (22)

bull Pseudoexhaustive testingndash Syndrome driver counterndash Constant-weight counterndash Combined LFSR and shift registerndash Combined LFSR and XOR gatesndash Condensed LFSRndash Cyclic LFSR

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 356

「DIP概論」- IP Testing

Exhaustive Testing

bull Apply all 2n input vectors where n is the number of inputs to CUTndash Impractical for large n

bull Detect all detectable faults that do not cause sequential behaviorndash In general not applicable to sequential circuits

bull Can use a counter or LFSR for TPG

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 357

「DIP概論」- IP Testing

bull A shift register with a linear feedback network is called a linear feedback shift register (LFSR)

bull A n-stage shift register has at most 2n statesrArr A n-stage LFSR has at most 2nndash1 stages

the linear successor of the all-zero state is itself

there4

Linear Feedback Shift Register (LFSR) (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 358

「DIP概論」- IP Testing

Linear Feedback Shift Register (LFSR) (22)

D Q D Q

S0 1 0S1 0 1S2 (=S0) 1 0

Z = 0101helliphellip2 states

Z D Q D Q D Q Z

S0 0 1 1S1 1 0 1S2 0 1 0S3 0 0 1S4 1 0 0S5 1 1 0S6 1 1 1S7 (=S0) 0 1 1

Z = 11010011101001 helliphellip7 states

linear feedback network

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 359

「DIP概論」- IP Testing

Two Types of LFSRs (12)bull Type 1 External type

D Q D Q ZD Q D Q

C1 C2 Cn-1 Cn= 1C0

= 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 360

「DIP概論」- IP Testing

Two Types of LFSRs (22)bull Type 2 Internal type

D Q

Cn-1Cn= 1

D Q

Cn-2

D Q

C1

D Q Z

C0= 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 361

「DIP概論」- IP Testing

Mathematical Operations over GF(2)

bull Multiplication(bull) bull Addition( )

bull 0 10 0 01 0 1

0 10 0 11 1 0

Eg Let C1 = 0 C2 = 1 C3 = 1 and a1 = 0 a2 = 1 a3 = 1If a0 = C1 bull a1 C2 bull a2 C3 bull a3 then a0 = 0 bull 0 1 bull 1 1 bull 1 = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 362

「DIP概論」- IP Testing

Analysis of LFSRsbull A sequence of binary numbers can be

represented using a generation function (polynomial)

bull The behavior of an LFSR can be determined by its ldquoinitial seed (S0)rdquo and ldquofeedback coefficients (Ci)rdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 363

「DIP概論」- IP Testing

Characteristic Polynomials (13)

bull Let a0 a1 hellip am hellipbe the sequence of binary numbers ndash Generation function

G(x) = a0 + a1x +hellip+ amxm + hellip=bull Let am = a0 a1 hellip am hellipbe the output

sequence of an LFSR of type 1rArr am =

xa m

mmsum

infin

=0

aC im

n

ii minus

=sum

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 364

「DIP概論」- IP Testing

bull Let the seed S0 be a-1 a-2 hellip a-n hellip

rArr G(x) = =

rArr G(x) = under GF(2)

rArr G(x) depends on the seed S0 and feedback coefficients

xa m

mmsum

infin

=0sum suminfin

= =minus⎟⎠

⎞⎜⎝

0 1m

mn

iimi xaC

( )sum

sum

=

minus

minus

minus

minus=

+

++

n

i

i

i

i

i

in

ii

xC

xaxaxC

1

1

11

1

Characteristic Polynomials (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 365

「DIP概論」- IP Testing

bull Let P(x) = 1 +

= 1 + C1x + C2x2 + hellip+ Cnxn

called the characteristic polynomial of the LFSR representing the linear feedback network

bull The degrees of all characteristic polynomials for an n-stage LFSR are nndash Eg

P(x) = x3 + x + 1

sum=

n

i

i

i xC1

D Q D Q D Q Z

Characteristic Polynomials (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 366

「DIP概論」- IP Testing

Maximum Length Sequences

bull If period p of the sequence generated by an n-stage LFSR is 2n-1 then it is a maximum length sequencendash 1rsquos = 0rsquos + 1

bull The characteristic polynomial associated with the maximum length sequence is a primitive polynomial

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 367

「DIP概論」- IP Testing

Primitive Polynomialsbull The number of primitive polynomials for n-

stage LFSR is given by

where

( ) ( )n

nn 12

2

minus=φλ

( ) prod ⎟⎟⎠

⎞⎜⎜⎝

⎛minus=

np pnn

|

11φ

n1 12 14 28 1616 204832 67108864

( )n2λ

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 368

「DIP概論」- IP Testing

Some Primitive PolynomialsEg 20 3 0 for x20 + x3 + 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 369

「DIP概論」- IP Testing

An Example of LFSR

bull 23-1 = 7 ldquoalmost completerdquo patterns are generated

D Q D Q D Q Z

S0 0 1 1S1 1 0 1S2 0 1 0S3 0 0 1S4 1 0 0S5 1 1 0S6 1 1 1S7(=S0) 0 1 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 370

「DIP概論」- IP Testing

Exhaustive Testing

D Q D Q D Q0 0 1

0 0 0

1 0 0

scan chain 3

CUT

test cycles 3+23

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 371

「DIP概論」- IP Testing

Off-Line BIST Architecturesbull Criteria

ndash Centralized or distributed BIST circuitryndash Embedded or separate BIST elements

bull Key elementsndash Test pattern generators (TPGs)ndash Output response analyzers (ORAs)ndash The circuits under test (CUTs)ndash A distribution system (DIST) for transmitting data from

TPGs to CUTs and from CUTs to ORAsndash A BIST controller for controlling the BIST circuitry

and CUT during self-test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 372

「DIP概論」- IP Testing

CentralizedSeparate BIST (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 373

「DIP概論」- IP Testing

CentralizedSeparate BIST (22)

bull During testing the BIST controller may carry out one or more of the following functionsndash Single-step the CUTs through some test

sequencendash Inhibit system clocks and control test clocksndash Communicate with other test controllers

possibly using test bussesndash Control the operation of a self-test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 374

「DIP概論」- IP Testing

DistributedSeparated BIST

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 375

「DIP概論」- IP Testing

DistributedEmbedded BIST

The TPG and ORA elements are configured from functional elements within the CUT such as registers

Less hardware overheadLead to a more complex design

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 376

「DIP概論」- IP Testing

Factors for Choosing BIST Architecturesbull Degree of test parallelism (distributed darr)bull Fault coverage (distributed darr)bull Level of packaging (centralized darr)bull Test time (distributed darr)bull Physical constraints (embedded and separateuarr)bull Complexity of replaceable units (centralized darr)bull Factory and field of test-and-repair strategiesbull Performance degradation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 377

「DIP概論」- IP Testing

Test-Per-Clock System

LFSR SR

CUT

MISR

Some new set of faults is tested during every clock period

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 378

「DIP概論」- IP Testing

Test-Per-Scan SystemLFSR SR

CUT

MISR SR

Each new set of faults being tested requiresOne clock to conduct the testA series of shifts of the scan chain (SR)

Complete that testRead out all of the test results

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 379

「DIP概論」- IP Testing

STUMPSbull Self-Test Using a MISR and Parallel Shift register

ndash Test-per-scan

LFSR (Pseudo-Random Test Pattern Generator)

SR1 SR2 SRn

MISR

CUT1 CUT2 CUTn

Source Bardell ITCrsquo82

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 380

「DIP概論」- IP Testing

BILBObull Built-In Logic Block Observation

ndash Distributedembedded

BILBO register

BILBO0 0 shift mode0 1 reset1 0 LFSRMISR1 1 normal mode

Source Konemann 1979

z1 z2 zn

B1 B2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 381

「DIP概論」- IP Testing

Applications of BILBO (12)bull Bus-Oriented structure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 382

「DIP概論」- IP Testing

Applications of BILBO (22)bull Pipeline-oriented structure

POs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 383

「DIP概論」- IP Testing

What to Do If 2n Is Too Large

bull Using pseudorandom testingndash Eg Generate only 232 test patterns

bull Using pseudoexhaustive testingndash Eg Partitioning

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 384

「DIP概論」- IP Testing

Pseudorandom Testingbull Weighted test generation

ndash The distribution of 0s and 1s produced on the output lines of TPGs is not necessary uniform

bull Adaptive test generationndash Modify the weights based on the simulation

resultsbull (advantage) efficient in terms of test lengthbull (disadvantage) the TPG hardware is more complex

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 385

「DIP概論」- IP Testing

Weighted Test Generation

bull Using an LFSR and a combinational circuit

D Q D Q D Q

The probability of 05 for a 1is changed to 025

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 386

「DIP概論」- IP Testing

Pseudoexhaustive Testing

bull Achieve many benefits of exhaustive testing but usually require far fewer test patternsndash Rely on various forms of circuit segmentation

and attempt to test each segment exhaustivelybull A segment is a subcircuit of a circuit C

ndash Segments need not be disjoint

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 387

「DIP概論」- IP Testing

Segmentation

bull Logical segmentationndash Sensitized path segmentationndash Cone segmentation (verification testing)

bull Physical segmentation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 388

「DIP概論」- IP Testing

bull The circuit can be pseudoexhaustivelytested with 2n1 + 2n2 + 1 test patterns

n1

n2

C1

C2

Sensitized Path Segmentation (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 389

「DIP概論」- IP Testing

Sensitized Path Segmentation (22)n1

n2

C1

C2

n1

n2

C1

C2

n1

n2

C1

C2

2n1 test patterns

2n2 test patterns

1 test pattern

1

1

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 390

「DIP概論」- IP Testing

Cone Segmentation

bull An m-output circuit is logically segmented into m cones each cone consists of all logic associated with one outputndash Each cone is tested exhaustively and all cones

are tested concurrentlyhelliphellipndash Called verification testing by McCluskey[1984]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 391

「DIP概論」- IP Testing

An (n w)-CUTbull [Definition] Consider a combinational circuit

C with inputs X = x1 x2 hellip xn and outputs Y= y1 y2 hellip ym Let yi = fi(Xi) where Xi sube X Let w = maxi|Xi| We denote this circuit as an (n w)-CUT ndash Pseudoexhaustively testing an (n w)-CUT needs at

least 2w test patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 392

「DIP概論」- IP Testing

An (4 2)-CUT

y1 y2 y3 y4

x1 x2 x3 x4

Pseudoexhaustively testing this (4 2)-CUT need at least 22 test patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 393

「DIP概論」- IP Testing

Constant Weight Patternsbull [Definition] Let T be a set of n-tuples T is

said to exhaustively cover all k-subspaces if for all subsets of k bit positions each of the 2k

binary pattern appears at least once among the |T| n-tuplesndash Eg

⎥⎥⎥⎥

⎢⎢⎢⎢

=

101011110000

Tn = 3

k = 2|T| = 4

T can be a pseudoexhaustive test set for an (n w)-CUT if k ge w

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 394

「DIP概論」- IP Testing

Identification of Test Signal Inputsbull Consider a CUT with n inputs If none of

the outputs is a function of both inputs say a and b then the inputs a and b can be applied to the same test signal line

f(x y)

g(x y)

x

y

z

1 1 0 0

1 1 0 0

1 0 1 0

f(x y)

g(x y)

x

y

z

1 1 0 0

1 0 1 0

apply x and z to the same test signal line

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 395

「DIP概論」- IP Testing

MTC Circuitsbull [Definition]A circuit is said to be a maximal-test-

concurrency(MTC) circuit if the minimal number of required test signals for the circuit is equal to the maximum number of inputs upon which any output depends

f(x y)

g(x y)

x

y

z

1 1 0 0

1 0 1 0

f(x y)

g(x y)

x

y

z

1 1 0 0

1 0 1 0

0 1 1 0h(x z)

A MTC circuit A non-MTC circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 396

「DIP概論」- IP Testing

Identification of Minimal Set of Test Signals

Step 1 Generate a dependency matrix D = [dij] where dij = 1 if output i depends on input j otherwise dij = 0

Step 2 Partition the matrix into group of inputs so that two or more inputs in a group do not affect the same output

Step 3 Collapse each group to form an equivalent input called a test signal input

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 397

「DIP概論」- IP Testing

Example of Identification (12)

abcdefg

f1(a b e)f2(b c g)f3(a d e)

f4(c d e)

f5(e f)

C

f

f

f

f

f

gfedcba

D

5

4

3

2

1

01100000011100001100110001100010011

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

Step 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 398

「DIP概論」- IP Testing

Example of Identification (22)

f

f

f

f

f

gfedbca

Dg

5

4

3

2

1

01100000011010001100110001100010101

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

Step 2

I II III IV

f

f

f

f

f

Dc

5

4

3

2

1

11000111011110110111

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

Step 3

I II III IV

Transformation to a (4 3)-CUT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 399

「DIP概論」- IP Testing

Physical Segmentation

bull Insert bypass storage cells (bscs) such that in the test mode each output and bscdepends on at most w inputs and bscsndash A bypass storage cell is similar to a cell used in

boundary-scan designbull In the normal mode the inserted bsc acts a wirebull In the test mode the inserted bsc can be part of an

LFSRSR

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 400

「DIP概論」- IP Testing

gate

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 4 4

6 5

Example of Physical Segmentation (16)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 401

「DIP概論」- IP Testing

Example of Physical Segmentation (26)x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 402

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 1

Example of Physical Segmentation (36)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 403

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 2

Example of Physical Segmentation (46)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 404

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 3

Example of Physical Segmentation (56)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 405

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 4

Example of Physical Segmentation (66)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 406

「DIP概論」- IP Testing

Pseudoexhaustive Testing by LFSRSR Chains

bull Step1 Partition the circuit under test(CUT) by inserting bypass storage cells(bscs)ndash Reduce the maximum dependency

bull Step 2 Route an LFSRSR chain with a primitive feedback polynomial through the primary inputs(PIs) and bscs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 407

「DIP概論」- IP Testing

LFSRSR Chainsx4 + x3 + 1 (primitive)

PIs

+

BSCs

An LFSRSR chain with a primitive feedbackpolynomial of degree k generates the maximum sequence of length 2k-1

Exhaustively test each output cone

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 408

「DIP概論」- IP Testing

Residue Polynomials

bull For an LFSRSR with primitive feedback polynomial f(x) of degree k the residue Ri(x) of stage i is defined as

Ri(x) = xi mod f(x)

XOR network with f(x)210 k-1 k i

R0 R1 R2 Rk-1 Rk Ri

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 409

「DIP概論」- IP Testing

Example of Residue Polynomials

+x3 + x + 1

1 x x2 x+1

x2+x

x2+x+1

0 1 2 3 4 5

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 410

「DIP概論」- IP Testing

Linear Independencybull [Theorem] An output cone depending on

the inputs p1hellip pk can be exhaustively tested hArr the corresponding residues Rp1

hellipRpk

are linear independent (LI)

210 k-1 k i

R0 R1 R2 Rk-1 Rk Ri

Output G

XOR network with f(x)

R2 Rk-1 Rk is LIhArrThe cone of G is

exhaustively tested

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 411

「DIP概論」- IP Testing

Example of Linear Independency+

x3 + x + 1

1 x x2 x+1

x2+x

x2+x+1

0 1 2 3 4 5

bull If some output cone C depends on inputs 0 3 and 4the output cone can be exhaustively tested

Because 1 x+1 x2+x is LI

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 412

「DIP概論」- IP Testing

Why Not Exhaustively Testingbull Subject to the input-output relation it is not

an easy task to construct a desirable LFSRSR chain as the pseudo-exhaustive TPG for the CUTndash Not all the output cones whose input residues

are LI that is linear dependent (LD)bull Called the LD problem

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 413

「DIP概論」- IP Testing

Possible Solutions to The LD Problembull To overcome the LD problem some variants of

LFSRSR have been proposedndash LFSRXORndash Reconfigurable LFSRSRndash Permuted LFSRSRndash Convolved LFSRSRndash Multiple LFSRSRndash Cell-reordering LFSRSRndash Constant-weight LFSRSRndash Linear-code LFSRSRndash Condensed LFSRSR

These solutions encounter serious problemsThe hardware overhead maybe largeThe construction time maybe long

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 414

「DIP概論」- IP Testing

LFSRXOR+ x3 + x + 1

1 x x2 x+1

x2+x

x2+x+1

0 1 2

++

3 4 5

XOR network

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 415

「DIP概論」- IP Testing

Reconfigurable LFSRSR

0 1 2 3 4 5 6

+

7

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 416

「DIP概論」- IP Testing

Permuted LFSRSR

0 1 2 3 4 5 6

+

7

0 2 5 1 3 4 6 7

inputs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 417

「DIP概論」- IP Testing

Convolved LFSRSR

0 1 2 3 4 5 6

+

7+

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 418

「DIP概論」- IP Testing

Multiple LFSRSR

0 1 2 3

+

4 5 6 7

+

1 0 0 0 1 1 0 0

seed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 419

「DIP概論」- IP Testing

Tree-Structured LFSRSR (TLS)

bull Rationalndash The SR chain of LFSRSR unnecessarily

constraints the searching domain for constructing a pseudo-exhaustive TPG

bull Constructionndash Step 1 Backbone generationndash Step 2 Tree growing

Source Rau et al ITCrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 420

「DIP概論」- IP Testing

Backbone Generationbull Step 1 Use a selected primitive feedback

polynomial to construct the LFSR portionbull Step 2 Based on the LI constraint include

as many PIs or bscs as possible to a shift register(SR) chain connected to the LFSR with as little routing overhead as possibleThe constructed LFSR and SR portion is called the Backbone

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 421

「DIP概論」- IP Testing

Example of Backbone Generation (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 422

「DIP概論」- IP Testing

Example of Backbone Generation (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 423

「DIP概論」- IP Testing

Tree Growing

bull Based on the LI constraint try to connect isolated PIs or BSCs to the backbone with as little routing overhead as possible

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 424

「DIP概論」- IP Testing

Example of Tree Growing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 425

「DIP概論」- IP Testing

XOR-Tree Generation

bull There may be PIs or BSCs which can not be included in the scan tree after the backbone generation and tree growing processesndash Because the LI requirement can not be

satisfiedndash Referred to as the linear dependent (LD)

problem

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 426

「DIP概論」- IP Testing

Overcoming The LD Problem

bull How to overcome the LD problem using as few XORs as possiblendash Use nonzero-terms of polynomial to directly

synthesize the required residuesndash Eg Under polynomial f(x) = x3 + x + 1 we can

synthesize R4 (x2 + x) with ldquoR2 (x2) xor R1(x)rdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 427

「DIP概論」- IP Testing

Looking for Proper Residues

Rj

XOR network with f(x)210 k-1

R0 R1 R2 Rk-1

i

Ri

jN

bull [Theorem] There must exist a residue Rj j gt i to avoid the LD problem

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 428

「DIP概論」- IP Testing

Residue Replacementbull Synthesize an XOR network from the exited

backbone and tree branches for shorter routingdistance oplus

backbone

branches

isolated oplus

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 429

「DIP概論」- IP Testing

Residue Replacement Process

bull Under the polynomial f(x) = x4 + x3 +1 We can synthesize residue R10 with the existent residues R5 and R6 as follows

R10 = R9 + R7

= R8 + R6 + R7

= R7 + R5 + R6 + R7

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 430

「DIP概論」- IP Testing

Simulation Results of TLS (12) (n m k) Ckt Before Partitioning After Partitioning C432 (36 7 36) (56 27 20) C499 (41 32 41) (49 40 14) C880 (60 26 45) (75 41 20) C1355 (41 32 41) (49 40 14) C1908 (33 25 33) (47 39 19) C2670 (233 140 122) (262 169 20) C3540 (50 22 50) (118 90 20) C5315 (178 123 67) (225 170 20) C6288 (32 32 32) (87 87 20) C7552 (207 108 194) (296 197 20)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 431

「DIP概論」- IP Testing

Simulation Results of TLS (22)

PIsBSCs [16] Ckt (n m k) CPU time Backbone Branches Isolated XORs XORs

C432 (56 27 20) 056 44 12 0 0 9 C499 (49 40 14) 054 48 1 0 0 11 C880 (75 41 20) 064 69 6 0 0 13 C1355 (49 40 14) 277 47 2 0 0 11 C1908 (47 39 19) 241 41 4 2 3 10 C2670 (262 169 20) 1374 247 15 0 0 7 C3540 (118 90 20) 3482 72 45 1 6 27 C5315 (225 170 20) 7566 186 39 0 0 36 C6288 (87 87 20) 25937 59 25 3 15 25 C7552 (296 197 20) 3359 216 80 0 0 31

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 432

「DIP概論」- IP Testing

Solutions of BIST (12)

bull Exhaustivepseudoexhaustive testingbull Weighted pseudorandom testingbull Mixed mode test pattern generation

ndash Pseudorandom test patterns firstndash Deterministic test patterns followed

bull Donrsquot consider the fact that the test pattern are given in a form of testcubes with unspecified inputs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 433

「DIP概論」- IP Testing

Solutions of BIST (22)

bull Reseeding ndash Change the seeds as needed

bull Reprogram the characteristic polynomialbull Combination of two or more of the above

methods

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 434

「DIP概論」- IP Testing

Notes

Chapter 9

Boundary-Scan Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 436

「DIP概論」- IP Testing

Board Level Testing

Sn m

Sn m

n

mMUXm

TNIsolate one module (chip) from the others

Test chips and chip interconnectionsRaise the concept of boundary-scan testing

R1

R2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 437

「DIP概論」- IP Testing

History of Boundary-Scan Testingbull 1988 Joint Test Action Group (JTAG)

proposed Boundary-Scan Standardbull 1990

ndash Boundary-Scan approved as IEEE 11491ndash Boundary-Scan Description Language (BSDL)

proposed by HPbull 1993 11491a approved to replace 11491bull 1994 11491b BSDL approved

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 438

「DIP概論」- IP Testing

1149111491a

bull Testing of digital chips and interconnections between chips

bull Widely used in industryndash Eg advance CPU HDTV satellite systemhelliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 439

「DIP概論」- IP Testing

Chip Architecture for 11491

TAPC

MUX

Sin

Sout

MRsInstruction Reg

Bypass Reg

Application Logic

OptionalBIST registersScan registers

MRs Miscellaneous Registers Boundary-Scan Cell

Boundary-Scan Path

TDITMS

TCKTDO

TAP

IO Pad

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 440

「DIP概論」- IP Testing

A Typical Boundary-Scan Cell (13)

0

1

MUX

S QA

Q1D

QB

Q1D

0

1

MUX

S

INOUT

SOUT

SIN

ShiftDR

ClockDR UpdateDR

Mode_Control

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 441

「DIP概論」- IP Testing

bull As an input boundary-scan cell INcorresponds to a chip input pad OUT is tied to a normal input to the application logic

bull As an output boundary-scan cell IN corresponds to the output of the application logic OUT is tied to an output pad

A Typical Boundary-Scan Cell (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 442

「DIP概論」- IP Testing

bull Operation Modesndash Normal Mode Mode_Control = 0

bull IN -gt OUTndash Scan Mode ShiftDR = 1 ClockDR

bull TDI-gthellip-gtSIN-gtSOUT-gthellip-gtTDOndash Capture Mode ShiftDR = 0 ClockDR

bull IN-gtQA

ndash Update Mode Mode_Control = 1 UpdateDRbull QA-gtOUT

A Typical Boundary-Scan Cell (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 443

「DIP概論」- IP Testing

Board And Chip Testing

Application Logic 2

Application Logic 3 Application Logic 4

TDI

TDO

Application Logic 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 444

「DIP概論」- IP Testing

Board And Chip Test Modes

bull External Test Modendash Test the interconnection between the chips of

boardbull Sample Test Mode

ndash Sample and shift out or shift in data without interfering the normal operation of board

bull Internal Test Modendash Test the chips of board

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 445

「DIP概論」- IP Testing

External Test Mode (14)

Chip 1

Chip 2

TDI

TDO

Shift-DR(Chip 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 446

「DIP概論」- IP Testing

External Test Mode (24)

Chip 1

Chip 2

TDI

TDO

Update-DR(Chip 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 447

「DIP概論」- IP Testing

External Test Mode (34)

Chip 1

Chip 2

TDI

TDO

Capture-DR(Chip 2)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 448

「DIP概論」- IP Testing

External Test Mode (44)

Chip 1

Chip 2

TDI

TDO

Shift-DR(Chip 2)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 449

「DIP概論」- IP Testing

Sample Test Mode (12)

0

1

MUX

S QA

Q1D

QB

Q1D

0

1

MUX

S

INOUT

SOUT

SIN

ShiftDR

ClockDR UpdateDR

Mode_Control

Sample

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 450

「DIP概論」- IP Testing

Sample Test Mode (22)

0

1

MUX

S QA

Q1D

QB

Q1D

0

1

MUX

S

INOUT

SOUT

SIN

ShiftDR

ClockDR UpdateDR

Mode_Control

Shift inShift out

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 451

「DIP概論」- IP Testing

Internal Test Mode (12)

Chip 1TDI

Shift-DR

TDO

Chip 1TDI

Update-DR

TDO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 452

「DIP概論」- IP Testing

Internal Test Mode (22)

Chip 1TDI

Capture-DR

TDO

Chip 1TDI

Shift-DR

TDO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 453

「DIP概論」- IP Testing

Test Bus (12)bull A board supporting 11491 contains a test bus

consisting of at least four signalsndash TDI Test Data Inputndash TDO Test Data Outputndash TMS Test Mode Selectorndash TCK Test Clockndash TRST(optional) Test Reset

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 454

「DIP概論」- IP Testing

Test Bus (22)

bull These signals are connected to a chip via its test-bus portsndash Ring configurationndash Star configuration

bull Each chip is considered to be a slave bus and the bus is assumed to be driven by a bus master

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 455

「DIP概論」- IP Testing

Ring Configuration

TDOTDI

TMSTCK

Busmaster

TDITCKTMSTDO

1

Application chips

TDITCKTMSTDO

2

TDITCKTMSTDO

N

TAPC

Registers

TAPC

Registers

TAPC

Registers

CKTMS

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 456

「DIP概論」- IP Testing

Star Configuration

TDOTDI

TMS1

TCK

Busmaster

TDITCKTMSTDO

1

Application chips

TDITCKTMSTDO

2

TDITCKTMSTDO

N

TMSN

TMS2

TAPC

Registers

TAPC

Registers

TAPC

Registers

CKTMS

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 457

「DIP概論」- IP Testing

Test-Bus Circuitry (12)

bull The (on-chip) test-bus circuitry allows access to and control of the test features of a chip consisting of four main elementsndash Test access port(TAP)ndash TAP controller(TAPC)ndash A scannable instruction register and associated

logicndash A group of scannable test data registers(TDRs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 458

「DIP概論」- IP Testing

Test-Bus Circuitry (22)Boundary-scan register

Bypass registers

M

U

X

Decoding logic MUX

TDOTMS

TCK

Test data registers(TDRs)

TDI

optional

optional

Device identification register

User test data register

TAPC

IR clocks and controls

TDR clocks and controls

SelectEnable

OutputBuffer

Instruction register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 459

「DIP概論」- IP Testing

TAPC

bull A synchronous finite state machine with 16statesndash Inputs TCK TMSndash Outputs ShiftDR ClockDR UpdateDR ShiftIR

ClockIR UpdateIR Select Enable TCK (optional) TRST

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 460

「DIP概論」- IP Testing

States of TAPC (12)bull Test-Logic-Reset normal modebull Run-TestIdle wait for a internal test such

as BISTbull Select-DR-Scan initial a scan-data

sequence for the selected registersbull Capture-DR load data in parallelbull Shift-DR load data in serialbull Exit1-DR finish phase-1 shifting of data

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 461

「DIP概論」- IP Testing

States of TAPC (22)bull Pause-DR temporarily halt the scan

operation to allow the bus master to reload datandash Necessary during the transmission of long test

sequencesbull Exit2-DR finish phase-2 shifting of databull Update-DR parallel load from associated

shift registers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 462

「DIP概論」- IP Testing

TMS = 1

TMS = 0

TMS = 0

TMS = 1

TMS = 0

TMS = 1

TMS = 1 TMS = 0

TMS = 0

TMS = 0

TMS = 1

State Diagram of TAPCTest-Logic-Reset

Run-testIdle

TMS = 1TMS = 0

TMS = 0

TMS = 1 TMS = 1 TMS = 1

Control of data registers Control of instruction register

Capture-DR

Shift-DR

Exit1-DR

Pause-DR

Exit2-DR

Update-DR

Select-DR-Scan Select-IR-Scan

Capture-IR

Shift-IR

Exit1IR

Pause-IR

Exit2-IR

Update-IR

TMS = 1

TMS = 0

TMS = 0

TMS = 1

TMS = 0

TMS = 1

TMS = 1 TMS = 0

TMS = 0

TMS = 0

TMS = 1

TMS = 0

TMS = 1

TMS = 0

TMS = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 463

「DIP概論」- IP Testing

Test Data Registers

bull Test Data Registers(TDRs)ndash Boundary-scan registersndash Bypass register(1-bit)ndash Device Identification registersndash Registers that are part of the application logic

itself

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 464

「DIP概論」- IP Testing

bull Instruction Register(IR)ndash Shift in a new instruction while holding the

current instruction fixed as its output portsndash Specify operations to be executedndash Select TDRs

bull Each instruction enables a single serial test-data register path between TDI and TDO

Instruction Register and Instructions (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 465

「DIP概論」- IP Testing

Instruction Register and Instructions (22)

bull Instructionsndash Mandatory

bull BYPASS to reduce the length of the scan pathbull EXTEST external test modebull SAMPLE sample test mode

ndash Recommendedbull INTEST internal test modebull RUNBIST for the Run-TestIdle State

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 466

「DIP概論」- IP Testing

BYPASS (12)

Bypass register

TAPC

TDOTMS TCKTDI

Application Logic

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 467

「DIP概論」- IP Testing

BYPASS (22)

Bypass register

TAPC

TDI

Application Logic

Bypass register

TAPC

TDO

Application Logic

1 2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 468

「DIP概論」- IP Testing

Summaries of Boundary-Scan Operations

bull Instructions are sent serially over TDI into the instruction register

bull Selected test circuitry is configured to respond to the current instruction

bull Test instruction is to be executedbull Test results are shifted out through TDO

new test data on TDI may be shifted in at the same time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 469

「DIP概論」- IP Testing

bull Now the IEEE 11491b standardbull Purposes (12)

ndash To provide a standard description language for boundary scan devices

ndash To simplify the design work for boundary scan ndashautomated synthesis is possible

ndash To promote consistency throughout ASIC designers device manufacturers foundries test developers and ATE manufacturers

Boundary Scan Description Language (BSDL) (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 470

「DIP概論」- IP Testing

Boundary Scan Description Language (BSDL) (22)

bull Purposes(22)ndash For easy incorporation into software tools for

test generation analysis and failure diagnosisndash To reduce possibility of human error when

employing boundary scan in a design

Chapter 10

Memory Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 472

「DIP概論」- IP Testing

Fault Models (13)bull Stuck-at fault (SAF)

ndash The logic value of a cell or a line is always 0 or 1

bull Transition fault (TF)ndash A cell or a line that fails to undergo a 0rarr1 or

a 1rarr0bull Coupling fault (CF)

ndash A write operation to one cell changes the contents of a second cell

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 473

「DIP概論」- IP Testing

Fault Models (23)

bull Neighborhood Pattern Sensitive Fault (NPSF)ndash The content of a cell or the ability to change its

content is influenced by the contents of some other cells in the memory

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 474

「DIP概論」- IP Testing

Fault Models (33)

bull Address Decoder Fault (AF)ndash Any fault that affects address decoder

bull With a certain address no cell will be accessedbull A certain cell is never accessedbull With a certain address multiple cells are accessed

simultaneouslybull A certain cell can be accessed by multiple addresses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 475

「DIP概論」- IP Testing

Memory Chip Test Algorithms

bull Traditional testsbull Tests for SAFs TFs and CFsbull Tests for NPSFs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 476

「DIP概論」- IP Testing

Traditional TestsAlgorithms Test length Order

n is the number of bits of the memory array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 477

「DIP概論」- IP Testing

Test Time as A Function of Memory Size

Cycle time 10 nsn is the number of bits of the memory array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 478

「DIP概論」- IP Testing

Notation of March Test Algorithms

bull uArr address 0 to address n-1bull dArr address n-1 to address 0bull either waybull w0 write 0bull w1 write 1bull r0 read a cell whose value should be 0bull r1 read a cell whose value should be 1

hArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 479

「DIP概論」- IP Testing

March Test Algorithm MATS

bull Modified Algorithmic Test Sequencendash (w0) (r0 w1) (r1)

Step 1 write 0 to all cellsStep 2 for each cell

read 0 and write 1Step 3 read 1 from all cells

hArr hArr hArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 480

「DIP概論」- IP Testing

Other March Test Algorithms (13)

bull MATS+ndash (w0) uArr(r0 w1) dArr(r1 w0)

bull Marching 10ndash (w0) uArr(r0 w1 r1) dArr(r1 w0 r0)

(w1) uArr(r1 w0 r0) dArr(r0 w1 r1)bull MATS++

ndash (w0) uArr(r0 w1) dArr(r1 w0 r0)

hArrhArr

hArrhArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 481

「DIP概論」- IP Testing

bull MARCH Xndash (w0) uArr(r0 w1) dArr(r1 w0) (r0)

bull MARCH C-ndash (w0) uArr(r0 w1) uArr(r1 w0)

dArr(r0 w1) dArr(r1 w0) (r0)bull MARCH A

ndash (w0) uArr(r0 w1 w0 w1) uArr(r1 w0 w1)dArr(r1 w0 w1 w0) dArr(r0 w1 w0)

Other March Test Algorithms (23)

hArr hArr

hArr

hArr

hArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 482

「DIP概論」- IP Testing

bull MARCH Yndash (w0) uArr(r0 w1 r1) dArr(r1 w0 r0) (r0)

bull MARCH Bndash (w0) uArr(r0 w1 r1 w0 r0 w1) uArr(r1 w0 w1)dArr(r1 w0 w1 w0) dArr(r0 w1 w0)

Other March Test Algorithms (33)

hArrhArrhArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 483

「DIP概論」- IP Testing

Tests for FaultsAlgorithms Test Length Fault CoverageMATS 4n Some AFs SAFsMATS+ 5n AFs SAFsMarching 10 14n AFs SAFs TFsMATS++ 6n AFs SAFs TFsMARCH X 6n AFs SAFs TFs some CFsMARCH C- 10n AFs SAFs TFs some CFsMARCH A 15n AFs SAFs TFs some CFsMARCH Y 8n AFs SAFs TFs some CFsMARCH B 17n AFs SAFs TFs some CFsn is the number of bits of the memory array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 484

「DIP概論」- IP Testing

NPSF

bull ANPSFndash Active Neighborhood Pattern Sensitive Fault

bull PNPSFndash Passive Neighborhood Pattern Sensitive Fault

bull SNPSFndash Static Neighborhood Pattern Sensitive Fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 485

「DIP概論」- IP Testing

ANPSF

bull n changes rArr b changesndash Eg n 0 rArr 1

b 1 rArr 0

n n nn b nn n n

b base celln neighborhood cells

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 486

「DIP概論」- IP Testing

PNPSF

bull Contain n patterns rArr b cannot changendash Eg n 00000000 rArr b 0 or 1

n n nn b nn n n

b base celln neighborhood cells

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 487

「DIP概論」- IP Testing

SNPSF

bull Contain n patterns rArr b is forced to a certain valuendash Eg n 11111111 rArr b 1

n n nn b nn n n

b base celln neighborhood cells

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 488

「DIP概論」- IP Testing

DC Parametric Testing

bull OpenShort testbull Power consumption testbull Leakage testbull Threshold testbull Output drive current testbull Output short current test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 489

「DIP概論」- IP Testing

AC Parametric Testingbull Output signal

ndash The rise and fall timesbull Relationship between input signals

ndash The setup and hold timesbull Relationship between input and output

signalsndash The delay and access times

bull Successive relationship between input and output signalsndash The speed test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 490

「DIP概論」- IP Testing

Dynamic Faults

bull Recovery faultsndash Sense amplifier recoveryndash Write recovery

bull Retention faultsndash Sleeping sicknessndash Refresh line stuck-at ndash Static data loss

bull Bit-line precharge voltage imbalance faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 491

「DIP概論」- IP Testing

BIST Pros And Consbull Advantages

ndash Minimal use of testersndash Can be used for embedded RAMs

bull Disadvantagesndash Silicon area overheadndash Speed slow access timendash Extra pins or multiplexing pinsndash Testability of the test hardware itselfndash A high fault coverage is a challenge

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 492

「DIP概論」- IP Testing

Architecture of a DRAM Chip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 493

「DIP概論」- IP Testing

Typical Memory BIST Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 494

「DIP概論」- IP Testing

Multiple Memory BIST Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 495

「DIP概論」- IP Testing

Serial Testing of Embedded RAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 496

「DIP概論」- IP Testing

Built-In Self-Repair

bull BIST can only identify faulty chipbull Laser cut may be infeasible in some cases

eg field testingbull Two types

ndash Use fault-array comparatorbull Repair by cellbull Repair by column (or row)

ndash Using switch array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 497

「DIP概論」- IP Testing

BIST Using Switch Array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 498

「DIP概論」- IP Testing

BIST Using Fault-Address Comparison

Chapter 11

SOC Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 500

「DIP概論」- IP Testing

System-on-A-Chip (SOC)bull Integrate all the function blocks of a

complete system into a single chip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 501

「DIP概論」- IP Testing

Challenges vs Solutions

bull Challengesndash Capacityndash Design productivity gapndash Time-to-market (TTM)ndash helliphellip

bull Solutionsndash Core-based designndash Platform-based designndash helliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 502

「DIP概論」- IP Testing

Core-Based SOC Design

bull Coresndash Pre-defined pre-verified complex function

blocks also termed Virtual Components (VCs) or Intellectual Properties (IPs)

bull Core-based SOC designndash Reuse existed cores to implement a complete

system in a single chiprArrReduce TTM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 503

「DIP概論」- IP Testing

SOC Components

bull Simple coresbull Complex coresbull User-define logic (UDL) bull Interconnect logic and wirerArr SOC testing should cover all the

components

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 504

「DIP概論」- IP Testing

SOC Design Flow

bull SOC components -- cores are only manufactured and tested in the final systemndash It is quite difficult to test the

individual coresbull Cores usually are protected

by laws

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 505

「DIP概論」- IP Testing

Core-Based Test Challenges

bull Distributed design and test developmentbull Test access to embedded coresbull SOC-level test optimization

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 506

「DIP概論」- IP Testing

Distributed Design and Test Development

bull Core providersndash Core-internal design DFT

bull Test pattern generation for coresbull Deliver cores with the complete tests

bull Core usersndash Chip-level DFT

bull Test pattern generation for chipsndash Reuse of core-level test patternsndash Additional test patterns for non-core circuitry

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 507

「DIP概論」- IP Testing

Test Access to Embedded Cores (12)

bull Many cores are (deeply) embedded rArr No direct (functional) access to core terminalsndash Other cores between SOC pins and core

terminalsndash Often core terminals gt SOC pins

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 508

「DIP概論」- IP Testing

Test Access to Embedded Cores (22)

bull To test cores as stand-alone unitsndash Provide core test access paths from SOC pins to

core terminalsndash Isolate cores such that external influence do not

hamper the core testndash Provide test access means for outward-facing

tests

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 509

「DIP概論」- IP Testing

SOC-Level Test Optimizationbull How are embedded cores tested

ndash Stand-alone vs merged with other modulesbull Optimization of test access infrastructure

ndash Test quality and bandwidth vs area and costbull Optimization of test execution and

schedulingndash Trade-offs between test vector count and

application time power dissipation and area

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 510

「DIP概論」- IP Testing

Solutions to Challenges

bull Distributed design and test developmentndash Standardized set of deliverables

bull Test access to embedded coresndash Standardized on-chip test access hardwarendash Tools for test translation

bull SOC-level test optimizationndash Tools to evaluate trade-offs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 511

「DIP概論」- IP Testing

Test Access Architecture

bull Test pattern sourcesinkndash Generates test patternscompares test responses

bull Test access mechanism (TAM)ndash Transports test patternsresponses tofrom CUT

bull Core test wrapperndash Provides switching of core terminals to functional IO

or TAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 512

「DIP概論」- IP Testing

Off-Chip SourceSinkbull pins determines bandwidthbull More TAM area

ndash Requires expensive ATE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 513

「DIP概論」- IP Testing

On-Chip SourceSinkbull Close to core-under-test (CUT)bull Less TAM area

ndash Requires lightweight ATEbull BIST IP area

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 514

「DIP概論」- IP Testing

TAM

bull Tasksndash Transport test patterns from source to CUTndash Transport responses from CUT to sink

bull Design parametersndash Width transport capacityndash Length transport distance

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 515

「DIP概論」- IP Testing

TAM Widthbull Transport capacity

ndash Minimum meet core testrsquos data ratendash Maximum bandwidth of sourcesink

bull Trade-offsndash Test qualityndash Test application time ndash Silicon area cost

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 516

「DIP概論」- IP Testing

TAM Lengthbull Physical distance

ndash On-chip sourcesink may shorten TAM lengthndash Sharing may shorten TAM length

bull Share TAM with functional hardwarebull Go through vs pass around other modulesbull Share TAMs between multiple cores

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 517

「DIP概論」- IP Testing

TAM Implementationsbull Multiplexed accessbull Reused system bus (AMBA)bull Transparency (Macro Test SOCET)bull Boundary Scan (JTAG partial-scan variants)bull Scalable TAMs (Test Bus Test Rail)

On one SOC different TAMs may co-exist

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 518

「DIP概論」- IP Testing

Multiplexed Access (13)

bull Connect wires to all core terminals and multiplex onto existing IC pins

bull Common practice for embedded memories

bull Also used for block-based ASICs

MUX

control

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 519

「DIP概論」- IP Testing

Benefits of Multiplexed Access

bull Each embedded core can be tested as stand-alone device

bull Translation from core-level test into IC-level test is simple

bull Simple silicon debug and diagnosis

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 520

「DIP概論」- IP Testing

Drawbacks of Multiplexed Accessbull Not scalable

ndash terminals of one core gt IC pinsbull Parallelserial conversion rArr at-speed testing is

difficult

ndash Too many embedded cores bull High area costs for connecting and multiplexing all

coresbull Control circuitry for the multiplexer grows more and

more complex

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 521

「DIP概論」- IP Testing

Analysis of Multiplexed Access (13)bull Let K be the number of SOC pins available

for scan test and M be the number of control pinsrArrThe number of scan chains as TAM N =

bull For core iisinC where C is the core setndash pi the number of test patternsndash fi the number of scannable flip-flops

bull In a balanced way each chain has flip-flops

ndash ti the test time

( )⎥⎥

⎢⎢

⎢ minus2MK

⎥⎥⎥

⎢⎢⎢

Nf i

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 522

「DIP概論」- IP Testing

bull The test time ti of core i

can be reduced as

Analysis of Multiplexed Access (23)

pNfp1pN

f it ii

iiibull⎥⎥⎥

⎢⎢⎢

⎡++bull

⎥⎥⎥

⎢⎢⎢

⎡= bull

p1Nf1pt i

iii bull+bull+=

⎥⎥⎥

⎢⎢⎢

⎡⎟⎠⎞⎜

⎝⎛

Scan-In Normal Scan-Out

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 523

「DIP概論」- IP Testing

bull The total test time T of the SOC

can be reduced as

Analysis of Multiplexed Access (33)

( )sumisin

⎟⎠

⎞⎜⎝

⎛+⎥⎥⎤

⎢⎢⎡bull+=

Cip

Nf1pT i

ii

⎥⎥

⎤⎢⎢

isin+sum

isin⎟⎠

⎞⎜⎝

⎛+⎥⎥⎤

⎢⎢⎡bull=

Nf

CiCip

NfpT i

ii

i max

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 524

「DIP概論」- IP Testing

Reused System Busbull Many SOCs have an on-chip system bus

which connects to most cores especially the platform-based system

bull Reuse of the system bus as TAM is cheap wrt silicon area

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 525

「DIP概論」- IP Testing

An Example of Reused System Busbull ARMrsquos Advanced Microcontroller Bus

Architecture (AMBA)ndash The 32-bit system bus is used as TAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 526

「DIP概論」- IP Testing

Analysis of Reused System Busbull Benefits

ndash Low area cost for TAMndash Translation form core-level test into IC-level

test is independent of SOC configurationbull Drawbacks

ndash Not scalablebull Fixed bus width does not allow trade-offs

(area quality test time)ndash Functional test approach of ARM core

dominates overall IC test approachbull Difficult to integrate scan design or BIST

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 527

「DIP概論」- IP Testing

Transparencybull Transparent path

ndash Path from input to output which propagates data without information loss

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 528

「DIP概論」- IP Testing

Examples of Transparency

bull Scan chains bull Arithmetic functions add + 0 mult 1bull Embedded memories SRAM DRAM

ROMbull Basic gates AND OR INV MUX

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 529

「DIP概論」- IP Testing

Analysis of Transparency (12)

bull Benefitsndash Low area cost for TAM in case of reuse of

existing hardwarebull Drawbacks (12)

ndash Corersquos test access depends on other modulesndash Translation from core-level test into IC-level

test might be complicated eg latencies of cores

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 530

「DIP概論」- IP Testing

Analysis of Transparency (22)bull Drawbacks (22)

ndash During core design core environments are unknown

bull Insufficient transparency ndash core user has to add TAMs

bull Too much transparency ndash area costbull Multiple versions ndash expensive for core provider and

core user

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 531

「DIP概論」- IP Testing

Macro Test Philips Research

bull Generic approach for testing embedded modules

bull Originally focused on defect-oriented testing

bull Approach and tools proved useful for core test

bull May take advantage of transparent paths through modules

defect-oriented testing A type of testing where the nature of the test ismeant to directly exercise detect and isolate defects and defect effects rather than abstract fault models

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 532

「DIP概論」- IP Testing

SOCET PrincetonNEC

bull Core provider is responsible for testable and transparent cores

bull Design-for-transparency techniquebull Multiple versions of cores with different

area and transparency latency ndash Selection and trade-offs at SOC level

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 533

「DIP概論」- IP Testing

Boundary Scan (12)

bull Boundary Scan Test solves board-level interconnect testndash IEEE 11491 standard (lsquoJTAGrsquo)ndash ICs are components in SOB

bull Cores are components in SOC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 534

「DIP概論」- IP Testing

Boundary Scan (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 535

「DIP概論」- IP Testing

Examples of Boundary Scanbull Various Texas Instruments papers have

suggested the use of Boundary Scan as TAM

bull Partial Boundary Scan Ringndash No scan flip-flops on those inputs for which

stimuli can be justified from preceding logicndash ATPG techniques to find this out

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 536

「DIP概論」- IP Testing

Benefits of Boundary Scan

bull Existing well-known and well-documented standard

bull Reuse of IC-level BIST implementations augmented with private instructions for test debug emulation etc

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 537

「DIP概論」- IP Testing

Drawbacks of Boundary Scan

bull Fixed 1-bit TAM width does not allow trade-offs between silicon area test quality and test time

bull Intertwined test control and test data due to lack of pins

bull Multiple TAP controllers on one IC is against IEEE 11491 standard

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 538

「DIP概論」- IP Testing

Dedicated Scalable TAMs (12)bull Dedicated TAM

ndash Not through other modules or over existing buses bull Scalable TAM

ndash TAM width is variable to be chosen by core provideruser

bull Core user determines IC-level architecturendash How many TAMs of which widthndash Which configuration (bus rail etc)ndash Which core connects to which TAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 539

「DIP概論」- IP Testing

Dedicated Scalable TAMs (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 540

「DIP概論」- IP Testing

Example I of Dedicated Scalable TAMs

Test Bus

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 541

「DIP概論」- IP Testing

Example II of Dedicated Scalable TAMs

TestRail

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 542

「DIP概論」- IP Testing

Analysis of Dedicated Scalable TAMs (12)

bull Benefitsndash Guaranteed test access

bull Accessibility of a core does not depend on neighboring circuitry

ndash Fast and easy test expansion bull No difficult path-finding through complicated

circuitry ndash Enable ldquoplug-n-playrdquo connection at IC levelndash Allow the trade-offs between area quality and

test time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 543

「DIP概論」- IP Testing

Analysis of Dedicated Scalable TAMs (22)bull Costs

ndash Design timebull Can be minimized through standardization and

automation

ndash Silicon area ndash sharing with existing hardware is more difficult

bull But transistors are not as expensive as they used to be

ndash Performance impact bull Can be avoided if taken into account upfront

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 544

「DIP概論」- IP Testing

Daisychain Architecturecontrol

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 545

「DIP概論」- IP Testing

Analysis of Daisychain Architecture (12)

bull Reassign the indices of the cores according to a non-decreasing number of patternsndash We can scan in a pattern in all cores p1 times

pNf

1p11

C

1j

j +⎥⎥

⎤⎢⎢

⎡+ sum

=⎟⎠⎞⎜

⎝⎛

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 546

「DIP概論」- IP Testing

bull Afterwards we put core 1 in by-pass mode and test next p2 ndash p1 patterns for the other cores

bull The total test time T of the SOC is

Analysis of Daisychain Architecture (22)

⎟⎠⎞⎜

⎝⎛

=⎟⎠⎞⎜

⎝⎛ minus+

⎟⎟⎠

⎞⎜⎜⎝

⎛sum ⎥

⎤⎢⎢

⎡+minus pp

Nf

1pp 1212

C

2j

j

( ) 1ppNf

1ipp 0C

C

1i

C

ij

j1ii minus=+⎟

⎟⎠

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛sum ⎥

⎤⎢⎢

⎡+minusminussum

= =minus

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 547

「DIP概論」- IP Testing

Distribution ArchitectureScan Enables

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 548

「DIP概論」- IP Testing

Si scan clocksli length of scan chains

Reduction of Idle TimeNormal

A single scan enable

Multiple scan enables

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 549

「DIP概論」- IP Testing

Analysis of Distribution Architecture

bull We define ni to be the number of scan chains of core i

bull The total test time T of the SOC is

pnf1pt i

iii

i++=

⎥⎥⎥

⎢⎢⎢

⎡⎟⎠⎞⎜

⎝⎛

( ) ⎟⎟⎠

⎞⎜⎜⎝

⎛+⎥⎥

⎤⎢⎢

⎡+

isinp

nf1p i

i

iiCi

max

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 550

「DIP概論」- IP Testing

The Scan Chain Distribution Problem (SCDP)bull Find a distribution of a given number of

scan chains over the cores such that the total test time is minimized

FF

FF

core

FF

FF

core

A single scan chain Two scan chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 551

「DIP概論」- IP Testing

The SCDP Algorithm

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 552

「DIP概論」- IP Testing

Reduction of Scan Controlsbull Distribute as fewer scan controls as possible

over the cores such that minimal time resulted form SCDP is still maintainedndash Constructing an additional scan chain needs to

remove two scan-control signalsndash Some cores are controlled by the same scan-

control signalbull An efficient algorithm has been presented

by Aerts et al ndash ITCrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 553

「DIP概論」- IP Testing

Core Test Wrapperbull Interface between the CUT and the rest of

chipndash Provide switching capability between modes

bull Normal functional operationbull InTest inward-facing core test modebull ExTest outward-facing interconnect test modebull Bypass

ndash Width adaptationbull Serial-to-parallel conversion at core inputsbull Parallel-to-serial conversion at core outputs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 554

「DIP概論」- IP Testing

Functional-Only Connections

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 555

「DIP概論」- IP Testing

Wrapper + TAM

Daisychain

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 556

「DIP概論」- IP Testing

Wrapper Modes (14)

Normal Operation

Normal

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 557

「DIP概論」- IP Testing

Wrapper Modes (24)

InTest

InTest

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 558

「DIP概論」- IP Testing

Wrapper Modes (34)

ExTest

ExTest

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 559

「DIP概論」- IP Testing

Wrapper Modes (44)

Bypass

Bypass

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 560

「DIP概論」- IP Testing

Reasons for Modular Testingbull Test Quality

ndash Different circuit structures such as random logic memory hellip require different test methods

bull Blackboxed Embedded Corendash Implementation is not known forced to use the tests

developed by core provider

bull Divide-and-conquerndash Very large SOCs are intractable for ATPG or fault

simulation tools

bull Test Reusendash Module will be reused in other designs

Chapter 12

Introduction to IEEE P1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 562

「DIP概論」- IP Testing

IEEE P1500 lsquoSECTrsquo (12)bull Facilitate test interoperability of embedded

cores to improve efficiency of core creators integrators and manufacturersndash Standardize interface between core provider and

core userbull Core test information modelbull Test access to embedded cores

ndash Do not standardizebull Corersquos internal test methods and DFTbull Chip-level test integration and optimization

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 563

「DIP概論」- IP Testing

IEEE P1500 lsquoSECTrsquo (22)bull Membership of IEEE P1500 is on an individual

basis information and meetings are open to everyonendash httpgrouperieeeorggroups1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 564

「DIP概論」- IP Testing

IEEE P1500 Main Componentsbull Standardized scalable core test wrapperbull Core test information model

ndash Described in standardized Core Test Language (CTL)bull Two compliance levels

ndash IEEE 1500 Unwrappedndash IEEE 1500 Wrapped

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 565

「DIP概論」- IP Testing

IEEE P1500 for Mergeable Cores (13)bull Mergeable cores

ndash Cores that can be merged with surrounding circuitry to form one unit for testing

ndash Mergeable cores do not need to be mergedbull Eg Digital logic at RT- or gate-level

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 566

「DIP概論」- IP Testing

IEEE P1500 for Mergeable Cores (23)

MergeableEg digital logicAt RTgate-level

Non-MergeableEg layoutencrypted memory

Before integration

MergedCoremodule tested as part of its integration environment

Non-MergedCoremodule tested as aseparate entity with test patternsdeveloped for the coremoduleas a stand-alone unit

After integration

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 567

「DIP概論」- IP Testing

bull Challengesndash Most DFT insertion and test pattern generation take

place at gate-levelndash Core test cannot be re-used once core is mergedndash What to standardize for RTL- and other merged

cores to facilitate test interoperability

IEEE P1500 for Mergeable Cores (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 568

「DIP概論」- IP Testing

Standardized Wrapperbull IEEE P1500 is a core-level standard

ndash Implementation of SourceSink depends on test methods

ndash Implementation of TAMs depends on SOCndash Note IEEE P1500 only standardizes the

wrapper

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 569

「DIP概論」- IP Testing

Wrapper Functionsbull Transparent functional modebull Test access

ndash Inward-facing for core-internal tests (InTest)ndash Outward-facing for core-external tests (ExTest)

bull Switchable connection between core and TAM(s)ndash One lsquosingle-bit TAM Plugrsquo is mandatoryndash Zero or more lsquoMulti-bit TAM Plugsrsquo are optional

bull Optional lsquowidth adaptationrsquo for TAM plugs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 570

「DIP概論」- IP Testing

The Wrapper Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 571

「DIP概論」- IP Testing

Wrapper Elements (12)bull Wrapper Instruction Register (WIR)

ndash Controls operation of wrapperndash Mandatory optional and user-defined instructions ndash Implementation requires shiftupdate registerndash Controlled directly from WIPndash Instructions are loaded via WSI-WSO

bull Wrapper Bypass Register (WBY)ndash Mandatory bypass for serial TAM

(between WSI-WSO)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 572

「DIP概論」- IP Testing

Wrapper Elements (22)bull Wrapper Boundary Register (WBR)

ndash Controllabilityobservability on core terminalsndash Built from library of wrapper cellsndash In test mode configured to one or multiple test

access chainsndash Test data are loaded from WSI-WSO or

WPI-WPO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 573

「DIP概論」- IP Testing

Wrapper Interface (12)bull Functional inputsoutputs

ndash Number names and functions match the corersquos functional inputsoutputs

bull Wrapper Interface Port (WIP)ndash 6-bit control port for WIR and Wrapper

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 574

「DIP概論」- IP Testing

Wrapper Interface (22)bull Serial interface WSI-WSO

ndash Load instructions into WIRndash Load test data into selected wrapper registers

(WBR WBY)bull Parallel interface WPI-WPO

ndash Load test data into WBRndash User-defined width

bull Zero or more parallel ports (typical one)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 575

「DIP概論」- IP Testing

Wrapper Interface Register (WIR)bull Serial shiftupdate registerbull Scalable length

ndash Mandatory bits for mandatory wrapper modesndash Optional bits for optional wrapper modesndash User-defined bits

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 576

「DIP概論」- IP Testing

Wrapper Interface Port (WIP)bull Functions

ndash Control the operation of the WIRndash Control together with the WIR instruction the operation of the

wrapperbull Signals

WRCK lsquoWrapper Clockrsquo dedicated P1500 clock signal for WIR WBY optionally WBR

WRSTN lsquoWrapper Resetrsquo dedicated P1500 reset (asynchronous active-low) signal for WIR puts wrapper in Normal mode

SelectWIR (De-)selects WIR as register between WSI-WSO

CaptureWR Enables capture operation for selected register

ShiftWR Enables shift operation for selected register

UpdateWR Enables update operation for selected register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 577

「DIP概論」- IP Testing

Basic Wrapper Cellbull Modes

ndash Normal mode normal = 1ndash Shift mode shift = 1

bull Controllabilityndash normal = 0 =gt value in SE is driven onto cfo

bull Observabilityndash shift = 0 =gt value at cfo is captured into SE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 578

「DIP概論」- IP Testing

Wrapper Cell Optionsbull SEs can be shared with functional SEsbull Capture in Update SE instead of Shift SEbull Update SE that prevents ripple-through while

shiftingbull Multiple shift SEs for high-speed stimuli bull Mode in which lsquosafersquo value is presented at cfo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 579

「DIP概論」- IP Testing

Wrapper Cell with Only ShiftCapture SE

Dedicated SE Shared SE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 580

「DIP概論」- IP Testing

Wrapper Cell with ShiftCapture + Update SEs

Shared Updated SE

Dedicated SEs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 581

「DIP概論」- IP Testing

Scalable Wrapper Cell

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 582

「DIP概論」- IP Testing

Wrapper Instruction Set

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 583

「DIP概論」- IP Testing

Serial Interface WSI-WSO (12)bull Mandatory serial interface is used for two

purposesndash Wrapper control load instructions into the WIRndash Low-bandwidth test data access to WBR (serial TAM)

bull P1500 envisions concatenated connectionndash Daisychain is a flat interconnection methodndash Supports hierarchical design

bull Consistent interface at every level of hierarchy

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 584

「DIP概論」- IP Testing

Serial Interface WSI-WSO (22)bull Concatenated serial mechanism easy to

connect to IEEE 11491 (JTAG) TAP and TAP Controllerndash Private instructions connect daisychained serial

mechanisms between TDI and TDOndash Cores can be tested and debugged even while

SOC is soldered onto PCB

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 585

「DIP概論」- IP Testing

Parallel Interface(s) WIP-WPO (12)bull Optional parallel interface(s) are used for test

data access to WBR with user-defined scalable bandwidth

bull Optionsndash Zero Low-bandwidth serial interface is only TAMndash One SOC manufacturing test takes place via Parallel

TAM bull Serial TAM is used for loading WIR instructions and

during board-level silicon debugndash Multiple Different core tests need different

bandwidths

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 586

「DIP概論」- IP Testing

bull P1500 supports many SOC-level configurationsndash Multiplexingndash Daisychainndash Distribution

Parallel Interface(s) WIP-WPO (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 587

「DIP概論」- IP Testing

Typical Usage of P1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 588

「DIP概論」- IP Testing

P1500 Wrapper Parameters (12)bull Scalability in the follow parameters

ndash Bandwidthbull Number of WPI-WPO pairs (zero or more)bull Width of the WPI-WPO pairs (if present)

ndash Instructionsbull Optional instructionsbull User-defined instructionsbull OpCodes of instructions

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 589

「DIP概論」- IP Testing

bull WBR functionalityndash Shared or dedicated wrapper cellsndash Shift-only or Shift+Update wrapper cellsndash Storage capacity (one or more bits)ndash Location of capture (in Shift or Update register)ndash Ripple protection (with Update register or gate)ndash lsquoSafe statersquo output values

P1500 Wrapper Parameters (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 590

「DIP概論」- IP Testing

Notes

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 591

「DIP概論」- IP Testing

P1500rsquos Information Model (12)

bull The information model should allow the SOC integrator or automation tools to successfully create a complete test for the SOC

bull The information model is captured in Core Test Language (CTL) a language for expressing test-related information for reusable cores

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 592

「DIP概論」- IP Testing

bull CTL is meant to co-exist and complement information expressed as a netlist

bull The CTL description of a P1500-compliant core allows to ndash Construct a wrapper and an appropriate TAMndash Configure the code to be testedndash Configure the core for its surroundings to be

testedndash Transform core-level into SOC-level test

patterns

P1500rsquos Information Model (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 593

「DIP概論」- IP Testing

IEEE 1450 (STIL)bull IEEE 1450 - Standard Test Interface Language

(STIL) for digital test vector datandash httpgrouperieeeorggroups1450

bull STIL is meant as a common interchange format between EDA test generation and ATE test application ndash STIL is capable of describing digital test vector datandash Focus on large volume of digital data

bull Developed by EDA vendors ATE vendors and IC manufacturers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 594

「DIP概論」- IP Testing

IEEE P14506 (CTL) (12)

bull IEEE P14506 - Core Test Language bull Initially created by and developed within

IEEE P1500 to describe its information modelndash CTL syntax and semantics in IEEE P14506ndash Information model and CTL usage in IEEE

P1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 595

「DIP概論」- IP Testing

IEEE P14506 (CTL) (22)bull CTL uses STIL-like syntax

ndash Test patterns and waveforms are described in STIL

ndash CTL mandates separation of test patterns into test protocol and test data for easy expansion

ndash CTL-specific constructs describe corersquos test modes

ndash CTL-specific constructs describe corersquos integration

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 596

「DIP概論」- IP Testing

STIL - CTL Structure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 597

「DIP概論」- IP Testing

CTL Key Words

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 598

「DIP概論」- IP Testing

Usage of MacroDefs (12)

bull STIL contains the construct MacroDefsndash This can be used for separating test protocol

and data in CTL this separation is mandatory

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 599

「DIP概論」- IP Testing

Usage of MacroDefs (22)bull Typical usage

ndash Voluminous test data is coded in separate CTL file

ndash CTL for lsquo1500-Unwrappedrsquo core references test patterns with a MacroDef applicable for unwrapped core

ndash CTL for lsquo1500-Unwrappedrsquo core references same test patterns but has an updated MacroDefs

ndash SOC-level test again references same test patterns but with yet another MacroDefs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 600

「DIP概論」- IP Testing

Motivation for Dual Compliance Levels (12)

bull Testing an embedded core or module only works if properly isolated from the rest of the SOC and hence requires a wrapper

bull The P1500 wrapper is scalable in many aspects to allow optimization towardsndash Corendash SOC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 601

「DIP概論」- IP Testing

bull In order to provide additional flexibility and support multiple use scenarios P1500 standardizes two separate compliance levels

Motivation for Dual Compliance Levels (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 602

「DIP概論」- IP Testing

Two Compliance Levels (12)

bull IEEE 1500 Unwrappedndash Core does not have a complete IEEE 1500

wrapper functionndash Core has a complete IEEE Information Model

which accurately describes the corersquos tests as well as provide all information on the basis of which the core could be made lsquoIEEE 1500 Wrappedrsquo (either manually or automatically by tools)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 603

「DIP概論」- IP Testing

Two Compliance Levels (22)

bull IEEE 1500 Wrappedndash Core incorporates complete IEEE 1500 wrapper

function ndash Core has a complete Information Model which

accurately describes the corersquos tests as well as the wrapper and how to operate it

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 604

「DIP概論」- IP Testing

P1500 Use Scenario 1 (13)

bull Core provider delivers lsquoIEEE 1500 Unwrappedrsquo corendash The Information Model that comes with it

contains all relevant core test knowledge including core-related data for generation of the IEEE 1500 wrapper

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 605

「DIP概論」- IP Testing

P1500 Use Scenario 1 (23)

bull Core user makes core lsquoIEEE 1500 Wrappedrsquondash Adding IEEE 1500 Wrapperndash Upgrading the Information Model from bare

core terminals to wrapper terminals

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 606

「DIP概論」- IP Testing

P1500 Use Scenario 1 (33)

bull Can take data specific to particular system-chip into account while instantiating the wrapper (eg TAMs width of TAMs rsquosafersquo state)

bull lsquoIEEE 1500 Unwrappedrsquo guarantees fast and reliable route to lsquoIEEE 1500 Wrappedrsquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 607

「DIP概論」- IP Testing

P1500 Use Scenario 2bull Core provider delivers lsquoIEEE 1500

Wrappedrsquo core of which the wrapper is built-to-order on customer specification

bull Similar to Scenario 1 except conversion done by core provider

bull Requires cooperative information exchangebull Core provider might have expertstools for

conversion

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 608

「DIP概論」- IP Testing

P1500 Use Scenario 3 (12)

bull Core provider offers a catalogue of off-the-shelf lsquoIEEE 1500 Wrappedrsquo cores with fixed wrapper parameters

bull Core user selects the core which best matches the system chip needs

bull Allows to integrate wrapper with core in order to minimize costs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 609

「DIP概論」- IP Testing

P1500 Use Scenario 3 (22)

bull Scenario might be popular especially for hard cores

bull Large cataloguendash More work for core providerbut more choice

for core user

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 610

「DIP概論」- IP Testing

Usage of Dual Compliance Levels (12)

bull Full benefits of test interoperability are only obtained from a fully compliant lsquo1500-wrappedrsquo Core

bull Two compliance levels provide two optionsndash Make a core lsquo1500-wrappedrsquo compliant directly ndash Make an intermediate stop at lsquo1500-

Unwrappedrsquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 611

「DIP概論」- IP Testing

bull For this purpose lsquo1500-Unwrappedrsquo will also be fully standardized

Usage of Dual Compliance Levels (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 612

「DIP概論」- IP Testing

SOC Test Creation

bull Distinguish two types of circuitry within SOC ndash IEEE 1500 Wrapped Coresndash lsquoOther Circuitryrsquo

bull Unwrapped coresbull Interconnect logic and wiring

bull IEEE P1500 facilitates SOC test for both types

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 613

「DIP概論」- IP Testing

Test Creation for Compliant Cores (13)

bull Test for IEEE 1500 Wrapped core is delivered with the core in its Information Modelndash No need for core user to know the

implementation details of the core to develop a test

ndash Test re-use

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 614

「DIP概論」- IP Testing

bull Test access to core is guaranteed (provided proper TAM connections are made)

Test Creation for Compliant Cores (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 615

「DIP概論」- IP Testing

bull Translation of test from wrapper boundary to SOC pinsndash In case of one-to-one relationship between core

terminals and SOC pins simple renaming suffices

ndash Sharing TAMs with multiple cores bypasses bidirectional TAMs complicate this process

Test Creation for Compliant Cores (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 616

「DIP概論」- IP Testing

Test Creation for lsquoOther Circuitryrsquo (12)

bull Test re-use not possiblebull Typically ATPG at SOC level is required

to generate test patterns for this circuitry bull IEEE 1500 Wrapped cores are tested by

their own patterns and do not need to be included in this

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 617

「DIP概論」- IP Testing

ndash Wrapped cores should be black-boxedbull For some cores not netlist available at allbull Even if netlist is available blackboxing will reduce

the compute time for ATPG for the other circuitry substantially

ndash The P1500 Information Model provides necessary information about controllability observability features in wrapper to APTG tool

Test Creation for lsquoOther Circuitryrsquo (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 618

「DIP概論」- IP Testing

Overview of Example

Given a very small scan-testablecorebull lsquo1500-Unwrappedrsquo compliant core

ndash P1500 Information Modelbull lsquo1500-Wrappedrsquo compliant core

ndash P1500 Wrapper ndash P1500 Information Model

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 619

「DIP概論」- IP Testing

Bare Core

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 620

「DIP概論」- IP Testing

STIL Test Patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 621

「DIP概論」- IP Testing

Wrapped Core

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 622

「DIP概論」- IP Testing

Modes Instruction and Opcodes

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 623

「DIP概論」- IP Testing

Normal + Serial Bypass Modes

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 624

「DIP概論」- IP Testing

Serial in Test Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 625

「DIP概論」- IP Testing

Serial ExTest Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 626

「DIP概論」- IP Testing

Parallel InTest Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 627

「DIP概論」- IP Testing

Parallel ExTest Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 628

「DIP概論」- IP Testing

Wrapper Design (12)

bull Automated wrapper designndash Library of wrapper cellsndash Wrapper configuration depends on core

terminal types ndash Optimization for test time

bull No industry-wide standard (yet)ndash Ad-hoc wrappers may not operate in concerto

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 629

「DIP概論」- IP Testing

Wrapper Design (22)

bull Optimal wrapper design algorithm for test time minimization

Ref [Marinissen et al ndash ITCrsquo00]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 630

「DIP概論」- IP Testing

Wrapper Chain Design (12)

bull Wrapper itemsndash Wrapper input cellsndash Wrapper output cellsndash Core-internal scan chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 631

「DIP概論」- IP Testing

Wrapper Chain Design (22)

bull Wrapper chain designndash Designing the test access chains within the

wrapper from wrapperrsquos TAM input plug through all wrapper items to TAM output plug

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 632

「DIP概論」- IP Testing

Wrapper Chain Design amp Test Time (12)

bull lsquoTest Timersquo for large ICs is important cost factor ndash Test application time

=gt more time on ATE

ndash Size of test vector set =gt more expansive ATE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 633

「DIP概論」- IP Testing

bull Wrapper chain design has large impact on test time ndash Partitioning which wrapper item in which

wrapper chainndash Ordering position of wrapper item in a

wrapper chainndash Bypasses shorten wrapper chain where

possible

3

2

1

Wrapper Chain Design amp Test Time (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 634

「DIP概論」- IP Testing

Ordering of Wrapper Items

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 635

「DIP概論」- IP Testing

Bypasses (12)

bull Scan chain bypassndash Shortens wrapper chain length through during

ExTestbull Wrapper bypass

ndash Shortens wrapper chain length while testing other core up- or downstream in same TAM

ndash Contains register for plug-n-play connection of (possible) long wires

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 636

「DIP概論」- IP Testing

Bypasses (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 637

「DIP概論」- IP Testing

Partitioning of Wrapper Items (12)

bull Partition ndash x wrapper input cells all of scan length 1ndash y wrapper output cells all of scan length 1ndash z core-internal scan chains which scan length Ii

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 638

「DIP概論」- IP Testing

bull over ndash m wrapper chains

(typically m lt z lt x+y+z)such that ndash scan-in length over all wrapper chains in

minimizedndash scan-out length over all wrapper chains in

minimized

Partitioning of Wrapper Items (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 639

「DIP概論」- IP Testing

Three-Step Solution Approach (13)

1 Find partition PS of z core-internal scan chains over m wrapper chains such that maximum sum of scan lengths in any wrapper chain is minimized

(Hard)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 640

「DIP概論」- IP Testing

2 Assign x wrapper input cells to wrapper chains on top of PS such that maximum scan-in time of any wrapper chain is minimized

(Easy)

Three-Step Solution Approach (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 641

「DIP概論」- IP Testing

3 Assign y wrapper output cells to wrapper chains on top of PS such that maximum scan-out time of any wrapper chain is minimized

(Easy)

Three-Step Solution Approach (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 642

「DIP概論」- IP Testing

Wrapper Scan Chain Partitioning (12)

[Problem Definition]Givenndash Set of core-internal scan chains

S = S1 S2 hellip SZ with length L(Si)ndash m identical wrapper chains (typically mlt z)

Find ndash Partition P =P1 P2 hellip Pm of S such that

is minimizedsum isinlele P SLi

Smi)(max

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 643

「DIP概論」- IP Testing

bull Problem is equivalent to well-known NP-hard problems of Multi-Processor Scheduling and Bin Design

Wrapper Scan Chain Partitioning (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 644

「DIP概論」- IP Testing

WSCP Algorithms (13)

Polynomial-time algorithms for near-optimal resultsbull LPT(Last Processing Time)

ndash Sort items from large to smallL(S1) ge L(S2) ge hellip ge L(Sz)

ndash Assign scan chains to shortest wrapper chain so far

Ref [Grahamrsquo69]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 645

「DIP概論」- IP Testing

WSCP Algorithms (23)

bull COMBINEndash Use LPT to obtain start solution ndash Linear Search over maximum wrapper chain

lengths bull Try whether wrapper items fit a wrapper chain

length with FFD (First Fit Decreasing)

Ref [Coffman Garey Hohnson78]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 646

「DIP概論」- IP Testing

WSCP Algorithms (33)

bull LPT is fast and has good resultsndash COMBINE produces sometimes better

resultsat the expense of more CPU time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 647

「DIP概論」- IP Testing

Example Core (12)

bull Core characteristicsndash Terminals

8 functional inputs a[07]

11 functional outputs z[010]

9 scan inputs si[08]

9 scan outputs so[08]

+ 1 scan enable sc

38 core terminals in total

ndash Core-internal scan chains lengths 12 6 8 6 6 12 6 8 8 flip flops

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 648

「DIP概論」- IP Testing

Example Core (22)

bull Desired wrapper characteristicsndash Serial TAMndash 3-bit parallel TAMndash Wrapper bypassndash No scan chain bypasses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 649

「DIP概論」- IP Testing

Wrapper Result (14)bull Algorithmic results

ndash LPT max length = 26P1 = 12 8 6P2 = 12 6 6P3 = 8 8 6

ndash COMBINE max length = 24P1 = 12 12P2 = 8 8 8P3 = 6 6 6 6

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 650

「DIP概論」- IP Testing

Wrapper Result (24)

bull Operation modes (13)ndash Serial access

bull All wrapper items connected into one chain

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 651

「DIP概論」- IP Testing

Wrapper Result (34)

bull Operation modes (23)ndash Parallel access

bull All wrapper items divided over the (three) wrapper chains according to COMBINE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 652

「DIP概論」- IP Testing

Wrapper Result (44)

bull Operation modes (33)ndash Parallel pass

bull Bypass over the (three) wrapper chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 653

「DIP概論」- IP Testing

Compliance Checking (12)

bull Automatic check to assure that Core + Wrapper are compliant to standard

bull Relevant to both core provider and core user as compliance guarantees interoperability of this core with others at SOC level

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 654

「DIP概論」- IP Testing

Compliance Checking (22)

bull No industry-wide standard (yet)ndash Current compliance checkers only work for

company-internal standardsbull Wrapper generator and compliance checker

might work in concerto

Ref [Marinissen et al - ITC00]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 655

「DIP概論」- IP Testing

Wrapper Generator + Compliance Checker (13)

bull Automated wrapper design ndash corersquos netlist availablendash Compliance checker identifies still missing

wrapper functionality ndash Wrapper generator adds only required missing

hardwarendash Optional compliance checker for outgoing

inspection

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 656

「DIP概論」- IP Testing

bull Automated wrapper design ndash corersquos netlist not availablendash Wrapper generator adds full wrapper

functionalityndash Optional compliance checker for outgoing

inspection bull Manual wrapper design

ndash compliance checker for outgoing inspection

Wrapper Generator + Compliance Checker (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 657

「DIP概論」- IP Testing

bull Wrapped core usage ndash compliance checker for incoming inspection

Wrapper Generator + Compliance Checker (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 658

「DIP概論」- IP Testing

ExTest test Generation (12)

bull Test patterns for cores come from core provider

bull Core user is responsible for test patterns of SOC-specific circuitryndash Interconnect wiring ndash Interconnect logic(lsquoglue logicrsquo)ndash SOC-specific modules(lsquoUDLrsquo)

Interconnect ATPG

Normal ATPG

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 659

「DIP概論」- IP Testing

ExTest test Generation (22)

bull Interconnect ATPGndash lsquoLow-fatrsquo netlistndash Specific fault model for interconnect

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 660

「DIP概論」- IP Testing

Interconnect Faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 661

「DIP概論」- IP Testing

Interconnect ATPG

bull Determine a set of tests to detectndash Any interconnection open (S1 or S0)ndash Any shorted pair of net (wired-AND or wired-

OR)bull Solution is known as the ldquoCountingrdquo

algorithm

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 662

「DIP概論」- IP Testing

TAM Architecting (12)

bull Decision support to analyze and evaluate trade-offs for various TAM architectures at SOC levelndash How many TAMsndash Which core connects to which TAMndash How wide is each TAMndash How is the wrapper designed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 663

「DIP概論」- IP Testing

TAM Architecting (22)

bull Impact onndash Test quality ndash Test time ndash Areandash Dissipationndash Performance impact

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 664

「DIP概論」- IP Testing

Three TAM Architectures

Ref [Aerts amp Marinissen - ITC98]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 665

「DIP概論」- IP Testing

Multiplexing Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 666

「DIP概論」- IP Testing

Daisychain Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 667

「DIP概論」- IP Testing

Distribution Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 668

「DIP概論」- IP Testing

Architecture Model

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 669

「DIP概論」- IP Testing

Improved Wrapper Design

Source [Iyengar et al ndash ITCrsquo01]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 670

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (14)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 671

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (24)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 672

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (34)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 673

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (44)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 674

「DIP概論」- IP Testing

Problem Formalization (13)

bull PW Design a wrapper for a given core such that ndash The core testing time in minimized ndash The TAM width required for the core is minimized

bull PAW Determinendash An assignment of cores to TAMs of given widthsndash A wrapper design for each core

such that the SOC testing time is minimized

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 675

「DIP概論」- IP Testing

Problem Formalization (23)

bull PPAW Determinendash A partition of the total TAM width over the given number of

TAMs ndash An assignment of cores to TAMs of given widthsndash A wrapper design for each core

such that the SOC testing time is minimized

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 676

「DIP概論」- IP Testing

Problem Formalization (33)

bull PNPAW Determine ndash The number of TAMs for the SOCndash A partition of the total TAM width over the given number of

TAMs ndash An assignment of cores to TAMs of given widthsndash A wrapper design for each core

such that the SOC testing time is minimized

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 677

「DIP概論」- IP Testing

More Research Neededbull Many interesting research results are

appearing in this domainbull TAM architecting and test scheduling are

intertwinedbull Most of todayrsquos approaches focus only on

ndash lsquoTest-busrsquo like TAMs (and ignore other TAM types)

ndash InTests (and ignore ExTests)ndash Test time (and ignore other costs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 678

「DIP概論」- IP Testing

Test Expansion

bull Translation of ndash Core-level test (defined at core terminals)intondash SOC-level test defined at IC pins)

bull Test Protocol Expansion

Ref [Marinissen amp Lousberg ndash TEC97 ETW99]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 679

「DIP概論」- IP Testing

Macro Test Concept Overview (13)

bull Test = test protocol + test patternsbull Subsequent tasks automated

ndash Test protocol expansion (TPE)ndash Test protocol scheduling (TPS)ndash Test assembly (TASS)

bull Support of multiple hierarchy levels

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 680

「DIP概論」- IP Testing

bull Supports every kind of test access mechanismndash Original forcus on transparency of macros

especially core-internal scan chains

Macro Test Concept Overview (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 681

「DIP概論」- IP Testing

Macro Test Concept Overview (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 682

「DIP概論」- IP Testing

Terminology (12)

bull Pattern ndash A vector with stimulus and response values

bull Pattern List ndash The list of all patterns needed for a test of a

macrobull Test Protocol

ndash The prescription according to which a pattern should be applied

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 683

「DIP概論」- IP Testing

Terminology (22)

bull Testndash Repeated execution of a test protocol where

every time another pattern from the pattern list is filled in

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 684

「DIP概論」- IP Testing

Simple Example (12)

Ref [Marinissen amp Lousberg ndash ETW99]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 685

「DIP概論」- IP Testing

Simple Example (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 686

「DIP概論」- IP Testing

Transfer through Neighbors

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 687

「DIP概論」- IP Testing

Example SOC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 688

「DIP概論」- IP Testing

Test Protocol Expanded to SOC Pins

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 689

「DIP概論」- IP Testing

Test Assembly

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 690

「DIP概論」- IP Testing

Test Assembly Example

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 691

「DIP概論」- IP Testing

Test Scheduling (12)

bull Minimization of occupancy of resources for given core tests and SOC test infrastructure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 692

「DIP概論」- IP Testing

Test Scheduling (22)

bull Resources ndash Power dissipation during test executionRef[Zorian ndash VTS93]

[Saluja amp Agrawal ndash Trans VLSI System97]

ndash Test application timestorage capacity at ATERef[Marinissen amp Aerts ndashTECS98]

[Chakrabarrty ndash ICCAD99 TCAD00][Iyengar amp Chakrabarrty ndash VTS01][Larsson amp Peng - DATE01]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 693

「DIP概論」- IP Testing

Modifiedhelliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 694

「DIP概論」- IP Testing

Examples of Cores

bull Processor ARM hellipbull Memory RAM ROM hellipbull DSP TI hellipbull Peripheral DMA controller hellipbull Interface PCI USB UART hellipbull Multimedia JPEG MPEG hellipbull Networking Ethernet controller hellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 695

「DIP概論」- IP Testing

Chip and Board Testing

DFT BISThelliphellip

Boundary Scanhelliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 696

「DIP概論」- IP Testing

Virtual Component (VC)

bull A design block that meets the VSI (Virtual Socket Interface) specification and is used as a component in the virtual socket design environmentndash VSI is supported by the VSI Alliance (VSIA)

httpwwwvsiacom

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 697

「DIP概論」- IP Testing

Intellectual Property (IP)

bull The rights in cores that allow the owner of those rights to control the exploitation of those cores and the expression of the cores by othersndash Protected by lawsndash Liability in cases of failure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 698

「DIP概論」- IP Testing

Notes

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 699

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

h

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 700

「DIP概論」- IP Testing

Fig 6-3[1990] Fig 6-4[1990] Fig 6-5[1990] Fig 6-10[1990]

Fig 6-23[1990] Fig 6-27[1990](pp 166 done)

Fig 6-29[1990] Fig 6-30[1990]

Fig 6-34[1990] Fig 6-37[1990]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 701

「DIP概論」- IP Testing

bull Sequential controllability and observabilitybull Bugs 136amp137 144(modified)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 702

「DIP概論」- IP Testing

bull A fault model is an abstraction of the error caused by a particular physical faultsndash The purpose is to simplify the test procedure

and reduce its cost while still retaining the capability of detecting the presence of the modeled faults

ndash Defects vs faults vs errors vs failuresndash Permanent faults vs non-permanent ones

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 703

「DIP概論」- IP Testing

Acknowledgements

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 704

「DIP概論」- IP Testing

An Example of SOC

ADC

DAC

PLL

RAMROM

IP 1BUS amp INTERCONNECT

ASIC 1

UDL

DSP CPU ASIC 2IP 2

Page 7: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 7

「DIP概論」- IP Testing

Why Do Circuits Fail

bull Human design errorsbull Manufacturing defects bull Package defectsbull Field (Environment) failures

ndash Temperature humidity power etc

verifytest

testtest

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 8

「DIP概論」- IP Testing

Verification vs Testingbull Verification

ndash Check for the correctness of a designbull Simulation

ndash Performed oncebull Testing

ndash Check the correctness of the manufactured circuitndash Performed repeatedly

Verification Testinglogicsoft faults realhard faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 9

「DIP概論」- IP Testing

Why Testing

bull Detect and eliminate (hard-)faulty circuits

Vdd

10

00

0

0

fault-free circuit faulty circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 10

「DIP概論」- IP Testing

How to Do Testing

Circuit Under Test

(CUT)

Test Pattern Generator

(TPG)

Output Response Analyzer(ORA)

test patterns T

outputresponses R

GoodBad

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 11

「DIP概論」- IP Testing

Related Terminologies in Testing

bull Diagnosisndash Depict the faulty sites

bull Reliabilityndash Tell whether a ldquogoodrdquo circuit will work after

some time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 12

「DIP概論」- IP Testing

Importance of Testing

N the number of transistors in a circuit (chip)p the probability that a transistor is faultyPf the probability that the chip is faulty

Pf = 1-(1-p)N

If p = 10-6 and N= 106

Pf = 632

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 13

「DIP概論」- IP Testing

Key Issues in Testing

Circuit Under Test

(CUT)

Test Pattern Generator

(TPG)

Output Response Analyzer(ORA)

test patterns T

outputresponses R

Fault Modeling Design for Testability

Test GenerationProblem

Good if R = RrsquoBad if R ne Rrsquoexpected

responses Rrsquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 14

「DIP概論」- IP Testing

Circuit Modeling

bull Describe the behavior of circuitsndash Behavior modelndash RTL modelndash Gate level modelndash helliphellip

clocks (edgelevel-sensitive)delaytiming

algorithms

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 15

「DIP概論」- IP Testing

Fault Modeling

bull Describe the effects of physical faultsbull Fault model requirements

ndash Adequately represent actual faultsndash High coverage against physical faultsndash Well-behavedndash Simple enough to use in practice

bull Eg Fault simulation test generation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 16

「DIP概論」- IP Testing

Fault Modelsbull Single stuck-at fault model

ndash Any single line x is stuck at 0 or 1bull Multiple stuck-at fault model

ndash Several lines x are stuck at 0 or 1bull Delay fault model

ndash Delay of a single path is changedbull Bridging fault model

ndash Signals x and y become AND(x y) or OR(x y)bull helliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 17

「DIP概論」- IP Testing

Single Stuck-at Fault Model (12)

bull Depict that ldquoone single linerdquo is permanently stuck at 1 or 0

EA

B

C

D F

G

A s-a-1A s-a-0E s-a-1E s-a-0

B s-a-1B s-a-0F s-a-1F s-a-0

C s-a-1C s-a-0G s-a-1G s-a-0

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

14 faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 18

「DIP概論」- IP Testing

Single Stuck-at Fault Model (22)bull Advantages

ndash Match the gate level and are well-behavedndash The number of possible faults is relatively smallndash Tests for single stuck-at faults give good coverage of

permanent faultsbull Disadvantages

ndash Dose not account for some physical fault effectsndash Few physical faults behave exactly like single-at faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 19

「DIP概論」- IP Testing

Detectability of Faults

bull A fault f is said to be detectable if there exists a test vector x such that Cf(x) ne C(x) ie f is ldquodetectedrdquo by x

Vdd

10

00

0

0

fault-free circuit C fault f is detected by (00)

xf s-a-1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 20

「DIP概論」- IP Testing

Fault Coverage (FC)FC =

the size of fault listnumber of detected faults

CA

B

6 faultsA0 A1 B0 B1 C0 C1

test vector set detected faults FC(0 0)(0 1)(1 1)(0 0) (1 1)(1 0) (0 1) (1 1)

C1A1 C1A0 B0 C0A0 B0 C0 C1ALL

1667333350006667

10000

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 21

「DIP概論」- IP Testing

Testing QualityIC

FabricationYield(Y)

Rejected Parts

Shipped PartsDefect Level(DL)

bull Yield (Y) fraction of good partsbull Defect Level (DL) fraction of shipped parts that are defectivebull Quality of shipped parts is a function of Y and FC

DL = 1 ndash Y (1 - FC)

Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 22

「DIP概論」- IP Testing

Circuit Simulationbull Determine how a good circuit should work

ndash Given input vectors determine the normal circuit output responses

EA

B

C

D F

G

1

10

0

01

1

Simulation under the input 1 0 0 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 23

「DIP概論」- IP Testing

Fault Simulation (12)

bull Determine the behavior of faulty circuitsE s-a-0 A

B

C

D F

G

1

100

0

01

10

x

Simulation under the input 1 0 0 0 with fault E s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 24

「DIP概論」- IP Testing

Fault Simulation (22)

bull Given a test vector determine all faults that are detected by this test vector

CA

B 1

10

Test vector (1 1) detects A0 B0 C1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 25

「DIP概論」- IP Testing

Test Generation (12)

bull Given a fault identify a test vector to detect this fault

A

B

C

D s-a-0

E

F

x

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 26

「DIP概論」- IP Testing

Test Generation (22)

bull Sensitizationndash To detect D s-a-0 D must be set to 1

ie A = B = 1bull Propagation

ndash To propagate the fault effect to the output F Emust be set to 1 ie C = 0

Test vector for D s-a-0 is 1 1 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 27

「DIP概論」- IP Testing

Automatic Test Pattern Generation (ATPG) (12)

bull Given a circuit identify a set of test vectors to detect all the detectable faults under the considered fault models

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 28

「DIP概論」- IP Testing

Automatic Test Pattern Generation (ATPG) (22)a circuit and the fault list

more fulats

select a fault

test generation

fault simulation

fault dropping

exit

Yes

No

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 29

「DIP概論」- IP Testing

Difficulties in Test Generation (12)

bull Reconvergent fanout

A

B

C

D s-a-1

E

F

x

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 30

「DIP概論」- IP Testing

Difficulties in Test Generation (22)bull Sequential test generation

combinational circuit

D

clk

Q

x The fault effect cannot be observed at POs

PIs POs

The test patterns cannotbe generated at PIs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 31

「DIP概論」- IP Testing

Advanced Test GenerationFC

100

of test patterns

Pseudorandom Test Pattern Generation

Deterministic Test Pattern Generation

Design for Testability (DFT)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 32

「DIP概論」- IP Testing

Testing Costs

bull Test software developmentndash Automatic test pattern generator (ATPG)ndash Fault simulation and other debugging policies

bull Design for testability (DFT)ndash Chip area overhead ie yield lossndash Performance overhead ie degradation

bull Automatic test equipments (ATEs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 33

「DIP概論」- IP Testing

Difficulties in Testing

bull Some real faults are too complex to modelbull Most testing problems are NP-completebull IO access is limitedbull ATEs are expensive

Testing is rarely complete (FC lt 100)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 34

「DIP概論」- IP Testing

The Goals of Testingbull Detect all expected faults (high fault coverage)bull Diagnose to the smallest replaceablerepairable

component (high fault resolution)bull Fast and low-cost test generationbull Fast and low-cost test applicationbull Efficient response comparisonbull High degree of automationbull Low penalties in hardware overheadperformance

Chapter 2

Fault Models

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 36

「DIP概論」- IP Testing

Faults and Errors

bull Faultsndash Physical defects within a circuit or a systemndash May or may not cause the circuit to fail

bull Errorsndash Manifestation of faults that results in incorrect

circuit or system outputs or statesndash Caused by faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 37

「DIP概論」- IP Testing

Failures

bull Deviation of a circuit or a system from its specified behaviorndash Fails to do what it should do ndash Caused by errors

bull Faults Errors and Failures

Faults rArr Errors rArr Failures

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 38

「DIP概論」- IP Testing

Why Model Faultsbull Identify target faults and describe their

effectsbull Limit the scope of test generation

ndash Create test patterns only for the modeled faultsbull Make analysis possible

ndash Compute the fault coverage for specific test patterns

ndash Associate specific faults with specific test patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 39

「DIP概論」- IP Testing

Fault Modelsbull Stuck-at faultsbull Bridging faultsbull PLA faultsbull Transistor stuck-onopen faultsbull Delay faultsbull Functional faultsbull State transition faultsbull Memory faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 40

「DIP概論」- IP Testing

Stuck-at Faultsbull Single stuck-at fault model

ndash Only a single line is permanently set to either 0 or 1

bull Multiple stuck-at fault modelndash Several stuck-at faults occur at the same time

bull For a circuit with k linesndash There are 2k single stuck-at faultsndash There are 3k-1 multiple stuck-at faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 41

「DIP概論」- IP Testing

Why Single Stuck-at Fault Model (12)

bull Complexity is greatly reducedndash Many different physical defects may be

modeled by the same logical stuck-at faultsbull Technology independent

ndash Can be applied to TTL ECL CMOS etcbull Design style independent

ndash Can be applied to gate arrays standard cells full-custom description

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 42

「DIP概論」- IP Testing

Why Single Stuck-at Fault Model (22)

bull The test patterns derived for single stuck-at faults are still valid for most defects even not accurately model some other physical defects

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

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 43

「DIP概論」- IP Testing

Bridging Faults (12)

bull Two or more normally distinct points(lines) are shorted togetherndash Logic effect depends on technology

bull Wired-AND for TTLbull Wired-OR for ECL

TTL Transistor-Transistor Logic

ECL Emitter-Coupled Logic

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 44

「DIP概論」- IP Testing

Bridging Faults (22)bull Wired-AND for TTL bull Wired-OR for ECL

A

B

f

g

A

B

f

g

A

B

f

g

A

B

f

g

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 45

「DIP概論」- IP Testing

PLA Faults

bull Stuck-at faults on inputs and outputsbull Crosspoint faults

ndash MissingExtrabull Bridging faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 46

「DIP概論」- IP Testing

Missing Crosspoint Faults in PLAbull Missing crosspoint in the AND plane

ndash Growth faultbull Missing crosspoint in the OR plane

ndash Disapperance fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 47

「DIP概論」- IP Testing

Extra Crosspoint Faults in PLAbull Extra crosspoint in the AND plane

ndash Shrinkage faultbull Extra crosspoint in the OR plane

ndash Appearance fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 48

「DIP概論」- IP Testing

Transistor Stuck-On Faults (12)

bull Also referred as stuck-short faults

stuck-on

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 49

「DIP概論」- IP Testing

Transistor Stuck-On Faults (22)

bull May cause ambiguous logic levelsndash Depend on the relative impedances of the pull-

up and pull-down networksbull Quiescent current may be increased called

IDDQ fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 50

「DIP概論」- IP Testing

Transistor Stuck-Open Faults (12)

bull May cause output floating(high impedance)

stuck-open

0 Z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 51

「DIP概論」- IP Testing

Transistor Stuck-Open Faults (22)

bull Turn the circuit into a sequential circuitndash Stuck-open faults require two-vector test

patterns

stuck-open

10 0100

two-vector test pattern

fault-free response

fault response

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 52

「DIP概論」- IP Testing

Gate Delay Faults (12)bull Slow to rise or fall

X X

R

X is slow to rise when channel resistance R is abnormally high

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 53

「DIP概論」- IP Testing

Gate Delay Faults (22)bull Detectability of gate delay faults

ndash May not be detected

slow

critical path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 54

「DIP概論」- IP Testing

Path Delay Faultsbull Propagation delay of a path exceeds the

clock intervalbull The number of paths grows exponentially

with the number of gates

XY

XY

the clock interval

propagation delay

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 55

「DIP概論」- IP Testing

Functional Faultsbull Behavioral faults

ndash Fault effects are modeled at a higher level for modules such as

bull Decodersbull Multiplexersbull Addersbull Countersbull RAMsbull ROMs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 56

「DIP概論」- IP Testing

An Example of Functional Faultsbull Decoder

ndash f(LiLj) instead of line Li line Lj is selectedndash f(LiLi+Lj) in addition to Li Lj is selectedndash f(Li0) none of the lines are selected

DecoderLi

Lj

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 57

「DIP概論」- IP Testing

State Transition Graph(STG)bull Each state transition is associated with a 4-

tuple (source input output destination state)

S1

S3S2

I1O1 I2O2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 58

「DIP概論」- IP Testing

Single State Transition Faults

bull A fault causes a single state transition to a wrong destination state

S1

S3S2

IO IO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 59

「DIP概論」- IP Testing

Memory Faults (12)

bull Parametric faultsndash Change the values of electrical parameters of

active or passive devices from their normal or expected values

bull Output levelsbull Power Consumptionbull Noise marginbull Data retention time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 60

「DIP概論」- IP Testing

Memory Faults (22)

bull Functional faultsndash Stuck faults in address register data register

and address decoderndash Cell stuck faultsndash Cell coupling faultsndash Pattern sensitive faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 61

「DIP概論」- IP Testing

Coupling Faults

bull A transition in memory bit i causes an unwanted change in memory bit j

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 62

「DIP概論」- IP Testing

Pattern Sensitive Faultsbull The presence of a faulty signal depends on

the signal values of the nearby pointsndash Most common in DRAM

0 0 00 d b0 a 0

a = b = 0 rArr d = 0 prevent writing a 1 into da = b = 1 rArr d = 1 prevent writing a 0 into d

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 63

「DIP概論」- IP Testing

Fault Detectionbull Let z BnrarrB A test pattern t detects a fault f

iff z(t)opluszf(t) = 1x1

x2

x3

z1

z2

f s-a-1 z1 = x1 x2

z2 = x2 x3

z1f = x1

z2 f= x2 x3

The test pattern 100 detects f because z1(100) = 0while z1f(100) = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 64

「DIP概論」- IP Testing

Sensitization

bull Given a test pattern t a line is said to ldquobe sensitized to a fault f by trdquo if its normal value is changed in the presence of f

bull A path composed of sensitized lines is called ldquoa sensitized pathrdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 65

「DIP概論」- IP Testing

Detectability

bull A fault f is said to be detectable if there exists a test pattern t that detects f otherwise f is a redundant fault

bull For a redundant fault f z(t) = zf(t)ndash No test pattern can simultaneously

sensitize(activate) f and create a sensitized path to a primary output(PO)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 66

「DIP概論」- IP Testing

Redundant Faultsbull G1 stuck-at-0 fault is redundant

ndash Redundant faults do not change the function of the circuit

ndash The related circuit can be removed to simplify the circuit

1

s-a-0G1

1

1

00

0

10a

b

c

z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 67

「DIP概論」- IP Testing

Fault Collapsing

bull The process to reduce the number of the faults under consideration is known as fault collapsing

bull Why fault collapsingndash Save memory space and CPU time for fault

simulation and test generation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 68

「DIP概論」- IP Testing

Fault Equivalencebull A test pattern t distinguishes between faults α and β iff zα(t) ne zβ(t)

bull Two faults α and β are said to be equivalent in a circuit iff zα(t) = zβ(t) for all tndash Denoted by αharr βndash No test patterns can distinguish between α and β

ndash Any test pattern which detects one of them detects all of them

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 69

「DIP概論」- IP Testing

Fault Equivalence of Primitive Gates (12)

bull NOTndash Input s-a-1 and output s-a-0 are equivalentndash Input s-a-0 and output s-a-1 are equivalent

bull ANDndash All s-a-0 are equivalent

bull ORndash All s-a-1 are equivalent

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 70

「DIP概論」- IP Testing

bull NANDndash All input s-a-0 and output s-a-1 are equivalent

bull NORndash All input s-a-1 and output s-a-0 are equivalent

Fault Equivalence of Primitive Gates (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 71

「DIP概論」- IP Testing

Equivalent Fault Collapsing (12)[Theorem 2-1] Under the single stuck-at faultmodel for an n-input primitive gate n+2instead of 2n+2 faults need to be considered

2n+2

n+1 n+1

equivalence

n+2cup

[Proof]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 72

「DIP概論」- IP Testing

Equivalent Fault Collapsing (22)

s-a-0

s-a-1s-a-1

s-a-1

s-a-1s-a-1

s-a-1 s-a-0

s-a-0

s-a-0

s-a-0

s-a-0 s-a-0

s-a-1

s-a-1

s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 73

「DIP概論」- IP Testing

Fault Dominancebull Let Tα be the set of all test patterns that

detect fault α We say that a fault βdominates fault α iff zα(t) = zβ(t) for all tisinTα

ndash Denoted by β rarr αndash No need to consider fault β for fault detection

Tβ supeTα

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 74

「DIP概論」- IP Testing

Fault Dominance of Primitive Gatesbull AND

ndash Output s-a-1 dominates any input s-a-1bull OR

ndash Output s-a-0 dominates any input s-a-0bull NAND

ndash Output s-a-0 dominates any input s-a-1bull NOR

ndash Output s-a-1 dominates any input s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 75

「DIP概論」- IP Testing

Dominated Fault Collapsing (12)[Theorem 2-2] Under the single stuck-at fault model for an n-input primitive gate only n+1faults need to be considered

2n+2

n+1 n+1

equivalencen+1

cup

[Proof]

n 1dominance

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 76

「DIP概論」- IP Testing

Dominated Fault Collapsing (22)

s-a-0

s-a-1s-a-1

s-a-1

s-a-1s-a-1

s-a-1 s-a-0

s-a-0

s-a-0

s-a-0

s-a-0 s-a-0

s-a-1

s-a-1

s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 77

「DIP概論」- IP Testing

Prime Faultsbull α is a prime fault if every fault dominated

by α is also equivalent to αbull Representative set of prime faults(RSPF)

ndash A set consisting of exactly one prime fault from each equivalence class of prime faults

bull Achieve 100 fault coverage ndash Only generate the test set for RSPF

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 78

「DIP概論」- IP Testing

Checkpoints (13)

bull Primary inputs and fanout branches

[Theorem 2-3] Any test set which detects all single stuck-at faults on every check point will detect all single stuck-at faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 79

「DIP概論」- IP Testing

Checkpoints (23)

a

b

c

d

e

s-a-1s-a-1

s-a-1

s-a-1s-a-1

s-a-1

s-a-1

s-a-1s-a-0

s-a-0

s-a-0s-a-0

s-a-0

s-a-0s-a-0

s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 80

「DIP概論」- IP Testing

Checkpoints (33)bull The set of checkpoint faults can be further

collapsed by using equivalence and dominance relations

a

b

c

d

e

10 checkpoint faultsa s-a-0 harr d s-a-0c s-a-0 harr e s-a-0b s-a-0 rarr d s-a-0b s-a-1 rarr d s-a-16 test patterns are enough

Chapter 3

Fault Simulation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 82

「DIP概論」- IP Testing

Simulationbull True-value simulation

ndash Compute the responses for given inputtest patterns without injecting any faults in the circuit

bull For verifying the correctness of the design

bull Fault simulationndash Compute the responses for given inputtest

patterns with injecting considered faults in the circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 83

「DIP概論」- IP Testing

Why Fault Simulation

bull To evaluate the quality of a test setndash In terms of fault coverage(FC)

bull To incorporate into ATPGndash Decrease the time for test pattern generation

bull To construct fault dictionary ndash For post-test diagnosis

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 84

「DIP概論」- IP Testing

Simulation Mechanisms

bull Compiled-code simulationndash Circuit is translated into the program where

each gate is executed for each patternbull Event-driven simulation

ndash Circuit structure and gate status are stored in a table and only those gates which are needed to be updated with a new pattern are processed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 85

「DIP概論」- IP Testing

Compiled-Code Simulation (13)levelize circuit and produce compiled-codeinitialize data variables(flip-flops and memory)for every input pattern begin

set the primary inputs to the input pattern repeat until (steady-state or maximum iteration-count are reached)begin

execute compiled-codeupdate the associated data variables(flip-flop or memory)

endend

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 86

「DIP概論」- IP Testing

Compiled-Code Simulation (23)

bull The use of compiled-code simulation is usually limited into high-level designndash Since detailed timing or delay is almost

impossible to be simulated in the translated compiled-code

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 87

「DIP概論」- IP Testing

Compiled-Code Simulation (33)

D-FF

abc

d

e

f

Compiled-Code

d = a amp b amp cf = d | ee = f

Q D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 88

「DIP概論」- IP Testing

Event-Driven Simulation (12)initialize simulation time t to 0while (event list is not empty) begin

for every event (i t) begin gate i changes at time tupdate the value of gate i schedule fanout gates of i in the event list if the associated value changes are expected

endadvance simulation time t

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 89

「DIP概論」- IP Testing

Event-Driven Simulation (22)1a

c

bd

e

f

g2

2

2

41

1 rarr0

0 rarr1

1 rarr0

0 rarr1

1 rarr0 rarr1

simulation time t event fanout

0 c = 0 d e

1

2 d = 1 e =0 f g

3

4 g = 0

5

6 f = 1 g

7

8 g = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 90

「DIP概論」- IP Testing

Logic Value Based Fault Simulationbull For functional faults such as single stuck-at

faults helliphellipndash Logic simulation on both fault-free and faulty

circuitsTest Patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 91

「DIP概論」- IP Testing

Complexity of Fault Simulation

bull Suitable for single stuck-at fault modelbull Higher than logic simulation but much

lower than test pattern generationbull In reality the complexity can be reduced by

fault collapsing and advanced techniques

patterns faults gates

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 92

「DIP概論」- IP Testing

Characteristics of Fault Simulationbull Fault activities with respect to fault-free

circuit are often sparse both in time and in spacendash For example f1 is not activated by the given

pattern(time) while f2 affects only the lower part of the circuit(space)

f1 s-a-0

f2 s-a-0

0

1

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 93

「DIP概論」- IP Testing

Efficiency of a Fault Simulator

bull Depend on its ability to exploit the sparse characteristics both in time and in space

人生最大的成就是從失敗中站起來證嚴法師靜思語

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 94

「DIP概論」- IP Testing

Classical Fault Simulation Techniques

bull Serial fault simulationbull Parallel fault simulationbull Deductive fault simulationbull Concurrent fault simulation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 95

「DIP概論」- IP Testing

Serial Fault Simulation

bull The simplest algorithm for fault simulationndash Simulate the fault-free circuit for all input

patterns and save the outputs in a file(table)ndash Simulate one faulty circuit at a time until the

target fault is detected by some one test pattern or proven to be undetectable

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 96

「DIP概論」- IP Testing

Parallel Fault Simulation

bull Simulate faulty circuits in parallel with fault-free circuit by taking advantage of inherent parallel operation of computer wordsndash The number of circuits being processed

concurrently is limited by the word length wbull Each pass at most w-1 faulty circuit are processed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 97

「DIP概論」- IP Testing

Example of Parallel Fault Simulation

0 0 0 0 0 1 0 0 1 0 1 1

1 1 1 1 1 1 0 1

1 1 0 1 1 1 0 0

0 1 0 0

1 0 0 1

1 1 1 1a

b

f

c

de

g

h

is-a-1

s-a-0

s-a-0

for fault-free circuitfor circuit with fault b s-a-1for circuit with fault f s-a-0for circuit with fault i s-a-0

rArr Faults f s-a-0 and i s-a-0 are detected by test pattern (a b f) = (1 0 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 98

「DIP概論」- IP Testing

Deductive Fault Simulation

bull Only the fault-free circuit is simulated (true-value simulation) ndash All signal values in each faulty circuit are

deduced from the fault-free circuit values and the circuit structure

bull Each signal is associated a list of faults in the circuit which can change the state of that line

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 99

「DIP概論」- IP Testing

Basic Fault List Propagation RulesInputs Output

a b cOutput Fault list

Lc

0 0 0 [La cap Lb] cup c1

[La cap Lb] cup c1

[La cap Lb] cup c1

[La cup Lb] cup c0

[La cup Lb] cup c1

[La cap Lb] cup c0

[La cap Lb] cup c0

[La cap Lb] cup c0

La cup c0

La cup c1

(1)0 1 0 (2)1 0 0 (3)1 1 1 (4)0 0 0 (5)0 1 1 (6)1 0 1 (7)1 1 1 (8)0 - 1 (9)

1 - 0 (10)

NOT

OR

AND

Gate Type

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 100

「DIP概論」- IP Testing

Example of Deductive Fault Simulation (12)ab

c 1 b0 c0

d 1 b0 d0

1 a0

1 b0

e 1 a0 b0 c0 e0

f 0 b0 d0 f1

Initially La = a0 and Lb = b0For the fanouts of b c and d Lc = b0 c0 and Ld = b0 d0

Le = [La cup Lc] cup e0 = a0 b0 c0 e0 by Rule (4)Lf = Ld cup f1 = b0 d0 f1 by Rule (10)

g

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 101

「DIP概論」- IP Testing

ab

g

1 a0

1 b1

e 1 a0 b0 c0 e0

f 0 b0 d0 f1

1 a0 c0 e0 g0

Lg = [Le cap Lf] cup g0 = a0 c0 e0 g0 by Rule (7)

c 1 b0 c0

d 1 b0 d0

Example of Deductive Fault Simulation (22)

rArr Faults a0 c0 e0 and g0 are detected by test pattern (a b) = (1 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 102

「DIP概論」- IP Testing

Concurrent Fault Simulation

bull Each gate retains a list of fault copies each of which stores the status of a fault to exhibit difference form the fault-free values

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 103

「DIP概論」- IP Testing

Example of Concurrent Fault Simulation

ab c

d g

1

1

e

f

1

11 1

1 0

0 1 0 1 1 1

b0 d0 f1

01 1

00

a0

01

1

b0

00

0

c0

01

1

d0

1

00

e0

01

1

f1

10

0

g0

1

a001 0

10 0

10 0

11 0

b0 c0 e0

rArr Faults a0 c0 e0 and g0 are detected by test pattern (a b) = (1 1)

1

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 104

「DIP概論」- IP Testing

Modern Fault Simulation Techniques

bull Parallel-Pattern Single-Fault Propagation (PPSFP)

bull Critical Path Tracing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 105

「DIP概論」- IP Testing

PPSFP

bull Based on the serial fault simulation many patterns are simulated in parallel for fault-free and faulty circuits respectivelyndash The number of patterns is limited by the word

length wbull Each pass at most w patterns are processed

ndash The basis of all modern fault simulators

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 106

「DIP概論」- IP Testing

Example of PPSFPbull Consider fault f s-a-0 and four pattern p3 p2

p1 and p0

0 1 0 1 1 0 1 0

1 0 0 1

1 1 0 1

0 1 0 1

1 0 0 0

1 1 1 1a

b

f

c

de

g

h

i

s-a-0

p3 p2 p1 p0

0 0 0 00 0 0 0

0 1 0 1

rArr Fault f s-a-0 are detected by test pattern p3 (a b f) = (1 0 1)

(faulty values)1 0 0 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 107

「DIP概論」- IP Testing

Sensitive Inputs

bull A gate input a is sensitive if complementing the value of a changes the value of the gate output

ab

1rarr0

1

c

a is sensitive

ab 0

0 c

a is not sensitive

1rarr0 0 rarr1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 108

「DIP概論」- IP Testing

Critical Pathsbull Let l(v) be the fault-free value of line l

under input pattern t We say that line l is critical with respect to t iff t detects the fault l s-a-l(v)

bull A gate input i is critical with respect to t if the gate output is critical and i is sensitive

bull A path consisting of only critical lines is said to be a critical path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 109

「DIP概論」- IP Testing

Critical Path Tracing

bull Two-step procedurendash Perform true-value simulation and identify

sensitive gate inputsndash Backtrace from POs to identify the critical lines

bull O(|G|) for fanout-free circuitsndash The fanout-free situation is very rare

bull Perform in fanout-free region and the stem faults are simulated by other methods mentioned earlier

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 110

「DIP概論」- IP Testing

Example of Critical Path Tracing (12)

a

b

f

c

d e

g

h

i

1

0

11

1

0

1fanout-free region

sensitive input

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 111

「DIP概論」- IP Testing

Example of Critical Path Tracing (22)

a

b

f

c

d e

g

h

i

1

0

11

1

0

1fanout-free region

sensitive inputcritical line

rArrFaults i0 h0 f0 e0 and d1 are detected by test pattern (a b f) = (1 0 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 112

「DIP概論」- IP Testing

Anomaly of Critical Path Tracinga

b

f

c

d e

g

h

i

1

0

11

1

0

1critical line

bull Stem criticality is hard to infer from branchesndash Eg Fault b s-a-1 is not detected by (a b f) = (1 0 1)

even though branches c and d are critical

stem

branch

branch

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 113

「DIP概論」- IP Testing

Multiple Path Sensitizationa

b

f

c

d

g

h

i

1

1

1

1

1

1fanout-free region

sensitive inputcritical line

bull Both c and d are not critical but b is critical and bs-a-0 can be detected by (a b f) = (1 1 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 114

「DIP概論」- IP Testing

Summariesbull Does specific test patterns detect specific

faultsndash Serial fault simulationndash Parallel fault simulationndash PPSFP

bull Which faults does a specific test pattern detect (suitable for ATPG)ndash Deductive fault simulationndash Concurrent fault simulationndash Critical Path Tracing

Chapter 4

Test Generation (TG)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 116

「DIP概論」- IP Testing

Test Generation (TG) Methods

bull From truth tablebull Using Boolean equationbull Using Boolean differencebull From circuit structure

Impractical

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 117

「DIP概論」- IP Testing

TG from Truth Table

bull Based on the serial fault simulationndash Impractical

ab

c

f

α s-a-0abc f fα000 0 0001 0 0010 0 0011 0 0100 0 0101 1 1110 1 0111 1 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 118

「DIP概論」- IP Testing

TG Using Boolean Equation

bull Based on the definition of detectability we have

Tα = (a b c) | f(a b c) oplus fα(a b c) = 1= (1 1 0)

bull High complexity

ab

c

f

α s-a-0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 119

「DIP概論」- IP Testing

Boolean DifferenceThe Boolean difference of f(x) with respect to xi is

)()()( 1f0fdx

xdfii

i

oplus=

where fi(0) = (x1 hellip 0 hellip xn) and fi(1) = (x1 hellip 1 hellip xn)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 120

「DIP概論」- IP Testing

Physical Meaning of Boolean Difference

bull Find all the input combinations such that the change of xi will cause the change of f(x)

bull Relationship between TG and Boolean difference

x1xixn

fcircuit0 rarr 1

0 rarr1

1rarr0or x1

xixn

fcircuit1rarr 0

1 rarr0

0 rarr1or

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 121

「DIP概論」- IP Testing

Case 1 Faults are present at PIsab

c

f

cb0cb1f0fda

xdfaa +=++bull=oplus= )(1)()()(

The set of all tests for a s-a-1 is (a b c) | a(b + c) = (0 1 x) (0 x 1)The set of all tests for a s-a-0 is (a b c) | a(b + c) = (1 1 x) (1 x 1)

TG Using Boolean Difference (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 122

「DIP概論」- IP Testing

TG Using Boolean Difference (22)Case 2 Faults are present at internal lines

ab

c

f

h = ab

caacac1f0fdh

xdfachf hh +=bull+bull=oplus=+= 11)()()(

The set of all tests for h s-a-1 is (a b c) | h(a + c) = (0 x x) (x 0 0)The set of all tests for h s-a-0 is (a b c) | h(a + c) = (1 1 0)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 123

「DIP概論」- IP Testing

Controlling and Inversion Valuesbull The value c of an input is said to be controlling

if it determines the value of the gate output regardless of the values of the other inputs then the output value is c oplus i where i for the inversion

bull The basic gates can be characterized by the two parametersndash The controlling value cndash The inversion value i

c iAND 0 0OR 1 0NAND 0 1NOR 1 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 124

「DIP概論」- IP Testing

Composite Logic Values and Operations

vvf symbol

00 0

11 1

10 D

01 D

AND 0 1 D0 0

DD0x

1DDx

00000

D x0 0

D0Dx

10xxx

DDx x

OR 0 1 D1 D

1D1x

1111

01DDx

D x0 D

11Dx

1x1xx

DDx x

5-valued operations

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 125

「DIP概論」- IP Testing

Line Justification (LJ)bull Set PIs to some values such that the specific

line has the predetermined value ab

c

f

10 = D

0

1

1

0

s-a-0D

h

ndash Eg Set both a and b to 1 h has the desired value 1 to activate the fault s-a-0 additionally set c to 0 the fault effect will be propagated to f

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 126

「DIP概論」- IP Testing

Justify(l val)Justify(l val)beginset l to valif l is a PI then returnc = controlling value of li = inversion of linval = val oplus i

if(inval = c)then for every input j of l

Justify(j inval)else

beginselect one input j of lJustify(j inval)

endend

Line justification for a fanout-free circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 127

「DIP概論」- IP Testing

TG from Circuit Structure

bull Two basic goalsndash Fault activation (FA)ndash Fault propagation (FP)

rArrLine justification (LJ)

ab

c

f

10 = D larr fault activation (FA)

0 larr fault propagation (FP)

1

1

0

s-a-0D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 128

「DIP概論」- IP Testing

TG for l s-a-vTG(l v)begin

set all values to xJustify(l v) FA if v = 0 then Propagate(l D) FP else Propagate(l D)

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 129

「DIP概論」- IP Testing

Propagate(l err)Propagate(l err) err is D or D beginset l to errif l is PO then returnk = the fanout of l c = controlling value of ki = inversion of kfor every input j of k other than lJustify(j c)

Propagate(k err oplus i)end

Error propagation for a fanout-free circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 130

「DIP概論」- IP Testing

Implication

bull Compute the values that can be uniquelydetermined and check for their consistency with the previously determined ones

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 131

「DIP概論」- IP Testing

Decision Trees

bull Decision Treesndash Consist of decision nodes for problems that the

algorithm is attempting to solvendash A branch leaving a decision node corresponds

to a decisionndash A SUCCESS terminal node labeled S

represents finding a test ndash A FAILURE terminal node labeled F

indicates the detection of an inconsistency

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 132

「DIP概論」- IP Testing

Backtracking

bull A systematic exploration of the complete space of possible solutions and recovery from incorrect decisions recovery involves restoring the state of the computation to the state existing before the incorrect decision

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 133

「DIP概論」- IP Testing

Backtracking of Incorrect Decisions

0xxx

ad

d = 0

F F

a = 0 a = 1b = 0

a = 1b = 1c = 0

bc

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 134

「DIP概論」- IP Testing

bull A FA problem is a LJ problembull A FP problem

ndash Select a FP path to a PO rArr decisionsndash Once the FP path is selected rArr a set of LJ

problemsbull A LJ problem is an either implication or

decision problem

Common Concepts of Structural TG (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 135

「DIP概論」- IP Testing

Common Concepts of Structural TG (22)

bull Incorrect decision(inconsistency) rArr Backtrack and make another decisions

bull Once the fault effect is propagated to a PO and all lines to be justified are justified the test pattern is generated otherwise the decision process is repeatedly until all possible decisions have been tried

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 136

「DIP概論」- IP Testing

A Simple Example of TG (12)

s-a-1

abc

d

e

G2

G1

G3

G5

G4

G6

f1

f2

bull FA rArr G1 = D rArr a = 1 b = 1 c = 1 rArr G2 = 0 (rArr G5 = 0) G3 = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 137

「DIP概論」- IP Testing

A Simple Example of TG (22)bull FP through G5 or G6 (the last page)

ndash Decision through G5rArr G2 = 1 inconsistency rArr backtracking

ndash Decision through G6rArr G4 = 1 rArr e = 0 rArr SUCCESS

rArrThe resulted test pattern is 111x0 G5 G6

F S

G5 G6

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 138

「DIP概論」- IP Testing

Advanced Example (14)

s-a-1

ab

cd

efh

k

l

mno

p

q

r s

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 139

「DIP概論」- IP Testing

Advanced Example (24)

bull FA rArr h = D

bull FPrArr e = 1(rArr o = 0) f = 1 rArr q = 1 r = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 140

「DIP概論」- IP Testing

Advanced Example (34)rArr Justify q = 1 rArr l = 1 or k = 1

ndash Decision l = 1rArr c = 1 d = 1 rArr m = 0 n = 0 rArr r = 0rArr inconsistency rArr backtracking

ndash Decision k = 1rArr a = 1 b = 1

rArr Justify r = 1 rArr m = 1 or n = 1rarr Decision m = 1

rArr c = 0 rArr SUCCESSrarr Decision n = 1

rArr d = 0 rArr SUCCESS

rArrThe resulted test is pattern 110x110 or 11x0110

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 141

「DIP概論」- IP Testing

Advanced Example (44)

q = 1

F

l = 1 l = 0 k = 1

r = 1

S

m = 1

S

n = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 142

「DIP概論」- IP Testing

A Generic TG AlgorithmSolve( )beginif Imply_and_check( ) = FAILUREthen return FAILURE

if(error at PO and all lines are justified)then return SUCCESS

if(no error can be propagated to a PO)then return FAILURE

select an unsolved problemrepeat

begin backtracking select one untried way to solve itif solve( ) = SUCCESS then

return SUCCESSend

until all ways to solve it have been triedreturn FAILURE

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 143

「DIP概論」- IP Testing

D-frontier And J-frontier

bull D-frontierndash The set of all gates whose output value is

currently x but have one or more fault signals on their inputs

bull J-frontierndash The set of all gates whose output value is

known but is not implied by their input values

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 144

「DIP概論」- IP Testing

Example of D-frontier

bull Initially the D-frontier is G6

s-a-1

abc

d

e

G2

G1

G3

G5

G4

G6

f1

f2

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 145

「DIP概論」- IP Testing

Example of J-frontierbull Initially the J-frontier is q = 1 r = 1

s-a-1

ab

cd

efh

k

l

mno

p

q

r s

1

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 146

「DIP概論」- IP Testing

LocalGlobal Implication

bull Local implicationndash Propagate values from one line to its immediate

inputs or outputsbull Global implication

ndash Propagation of values involves a larger area of the circuit and reconvergent fanout

bull Case analysis the SOCRATES system

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 147

「DIP概論」- IP Testing

Local Implication (Backward)

larr 1x

x

larr 0x

1

larr 0x

xlarr 1

x

x

Before

J-frontier = hellip

After1larr 1

larr 1

0larr 0

1

0x

xJ-frontier = hellip a

11

1 rarr

a

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 148

「DIP概論」- IP Testing

Local Implication (Forward) (12)bull Binary values

x

Before0 rarr x

1

x

0 rarr

x

0a

1 rarr

1 rarr

x

0a

D

1 rarr

xa

D

0 rarr

xa

J-frontier = hellip a

J-frontier = hellip a

D-frontier = hellip a

D-frontier = hellip a

x

After0

10

x

0

1

1

larr 0

0

D

1 aD

0 a

J-frontier = hellip

J-frontier = hellip

D-frontier = hellip

D-frontier = hellip

0 rarr

1 rarr

D rarr

0 rarr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 149

「DIP概論」- IP Testing

Local Implication (Forward) (22)bull Error values

Before After

x

x1D

D-frontier = hellip a

x

1

D-frontier = hellipa a

D rarr x

Dx a D-frontier = hellip a

D rarr D rarr

D rarrx D

DD rarr

D

DD-frontier = hellip a D-frontier = hellip

aD rarrx D

D0 rarr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 150

「DIP概論」- IP Testing

Unique D-drive

Before

xx a D-frontier = hellip aD

After

D rarr

larr 1D-frontier = hellip

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 151

「DIP概論」- IP Testing

x-path

bull A path is said to be a x-path if all its lines have value x

[Theorem 4-1] Let G be a gate on D-frontier The error(s) on the input(s) of G can be propagated to a PO Z if there exists at least one x-path between G and Z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 152

「DIP概論」- IP Testing

Error-Propagation Look-Ahead (12)

DD

x

x x

x

x

00

11

bull By Theorem 4-1 none of the fault effects can be observed on any POs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 153

「DIP概論」- IP Testing

Error-Propagation Look-Ahead (22)

bull Using the error-propagation look-ahead technique we may prune the decision tree by recognizing states from which any further decisions will lead to a failure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 154

「DIP概論」- IP Testing

D-Algorithm

bull FP is always given priority over LJbull Propagate fault effects on several

reconvergent paths referred to as ldquomultiple-path sensitizationrdquondash Some faults cannot be detected by sensitizing

only a single path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 155

「DIP概論」- IP Testing

The D-algorithm Implementation (12)D-alg( )begin Implicationsif Imply_and_check( ) = FAILURE

then return FAILURE

if(error not at PO) thenbeginif D-frontier = empty

then return FAILURE

repeat beginselect an untried gate G from

D-frontier Decisionsc = controlling value of Gassign c to every input of G with

value xif D-alg( ) = SUCCESS

then return SUCCESSend

until all gates from D-frontier have been tried

return FAILUREend if (error not at PO)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 156

「DIP概論」- IP Testing

if J-frontier = emptythen return SUCCESS

select a gate G from the J-frontierc = controlling value of G

repeat begin Decisionsselect an input j of G with value xassign c to jif D-alg( ) = SUCCESS

then return SUCCESSassign c to j

end

until all inputs of G are specifiedreturn FAILURE

end D-alg

The D-algorithm Implementation (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 157

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

Example of D-Algorithm (0113)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 158

「DIP概論」- IP Testing

Example of D-Algorithm (0213)bull Value computation (16)

Decisions Implications Commentsa = 0 Fault activationh = 1b = 1 Unique D-driven through gc = 1g = D D-frontier = i k m

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 159

「DIP概論」- IP Testing

Example of D-Algorithm (0313)bull Value computation (26)

Decisions Implications Commentsd = 1 Fault propagation through i

Propagate fault effects on i = Dd = 0

a single path D-frontier = k m n

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 160

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

Example of D-Algorithm (0413)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 161

「DIP概論」- IP Testing

bull Value computation (36)Decisions Implications Comments

j = 1 Fault propagation through nk = 1 Propagate fault effects onl = 1 a single path m = 1

n = De = 0e = 1k = D Contradiction

Example of D-Algorithm (0513)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 162

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

01

DContradiction

Example of D-Algorithm (0613)

D

1

11

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 163

「DIP概論」- IP Testing

bull Value computation (46)Decisions Implications Comments

e = 1 Fault propagation through kk = D Propagate fault effects on e = 0 two paths j = 1 D-frontier = m n

Example of D-Algorithm (0713)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 164

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

D

10 1

Example of D-Algorithm (0813)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 165

「DIP概論」- IP Testing

bull Value computation (56)Decisions Implications Comments

l = 1 Fault propagation through nm = 1 Propagate fault effects on

n= D two reconvergent paths f = 0

f = 1

m =D Contradiction

Example of D-Algorithm (0913)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 166

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

D

10 1

01

D

Contradiction

Example of D-Algorithm (1013)

D

1

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 167

「DIP概論」- IP Testing

bull Value computation (66)Decisions Implications Comments

f = 1 Fault propagation through mm = D Propagate fault effects onf = 0 three paths l = 1n= D Fault effects on POrsquos

Example of D-Algorithm (1113)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 168

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1D

01

D

10 1

10

D

1

D

Example of D-Algorithm (1213)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 169

「DIP概論」- IP Testing

bull Decision treendash Nodes the associated D-frontierndash Branches the taken decision ie the gate selected from the

D-frontieri k m

k m n

m nF

F S

i

n k

n m

Two times of backtracking

Example of D-Algorithm (1313)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 170

「DIP概論」- IP Testing

Partial Specification of The x Valuebull For a ldquototally unspecifiedrdquo composite value x

both v and vf are unknownndash x for 0 1 D D

bull For a ldquopartially specifiedrdquo composite value x v is binary and vf is unknown(u) vice versandash 0u for 0 D ndash 1u for D 1ndash u0 for 0 Dndash u1 for D 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 171

「DIP概論」- IP Testing

9-V Algorithmbull Similar to D-algorithm except that the

considered logic values are 0 1 D D 0u 1u u0 u1 uu (9-value)

bull Drive a D(D) through a gate G with controlling value c the values it assigns to the unspecified inputs of G correspond to the set c D(c D)

bull ub or bu (b is binary) at a PI is immediately transformed to bb

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 172

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

Example of 9-V Algorithm (17)

u1

u1

u1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 173

「DIP概論」- IP Testing

Example of 9-V Algorithm (27)

Decisions Implications Commentsa = 0 Fault activationh = 1b = 1 Unique D-driven through gc = 1g = Di = u1k = u1m = u1 D-frontier = i k m

bullV

alue computation (13)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 174

「DIP概論」- IP Testing

Example of 9-V Algorithm (37)

Decisions Implications Commentsd = 1 Fault propagation through i

i = Dd = 0

n = 1u D-frontier = k m n

bullV

alue computation (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 175

「DIP概論」- IP Testing

Example of 9-V Algorithm (47)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

u1

1

0

D

1u

u1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 176

「DIP概論」- IP Testing

Example of 9-V Algorithm (57)

bullV

alue computation (33)

Decisions Implications Commentsl = u1 Fault propagation through nj = u1

n = Df = u0f = 1f = 0

e = u0

e = 1e = 0k = D

m = D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 177

「DIP概論」- IP Testing

0

1D

Example of 9-V Algorithm (67)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011 D

1

u1

u1

1

0

D

D0

1D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 178

「DIP概論」- IP Testing

Example of 9-V Algorithm (77)bull Decision tree

ndash Nodes the associated D-frontierndash Branches the taken decision ie the gate selected from the

D-frontier

i k m

k m n

S

i

n

No backtracking

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 179

「DIP概論」- IP Testing

D-Algorithm vs 9-V Algorithm

bull Whenever there are k possible paths for FPndash D-algorithm may eventually try all the 2k-1

combinations of pathsndash 9-V algorithm tries only one path at a time but

without precluding simultaneous FP on the other k-1 paths

bull Enumerate at most k ways of FP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 180

「DIP概論」- IP Testing

Inversion Parity

bull In circuits composed only of AND OR NAND NOR and NOT gates we can define the ldquoinversion parityrdquo of a path as the number taken modulo 2 of the inverting gates (NAND NOR and NOT) along that path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 181

「DIP概論」- IP Testing

Path-Oriented DEcision Making (PODEM)bull PODEM allows the value assignments for LJ

problems only on PIs ie backtracking can occur only on PIs ndash Treat a value vk to be justified for line k as an

objective (k vk)ndash Use the backtracing procedure to map the object

into a PI assignment that ldquois likely to contributerdquo to achieve the objective

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 182

「DIP概論」- IP Testing

BacktracingObjective (k vk)Step 1 Find a x-path from line k to a PI say aStep 2 Count the inversion parity of the pathStep 3 If the inversion parity is even then

return (a vk) otherwise (a vk)

Note No non-PI values are assigned during backtracing ie these values are assigned only by simulating PI assignments (implications)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 183

「DIP概論」- IP Testing

The Backtracing ImplementationBacktrace(k vk) map objective into PI assignment beginv = vk

while k is a gate output begin

i = inversion of kselect an input j of k with value xv = v oplus ik = j

endreturn (k v) k is a PI

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 184

「DIP概論」- IP Testing

Example of Backtracing ProcedureObjective (f 1)

fd

e

ca

bx

x

x

xxx

fd

e

ca

bx

1

x

10x

The first time of backtracing

fd

e

ca

bx

1

x1

0x

fd

e

ca

b1

1

0

101

The second time of backtracing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 185

「DIP概論」- IP Testing

Choosing of Objectives (12)

bull In PODEM the order of the objectives being considered is as follows1 The objectives for FA2 Repeatedly select a gate G from the D-frontier

(until some fault effect is at a PO or the D-frontier is empty) and consider the input with x value as an objective

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 186

「DIP概論」- IP Testing

Choosing of Objectives (22)

Objective( )being

the target fault is l s-a-v if (the value of l is x) then return (l v)select a gate G from the D-frontierselect an input j of G with value xc = controlling value of G return (j c)

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 187

「DIP概論」- IP Testing

The PODEM ImplementationPODEM( ) beginif (error at PO) then return SUCCESSif (test not possible) then return FAILURE(k vk) = Objective( )(j vj) = Backtrace(k vk) j is a PI Imply(j vj)if PODEM( ) = SUCCESS then return SUCCESSImply(j vj) reverse decision if PODEM( ) = SUCCESS then return SUCCESSImply(j x)return FAILURE

end

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 188

「DIP概論」- IP Testing

Example 1 of PODEM (18)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

D

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 189

「DIP概論」- IP Testing

Example 1 of PODEM (28)bull Value computation (13)

Objective PI Assignment Implications D-frontier Comments

(a 0) a = 0 h = 1 g

(b 1) b = 1 g(c 1) c = 1 g = D i k m

(d 1) d = 1 d = 0

i = D k m n

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 190

「DIP概論」- IP Testing

Example 1 of PODEM (38)bull Value computation (23)Objective PI Assignment Implications D-frontier Comments

(k 1) e = 0 e = 1j =0

k =1n = 1 m x-path check fails

e = 1 e = 0 reversal

j = 1k = D m n

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 191

「DIP概論」- IP Testing

Example 1 of PODEM (48)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

00

1

D

D

11

x-path(to PO)check failsrArr Backtracking

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 192

「DIP概論」- IP Testing

Example 1 of PODEM (58)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

11

0

D

D

1D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 193

「DIP概論」- IP Testing

Example 1 of PODEM (68)bull Value computation (33)Objective PI Assignment Implications D-frontier Comments

(l 1) f = 1 f = 0l = 1

m = Dn = D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 194

「DIP概論」- IP Testing

Example 1 of PODEM (78)

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

f

011

11 0

11

0

D

D

11 0

D

D

D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 195

「DIP概論」- IP Testing

Example 1 of PODEM (88)bull Decision tree

ndash Nodes the PIs selected to be assigned valuesndash Branches the value assigned to the PI

a0b1

c1d1

e0F f1

S

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 196

「DIP概論」- IP Testing

Features of PODEMbull PODEM examines all possible input

patterns implicitly but exhaustively as tests for a given fault ie a complete TG

bull PODEM does not needndash Consistency checkndash The J-frontierndash Backward implications

bull Generally faster than D-algorithm

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 197

「DIP概論」- IP Testing

A More Intelligent Backtracing (12)bull To guide the backtracing process of PODEM

controllability for each line is measuredndash CY1(a) the probability that line a has a value 1ndash CY0(a) the probability that line a has a value 0

bull Eg f = ab assume CY1(a) = CY0(a) = CY1(b) = CY0(b) = 05ndash CY1(f) = CY1(a) CY1(b) = 025ndash CY0(f) = 1 - CY1(f) = 075

ab f

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 198

「DIP概論」- IP Testing

bull How to guide the backtracing process using controllabilityndash Principle 1 Among several unsolved problems first

attack the hardest onendash Principle 2 Among several solutions of a problem

first try to the easiest onebull Eg

ndash Objective (c 1) rArr Choose path c-a to backtracendash Objective (c 0) rArr Choose path c-a to backtrace

A More Intelligent Backtracing (22)

ab c

CY1(a) = 033 CY0(a) = 067CY1(b) = 05 CY0(b) = 05

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 199

「DIP概論」- IP Testing

Example 2 of PODEM (14)Initial objective(G5 1)G5 is an AND gate Choose the hardest-1rArr Current objective is (G1 1)G1 is an AND gate Choose the hardest-1 rArr Arbitrarily current objective is (A 1)A is a PI Implication rArr G3 = 0

Ps Initially CY1 and CY0 for all PIs are set to 05

C1(G1) = 025

C1(G1) = 0656

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 200

「DIP概論」- IP Testing

Example 2 of PODEM (24)Is the initial objective justified No rArr Current objective (G5 1)G5 is an AND gate Choose the hardest-1rArr Current objective is (G1 1)G1 is an AND gate rArr Choose the hardest-1 rArr Arbitrarily current objective is (B 1)B is a PI rArr Implication rArr G1 = 1 G6 = 0

C1(G1) = 025

C1(G1) = 0656

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 201

「DIP概論」- IP Testing

Example 2 of PODEM (34)Is the initial objective justified No rArr Current objective (G5 1)The value of G1 is known rArr Current objective (G4 0)The value of G3 is known rArr Current objective(G2 0)A B are known rArr Current objective (C 0)C is a PI rArr Implication rArr G2 = 0 G4 = 0 G5 = D G7 = D

C1(G1) = 025

C1(G1) = 0656

No backtracking

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 202

「DIP概論」- IP Testing

Example 2 of PODEM (44)

bull If the backtracing process is not guided ndash Two times of backtracking may occur

G5rarr G4rarr G2rarr A

G5rarr G4rarr G2rarr B

G5rarr G4rarr G2rarr C

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 203

「DIP概論」- IP Testing

Head Lines

bull A line that is reachable from at least one stem is said to be bound otherwise free

bull A head line is a free line that directly feeds a bound line

head linesbound

DE

ABC

F

G

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 204

「DIP概論」- IP Testing

The Property of Head Lines[Theorem 4-2] If l is a head line the value of l can be justified without contradicting any other values previously assignedHintThe subcircuit feeding l is fanout-free

head linesbound

DE

ABC

F

G

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 205

「DIP概論」- IP Testing

Fanout-Oriented (FAN) Algorithmbull The FAN algorithm introduces two major

extensions to the backtracing concept of PODEMndash Rather than stopping at PIs backtracing in

FAN may stop at internal lines ie head lines ndash Rather than trying to satisfy one objective

FAN use a multiple-backtrace procedure that attempts to simultaneously satisfy a set of objectives

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 206

「DIP概論」- IP Testing

FAN vs PODEM

head linesbound

DE

ABC

F

G

Assume that setting G = 0 causes the D-frontier to become empty

A1B0

F C0F

1

1

G0F

1

PODEM FAN

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 207

「DIP概論」- IP Testing

Multiple Backtracing (13)Mbacktrace(Current_objectives)beginrepeat

beginremove one entry (k vk) from

Current_objectivesif k is a head line

then add (k vk) to Head_objectiveselse if k is a fanout branch

thenbegin

j = stem(k)increment number of requests at

j for vk

add j to Stem_objectivesend else if k is a fanout branch

else continue tracingbegin

i = inversion of kc = controlling value of k

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 208

「DIP概論」- IP Testing

Multiple Backtracing (23)

if(vkoplus i = c) then

beginselect an input j of k with

value xadd (j c) to

Current_objectivesend if(vkoplus i = c)

elsefor every input j of k with

value x

add (j c) to Current_objectives

end continue tracingend

until Current_objectives = empty

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 209

「DIP概論」- IP Testing

Multiple Backtracing (33)

if Stem_objectives ne emptybeginremove the highest-level stem k from

Stem_objectives

vk = most requested value of k

if(k has contradictory requirements and k is not reachable from target fault)

then return (k vk)add (k vk) to Current_objectivesreturn

Mbacktrace(Current_objectives)end if Stem_objectives ne empty

remove one objective (k vk) from Head_objectivesreturn (k vk)

end Mbacktrace

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 210

「DIP概論」- IP Testing

Generation of Conflicting Values on A Stem

0

1

0

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 211

「DIP概論」- IP Testing

Example of Multiple Backtracing (12)

AB

A1

A2E

E1

E2

G

H

I

JC

1

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 212

「DIP概論」- IP Testing

Example of Multiple Backtracing (22)

(I 1 ) (J 0 ) (I 1 )

(J 0 ) (G 0 ) (J 0 )

(G 0 ) (H 1 ) (G 0 )

(H 1 ) (A1 1 ) (E1 1) (H 1 )

(A1 1 ) (E1 1 ) (E2 1) (C 1) (A1 1 ) A(E1 1 ) (E2 1 ) (C 1 ) (E1 1 ) A E(E2 1 ) (C 1 ) (E2 1 ) A E(C 1) (C 1 ) A E C

A C(E 1 ) (E 1 ) A C(A2 0 ) (A2 1 ) A C

A C

Current_objectivesProcessed

entry Stem_objectives Head_objectives

empty

empty

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 213

「DIP概論」- IP Testing

The FAN Implementation (12)FAN( ) beginif Imply_and_check( ) =

FAILUREthen return FAILURE

if (error at PO and all bound lines are justified) then

beginjustify all unjustified head lines return SUCCESS

end

if(error not at PO and D-frontier = empty)then return FAILURE

add every unjustified bound lines to Current_objectivesselect one gate G from the D-frontier c = controlling value of Gfor every input j of G with value xadd (j c) to Current_objectives

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 214

「DIP概論」- IP Testing

The FAN Implementation (22)(i vi) = Mbackrace(Current_objectives)Assign(i vi)if FAN( ) = SUCCESSthen return SUCCESS

Assign(i vi) reverse decisionif FAN( ) = SUCCESSthen return SUCCESS

Assign(i x)return FAILURE

End FAN( )

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 215

「DIP概論」- IP Testing

ATPG (12)

bull Basic schemeinitialize the test set to NULLrepeat

generate a new test vectorevaluate fault coverage for the test vectorif the test vector is acceptable then add it to the test set

until the required fault coverage is obtained

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 216

「DIP概論」- IP Testing

ATPG (22)

bull Accelerationndash Phase I Random test patterns are generated

first to detect easy-to-detect faultsndash Phase II A deterministic TG is then performed

to generate test patterns for the remaining faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 217

「DIP概論」- IP Testing

Sequential TG

bull For circuits with unknown initial statesndash Time-frame expansion based

bull Extended D-algorithmbull 9-V sequential TG

ndash Simulation basedbull CONTEST [Agrawal and Cheng IEEE TCAD Feb

1989]

bull For circuits with known initial statesndash STALLION [Ma et al IEEE TCAD Oct 1988]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 218

「DIP概論」- IP Testing

Iterative Logic Array (ILA) Model

bull Here the model is restricted to synchronous sequential circuits

initial states

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 219

「DIP概論」- IP Testing

Extended D-algorithm1 Pick up a target fault f2 Create a copy of the combinational logic say Time-

frame 03 Generate a test pattern for f using D-algorithm for

time-frame 04 If all the fault effects are propagated into the FFrsquos

continue the fault propagation in the next time-frame5 If there are values required to be justified in the

FFrsquos continue the line justification (LJ) in the previous time-frame

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 220

「DIP概論」- IP Testing

I

OY1

Y2y1

y2 s-a-1

FF2

FF1

Example of Extended D-algorithm (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 221

「DIP概論」- IP Testing

Example of Extended D-algorithm (22)

OY1

Y2

I

y1

y2 s-a-1

time-frame 00

1

D

I

OY1

Y2

y1

y2 s-a-1

time-frame 1

1D

I

y1

y2 s-a-1

time-frame -1

0

0

Y1

Y2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 222

「DIP概論」- IP Testing

9-V Sequential TG

bull Extended D-algorithm is not completebull If 9-V instead of 5-V is used it will be a

complete algorithmndash Since it takes into account the possible repeated

effects of the fault in the ILA model

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 223

「DIP概論」- IP Testing

Example of 9-V Sequential TG (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 224

「DIP概論」- IP Testing

Example of 9-V Sequential TG (22)bull If 5-V Sequential TG is usedhelliphellip

D D

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 225

「DIP概論」- IP Testing

Problems of Time-frame Approachesbull The requirements created during the

forward process (FP) have to be justified (LJ) by the backward processes laterndash Need going both forward and backward time

framesndash Need to maintain a large number of time-

framesbull How many Cyclesbull Implementation is complicated

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 226

「DIP概論」- IP Testing

Simulation-Based Approaches

bull Advantagesndash Timing is considered and asynchronous circuits

can be handledndash Can be easily implemented by modifying a

fault simulatorbull Disadvantages

ndash Can not identify undetectable faultsndash Hard-to-activate faults may not be detected

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 227

「DIP概論」- IP Testing

Difficulties of Sequential Test Generation

bull Initialization is difficultndash Justify invalid statesndash Long initialization sequences (simulator

limitations)bull Timing cannot be considered by time-frame

expansionsndash Races and hazardsndash Asynchronous circuits cannot be handled

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 228

「DIP概論」- IP Testing

Why FC of 100 Is Hard

bull If each undetected fault is redundant then FC will easily reach at 100ndash Proving that the undetected fault is a redundant

fault may be very and very hardbull How to increase FC

faultsredundant the-list fault of size thefaultsredundant the-fault undetected of size the-1

faultsredundant the-list fault of size thefaults detected the

=

=FC

Chapter 5

Design for Testability (DFT)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 230

「DIP概論」- IP Testing

Motivation bull Test costs

ndash Test Generation (TG)ndash Fault Simulationndash Test Application Timendash Memory spacendash helliphellip

bull Test difficultiesndash Sequential gt Combinationalndash helliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 231

「DIP概論」- IP Testing

Testability Measures

bull Controllabilityndash The difficulty of setting a particular logic signal

to a 0 or 1bull Observability

ndash The difficulty of observing the state of a logic signal

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 232

「DIP概論」- IP Testing

SCOAPbull Sandia ControllabilityObservability

Analysis Program [Goldstein 1979]bull Use six cost functions of type integer to

reflect the relative difficulties of controlling and observing signals in digital circuitsndash Higher numbers indicate more difficult to

control or observe signals

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 233

「DIP概論」- IP Testing

Combinational SCOAP Measures

bull For signal lndash CC0(l)

bull The combinational ldquorelative difficultyrdquo of setting l to 0

ndash CC1(l)bull The combinational ldquorelative difficultyrdquo of setting l to 1

ndash CO(l)bull The combinational ldquorelative difficultyrdquo of propagating

a fault effect from l to a PO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 234

「DIP概論」- IP Testing

bull For signal lndash SC0(l)

bull The sequential ldquorelative difficultyrdquo of setting l to 0

ndash SC1(l)bull The sequential ldquorelative difficultyrdquo of setting l to 1

ndash SO(l)bull The sequential ldquorelative difficultyrdquo of propagating a

fault effect from l to a PO

Sequential SCOAP Measures

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 235

「DIP概論」- IP Testing

Initialization

bull CC0(i) = CC1(i) = SC0(i) = SC1(i) = 1 for all PI ibull CO(o) = SO(o) = 0 for all PO obull Set others to infin

The controllabilities range between 1 and infin

The observabilities range between 0 and infin

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 236

「DIP概論」- IP Testing

Controllability of Combinational Components (12)

bull CC0(z) = CC0(a) + CC0(b) + 1bull CC1(z) = minCC1(a) CC1(b) + 1bull SC0(z) = SC0(a) + SC0(b)bull SC1(z) = minSC1(a) SC1(b)

ab z

CC0 or CC1 are related to the number of signals that may be manipulated to control SC0 or SC1 are related to the number of time-frames needed to control

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 237

「DIP概論」- IP Testing

Controllability of Combinational Components (22)ab

ab

abab

ab

ab

z

z

z

z

z

z

CC0(z) = minCC0(a) CC0(b) + 1CC1(z) = CC1(a) + CC1(b) + 1

CC0(z) = CC1(a) + CC1(b) + 1CC1(z) = minCC0(a) CC0(b) + 1CC0(z) = CC0(a) + CC0(b) + 1CC1(z) = minCC1(a) CC1(b) + 1CC0(z) = minCC1(a) CC1(b) + 1CC1(z) = CC0(a) + CC0(b) + 1

CC0(z) = minCC1(a) + CC1(b) CC0(a) + CC0(b) + 1CC1(z) = minCC0(a) + CC1(b) CC1(a) + CC0(b) + 1

CC0(z) = minCC0(a) + CC1(b) CC1(a) + CC0(b) + 1CC1(z) = minCC1(a) + CC1(b) CC0(a) + CC0(b) + 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 238

「DIP概論」- IP Testing

Controllability of Sequential Components

bull CC0(Q) = minCC0(R) CC1(R) + CC0(D) + CC0(C) + CC1(C)bull CC1(Q) = CC1(R) + CC1(D) + CC0(C) + CC1(C)bull SC0(Q) = minSC0(R) SC1(R) + SC0(D) + SC0(C) + SC1(C) + 1bull SC1(Q) = SC1(R) + SC1(D) + SC0(C) + SC1(C) + 1

D

C

Q

R

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 239

「DIP概論」- IP Testing

Observability (12)

P

QR

N

bull CO(P) = CO(N) + CC1(Q) + CC1(R) + 1bull SO(P) = SO(N) + SC1(Q) + SC1(R)

D

C

Q

R bull CO(R) = CO(Q) + CC1(Q) + CC0(R)bull SO(R) = SO(Q) + SC1(Q) + SC0(R) + 1

CO are related to the number of signals that may be manipulated to observeSO are related to the number of time-frames needed to observe

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 240

「DIP概論」- IP Testing

Observability (22)ab

ab

abab

ab

ab

z

z

z

z

z

z

CO(a) = CO(z) + CC1(b) + 1CO(b) = CO(z) + CC1(a) + 1

CO(a) = CO(z) + CC1(b) + 1CO(b) = CO(z) + CC1(a) + 1

CO(a) = CO(z) + CC0(b) + 1CO(b) = CO(z) + CC0(a) + 1CO(a) = CO(z) + CC0(b) + 1CO(b) = CO(z) + CC0(a) + 1

CO(a) = CO(z) + minCC0(b) CC1(b) + 1CO(b) = CO(z) + minCC0(a) CC1(a) + 1CO(a) = CO(z) + minCC0(b) CC1(b) + 1CO(b) = CO(z) + minCC0(a) CC1(a) + 1

zz1z2

zn

CO(z) = minCO(z1) CO(zz) helliphellip CO(zn)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 241

「DIP概論」- IP Testing

Example of SCOAP (13)

1

23

4

5

6

PI3

PI2

PI1

PO

Note ( C0 C1 )

(11)

(11)

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11)

(11)

(11)

Computation of controllability (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 242

「DIP概論」- IP Testing

Example of SCOAP (23)

Note ( C0 C1 )

(11)

(11)

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11)

(11)

(11)

(22)

(22)

(23)

(35)

(27)

(54)

Note ( C0 C1 ) O

(11)

(11)

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11)

(11)

(11)

(22)

(22)

(23)

(35)

(27)

(54) 0

Computation of controllability (22)

Computation of observability (13)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 243

「DIP概論」- IP Testing

Example of SCOAP (33)

Note ( C0 C1 ) O

(11) 5

(11) 5

1

23

4

5

6

PI3

PI2

PI1

PO

(11)

(11)

(11) 9

(11) 9

(11) 9

(22) 8

(22) 8

(23) 3

(35) 5

(27) 3

(54) 0

Note ( C0 C1 ) O

(11) 5

(11) 5

1

23

4

5

6

PI3

PI2

PI1

PO

(11) 5

(11) 5

(11) 9

(11) 9

(11) 9

(22) 8

(22) 8

(23) 3

(35) 5

(27) 3

(54) 0

Computation of observability (23)

Computation of observability (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 244

「DIP概論」- IP Testing

Importance of Testability Measures

bull Speed up test generation (TG) algorithmsbull Improve the testability of the circuit under

design ndash Guide the design for testability (DFT) insertion

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 245

「DIP概論」- IP Testing

Design for Testability (DFT)

bull DFT techniquesndash Design efforts specifically employed to ensure

that a circuit is testablebull In general DFT is achieved by employing

extra hardware overheadndash Conflict between design and test engineersndash Balance between amount of DFT and gain

achieved

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 246

「DIP概論」- IP Testing

Benefits of DFTbull Fault coverage uarr (must guarantee) bull Test generation time darrbull Test lengthTest memoryTest application time darrbull Support a test hierarchy

ndash Chipsndash Boardsndash Systems

rArrPay less now and pay more latter without DFT

FC100

with DFT

of T

without DFT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 247

「DIP概論」- IP Testing

Costs Associated with DFT

bull Pin overhead uarrbull Area uarrbull Yield darrbull Performance darrbull Design time uarr

rArrThere is no free lunch

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 248

「DIP概論」- IP Testing

DFT Techniques

bull Ad hoc DFT techniquesbull Scan-based designsbull Boundary scan

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 249

「DIP概論」- IP Testing

Ad Hoc DFT Techniquesbull Test pointsbull Initializationbull Monostable multivibrators (one-shots)bull Oscillators and clocksbull Partitioning counters and shift registersbull Partitioning of large combinational circuitsbull Logic redundancybull Break global feedback paths

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 250

「DIP概論」- IP Testing

Test Pointsbull Insert test points control points (CPs) and

observation points (OPs) to enhance controllability and observability

C1 C2 C1 C2

jumper

CPOP

original circuits testable circuits

Can be done only for boards

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 251

「DIP概論」- IP Testing

01-Injection

CP1

C1

CP0

C2

01-injection

C1C2

CP00-injection 1-injection

C1C2

CP1

OP OP

OP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 252

「DIP概論」- IP Testing

01-Injection Using a MUX

NT

C1

CP C2

01-injection

MUX

0

1

OP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 253

「DIP概論」- IP Testing

IO-Pin Cost Decrement (12)

01

2n-11 2 n

X1 X2 Xn

Z

CP1CP2

CPN

DEMUX

N = 2n

Using a demultiplexer and a latchregister to implement CPs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 254

「DIP概論」- IP Testing

IO-Pin Cost Decrement (22)

01

2n-11 2 n

X1 X2 Xn

Z

OP1OP2

OPN

MUX

N = 2n

Multiplexing OPs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 255

「DIP概論」- IP Testing

Time-Sharing IO Pins (12)

PIs DEMUX

normal functional

inputsn

n

n nCPs

0

1

NT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 256

「DIP概論」- IP Testing

Time-Sharing IO Pins (22)

OPs

DEMUX

normal functional

outputs

n

n

nPOs

0

1

NT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 257

「DIP概論」- IP Testing

Selection of CPs (12)

bull Control address and data bus lines on bus-structured designs

bull Enablehold inputs to microprocessorsbull Enable and readwrite inputs to memory

devicesbull Clock and presetclear inputs to memory

devices such as flip-flops counter and shift registers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 258

「DIP概論」- IP Testing

Selection of CPs (22)

bull Data select inputs to multiplexers and demultiplexers

bull Control lines on tri-state devices

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 259

「DIP概論」- IP Testing

Selection of OPs (12)

bull Stem lines associated with signals having high fanout

bull Global feedback pathsbull Redundant signal linesbull Outputs of logic devices having many

inputs such as multiplexers and parity generators

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 260

「DIP概論」- IP Testing

Selection of OPs (22)

bull Outputs from state devices such as flip-flops counters and shift registers

bull Address control data buses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 261

「DIP概論」- IP Testing

Initialization (12)bull Design circuits to be easily initializable

ndash Donrsquot disable preset (PR) and clear (CLR) lines

PR

CLR

Vcc

Vcc

Q

Q

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 262

「DIP概論」- IP Testing

Initialization (22)bull When the preset or clear line is driven by

logic a gate can be added to achieve initialization

PR

CLR

Q

Q

C1

Clear

PR

CLR

Q

Q

C1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 263

「DIP概論」- IP Testing

Built-In Initialization Signal Generator

Vcc

t

VZ

Vcc

Z

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 264

「DIP概論」- IP Testing

Monostable Multivibrators (One-Shots) (12)

bull Disable internal one-shots during test

C1C2

one-shotjumper

CPOP

jumper

OP CP

Can be done only for boards

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 265

「DIP概論」- IP Testing

Monostable Multivibrators (One-Shots) (22)

C1

C2

one-shotA

B

E (OP)

C

D

MUX

0

1

01-I

s

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 266

「DIP概論」- IP Testing

Oscillators And Clocksbull Disable internal oscillators and clocks

during test

OSCC

OP

AB

01-I

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 267

「DIP概論」- IP Testing

CountersShift Registers (12)bull Partition large counters and shift registers

into smaller units

DIN

CK

DOUTR1

DIN

CK

DOUTR2C

X1 X2

Y1 Y2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 268

「DIP概論」- IP Testing

CountersShift Registers (22)

CPdata inhibit

CPtest data

C

CPclock inhibitCPtest clock

DIN

CK

DOUT

R1

X1

Y1

CPdata inhibit

CPtest data

OP

DIN

CK

DOUT

R2

X2

Y2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 269

「DIP概論」- IP Testing

Partitioning Large Circuits (12)bull Partition large circuits into smaller

subcircuits to reduce test generation cost

C1 C2

AB

C

D

E

F G

m ns

p

q

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 270

「DIP概論」- IP Testing

Partitioning Large Circuits (22)

If 2p+n + 2q+m lt 2n+m then test time can be reduced

m

s

n

q

p

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 271

「DIP概論」- IP Testing

Logic Redundancy

bull Avoid the use of redundant logicndash Remove (for eliminating hazardshelliphellip)

bull Add test points to remove the redundancy during testing

bull Bias fault coverage

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 272

「DIP概論」- IP Testing

Global Feedback Pathsbull Provide logic to break global feedback

paths

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 273

「DIP概論」- IP Testing

Scan SystemPO

C

R

PI

C

Rrsquo

PI

Sin

Sout

PO

Original design Modified design

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 274

「DIP概論」- IP Testing

Scan Storage Cell (SSC)

DSi

N TCK

Q So

N T Q So

0 D1 Si

D QSSC

Symbol for a SSC

rArr A SSC can be used as control point (CP) andor observation point (OP)

SSC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 275

「DIP概論」- IP Testing

Simultaneous CO

C1 C2

MUX

0

1

T

D Q

CPOP

SiN T CK

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 276

「DIP概論」- IP Testing

Scan Register (SR) (12)

Sin

CK

N T

D1

Q

Q1 D2

Q

Q2 Dn

Q

Qn

DSi

N TCK

SoutSSC SSC

R

Symbol for a SR

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 277

「DIP概論」- IP Testing

Scan Register (SR) (22)

bull A scan register (SR) loads data in parallel when N T = 0 (normal mode) and shifts when N T = 1 (test mode)ndash Scan-in operation (test mode)

bull Load data into R from line Sin (control)

ndash Scan-out operation (test mode)bull Read data out of R from line Sout (observation)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 278

「DIP概論」- IP Testing

Generic Scan-Based Design

bull Full serial integrated scanbull Full isolated scanbull Nonserial scan

ndash Random-access scan

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 279

「DIP概論」- IP Testing

Full Serial Integrated Scan (12)

bull All the original storage cells are replaced by the SSCrsquos and made part of the SR

bull Sequential ATPG rarr Combinational ATPG

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 280

「DIP概論」- IP Testing

C

R

PI PO

CK

C

Rs

PI PO

CKNT Sin

Sout

Original design (Normal) Modified design (Scanned)

Full Serial Integrated Scan (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 281

「DIP概論」- IP Testing

Full Isolated Scan (12)bull The SR is not in the the normal data path

C

Rrsquo

Rs

PI PO

Sin Sout

two data input ports

shadow register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 282

「DIP概論」- IP Testing

Full Isolated Scan (22)bull Advantages

ndash Real-time testingbull A single test can be applied at the operational clock

rate of the system

ndash On-line testingbull The circuit can be tested while in normal operation

bull Disadvantagesndash Hardware overhead

bull Two data input portsbull Shadow register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 283

「DIP概論」- IP Testing

Random-Access Scan (12)C

addressable storage elements

clocks and controls

Y-address(decoder)

X-address(decoder)

Sout

SinSCK

PI PO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 284

「DIP概論」- IP Testing

Random-Access Scan (22)bull Advantages

ndash Scan in a new vector only bits that need be changed must be addressed and modified also selected bits can be observed

bull Full controllability and observability

bull Disadvantagesndash Hardware overhead

bull Considerable overhead associated with storing the addresses of the cells to be setread

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 285

「DIP概論」- IP Testing

IBM LSSD Scan Cellbull Level Sensitive Scan Design

D

Sin

Q2 Sout(L2)

Q1 (L1)

C

A

B

Normal mode A = 0 C and B activeTest mode C = 0 A and B active

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 286

「DIP概論」- IP Testing

Clock Schemebull To obtain race-free condition clocks C and

B as well as A and B are nonoverlapping

C

B

A

B

Normal mode A = 0

Test mode C = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 287

「DIP概論」- IP Testing

LSSD Double-Latch Design

Sout

Sin

CA

B

Shift Register Latch (SRL)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 288

「DIP概論」- IP Testing

LSSD Single-Latch Design

Sout

SinC2

Shift Register Latch (SRL)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 289

「DIP概論」- IP Testing

Scan Design Costsbull Hardware overheadbull Extra pinsbull High test timebull Extra slower clock controlsbull Possible performance degradationbull Some designs are not easily realizable as

scan designTest generation costs can be significantly reduced and lead to higher fault coverage

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 290

「DIP概論」- IP Testing

Notes

Chapter 6

Advanced Scan Concepts

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 292

「DIP概論」- IP Testing

Advanced Scan Concepts

bull Multiple test sessionsbull Multiple scan chainsbull Broadcast scan chainsbull Partial scan

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 293

「DIP概論」- IP Testing

Multiple Test Sessions (12)bull of test patterns

ndash C1 100 C2 200 C3 30020 bits 20 bits 20 bits

C1 C2 C3

Test time= 60 300= 18000 (cycles)

One session

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 294

「DIP概論」- IP Testing

Multiple Test Sessions (22)bull of test patterns

ndash C1 100 C2 200 C3 300

20 bits 20 bits 20 bits

C1 C2 C3

Test time= 60 100 +

40 100 +20 100

= 12000 (cycles)

Three sessions

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 295

「DIP概論」- IP Testing

Multiple Scan Chainsbull Reduce test application timebull Large pin overhead

ndash Usually test IO will share the normal IO

A single chain (long test time) Multiple chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 296

「DIP概論」- IP Testing

Broadcast Scan Chainsbull Using a single data input to support multiple

scan chains

Source Lee et al ICCADrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 297

「DIP概論」- IP Testing

Virtual Circuitsbull The inputs of circuits under test (CUTs) are

connected in a 1-to-1 manner

bull The whole virtual circuit is considered as one circuit during ATPG

bull The resulted test patterns can be shared by all CUTs Source Lee et al ICCADrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 298

「DIP概論」- IP Testing

Partial Scanbull Only a subset of flip-flops are scannedbull Trade-offs

ndash Area overheadndash TG complexity

partial scan

full scan

sequential TG

combinational TG

1000 (scanned FFrsquos)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 299

「DIP概論」- IP Testing

A Basic Method for Partial Scanbull Represent a sequential circuit with feedback

as a directed graph G = (V E)ndash Each flip-flop i is represented as vertex vi in V ndash Each combinational path from flip-flop i to j is

represented as a directed edge from vi to vj in E

Source Cheng and Agrawal IEEE TComputersrsquo90

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 300

「DIP概論」- IP Testing

Graph Representation (13)

3

1 2 4 5 6

A sequential circuit with 6 flip-flops

Graph representation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 301

「DIP概論」- IP Testing

Graph Representation (23)bull Distance between two vertices on a path is

defined as the number of vertices on that path

distance = 4

distance = 3

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 302

「DIP概論」- IP Testing

Graph Representation (33)bull Sequential depth of a circuit is defined as

the distance of the longest pathbull Cycle length is defined as the maximum

number of vertices in a cycle

Sequential depth = 6

Cycle length = 3 Cycle length = 1 Cycle length = 2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 303

「DIP概論」- IP Testing

Analysis of Sequential Circuits (13)

bull Any sequential circuit can be divided into 3 classes of subcircuits based on the directed graph representationndash Acyclic directed (testable)ndash Directed with only self-loops (testable)ndash Directed with cycles of two or more vertices

(not testable)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 304

「DIP概論」- IP Testing

Analysis of Sequential Circuits (23)

Directed with cycles of two or more vertices (not testable)

Acyclic directed (testable)

Directed with only self-loop (testable)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 305

「DIP概論」- IP Testing

Analysis of Sequential Circuits (33)

bull The number of gates or flip-flops is not the dominant factor for test generation complexity

bull Cycle length is the dominant factorndash To reduce test generation complexity cycles of

length ge 2 should be break or eliminatedbull Sequential depth is minor

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 306

「DIP概論」- IP Testing

Flip-Flop Selection Algorithm (12)

beginidentify all cyclesrepeat

for every vertex begincount the frequency of appearance in the cycle list

endselect the most frequently used vertexremove all cycles containing the selected vertex from the cycle listuntil cycle list is empty

end

bull Finding the vertex set that breaks all cycles called the feedback vertex set problem is NP-completendash Heuristics must be used to bound the computation time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 307

「DIP概論」- IP Testing

= 695

Flip-Flop Selection Algorithm (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 308

「DIP概論」- IP Testing

The BALLAST Methodology (13)bull Scan storage elements are selected such that

the remainder of circuit has some testable structurendash A complete test set can be obtained by using

combinational ATPGsequential TG

combinational TG

1000Source Gupta et al IEEE TComputersrsquo90

BALLAST

(scanned FFrsquos)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 309

「DIP概論」- IP Testing

The BALLAST Methodology (23)

Sout

Sin

HOLD(for test)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 310

「DIP概論」- IP Testing

bull Test procedure for a test pattern ndash Scan in the pattern to R3 and R6

ndash Hold the test pattern in R3 and R6 for two clock cycles such that the test response appears in R4and R5

ndash Load data to R3 and R6 and scan out

The BALLAST Methodology (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 311

「DIP概論」- IP Testing

Circuit Model (14)

bull Given a synchronous sequential circuit Sndash The combinational logic can be partitioned into

clouds where each cloud is a maximal region of connected combinational logic such that its inputs are either primary inputs or outputs of FFrsquos and its outputs are either primary outputs or inputs to FFrsquos

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 312

「DIP概論」- IP Testing

Circuit Model (24)bull A register

ndash Consists of one or more FFrsquos driven by the same clock signal

ndash Receives data from exactly one cloud and feeds exactly one cloud

bull Two typesndash Load set (L) always operates in LOAD modendash Hold set (H) two modes of operation ndash LOAD

and HOLD

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 313

「DIP概論」- IP Testing

Circuit Model (34)bull A directed graph G = (V A H W)

ndash V the set of cloudsndash A the set of connections between two clouds

through registersndash H sub A connections through HOLD registersndash W ArarrZ+ defines the number of FFrsquos in each

registersbull W(a) represent the cost of converting a register into

a scan register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 314

「DIP概論」- IP Testing

Circuit Model (44)

R3

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 315

「DIP概論」- IP Testing

Balanced Sequential Structurebull A synchronous sequential circuit S with G is said

to be a balanced sequential structure (B-structure) ifndash G is acyclic ndash forallv1 v2 isin V all directed paths from v1 to v2 are of equal

lengthndash forallh isin H if h is removed from G the resulted graph is

disconnectedbull When examining whether a circuit with scan

registers is a B-structure the arcs corresponding to scan registers must be removed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 316

「DIP概論」- IP Testing

Example of B-structure

Red arcs represent HOLD registersOthers represent LOAD registers

A B-structure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 317

「DIP概論」- IP Testing

Kernel of a B-Structure (13)bull Given a B-structure SB

ndash Combinational equivalent CB is defined as the combinational circuit formed by replacing each FF in every register in SB by a wire or an inverter

bull Single-pattern testablebull A complete single-pattern test set can be derived

using combinational test generation techniques

bull The depth d of SB

ndash The number of registers on the longest path

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 318

「DIP概論」- IP Testing

Kernel of a B-Structure (23)B-structure SB (d = 2)

Combinational Equivalent CB

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 319

「DIP概論」- IP Testing

Kernel of a B-Structure (33)bull Given an input pattern I applied to SB define the

single-pattern output of SB for I as the steady-state output of SB when I is held constant at the inputs to SB and all its registers are operated in LOADmode for at least d clock cycles

bull Given some fault f in SB if the single-pattern outputs for I of the good and the faulty circuits are different then I is a single-pattern test for f

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 320

「DIP概論」- IP Testing

Outline of BALLAST1 Construct G = (V A H W)2 Remove a minimal cost set of arcs R to

construct SB

3 Determine CB of SB and a complete test set Tfor CB using a combinational ATPG

4 Construct a scan path composed of the registers in R so that they can ldquoshiftrdquo ldquoholdrdquo and ldquoloadrdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 321

「DIP概論」- IP Testing

Selection of Scan Registers1 Transform G = (V A H W) into an acyclic

graph GA by removing a minimal cost set of ldquofeedbackrdquo arcs RA (NP-complete)

2 Transform GA into a balanced graph GB by removing a minimal cost set of arcs RB (NP-complete)R = RAcupRB is the desired set for scan registers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 322

「DIP概論」- IP Testing

Test Procedurebull Operate all scan registers in the SHIFT mode for l

clock cycles (scam in the first test pattern)ndash l is the total number of FFrsquos in the scan path

bull Repeat N times N is the number of test patterns(a) Place all scan register in HOLD mode and all nonscan

registers in LOAD mode for d clock cycles(b) Operate all scan registers in LOAD Load for 1clock

cycle(c) Operate all scan register in SHIFT mode for l clock

cycles

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 323

「DIP概論」- IP Testing

Elimination of HOLD Modebull Eg By adding two dummy bits (d) between

the patterns to be scanned to R3 and R6 the HOLD mode can be eliminated

Sin

Sout1101hellip01dd10hellip101

R3 R6

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 324

「DIP概論」- IP Testing

ConclusionsMethods Partial Scan

Multiple TestSessions

Mutiple ScanChains

Broadcast ScanChains

Area Overhead

PerformanceDegradation

Extal Pins

Extral ClockControl

Test ApplicationTime

same

same

same

same

same

same

darr or uarr

darr

darr

darr

same or uarr

same

uarr

same

darr

same

same

darr

darr

same

Full Scan

Chapter 7

Compression Techniques

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 326

「DIP概論」- IP Testing

Challenges from ORA

bull A bit-by-bit comparison of observed output values with the correct values as previously computed and saved is quite inefficientndash Require a significant amount of memory

storage for saving the correct outputs associated with all test vectors

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 327

「DIP概論」- IP Testing

Response Compressionbull Compress or compact output responses into

ldquoa signaturerdquondash A circuit is tested by comparing the observed

signature with the correct computed signature

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 328

「DIP概論」- IP Testing

Error Maskingbull signature(faulty circuit)

= signature(fault-free circuit)ndash The erroneous output response is an alias of the

correct output responsebull Measurement of masking probability

ndash Compute the fraction of all possible erroneous response sequences that cause masking associated with specific compression techniques

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 329

「DIP概論」- IP Testing

Requirements of Compression Techniques

bull Easy to implement specially in the BIST environment

bull Small performance degradationbull High degree compactionbull No or small alias errors

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 330

「DIP概論」- IP Testing

Basic Compression Techniques

bull Ones-count compressionbull Transition-count compressionbull Parity-check compressionbull Syndrome Testingbull Signature Analysis

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 331

「DIP概論」- IP Testing

Ones-Count Compression (12)bull Given a single-output circuit C let the

output response of C be R = r1 r2 hellip rm

ndash In ones counting the signature 1C(R) is the number if 1s appearing in R ie

where 0 le 1C(R) le m

bull The degree of compression is ⎡log2(m+1)⎤

sum=i

irR1C )(

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 332

「DIP概論」- IP Testing

Ones-Count Compression (22)

counter

s-a-0 fault f2

s-a-1 fault f1

111100001100110010101010

00000000 = R211000000 = R110000000 = R0

Signature (ones count)1C(R0) = 11C(R1) = 21C(R2) = 0

x1x2x3

Input test patternsequence T

Output Reponses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 333

「DIP概論」- IP Testing

Analysis of Ones-Countbull Consider a circuit tested with m random

input vectors and let 1C(R0) = r 0 le r le mndash The number of m-bit sequences having r 1s is

such sequences are aliases

bull The ratio of masking sequences to all possible erroneous sequence given 1C(R0) = r is

⎥⎦

⎤⎢⎣

⎡rm

1rm

minus⎥⎦

⎤⎢⎣

)1

1rmM

2CP m

m

r1C minus

minus=(

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 334

「DIP概論」- IP Testing

Transition-Count Compressionbull TC(R) = sum

minus

=+

oplus1m

1i1ii rr

NetworkT D Q

counter

00000000 = R211000000 = R110000000 = R0

Signature (transition count)TC(R0) = 1TC(R1) = 1(undetectable fault)TC(R2) = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 335

「DIP概論」- IP Testing

bull If all faulty sequences are equally likely to occur as the response of a faulty circuit then the probability of masking is given by

Analysis of Transition-Count

122)|(

1

minusminus

=minus

m

mr

TC1CrmMP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 336

「DIP概論」- IP Testing

Parity-Check Compression

NetworkT

00000000 = R211000000 = R110000000 = R0 D Q

Signature (parity)p(R0) = 1p(R1) = 0p(R2) = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 337

「DIP概論」- IP Testing

bull All errors consisting of odd number of bit errors are detectedndash Detect all single-bit errors

bull All errors consisting of even number of bit errors are maskedndash Assume all faulty bit streams are equally likely

the probability of masking approaches frac12 as m increases

Analysis of Parity-Check

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 338

「DIP概論」- IP Testing

Syndrome Testingbull Rely on exhaustive testing ie applying all

2n test vectors to an n-input combinational circuitndash Eg Consider a single-output circuit

implementing a function fbull The syndrome S (or signature) is the normalized

number of 1s in the resulting stream ie S = K2n where K is the number of minterms in the function f

ndash A special case of ones-count compression

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 339

「DIP概論」- IP Testing

Signature Analysis

bull Signature analysis is a compression technique based on the concept of cyclic redundancy checking (CRC) and realized in hardware using linear-feedback shift registers (LFSRs)ndash The signature is the content of this register after

the last input bit has been sampled

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 340

「DIP概論」- IP Testing

LFSRs Used as Signature Analyzers

bull Single-input signature registers (SISRs)bull Multiple-input signature registers (MISRs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 341

「DIP概論」- IP Testing

SISRsbull Initial state I(x) = 0bull Final state R(x) the remainder or signature

)()()( )(or )()()(

)()( xRxPxQxG

xPxRxQ

xPxG

+=+=

G(x) Q(x)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 342

「DIP概論」- IP Testing

Example of SISRs

R(x) = x2+x4 Q(x) =1+x2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 343

「DIP概論」- IP Testing

Analysis of SISRs (12)

bull For a test bit stream of length mndash 2m possible responses of which only one is

correctndash The number of bit streams producing a specific

signature is 2m 2n = 2m-n where n is the length of the LFSR

ndash Among these streams only one is correct

( ) 21212P n

m

nm

SA nmM minusminus

congminus

minus=|

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 344

「DIP概論」- IP Testing

ndash Eg If n = 16 then(1-2-16) 100 = 999984

of erroneous responses are detectedNote This is not of faults

Analysis of SISRs (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 345

「DIP概論」- IP Testing

MISRs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 346

「DIP概論」- IP Testing

Implementation of MISRs

(a) Original (a) Modified

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 347

「DIP概論」- IP Testing

The Storage Cell for MISRs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 348

「DIP概論」- IP Testing

Notes

Chapter 8

Built-In Self-Test (BIST)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 350

「DIP概論」- IP Testing

Built-In Self-Test (BIST) (12)bull Capability of a circuit (chip board or

system) to test itself

Test Pattern Generator (TPG)

Circuit under Test (CUT)

Output Response Analyzer (ORA)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 351

「DIP概論」- IP Testing

bull On-line not placed into the test modendash Concurrent simultaneous with normal

operationndash Nonconcurrent idle normal operation

bull Off-line placed into the test modendash Functional diagnosis SW or FWndash Structural

bull LFSR-based TPG and ORAbull FC is estimated

Built-In Self-Test (BIST) (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 352

「DIP概論」- IP Testing

Glossary of BIST Test Structures (12)bull BILBO

ndash built-in logic block observation (register)bull LFSR

ndash linear feedback shift registerbull MISR

ndash multiple-input signature registerbull ORA

ndash output response analyzer

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 353

「DIP概論」- IP Testing

bull PRPG ndash pseudorandom pattern generator also referred

to as a pseudorandom number generatorbull SISR

ndash single-input signature registerbull SRSG

ndash shift-register sequence generator also a single-output PRPG

bull TPGndash test pattern generator

Glossary of BIST Test Structures (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 354

「DIP概論」- IP Testing

bull Exhaustive testingndash Exhaustive test-pattern generator

bull Pseudorandom testingndash Weighted test generatorndash Adaptive test generator

Test Pattern Generation for BIST (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 355

「DIP概論」- IP Testing

Test Pattern Generation for BIST (22)

bull Pseudoexhaustive testingndash Syndrome driver counterndash Constant-weight counterndash Combined LFSR and shift registerndash Combined LFSR and XOR gatesndash Condensed LFSRndash Cyclic LFSR

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 356

「DIP概論」- IP Testing

Exhaustive Testing

bull Apply all 2n input vectors where n is the number of inputs to CUTndash Impractical for large n

bull Detect all detectable faults that do not cause sequential behaviorndash In general not applicable to sequential circuits

bull Can use a counter or LFSR for TPG

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 357

「DIP概論」- IP Testing

bull A shift register with a linear feedback network is called a linear feedback shift register (LFSR)

bull A n-stage shift register has at most 2n statesrArr A n-stage LFSR has at most 2nndash1 stages

the linear successor of the all-zero state is itself

there4

Linear Feedback Shift Register (LFSR) (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 358

「DIP概論」- IP Testing

Linear Feedback Shift Register (LFSR) (22)

D Q D Q

S0 1 0S1 0 1S2 (=S0) 1 0

Z = 0101helliphellip2 states

Z D Q D Q D Q Z

S0 0 1 1S1 1 0 1S2 0 1 0S3 0 0 1S4 1 0 0S5 1 1 0S6 1 1 1S7 (=S0) 0 1 1

Z = 11010011101001 helliphellip7 states

linear feedback network

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 359

「DIP概論」- IP Testing

Two Types of LFSRs (12)bull Type 1 External type

D Q D Q ZD Q D Q

C1 C2 Cn-1 Cn= 1C0

= 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 360

「DIP概論」- IP Testing

Two Types of LFSRs (22)bull Type 2 Internal type

D Q

Cn-1Cn= 1

D Q

Cn-2

D Q

C1

D Q Z

C0= 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 361

「DIP概論」- IP Testing

Mathematical Operations over GF(2)

bull Multiplication(bull) bull Addition( )

bull 0 10 0 01 0 1

0 10 0 11 1 0

Eg Let C1 = 0 C2 = 1 C3 = 1 and a1 = 0 a2 = 1 a3 = 1If a0 = C1 bull a1 C2 bull a2 C3 bull a3 then a0 = 0 bull 0 1 bull 1 1 bull 1 = 0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 362

「DIP概論」- IP Testing

Analysis of LFSRsbull A sequence of binary numbers can be

represented using a generation function (polynomial)

bull The behavior of an LFSR can be determined by its ldquoinitial seed (S0)rdquo and ldquofeedback coefficients (Ci)rdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 363

「DIP概論」- IP Testing

Characteristic Polynomials (13)

bull Let a0 a1 hellip am hellipbe the sequence of binary numbers ndash Generation function

G(x) = a0 + a1x +hellip+ amxm + hellip=bull Let am = a0 a1 hellip am hellipbe the output

sequence of an LFSR of type 1rArr am =

xa m

mmsum

infin

=0

aC im

n

ii minus

=sum

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 364

「DIP概論」- IP Testing

bull Let the seed S0 be a-1 a-2 hellip a-n hellip

rArr G(x) = =

rArr G(x) = under GF(2)

rArr G(x) depends on the seed S0 and feedback coefficients

xa m

mmsum

infin

=0sum suminfin

= =minus⎟⎠

⎞⎜⎝

0 1m

mn

iimi xaC

( )sum

sum

=

minus

minus

minus

minus=

+

++

n

i

i

i

i

i

in

ii

xC

xaxaxC

1

1

11

1

Characteristic Polynomials (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 365

「DIP概論」- IP Testing

bull Let P(x) = 1 +

= 1 + C1x + C2x2 + hellip+ Cnxn

called the characteristic polynomial of the LFSR representing the linear feedback network

bull The degrees of all characteristic polynomials for an n-stage LFSR are nndash Eg

P(x) = x3 + x + 1

sum=

n

i

i

i xC1

D Q D Q D Q Z

Characteristic Polynomials (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 366

「DIP概論」- IP Testing

Maximum Length Sequences

bull If period p of the sequence generated by an n-stage LFSR is 2n-1 then it is a maximum length sequencendash 1rsquos = 0rsquos + 1

bull The characteristic polynomial associated with the maximum length sequence is a primitive polynomial

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 367

「DIP概論」- IP Testing

Primitive Polynomialsbull The number of primitive polynomials for n-

stage LFSR is given by

where

( ) ( )n

nn 12

2

minus=φλ

( ) prod ⎟⎟⎠

⎞⎜⎜⎝

⎛minus=

np pnn

|

11φ

n1 12 14 28 1616 204832 67108864

( )n2λ

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 368

「DIP概論」- IP Testing

Some Primitive PolynomialsEg 20 3 0 for x20 + x3 + 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 369

「DIP概論」- IP Testing

An Example of LFSR

bull 23-1 = 7 ldquoalmost completerdquo patterns are generated

D Q D Q D Q Z

S0 0 1 1S1 1 0 1S2 0 1 0S3 0 0 1S4 1 0 0S5 1 1 0S6 1 1 1S7(=S0) 0 1 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 370

「DIP概論」- IP Testing

Exhaustive Testing

D Q D Q D Q0 0 1

0 0 0

1 0 0

scan chain 3

CUT

test cycles 3+23

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 371

「DIP概論」- IP Testing

Off-Line BIST Architecturesbull Criteria

ndash Centralized or distributed BIST circuitryndash Embedded or separate BIST elements

bull Key elementsndash Test pattern generators (TPGs)ndash Output response analyzers (ORAs)ndash The circuits under test (CUTs)ndash A distribution system (DIST) for transmitting data from

TPGs to CUTs and from CUTs to ORAsndash A BIST controller for controlling the BIST circuitry

and CUT during self-test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 372

「DIP概論」- IP Testing

CentralizedSeparate BIST (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 373

「DIP概論」- IP Testing

CentralizedSeparate BIST (22)

bull During testing the BIST controller may carry out one or more of the following functionsndash Single-step the CUTs through some test

sequencendash Inhibit system clocks and control test clocksndash Communicate with other test controllers

possibly using test bussesndash Control the operation of a self-test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 374

「DIP概論」- IP Testing

DistributedSeparated BIST

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 375

「DIP概論」- IP Testing

DistributedEmbedded BIST

The TPG and ORA elements are configured from functional elements within the CUT such as registers

Less hardware overheadLead to a more complex design

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 376

「DIP概論」- IP Testing

Factors for Choosing BIST Architecturesbull Degree of test parallelism (distributed darr)bull Fault coverage (distributed darr)bull Level of packaging (centralized darr)bull Test time (distributed darr)bull Physical constraints (embedded and separateuarr)bull Complexity of replaceable units (centralized darr)bull Factory and field of test-and-repair strategiesbull Performance degradation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 377

「DIP概論」- IP Testing

Test-Per-Clock System

LFSR SR

CUT

MISR

Some new set of faults is tested during every clock period

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 378

「DIP概論」- IP Testing

Test-Per-Scan SystemLFSR SR

CUT

MISR SR

Each new set of faults being tested requiresOne clock to conduct the testA series of shifts of the scan chain (SR)

Complete that testRead out all of the test results

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 379

「DIP概論」- IP Testing

STUMPSbull Self-Test Using a MISR and Parallel Shift register

ndash Test-per-scan

LFSR (Pseudo-Random Test Pattern Generator)

SR1 SR2 SRn

MISR

CUT1 CUT2 CUTn

Source Bardell ITCrsquo82

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 380

「DIP概論」- IP Testing

BILBObull Built-In Logic Block Observation

ndash Distributedembedded

BILBO register

BILBO0 0 shift mode0 1 reset1 0 LFSRMISR1 1 normal mode

Source Konemann 1979

z1 z2 zn

B1 B2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 381

「DIP概論」- IP Testing

Applications of BILBO (12)bull Bus-Oriented structure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 382

「DIP概論」- IP Testing

Applications of BILBO (22)bull Pipeline-oriented structure

POs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 383

「DIP概論」- IP Testing

What to Do If 2n Is Too Large

bull Using pseudorandom testingndash Eg Generate only 232 test patterns

bull Using pseudoexhaustive testingndash Eg Partitioning

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 384

「DIP概論」- IP Testing

Pseudorandom Testingbull Weighted test generation

ndash The distribution of 0s and 1s produced on the output lines of TPGs is not necessary uniform

bull Adaptive test generationndash Modify the weights based on the simulation

resultsbull (advantage) efficient in terms of test lengthbull (disadvantage) the TPG hardware is more complex

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 385

「DIP概論」- IP Testing

Weighted Test Generation

bull Using an LFSR and a combinational circuit

D Q D Q D Q

The probability of 05 for a 1is changed to 025

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 386

「DIP概論」- IP Testing

Pseudoexhaustive Testing

bull Achieve many benefits of exhaustive testing but usually require far fewer test patternsndash Rely on various forms of circuit segmentation

and attempt to test each segment exhaustivelybull A segment is a subcircuit of a circuit C

ndash Segments need not be disjoint

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 387

「DIP概論」- IP Testing

Segmentation

bull Logical segmentationndash Sensitized path segmentationndash Cone segmentation (verification testing)

bull Physical segmentation

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 388

「DIP概論」- IP Testing

bull The circuit can be pseudoexhaustivelytested with 2n1 + 2n2 + 1 test patterns

n1

n2

C1

C2

Sensitized Path Segmentation (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 389

「DIP概論」- IP Testing

Sensitized Path Segmentation (22)n1

n2

C1

C2

n1

n2

C1

C2

n1

n2

C1

C2

2n1 test patterns

2n2 test patterns

1 test pattern

1

1

0

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 390

「DIP概論」- IP Testing

Cone Segmentation

bull An m-output circuit is logically segmented into m cones each cone consists of all logic associated with one outputndash Each cone is tested exhaustively and all cones

are tested concurrentlyhelliphellipndash Called verification testing by McCluskey[1984]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 391

「DIP概論」- IP Testing

An (n w)-CUTbull [Definition] Consider a combinational circuit

C with inputs X = x1 x2 hellip xn and outputs Y= y1 y2 hellip ym Let yi = fi(Xi) where Xi sube X Let w = maxi|Xi| We denote this circuit as an (n w)-CUT ndash Pseudoexhaustively testing an (n w)-CUT needs at

least 2w test patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 392

「DIP概論」- IP Testing

An (4 2)-CUT

y1 y2 y3 y4

x1 x2 x3 x4

Pseudoexhaustively testing this (4 2)-CUT need at least 22 test patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 393

「DIP概論」- IP Testing

Constant Weight Patternsbull [Definition] Let T be a set of n-tuples T is

said to exhaustively cover all k-subspaces if for all subsets of k bit positions each of the 2k

binary pattern appears at least once among the |T| n-tuplesndash Eg

⎥⎥⎥⎥

⎢⎢⎢⎢

=

101011110000

Tn = 3

k = 2|T| = 4

T can be a pseudoexhaustive test set for an (n w)-CUT if k ge w

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 394

「DIP概論」- IP Testing

Identification of Test Signal Inputsbull Consider a CUT with n inputs If none of

the outputs is a function of both inputs say a and b then the inputs a and b can be applied to the same test signal line

f(x y)

g(x y)

x

y

z

1 1 0 0

1 1 0 0

1 0 1 0

f(x y)

g(x y)

x

y

z

1 1 0 0

1 0 1 0

apply x and z to the same test signal line

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 395

「DIP概論」- IP Testing

MTC Circuitsbull [Definition]A circuit is said to be a maximal-test-

concurrency(MTC) circuit if the minimal number of required test signals for the circuit is equal to the maximum number of inputs upon which any output depends

f(x y)

g(x y)

x

y

z

1 1 0 0

1 0 1 0

f(x y)

g(x y)

x

y

z

1 1 0 0

1 0 1 0

0 1 1 0h(x z)

A MTC circuit A non-MTC circuit

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 396

「DIP概論」- IP Testing

Identification of Minimal Set of Test Signals

Step 1 Generate a dependency matrix D = [dij] where dij = 1 if output i depends on input j otherwise dij = 0

Step 2 Partition the matrix into group of inputs so that two or more inputs in a group do not affect the same output

Step 3 Collapse each group to form an equivalent input called a test signal input

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 397

「DIP概論」- IP Testing

Example of Identification (12)

abcdefg

f1(a b e)f2(b c g)f3(a d e)

f4(c d e)

f5(e f)

C

f

f

f

f

f

gfedcba

D

5

4

3

2

1

01100000011100001100110001100010011

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

Step 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 398

「DIP概論」- IP Testing

Example of Identification (22)

f

f

f

f

f

gfedbca

Dg

5

4

3

2

1

01100000011010001100110001100010101

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

Step 2

I II III IV

f

f

f

f

f

Dc

5

4

3

2

1

11000111011110110111

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

Step 3

I II III IV

Transformation to a (4 3)-CUT

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 399

「DIP概論」- IP Testing

Physical Segmentation

bull Insert bypass storage cells (bscs) such that in the test mode each output and bscdepends on at most w inputs and bscsndash A bypass storage cell is similar to a cell used in

boundary-scan designbull In the normal mode the inserted bsc acts a wirebull In the test mode the inserted bsc can be part of an

LFSRSR

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 400

「DIP概論」- IP Testing

gate

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 4 4

6 5

Example of Physical Segmentation (16)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 401

「DIP概論」- IP Testing

Example of Physical Segmentation (26)x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 402

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 1

Example of Physical Segmentation (36)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 403

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 2

Example of Physical Segmentation (46)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 404

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 3

Example of Physical Segmentation (56)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 405

「DIP概論」- IP Testing

x1 x2 x3 x4 x5 x6 x7

y1 y2

3 3 32

4 3 4

4 4gate

bsc

Segment 4

Example of Physical Segmentation (66)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 406

「DIP概論」- IP Testing

Pseudoexhaustive Testing by LFSRSR Chains

bull Step1 Partition the circuit under test(CUT) by inserting bypass storage cells(bscs)ndash Reduce the maximum dependency

bull Step 2 Route an LFSRSR chain with a primitive feedback polynomial through the primary inputs(PIs) and bscs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 407

「DIP概論」- IP Testing

LFSRSR Chainsx4 + x3 + 1 (primitive)

PIs

+

BSCs

An LFSRSR chain with a primitive feedbackpolynomial of degree k generates the maximum sequence of length 2k-1

Exhaustively test each output cone

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 408

「DIP概論」- IP Testing

Residue Polynomials

bull For an LFSRSR with primitive feedback polynomial f(x) of degree k the residue Ri(x) of stage i is defined as

Ri(x) = xi mod f(x)

XOR network with f(x)210 k-1 k i

R0 R1 R2 Rk-1 Rk Ri

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 409

「DIP概論」- IP Testing

Example of Residue Polynomials

+x3 + x + 1

1 x x2 x+1

x2+x

x2+x+1

0 1 2 3 4 5

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 410

「DIP概論」- IP Testing

Linear Independencybull [Theorem] An output cone depending on

the inputs p1hellip pk can be exhaustively tested hArr the corresponding residues Rp1

hellipRpk

are linear independent (LI)

210 k-1 k i

R0 R1 R2 Rk-1 Rk Ri

Output G

XOR network with f(x)

R2 Rk-1 Rk is LIhArrThe cone of G is

exhaustively tested

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 411

「DIP概論」- IP Testing

Example of Linear Independency+

x3 + x + 1

1 x x2 x+1

x2+x

x2+x+1

0 1 2 3 4 5

bull If some output cone C depends on inputs 0 3 and 4the output cone can be exhaustively tested

Because 1 x+1 x2+x is LI

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 412

「DIP概論」- IP Testing

Why Not Exhaustively Testingbull Subject to the input-output relation it is not

an easy task to construct a desirable LFSRSR chain as the pseudo-exhaustive TPG for the CUTndash Not all the output cones whose input residues

are LI that is linear dependent (LD)bull Called the LD problem

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 413

「DIP概論」- IP Testing

Possible Solutions to The LD Problembull To overcome the LD problem some variants of

LFSRSR have been proposedndash LFSRXORndash Reconfigurable LFSRSRndash Permuted LFSRSRndash Convolved LFSRSRndash Multiple LFSRSRndash Cell-reordering LFSRSRndash Constant-weight LFSRSRndash Linear-code LFSRSRndash Condensed LFSRSR

These solutions encounter serious problemsThe hardware overhead maybe largeThe construction time maybe long

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 414

「DIP概論」- IP Testing

LFSRXOR+ x3 + x + 1

1 x x2 x+1

x2+x

x2+x+1

0 1 2

++

3 4 5

XOR network

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 415

「DIP概論」- IP Testing

Reconfigurable LFSRSR

0 1 2 3 4 5 6

+

7

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 416

「DIP概論」- IP Testing

Permuted LFSRSR

0 1 2 3 4 5 6

+

7

0 2 5 1 3 4 6 7

inputs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 417

「DIP概論」- IP Testing

Convolved LFSRSR

0 1 2 3 4 5 6

+

7+

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 418

「DIP概論」- IP Testing

Multiple LFSRSR

0 1 2 3

+

4 5 6 7

+

1 0 0 0 1 1 0 0

seed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 419

「DIP概論」- IP Testing

Tree-Structured LFSRSR (TLS)

bull Rationalndash The SR chain of LFSRSR unnecessarily

constraints the searching domain for constructing a pseudo-exhaustive TPG

bull Constructionndash Step 1 Backbone generationndash Step 2 Tree growing

Source Rau et al ITCrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 420

「DIP概論」- IP Testing

Backbone Generationbull Step 1 Use a selected primitive feedback

polynomial to construct the LFSR portionbull Step 2 Based on the LI constraint include

as many PIs or bscs as possible to a shift register(SR) chain connected to the LFSR with as little routing overhead as possibleThe constructed LFSR and SR portion is called the Backbone

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 421

「DIP概論」- IP Testing

Example of Backbone Generation (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 422

「DIP概論」- IP Testing

Example of Backbone Generation (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 423

「DIP概論」- IP Testing

Tree Growing

bull Based on the LI constraint try to connect isolated PIs or BSCs to the backbone with as little routing overhead as possible

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 424

「DIP概論」- IP Testing

Example of Tree Growing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 425

「DIP概論」- IP Testing

XOR-Tree Generation

bull There may be PIs or BSCs which can not be included in the scan tree after the backbone generation and tree growing processesndash Because the LI requirement can not be

satisfiedndash Referred to as the linear dependent (LD)

problem

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 426

「DIP概論」- IP Testing

Overcoming The LD Problem

bull How to overcome the LD problem using as few XORs as possiblendash Use nonzero-terms of polynomial to directly

synthesize the required residuesndash Eg Under polynomial f(x) = x3 + x + 1 we can

synthesize R4 (x2 + x) with ldquoR2 (x2) xor R1(x)rdquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 427

「DIP概論」- IP Testing

Looking for Proper Residues

Rj

XOR network with f(x)210 k-1

R0 R1 R2 Rk-1

i

Ri

jN

bull [Theorem] There must exist a residue Rj j gt i to avoid the LD problem

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 428

「DIP概論」- IP Testing

Residue Replacementbull Synthesize an XOR network from the exited

backbone and tree branches for shorter routingdistance oplus

backbone

branches

isolated oplus

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 429

「DIP概論」- IP Testing

Residue Replacement Process

bull Under the polynomial f(x) = x4 + x3 +1 We can synthesize residue R10 with the existent residues R5 and R6 as follows

R10 = R9 + R7

= R8 + R6 + R7

= R7 + R5 + R6 + R7

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 430

「DIP概論」- IP Testing

Simulation Results of TLS (12) (n m k) Ckt Before Partitioning After Partitioning C432 (36 7 36) (56 27 20) C499 (41 32 41) (49 40 14) C880 (60 26 45) (75 41 20) C1355 (41 32 41) (49 40 14) C1908 (33 25 33) (47 39 19) C2670 (233 140 122) (262 169 20) C3540 (50 22 50) (118 90 20) C5315 (178 123 67) (225 170 20) C6288 (32 32 32) (87 87 20) C7552 (207 108 194) (296 197 20)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 431

「DIP概論」- IP Testing

Simulation Results of TLS (22)

PIsBSCs [16] Ckt (n m k) CPU time Backbone Branches Isolated XORs XORs

C432 (56 27 20) 056 44 12 0 0 9 C499 (49 40 14) 054 48 1 0 0 11 C880 (75 41 20) 064 69 6 0 0 13 C1355 (49 40 14) 277 47 2 0 0 11 C1908 (47 39 19) 241 41 4 2 3 10 C2670 (262 169 20) 1374 247 15 0 0 7 C3540 (118 90 20) 3482 72 45 1 6 27 C5315 (225 170 20) 7566 186 39 0 0 36 C6288 (87 87 20) 25937 59 25 3 15 25 C7552 (296 197 20) 3359 216 80 0 0 31

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 432

「DIP概論」- IP Testing

Solutions of BIST (12)

bull Exhaustivepseudoexhaustive testingbull Weighted pseudorandom testingbull Mixed mode test pattern generation

ndash Pseudorandom test patterns firstndash Deterministic test patterns followed

bull Donrsquot consider the fact that the test pattern are given in a form of testcubes with unspecified inputs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 433

「DIP概論」- IP Testing

Solutions of BIST (22)

bull Reseeding ndash Change the seeds as needed

bull Reprogram the characteristic polynomialbull Combination of two or more of the above

methods

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 434

「DIP概論」- IP Testing

Notes

Chapter 9

Boundary-Scan Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 436

「DIP概論」- IP Testing

Board Level Testing

Sn m

Sn m

n

mMUXm

TNIsolate one module (chip) from the others

Test chips and chip interconnectionsRaise the concept of boundary-scan testing

R1

R2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 437

「DIP概論」- IP Testing

History of Boundary-Scan Testingbull 1988 Joint Test Action Group (JTAG)

proposed Boundary-Scan Standardbull 1990

ndash Boundary-Scan approved as IEEE 11491ndash Boundary-Scan Description Language (BSDL)

proposed by HPbull 1993 11491a approved to replace 11491bull 1994 11491b BSDL approved

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 438

「DIP概論」- IP Testing

1149111491a

bull Testing of digital chips and interconnections between chips

bull Widely used in industryndash Eg advance CPU HDTV satellite systemhelliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 439

「DIP概論」- IP Testing

Chip Architecture for 11491

TAPC

MUX

Sin

Sout

MRsInstruction Reg

Bypass Reg

Application Logic

OptionalBIST registersScan registers

MRs Miscellaneous Registers Boundary-Scan Cell

Boundary-Scan Path

TDITMS

TCKTDO

TAP

IO Pad

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 440

「DIP概論」- IP Testing

A Typical Boundary-Scan Cell (13)

0

1

MUX

S QA

Q1D

QB

Q1D

0

1

MUX

S

INOUT

SOUT

SIN

ShiftDR

ClockDR UpdateDR

Mode_Control

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 441

「DIP概論」- IP Testing

bull As an input boundary-scan cell INcorresponds to a chip input pad OUT is tied to a normal input to the application logic

bull As an output boundary-scan cell IN corresponds to the output of the application logic OUT is tied to an output pad

A Typical Boundary-Scan Cell (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 442

「DIP概論」- IP Testing

bull Operation Modesndash Normal Mode Mode_Control = 0

bull IN -gt OUTndash Scan Mode ShiftDR = 1 ClockDR

bull TDI-gthellip-gtSIN-gtSOUT-gthellip-gtTDOndash Capture Mode ShiftDR = 0 ClockDR

bull IN-gtQA

ndash Update Mode Mode_Control = 1 UpdateDRbull QA-gtOUT

A Typical Boundary-Scan Cell (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 443

「DIP概論」- IP Testing

Board And Chip Testing

Application Logic 2

Application Logic 3 Application Logic 4

TDI

TDO

Application Logic 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 444

「DIP概論」- IP Testing

Board And Chip Test Modes

bull External Test Modendash Test the interconnection between the chips of

boardbull Sample Test Mode

ndash Sample and shift out or shift in data without interfering the normal operation of board

bull Internal Test Modendash Test the chips of board

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 445

「DIP概論」- IP Testing

External Test Mode (14)

Chip 1

Chip 2

TDI

TDO

Shift-DR(Chip 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 446

「DIP概論」- IP Testing

External Test Mode (24)

Chip 1

Chip 2

TDI

TDO

Update-DR(Chip 1)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 447

「DIP概論」- IP Testing

External Test Mode (34)

Chip 1

Chip 2

TDI

TDO

Capture-DR(Chip 2)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 448

「DIP概論」- IP Testing

External Test Mode (44)

Chip 1

Chip 2

TDI

TDO

Shift-DR(Chip 2)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 449

「DIP概論」- IP Testing

Sample Test Mode (12)

0

1

MUX

S QA

Q1D

QB

Q1D

0

1

MUX

S

INOUT

SOUT

SIN

ShiftDR

ClockDR UpdateDR

Mode_Control

Sample

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 450

「DIP概論」- IP Testing

Sample Test Mode (22)

0

1

MUX

S QA

Q1D

QB

Q1D

0

1

MUX

S

INOUT

SOUT

SIN

ShiftDR

ClockDR UpdateDR

Mode_Control

Shift inShift out

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 451

「DIP概論」- IP Testing

Internal Test Mode (12)

Chip 1TDI

Shift-DR

TDO

Chip 1TDI

Update-DR

TDO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 452

「DIP概論」- IP Testing

Internal Test Mode (22)

Chip 1TDI

Capture-DR

TDO

Chip 1TDI

Shift-DR

TDO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 453

「DIP概論」- IP Testing

Test Bus (12)bull A board supporting 11491 contains a test bus

consisting of at least four signalsndash TDI Test Data Inputndash TDO Test Data Outputndash TMS Test Mode Selectorndash TCK Test Clockndash TRST(optional) Test Reset

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 454

「DIP概論」- IP Testing

Test Bus (22)

bull These signals are connected to a chip via its test-bus portsndash Ring configurationndash Star configuration

bull Each chip is considered to be a slave bus and the bus is assumed to be driven by a bus master

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 455

「DIP概論」- IP Testing

Ring Configuration

TDOTDI

TMSTCK

Busmaster

TDITCKTMSTDO

1

Application chips

TDITCKTMSTDO

2

TDITCKTMSTDO

N

TAPC

Registers

TAPC

Registers

TAPC

Registers

CKTMS

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 456

「DIP概論」- IP Testing

Star Configuration

TDOTDI

TMS1

TCK

Busmaster

TDITCKTMSTDO

1

Application chips

TDITCKTMSTDO

2

TDITCKTMSTDO

N

TMSN

TMS2

TAPC

Registers

TAPC

Registers

TAPC

Registers

CKTMS

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 457

「DIP概論」- IP Testing

Test-Bus Circuitry (12)

bull The (on-chip) test-bus circuitry allows access to and control of the test features of a chip consisting of four main elementsndash Test access port(TAP)ndash TAP controller(TAPC)ndash A scannable instruction register and associated

logicndash A group of scannable test data registers(TDRs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 458

「DIP概論」- IP Testing

Test-Bus Circuitry (22)Boundary-scan register

Bypass registers

M

U

X

Decoding logic MUX

TDOTMS

TCK

Test data registers(TDRs)

TDI

optional

optional

Device identification register

User test data register

TAPC

IR clocks and controls

TDR clocks and controls

SelectEnable

OutputBuffer

Instruction register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 459

「DIP概論」- IP Testing

TAPC

bull A synchronous finite state machine with 16statesndash Inputs TCK TMSndash Outputs ShiftDR ClockDR UpdateDR ShiftIR

ClockIR UpdateIR Select Enable TCK (optional) TRST

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 460

「DIP概論」- IP Testing

States of TAPC (12)bull Test-Logic-Reset normal modebull Run-TestIdle wait for a internal test such

as BISTbull Select-DR-Scan initial a scan-data

sequence for the selected registersbull Capture-DR load data in parallelbull Shift-DR load data in serialbull Exit1-DR finish phase-1 shifting of data

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 461

「DIP概論」- IP Testing

States of TAPC (22)bull Pause-DR temporarily halt the scan

operation to allow the bus master to reload datandash Necessary during the transmission of long test

sequencesbull Exit2-DR finish phase-2 shifting of databull Update-DR parallel load from associated

shift registers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 462

「DIP概論」- IP Testing

TMS = 1

TMS = 0

TMS = 0

TMS = 1

TMS = 0

TMS = 1

TMS = 1 TMS = 0

TMS = 0

TMS = 0

TMS = 1

State Diagram of TAPCTest-Logic-Reset

Run-testIdle

TMS = 1TMS = 0

TMS = 0

TMS = 1 TMS = 1 TMS = 1

Control of data registers Control of instruction register

Capture-DR

Shift-DR

Exit1-DR

Pause-DR

Exit2-DR

Update-DR

Select-DR-Scan Select-IR-Scan

Capture-IR

Shift-IR

Exit1IR

Pause-IR

Exit2-IR

Update-IR

TMS = 1

TMS = 0

TMS = 0

TMS = 1

TMS = 0

TMS = 1

TMS = 1 TMS = 0

TMS = 0

TMS = 0

TMS = 1

TMS = 0

TMS = 1

TMS = 0

TMS = 1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 463

「DIP概論」- IP Testing

Test Data Registers

bull Test Data Registers(TDRs)ndash Boundary-scan registersndash Bypass register(1-bit)ndash Device Identification registersndash Registers that are part of the application logic

itself

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 464

「DIP概論」- IP Testing

bull Instruction Register(IR)ndash Shift in a new instruction while holding the

current instruction fixed as its output portsndash Specify operations to be executedndash Select TDRs

bull Each instruction enables a single serial test-data register path between TDI and TDO

Instruction Register and Instructions (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 465

「DIP概論」- IP Testing

Instruction Register and Instructions (22)

bull Instructionsndash Mandatory

bull BYPASS to reduce the length of the scan pathbull EXTEST external test modebull SAMPLE sample test mode

ndash Recommendedbull INTEST internal test modebull RUNBIST for the Run-TestIdle State

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 466

「DIP概論」- IP Testing

BYPASS (12)

Bypass register

TAPC

TDOTMS TCKTDI

Application Logic

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 467

「DIP概論」- IP Testing

BYPASS (22)

Bypass register

TAPC

TDI

Application Logic

Bypass register

TAPC

TDO

Application Logic

1 2

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 468

「DIP概論」- IP Testing

Summaries of Boundary-Scan Operations

bull Instructions are sent serially over TDI into the instruction register

bull Selected test circuitry is configured to respond to the current instruction

bull Test instruction is to be executedbull Test results are shifted out through TDO

new test data on TDI may be shifted in at the same time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 469

「DIP概論」- IP Testing

bull Now the IEEE 11491b standardbull Purposes (12)

ndash To provide a standard description language for boundary scan devices

ndash To simplify the design work for boundary scan ndashautomated synthesis is possible

ndash To promote consistency throughout ASIC designers device manufacturers foundries test developers and ATE manufacturers

Boundary Scan Description Language (BSDL) (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 470

「DIP概論」- IP Testing

Boundary Scan Description Language (BSDL) (22)

bull Purposes(22)ndash For easy incorporation into software tools for

test generation analysis and failure diagnosisndash To reduce possibility of human error when

employing boundary scan in a design

Chapter 10

Memory Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 472

「DIP概論」- IP Testing

Fault Models (13)bull Stuck-at fault (SAF)

ndash The logic value of a cell or a line is always 0 or 1

bull Transition fault (TF)ndash A cell or a line that fails to undergo a 0rarr1 or

a 1rarr0bull Coupling fault (CF)

ndash A write operation to one cell changes the contents of a second cell

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 473

「DIP概論」- IP Testing

Fault Models (23)

bull Neighborhood Pattern Sensitive Fault (NPSF)ndash The content of a cell or the ability to change its

content is influenced by the contents of some other cells in the memory

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 474

「DIP概論」- IP Testing

Fault Models (33)

bull Address Decoder Fault (AF)ndash Any fault that affects address decoder

bull With a certain address no cell will be accessedbull A certain cell is never accessedbull With a certain address multiple cells are accessed

simultaneouslybull A certain cell can be accessed by multiple addresses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 475

「DIP概論」- IP Testing

Memory Chip Test Algorithms

bull Traditional testsbull Tests for SAFs TFs and CFsbull Tests for NPSFs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 476

「DIP概論」- IP Testing

Traditional TestsAlgorithms Test length Order

n is the number of bits of the memory array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 477

「DIP概論」- IP Testing

Test Time as A Function of Memory Size

Cycle time 10 nsn is the number of bits of the memory array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 478

「DIP概論」- IP Testing

Notation of March Test Algorithms

bull uArr address 0 to address n-1bull dArr address n-1 to address 0bull either waybull w0 write 0bull w1 write 1bull r0 read a cell whose value should be 0bull r1 read a cell whose value should be 1

hArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 479

「DIP概論」- IP Testing

March Test Algorithm MATS

bull Modified Algorithmic Test Sequencendash (w0) (r0 w1) (r1)

Step 1 write 0 to all cellsStep 2 for each cell

read 0 and write 1Step 3 read 1 from all cells

hArr hArr hArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 480

「DIP概論」- IP Testing

Other March Test Algorithms (13)

bull MATS+ndash (w0) uArr(r0 w1) dArr(r1 w0)

bull Marching 10ndash (w0) uArr(r0 w1 r1) dArr(r1 w0 r0)

(w1) uArr(r1 w0 r0) dArr(r0 w1 r1)bull MATS++

ndash (w0) uArr(r0 w1) dArr(r1 w0 r0)

hArrhArr

hArrhArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 481

「DIP概論」- IP Testing

bull MARCH Xndash (w0) uArr(r0 w1) dArr(r1 w0) (r0)

bull MARCH C-ndash (w0) uArr(r0 w1) uArr(r1 w0)

dArr(r0 w1) dArr(r1 w0) (r0)bull MARCH A

ndash (w0) uArr(r0 w1 w0 w1) uArr(r1 w0 w1)dArr(r1 w0 w1 w0) dArr(r0 w1 w0)

Other March Test Algorithms (23)

hArr hArr

hArr

hArr

hArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 482

「DIP概論」- IP Testing

bull MARCH Yndash (w0) uArr(r0 w1 r1) dArr(r1 w0 r0) (r0)

bull MARCH Bndash (w0) uArr(r0 w1 r1 w0 r0 w1) uArr(r1 w0 w1)dArr(r1 w0 w1 w0) dArr(r0 w1 w0)

Other March Test Algorithms (33)

hArrhArrhArr

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 483

「DIP概論」- IP Testing

Tests for FaultsAlgorithms Test Length Fault CoverageMATS 4n Some AFs SAFsMATS+ 5n AFs SAFsMarching 10 14n AFs SAFs TFsMATS++ 6n AFs SAFs TFsMARCH X 6n AFs SAFs TFs some CFsMARCH C- 10n AFs SAFs TFs some CFsMARCH A 15n AFs SAFs TFs some CFsMARCH Y 8n AFs SAFs TFs some CFsMARCH B 17n AFs SAFs TFs some CFsn is the number of bits of the memory array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 484

「DIP概論」- IP Testing

NPSF

bull ANPSFndash Active Neighborhood Pattern Sensitive Fault

bull PNPSFndash Passive Neighborhood Pattern Sensitive Fault

bull SNPSFndash Static Neighborhood Pattern Sensitive Fault

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 485

「DIP概論」- IP Testing

ANPSF

bull n changes rArr b changesndash Eg n 0 rArr 1

b 1 rArr 0

n n nn b nn n n

b base celln neighborhood cells

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 486

「DIP概論」- IP Testing

PNPSF

bull Contain n patterns rArr b cannot changendash Eg n 00000000 rArr b 0 or 1

n n nn b nn n n

b base celln neighborhood cells

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 487

「DIP概論」- IP Testing

SNPSF

bull Contain n patterns rArr b is forced to a certain valuendash Eg n 11111111 rArr b 1

n n nn b nn n n

b base celln neighborhood cells

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 488

「DIP概論」- IP Testing

DC Parametric Testing

bull OpenShort testbull Power consumption testbull Leakage testbull Threshold testbull Output drive current testbull Output short current test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 489

「DIP概論」- IP Testing

AC Parametric Testingbull Output signal

ndash The rise and fall timesbull Relationship between input signals

ndash The setup and hold timesbull Relationship between input and output

signalsndash The delay and access times

bull Successive relationship between input and output signalsndash The speed test

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 490

「DIP概論」- IP Testing

Dynamic Faults

bull Recovery faultsndash Sense amplifier recoveryndash Write recovery

bull Retention faultsndash Sleeping sicknessndash Refresh line stuck-at ndash Static data loss

bull Bit-line precharge voltage imbalance faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 491

「DIP概論」- IP Testing

BIST Pros And Consbull Advantages

ndash Minimal use of testersndash Can be used for embedded RAMs

bull Disadvantagesndash Silicon area overheadndash Speed slow access timendash Extra pins or multiplexing pinsndash Testability of the test hardware itselfndash A high fault coverage is a challenge

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 492

「DIP概論」- IP Testing

Architecture of a DRAM Chip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 493

「DIP概論」- IP Testing

Typical Memory BIST Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 494

「DIP概論」- IP Testing

Multiple Memory BIST Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 495

「DIP概論」- IP Testing

Serial Testing of Embedded RAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 496

「DIP概論」- IP Testing

Built-In Self-Repair

bull BIST can only identify faulty chipbull Laser cut may be infeasible in some cases

eg field testingbull Two types

ndash Use fault-array comparatorbull Repair by cellbull Repair by column (or row)

ndash Using switch array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 497

「DIP概論」- IP Testing

BIST Using Switch Array

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 498

「DIP概論」- IP Testing

BIST Using Fault-Address Comparison

Chapter 11

SOC Testing

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 500

「DIP概論」- IP Testing

System-on-A-Chip (SOC)bull Integrate all the function blocks of a

complete system into a single chip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 501

「DIP概論」- IP Testing

Challenges vs Solutions

bull Challengesndash Capacityndash Design productivity gapndash Time-to-market (TTM)ndash helliphellip

bull Solutionsndash Core-based designndash Platform-based designndash helliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 502

「DIP概論」- IP Testing

Core-Based SOC Design

bull Coresndash Pre-defined pre-verified complex function

blocks also termed Virtual Components (VCs) or Intellectual Properties (IPs)

bull Core-based SOC designndash Reuse existed cores to implement a complete

system in a single chiprArrReduce TTM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 503

「DIP概論」- IP Testing

SOC Components

bull Simple coresbull Complex coresbull User-define logic (UDL) bull Interconnect logic and wirerArr SOC testing should cover all the

components

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 504

「DIP概論」- IP Testing

SOC Design Flow

bull SOC components -- cores are only manufactured and tested in the final systemndash It is quite difficult to test the

individual coresbull Cores usually are protected

by laws

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 505

「DIP概論」- IP Testing

Core-Based Test Challenges

bull Distributed design and test developmentbull Test access to embedded coresbull SOC-level test optimization

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 506

「DIP概論」- IP Testing

Distributed Design and Test Development

bull Core providersndash Core-internal design DFT

bull Test pattern generation for coresbull Deliver cores with the complete tests

bull Core usersndash Chip-level DFT

bull Test pattern generation for chipsndash Reuse of core-level test patternsndash Additional test patterns for non-core circuitry

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 507

「DIP概論」- IP Testing

Test Access to Embedded Cores (12)

bull Many cores are (deeply) embedded rArr No direct (functional) access to core terminalsndash Other cores between SOC pins and core

terminalsndash Often core terminals gt SOC pins

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 508

「DIP概論」- IP Testing

Test Access to Embedded Cores (22)

bull To test cores as stand-alone unitsndash Provide core test access paths from SOC pins to

core terminalsndash Isolate cores such that external influence do not

hamper the core testndash Provide test access means for outward-facing

tests

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 509

「DIP概論」- IP Testing

SOC-Level Test Optimizationbull How are embedded cores tested

ndash Stand-alone vs merged with other modulesbull Optimization of test access infrastructure

ndash Test quality and bandwidth vs area and costbull Optimization of test execution and

schedulingndash Trade-offs between test vector count and

application time power dissipation and area

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 510

「DIP概論」- IP Testing

Solutions to Challenges

bull Distributed design and test developmentndash Standardized set of deliverables

bull Test access to embedded coresndash Standardized on-chip test access hardwarendash Tools for test translation

bull SOC-level test optimizationndash Tools to evaluate trade-offs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 511

「DIP概論」- IP Testing

Test Access Architecture

bull Test pattern sourcesinkndash Generates test patternscompares test responses

bull Test access mechanism (TAM)ndash Transports test patternsresponses tofrom CUT

bull Core test wrapperndash Provides switching of core terminals to functional IO

or TAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 512

「DIP概論」- IP Testing

Off-Chip SourceSinkbull pins determines bandwidthbull More TAM area

ndash Requires expensive ATE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 513

「DIP概論」- IP Testing

On-Chip SourceSinkbull Close to core-under-test (CUT)bull Less TAM area

ndash Requires lightweight ATEbull BIST IP area

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 514

「DIP概論」- IP Testing

TAM

bull Tasksndash Transport test patterns from source to CUTndash Transport responses from CUT to sink

bull Design parametersndash Width transport capacityndash Length transport distance

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 515

「DIP概論」- IP Testing

TAM Widthbull Transport capacity

ndash Minimum meet core testrsquos data ratendash Maximum bandwidth of sourcesink

bull Trade-offsndash Test qualityndash Test application time ndash Silicon area cost

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 516

「DIP概論」- IP Testing

TAM Lengthbull Physical distance

ndash On-chip sourcesink may shorten TAM lengthndash Sharing may shorten TAM length

bull Share TAM with functional hardwarebull Go through vs pass around other modulesbull Share TAMs between multiple cores

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 517

「DIP概論」- IP Testing

TAM Implementationsbull Multiplexed accessbull Reused system bus (AMBA)bull Transparency (Macro Test SOCET)bull Boundary Scan (JTAG partial-scan variants)bull Scalable TAMs (Test Bus Test Rail)

On one SOC different TAMs may co-exist

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 518

「DIP概論」- IP Testing

Multiplexed Access (13)

bull Connect wires to all core terminals and multiplex onto existing IC pins

bull Common practice for embedded memories

bull Also used for block-based ASICs

MUX

control

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 519

「DIP概論」- IP Testing

Benefits of Multiplexed Access

bull Each embedded core can be tested as stand-alone device

bull Translation from core-level test into IC-level test is simple

bull Simple silicon debug and diagnosis

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 520

「DIP概論」- IP Testing

Drawbacks of Multiplexed Accessbull Not scalable

ndash terminals of one core gt IC pinsbull Parallelserial conversion rArr at-speed testing is

difficult

ndash Too many embedded cores bull High area costs for connecting and multiplexing all

coresbull Control circuitry for the multiplexer grows more and

more complex

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 521

「DIP概論」- IP Testing

Analysis of Multiplexed Access (13)bull Let K be the number of SOC pins available

for scan test and M be the number of control pinsrArrThe number of scan chains as TAM N =

bull For core iisinC where C is the core setndash pi the number of test patternsndash fi the number of scannable flip-flops

bull In a balanced way each chain has flip-flops

ndash ti the test time

( )⎥⎥

⎢⎢

⎢ minus2MK

⎥⎥⎥

⎢⎢⎢

Nf i

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 522

「DIP概論」- IP Testing

bull The test time ti of core i

can be reduced as

Analysis of Multiplexed Access (23)

pNfp1pN

f it ii

iiibull⎥⎥⎥

⎢⎢⎢

⎡++bull

⎥⎥⎥

⎢⎢⎢

⎡= bull

p1Nf1pt i

iii bull+bull+=

⎥⎥⎥

⎢⎢⎢

⎡⎟⎠⎞⎜

⎝⎛

Scan-In Normal Scan-Out

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 523

「DIP概論」- IP Testing

bull The total test time T of the SOC

can be reduced as

Analysis of Multiplexed Access (33)

( )sumisin

⎟⎠

⎞⎜⎝

⎛+⎥⎥⎤

⎢⎢⎡bull+=

Cip

Nf1pT i

ii

⎥⎥

⎤⎢⎢

isin+sum

isin⎟⎠

⎞⎜⎝

⎛+⎥⎥⎤

⎢⎢⎡bull=

Nf

CiCip

NfpT i

ii

i max

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 524

「DIP概論」- IP Testing

Reused System Busbull Many SOCs have an on-chip system bus

which connects to most cores especially the platform-based system

bull Reuse of the system bus as TAM is cheap wrt silicon area

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 525

「DIP概論」- IP Testing

An Example of Reused System Busbull ARMrsquos Advanced Microcontroller Bus

Architecture (AMBA)ndash The 32-bit system bus is used as TAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 526

「DIP概論」- IP Testing

Analysis of Reused System Busbull Benefits

ndash Low area cost for TAMndash Translation form core-level test into IC-level

test is independent of SOC configurationbull Drawbacks

ndash Not scalablebull Fixed bus width does not allow trade-offs

(area quality test time)ndash Functional test approach of ARM core

dominates overall IC test approachbull Difficult to integrate scan design or BIST

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 527

「DIP概論」- IP Testing

Transparencybull Transparent path

ndash Path from input to output which propagates data without information loss

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 528

「DIP概論」- IP Testing

Examples of Transparency

bull Scan chains bull Arithmetic functions add + 0 mult 1bull Embedded memories SRAM DRAM

ROMbull Basic gates AND OR INV MUX

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 529

「DIP概論」- IP Testing

Analysis of Transparency (12)

bull Benefitsndash Low area cost for TAM in case of reuse of

existing hardwarebull Drawbacks (12)

ndash Corersquos test access depends on other modulesndash Translation from core-level test into IC-level

test might be complicated eg latencies of cores

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 530

「DIP概論」- IP Testing

Analysis of Transparency (22)bull Drawbacks (22)

ndash During core design core environments are unknown

bull Insufficient transparency ndash core user has to add TAMs

bull Too much transparency ndash area costbull Multiple versions ndash expensive for core provider and

core user

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 531

「DIP概論」- IP Testing

Macro Test Philips Research

bull Generic approach for testing embedded modules

bull Originally focused on defect-oriented testing

bull Approach and tools proved useful for core test

bull May take advantage of transparent paths through modules

defect-oriented testing A type of testing where the nature of the test ismeant to directly exercise detect and isolate defects and defect effects rather than abstract fault models

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 532

「DIP概論」- IP Testing

SOCET PrincetonNEC

bull Core provider is responsible for testable and transparent cores

bull Design-for-transparency techniquebull Multiple versions of cores with different

area and transparency latency ndash Selection and trade-offs at SOC level

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 533

「DIP概論」- IP Testing

Boundary Scan (12)

bull Boundary Scan Test solves board-level interconnect testndash IEEE 11491 standard (lsquoJTAGrsquo)ndash ICs are components in SOB

bull Cores are components in SOC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 534

「DIP概論」- IP Testing

Boundary Scan (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 535

「DIP概論」- IP Testing

Examples of Boundary Scanbull Various Texas Instruments papers have

suggested the use of Boundary Scan as TAM

bull Partial Boundary Scan Ringndash No scan flip-flops on those inputs for which

stimuli can be justified from preceding logicndash ATPG techniques to find this out

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 536

「DIP概論」- IP Testing

Benefits of Boundary Scan

bull Existing well-known and well-documented standard

bull Reuse of IC-level BIST implementations augmented with private instructions for test debug emulation etc

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 537

「DIP概論」- IP Testing

Drawbacks of Boundary Scan

bull Fixed 1-bit TAM width does not allow trade-offs between silicon area test quality and test time

bull Intertwined test control and test data due to lack of pins

bull Multiple TAP controllers on one IC is against IEEE 11491 standard

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 538

「DIP概論」- IP Testing

Dedicated Scalable TAMs (12)bull Dedicated TAM

ndash Not through other modules or over existing buses bull Scalable TAM

ndash TAM width is variable to be chosen by core provideruser

bull Core user determines IC-level architecturendash How many TAMs of which widthndash Which configuration (bus rail etc)ndash Which core connects to which TAM

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 539

「DIP概論」- IP Testing

Dedicated Scalable TAMs (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 540

「DIP概論」- IP Testing

Example I of Dedicated Scalable TAMs

Test Bus

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 541

「DIP概論」- IP Testing

Example II of Dedicated Scalable TAMs

TestRail

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 542

「DIP概論」- IP Testing

Analysis of Dedicated Scalable TAMs (12)

bull Benefitsndash Guaranteed test access

bull Accessibility of a core does not depend on neighboring circuitry

ndash Fast and easy test expansion bull No difficult path-finding through complicated

circuitry ndash Enable ldquoplug-n-playrdquo connection at IC levelndash Allow the trade-offs between area quality and

test time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 543

「DIP概論」- IP Testing

Analysis of Dedicated Scalable TAMs (22)bull Costs

ndash Design timebull Can be minimized through standardization and

automation

ndash Silicon area ndash sharing with existing hardware is more difficult

bull But transistors are not as expensive as they used to be

ndash Performance impact bull Can be avoided if taken into account upfront

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 544

「DIP概論」- IP Testing

Daisychain Architecturecontrol

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 545

「DIP概論」- IP Testing

Analysis of Daisychain Architecture (12)

bull Reassign the indices of the cores according to a non-decreasing number of patternsndash We can scan in a pattern in all cores p1 times

pNf

1p11

C

1j

j +⎥⎥

⎤⎢⎢

⎡+ sum

=⎟⎠⎞⎜

⎝⎛

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 546

「DIP概論」- IP Testing

bull Afterwards we put core 1 in by-pass mode and test next p2 ndash p1 patterns for the other cores

bull The total test time T of the SOC is

Analysis of Daisychain Architecture (22)

⎟⎠⎞⎜

⎝⎛

=⎟⎠⎞⎜

⎝⎛ minus+

⎟⎟⎠

⎞⎜⎜⎝

⎛sum ⎥

⎤⎢⎢

⎡+minus pp

Nf

1pp 1212

C

2j

j

( ) 1ppNf

1ipp 0C

C

1i

C

ij

j1ii minus=+⎟

⎟⎠

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛sum ⎥

⎤⎢⎢

⎡+minusminussum

= =minus

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 547

「DIP概論」- IP Testing

Distribution ArchitectureScan Enables

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 548

「DIP概論」- IP Testing

Si scan clocksli length of scan chains

Reduction of Idle TimeNormal

A single scan enable

Multiple scan enables

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 549

「DIP概論」- IP Testing

Analysis of Distribution Architecture

bull We define ni to be the number of scan chains of core i

bull The total test time T of the SOC is

pnf1pt i

iii

i++=

⎥⎥⎥

⎢⎢⎢

⎡⎟⎠⎞⎜

⎝⎛

( ) ⎟⎟⎠

⎞⎜⎜⎝

⎛+⎥⎥

⎤⎢⎢

⎡+

isinp

nf1p i

i

iiCi

max

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 550

「DIP概論」- IP Testing

The Scan Chain Distribution Problem (SCDP)bull Find a distribution of a given number of

scan chains over the cores such that the total test time is minimized

FF

FF

core

FF

FF

core

A single scan chain Two scan chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 551

「DIP概論」- IP Testing

The SCDP Algorithm

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 552

「DIP概論」- IP Testing

Reduction of Scan Controlsbull Distribute as fewer scan controls as possible

over the cores such that minimal time resulted form SCDP is still maintainedndash Constructing an additional scan chain needs to

remove two scan-control signalsndash Some cores are controlled by the same scan-

control signalbull An efficient algorithm has been presented

by Aerts et al ndash ITCrsquo98

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 553

「DIP概論」- IP Testing

Core Test Wrapperbull Interface between the CUT and the rest of

chipndash Provide switching capability between modes

bull Normal functional operationbull InTest inward-facing core test modebull ExTest outward-facing interconnect test modebull Bypass

ndash Width adaptationbull Serial-to-parallel conversion at core inputsbull Parallel-to-serial conversion at core outputs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 554

「DIP概論」- IP Testing

Functional-Only Connections

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 555

「DIP概論」- IP Testing

Wrapper + TAM

Daisychain

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 556

「DIP概論」- IP Testing

Wrapper Modes (14)

Normal Operation

Normal

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 557

「DIP概論」- IP Testing

Wrapper Modes (24)

InTest

InTest

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 558

「DIP概論」- IP Testing

Wrapper Modes (34)

ExTest

ExTest

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 559

「DIP概論」- IP Testing

Wrapper Modes (44)

Bypass

Bypass

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 560

「DIP概論」- IP Testing

Reasons for Modular Testingbull Test Quality

ndash Different circuit structures such as random logic memory hellip require different test methods

bull Blackboxed Embedded Corendash Implementation is not known forced to use the tests

developed by core provider

bull Divide-and-conquerndash Very large SOCs are intractable for ATPG or fault

simulation tools

bull Test Reusendash Module will be reused in other designs

Chapter 12

Introduction to IEEE P1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 562

「DIP概論」- IP Testing

IEEE P1500 lsquoSECTrsquo (12)bull Facilitate test interoperability of embedded

cores to improve efficiency of core creators integrators and manufacturersndash Standardize interface between core provider and

core userbull Core test information modelbull Test access to embedded cores

ndash Do not standardizebull Corersquos internal test methods and DFTbull Chip-level test integration and optimization

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 563

「DIP概論」- IP Testing

IEEE P1500 lsquoSECTrsquo (22)bull Membership of IEEE P1500 is on an individual

basis information and meetings are open to everyonendash httpgrouperieeeorggroups1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 564

「DIP概論」- IP Testing

IEEE P1500 Main Componentsbull Standardized scalable core test wrapperbull Core test information model

ndash Described in standardized Core Test Language (CTL)bull Two compliance levels

ndash IEEE 1500 Unwrappedndash IEEE 1500 Wrapped

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 565

「DIP概論」- IP Testing

IEEE P1500 for Mergeable Cores (13)bull Mergeable cores

ndash Cores that can be merged with surrounding circuitry to form one unit for testing

ndash Mergeable cores do not need to be mergedbull Eg Digital logic at RT- or gate-level

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 566

「DIP概論」- IP Testing

IEEE P1500 for Mergeable Cores (23)

MergeableEg digital logicAt RTgate-level

Non-MergeableEg layoutencrypted memory

Before integration

MergedCoremodule tested as part of its integration environment

Non-MergedCoremodule tested as aseparate entity with test patternsdeveloped for the coremoduleas a stand-alone unit

After integration

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 567

「DIP概論」- IP Testing

bull Challengesndash Most DFT insertion and test pattern generation take

place at gate-levelndash Core test cannot be re-used once core is mergedndash What to standardize for RTL- and other merged

cores to facilitate test interoperability

IEEE P1500 for Mergeable Cores (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 568

「DIP概論」- IP Testing

Standardized Wrapperbull IEEE P1500 is a core-level standard

ndash Implementation of SourceSink depends on test methods

ndash Implementation of TAMs depends on SOCndash Note IEEE P1500 only standardizes the

wrapper

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 569

「DIP概論」- IP Testing

Wrapper Functionsbull Transparent functional modebull Test access

ndash Inward-facing for core-internal tests (InTest)ndash Outward-facing for core-external tests (ExTest)

bull Switchable connection between core and TAM(s)ndash One lsquosingle-bit TAM Plugrsquo is mandatoryndash Zero or more lsquoMulti-bit TAM Plugsrsquo are optional

bull Optional lsquowidth adaptationrsquo for TAM plugs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 570

「DIP概論」- IP Testing

The Wrapper Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 571

「DIP概論」- IP Testing

Wrapper Elements (12)bull Wrapper Instruction Register (WIR)

ndash Controls operation of wrapperndash Mandatory optional and user-defined instructions ndash Implementation requires shiftupdate registerndash Controlled directly from WIPndash Instructions are loaded via WSI-WSO

bull Wrapper Bypass Register (WBY)ndash Mandatory bypass for serial TAM

(between WSI-WSO)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 572

「DIP概論」- IP Testing

Wrapper Elements (22)bull Wrapper Boundary Register (WBR)

ndash Controllabilityobservability on core terminalsndash Built from library of wrapper cellsndash In test mode configured to one or multiple test

access chainsndash Test data are loaded from WSI-WSO or

WPI-WPO

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 573

「DIP概論」- IP Testing

Wrapper Interface (12)bull Functional inputsoutputs

ndash Number names and functions match the corersquos functional inputsoutputs

bull Wrapper Interface Port (WIP)ndash 6-bit control port for WIR and Wrapper

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 574

「DIP概論」- IP Testing

Wrapper Interface (22)bull Serial interface WSI-WSO

ndash Load instructions into WIRndash Load test data into selected wrapper registers

(WBR WBY)bull Parallel interface WPI-WPO

ndash Load test data into WBRndash User-defined width

bull Zero or more parallel ports (typical one)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 575

「DIP概論」- IP Testing

Wrapper Interface Register (WIR)bull Serial shiftupdate registerbull Scalable length

ndash Mandatory bits for mandatory wrapper modesndash Optional bits for optional wrapper modesndash User-defined bits

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 576

「DIP概論」- IP Testing

Wrapper Interface Port (WIP)bull Functions

ndash Control the operation of the WIRndash Control together with the WIR instruction the operation of the

wrapperbull Signals

WRCK lsquoWrapper Clockrsquo dedicated P1500 clock signal for WIR WBY optionally WBR

WRSTN lsquoWrapper Resetrsquo dedicated P1500 reset (asynchronous active-low) signal for WIR puts wrapper in Normal mode

SelectWIR (De-)selects WIR as register between WSI-WSO

CaptureWR Enables capture operation for selected register

ShiftWR Enables shift operation for selected register

UpdateWR Enables update operation for selected register

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 577

「DIP概論」- IP Testing

Basic Wrapper Cellbull Modes

ndash Normal mode normal = 1ndash Shift mode shift = 1

bull Controllabilityndash normal = 0 =gt value in SE is driven onto cfo

bull Observabilityndash shift = 0 =gt value at cfo is captured into SE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 578

「DIP概論」- IP Testing

Wrapper Cell Optionsbull SEs can be shared with functional SEsbull Capture in Update SE instead of Shift SEbull Update SE that prevents ripple-through while

shiftingbull Multiple shift SEs for high-speed stimuli bull Mode in which lsquosafersquo value is presented at cfo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 579

「DIP概論」- IP Testing

Wrapper Cell with Only ShiftCapture SE

Dedicated SE Shared SE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 580

「DIP概論」- IP Testing

Wrapper Cell with ShiftCapture + Update SEs

Shared Updated SE

Dedicated SEs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 581

「DIP概論」- IP Testing

Scalable Wrapper Cell

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 582

「DIP概論」- IP Testing

Wrapper Instruction Set

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 583

「DIP概論」- IP Testing

Serial Interface WSI-WSO (12)bull Mandatory serial interface is used for two

purposesndash Wrapper control load instructions into the WIRndash Low-bandwidth test data access to WBR (serial TAM)

bull P1500 envisions concatenated connectionndash Daisychain is a flat interconnection methodndash Supports hierarchical design

bull Consistent interface at every level of hierarchy

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 584

「DIP概論」- IP Testing

Serial Interface WSI-WSO (22)bull Concatenated serial mechanism easy to

connect to IEEE 11491 (JTAG) TAP and TAP Controllerndash Private instructions connect daisychained serial

mechanisms between TDI and TDOndash Cores can be tested and debugged even while

SOC is soldered onto PCB

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 585

「DIP概論」- IP Testing

Parallel Interface(s) WIP-WPO (12)bull Optional parallel interface(s) are used for test

data access to WBR with user-defined scalable bandwidth

bull Optionsndash Zero Low-bandwidth serial interface is only TAMndash One SOC manufacturing test takes place via Parallel

TAM bull Serial TAM is used for loading WIR instructions and

during board-level silicon debugndash Multiple Different core tests need different

bandwidths

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 586

「DIP概論」- IP Testing

bull P1500 supports many SOC-level configurationsndash Multiplexingndash Daisychainndash Distribution

Parallel Interface(s) WIP-WPO (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 587

「DIP概論」- IP Testing

Typical Usage of P1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 588

「DIP概論」- IP Testing

P1500 Wrapper Parameters (12)bull Scalability in the follow parameters

ndash Bandwidthbull Number of WPI-WPO pairs (zero or more)bull Width of the WPI-WPO pairs (if present)

ndash Instructionsbull Optional instructionsbull User-defined instructionsbull OpCodes of instructions

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 589

「DIP概論」- IP Testing

bull WBR functionalityndash Shared or dedicated wrapper cellsndash Shift-only or Shift+Update wrapper cellsndash Storage capacity (one or more bits)ndash Location of capture (in Shift or Update register)ndash Ripple protection (with Update register or gate)ndash lsquoSafe statersquo output values

P1500 Wrapper Parameters (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 590

「DIP概論」- IP Testing

Notes

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 591

「DIP概論」- IP Testing

P1500rsquos Information Model (12)

bull The information model should allow the SOC integrator or automation tools to successfully create a complete test for the SOC

bull The information model is captured in Core Test Language (CTL) a language for expressing test-related information for reusable cores

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 592

「DIP概論」- IP Testing

bull CTL is meant to co-exist and complement information expressed as a netlist

bull The CTL description of a P1500-compliant core allows to ndash Construct a wrapper and an appropriate TAMndash Configure the code to be testedndash Configure the core for its surroundings to be

testedndash Transform core-level into SOC-level test

patterns

P1500rsquos Information Model (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 593

「DIP概論」- IP Testing

IEEE 1450 (STIL)bull IEEE 1450 - Standard Test Interface Language

(STIL) for digital test vector datandash httpgrouperieeeorggroups1450

bull STIL is meant as a common interchange format between EDA test generation and ATE test application ndash STIL is capable of describing digital test vector datandash Focus on large volume of digital data

bull Developed by EDA vendors ATE vendors and IC manufacturers

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 594

「DIP概論」- IP Testing

IEEE P14506 (CTL) (12)

bull IEEE P14506 - Core Test Language bull Initially created by and developed within

IEEE P1500 to describe its information modelndash CTL syntax and semantics in IEEE P14506ndash Information model and CTL usage in IEEE

P1500

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 595

「DIP概論」- IP Testing

IEEE P14506 (CTL) (22)bull CTL uses STIL-like syntax

ndash Test patterns and waveforms are described in STIL

ndash CTL mandates separation of test patterns into test protocol and test data for easy expansion

ndash CTL-specific constructs describe corersquos test modes

ndash CTL-specific constructs describe corersquos integration

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 596

「DIP概論」- IP Testing

STIL - CTL Structure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 597

「DIP概論」- IP Testing

CTL Key Words

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 598

「DIP概論」- IP Testing

Usage of MacroDefs (12)

bull STIL contains the construct MacroDefsndash This can be used for separating test protocol

and data in CTL this separation is mandatory

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 599

「DIP概論」- IP Testing

Usage of MacroDefs (22)bull Typical usage

ndash Voluminous test data is coded in separate CTL file

ndash CTL for lsquo1500-Unwrappedrsquo core references test patterns with a MacroDef applicable for unwrapped core

ndash CTL for lsquo1500-Unwrappedrsquo core references same test patterns but has an updated MacroDefs

ndash SOC-level test again references same test patterns but with yet another MacroDefs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 600

「DIP概論」- IP Testing

Motivation for Dual Compliance Levels (12)

bull Testing an embedded core or module only works if properly isolated from the rest of the SOC and hence requires a wrapper

bull The P1500 wrapper is scalable in many aspects to allow optimization towardsndash Corendash SOC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 601

「DIP概論」- IP Testing

bull In order to provide additional flexibility and support multiple use scenarios P1500 standardizes two separate compliance levels

Motivation for Dual Compliance Levels (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 602

「DIP概論」- IP Testing

Two Compliance Levels (12)

bull IEEE 1500 Unwrappedndash Core does not have a complete IEEE 1500

wrapper functionndash Core has a complete IEEE Information Model

which accurately describes the corersquos tests as well as provide all information on the basis of which the core could be made lsquoIEEE 1500 Wrappedrsquo (either manually or automatically by tools)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 603

「DIP概論」- IP Testing

Two Compliance Levels (22)

bull IEEE 1500 Wrappedndash Core incorporates complete IEEE 1500 wrapper

function ndash Core has a complete Information Model which

accurately describes the corersquos tests as well as the wrapper and how to operate it

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 604

「DIP概論」- IP Testing

P1500 Use Scenario 1 (13)

bull Core provider delivers lsquoIEEE 1500 Unwrappedrsquo corendash The Information Model that comes with it

contains all relevant core test knowledge including core-related data for generation of the IEEE 1500 wrapper

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 605

「DIP概論」- IP Testing

P1500 Use Scenario 1 (23)

bull Core user makes core lsquoIEEE 1500 Wrappedrsquondash Adding IEEE 1500 Wrapperndash Upgrading the Information Model from bare

core terminals to wrapper terminals

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 606

「DIP概論」- IP Testing

P1500 Use Scenario 1 (33)

bull Can take data specific to particular system-chip into account while instantiating the wrapper (eg TAMs width of TAMs rsquosafersquo state)

bull lsquoIEEE 1500 Unwrappedrsquo guarantees fast and reliable route to lsquoIEEE 1500 Wrappedrsquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 607

「DIP概論」- IP Testing

P1500 Use Scenario 2bull Core provider delivers lsquoIEEE 1500

Wrappedrsquo core of which the wrapper is built-to-order on customer specification

bull Similar to Scenario 1 except conversion done by core provider

bull Requires cooperative information exchangebull Core provider might have expertstools for

conversion

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 608

「DIP概論」- IP Testing

P1500 Use Scenario 3 (12)

bull Core provider offers a catalogue of off-the-shelf lsquoIEEE 1500 Wrappedrsquo cores with fixed wrapper parameters

bull Core user selects the core which best matches the system chip needs

bull Allows to integrate wrapper with core in order to minimize costs

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 609

「DIP概論」- IP Testing

P1500 Use Scenario 3 (22)

bull Scenario might be popular especially for hard cores

bull Large cataloguendash More work for core providerbut more choice

for core user

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 610

「DIP概論」- IP Testing

Usage of Dual Compliance Levels (12)

bull Full benefits of test interoperability are only obtained from a fully compliant lsquo1500-wrappedrsquo Core

bull Two compliance levels provide two optionsndash Make a core lsquo1500-wrappedrsquo compliant directly ndash Make an intermediate stop at lsquo1500-

Unwrappedrsquo

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 611

「DIP概論」- IP Testing

bull For this purpose lsquo1500-Unwrappedrsquo will also be fully standardized

Usage of Dual Compliance Levels (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 612

「DIP概論」- IP Testing

SOC Test Creation

bull Distinguish two types of circuitry within SOC ndash IEEE 1500 Wrapped Coresndash lsquoOther Circuitryrsquo

bull Unwrapped coresbull Interconnect logic and wiring

bull IEEE P1500 facilitates SOC test for both types

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 613

「DIP概論」- IP Testing

Test Creation for Compliant Cores (13)

bull Test for IEEE 1500 Wrapped core is delivered with the core in its Information Modelndash No need for core user to know the

implementation details of the core to develop a test

ndash Test re-use

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 614

「DIP概論」- IP Testing

bull Test access to core is guaranteed (provided proper TAM connections are made)

Test Creation for Compliant Cores (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 615

「DIP概論」- IP Testing

bull Translation of test from wrapper boundary to SOC pinsndash In case of one-to-one relationship between core

terminals and SOC pins simple renaming suffices

ndash Sharing TAMs with multiple cores bypasses bidirectional TAMs complicate this process

Test Creation for Compliant Cores (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 616

「DIP概論」- IP Testing

Test Creation for lsquoOther Circuitryrsquo (12)

bull Test re-use not possiblebull Typically ATPG at SOC level is required

to generate test patterns for this circuitry bull IEEE 1500 Wrapped cores are tested by

their own patterns and do not need to be included in this

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 617

「DIP概論」- IP Testing

ndash Wrapped cores should be black-boxedbull For some cores not netlist available at allbull Even if netlist is available blackboxing will reduce

the compute time for ATPG for the other circuitry substantially

ndash The P1500 Information Model provides necessary information about controllability observability features in wrapper to APTG tool

Test Creation for lsquoOther Circuitryrsquo (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 618

「DIP概論」- IP Testing

Overview of Example

Given a very small scan-testablecorebull lsquo1500-Unwrappedrsquo compliant core

ndash P1500 Information Modelbull lsquo1500-Wrappedrsquo compliant core

ndash P1500 Wrapper ndash P1500 Information Model

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 619

「DIP概論」- IP Testing

Bare Core

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 620

「DIP概論」- IP Testing

STIL Test Patterns

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 621

「DIP概論」- IP Testing

Wrapped Core

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 622

「DIP概論」- IP Testing

Modes Instruction and Opcodes

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 623

「DIP概論」- IP Testing

Normal + Serial Bypass Modes

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 624

「DIP概論」- IP Testing

Serial in Test Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 625

「DIP概論」- IP Testing

Serial ExTest Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 626

「DIP概論」- IP Testing

Parallel InTest Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 627

「DIP概論」- IP Testing

Parallel ExTest Mode

WIP

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 628

「DIP概論」- IP Testing

Wrapper Design (12)

bull Automated wrapper designndash Library of wrapper cellsndash Wrapper configuration depends on core

terminal types ndash Optimization for test time

bull No industry-wide standard (yet)ndash Ad-hoc wrappers may not operate in concerto

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 629

「DIP概論」- IP Testing

Wrapper Design (22)

bull Optimal wrapper design algorithm for test time minimization

Ref [Marinissen et al ndash ITCrsquo00]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 630

「DIP概論」- IP Testing

Wrapper Chain Design (12)

bull Wrapper itemsndash Wrapper input cellsndash Wrapper output cellsndash Core-internal scan chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 631

「DIP概論」- IP Testing

Wrapper Chain Design (22)

bull Wrapper chain designndash Designing the test access chains within the

wrapper from wrapperrsquos TAM input plug through all wrapper items to TAM output plug

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 632

「DIP概論」- IP Testing

Wrapper Chain Design amp Test Time (12)

bull lsquoTest Timersquo for large ICs is important cost factor ndash Test application time

=gt more time on ATE

ndash Size of test vector set =gt more expansive ATE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 633

「DIP概論」- IP Testing

bull Wrapper chain design has large impact on test time ndash Partitioning which wrapper item in which

wrapper chainndash Ordering position of wrapper item in a

wrapper chainndash Bypasses shorten wrapper chain where

possible

3

2

1

Wrapper Chain Design amp Test Time (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 634

「DIP概論」- IP Testing

Ordering of Wrapper Items

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 635

「DIP概論」- IP Testing

Bypasses (12)

bull Scan chain bypassndash Shortens wrapper chain length through during

ExTestbull Wrapper bypass

ndash Shortens wrapper chain length while testing other core up- or downstream in same TAM

ndash Contains register for plug-n-play connection of (possible) long wires

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 636

「DIP概論」- IP Testing

Bypasses (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 637

「DIP概論」- IP Testing

Partitioning of Wrapper Items (12)

bull Partition ndash x wrapper input cells all of scan length 1ndash y wrapper output cells all of scan length 1ndash z core-internal scan chains which scan length Ii

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 638

「DIP概論」- IP Testing

bull over ndash m wrapper chains

(typically m lt z lt x+y+z)such that ndash scan-in length over all wrapper chains in

minimizedndash scan-out length over all wrapper chains in

minimized

Partitioning of Wrapper Items (12)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 639

「DIP概論」- IP Testing

Three-Step Solution Approach (13)

1 Find partition PS of z core-internal scan chains over m wrapper chains such that maximum sum of scan lengths in any wrapper chain is minimized

(Hard)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 640

「DIP概論」- IP Testing

2 Assign x wrapper input cells to wrapper chains on top of PS such that maximum scan-in time of any wrapper chain is minimized

(Easy)

Three-Step Solution Approach (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 641

「DIP概論」- IP Testing

3 Assign y wrapper output cells to wrapper chains on top of PS such that maximum scan-out time of any wrapper chain is minimized

(Easy)

Three-Step Solution Approach (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 642

「DIP概論」- IP Testing

Wrapper Scan Chain Partitioning (12)

[Problem Definition]Givenndash Set of core-internal scan chains

S = S1 S2 hellip SZ with length L(Si)ndash m identical wrapper chains (typically mlt z)

Find ndash Partition P =P1 P2 hellip Pm of S such that

is minimizedsum isinlele P SLi

Smi)(max

1

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 643

「DIP概論」- IP Testing

bull Problem is equivalent to well-known NP-hard problems of Multi-Processor Scheduling and Bin Design

Wrapper Scan Chain Partitioning (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 644

「DIP概論」- IP Testing

WSCP Algorithms (13)

Polynomial-time algorithms for near-optimal resultsbull LPT(Last Processing Time)

ndash Sort items from large to smallL(S1) ge L(S2) ge hellip ge L(Sz)

ndash Assign scan chains to shortest wrapper chain so far

Ref [Grahamrsquo69]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 645

「DIP概論」- IP Testing

WSCP Algorithms (23)

bull COMBINEndash Use LPT to obtain start solution ndash Linear Search over maximum wrapper chain

lengths bull Try whether wrapper items fit a wrapper chain

length with FFD (First Fit Decreasing)

Ref [Coffman Garey Hohnson78]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 646

「DIP概論」- IP Testing

WSCP Algorithms (33)

bull LPT is fast and has good resultsndash COMBINE produces sometimes better

resultsat the expense of more CPU time

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 647

「DIP概論」- IP Testing

Example Core (12)

bull Core characteristicsndash Terminals

8 functional inputs a[07]

11 functional outputs z[010]

9 scan inputs si[08]

9 scan outputs so[08]

+ 1 scan enable sc

38 core terminals in total

ndash Core-internal scan chains lengths 12 6 8 6 6 12 6 8 8 flip flops

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 648

「DIP概論」- IP Testing

Example Core (22)

bull Desired wrapper characteristicsndash Serial TAMndash 3-bit parallel TAMndash Wrapper bypassndash No scan chain bypasses

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 649

「DIP概論」- IP Testing

Wrapper Result (14)bull Algorithmic results

ndash LPT max length = 26P1 = 12 8 6P2 = 12 6 6P3 = 8 8 6

ndash COMBINE max length = 24P1 = 12 12P2 = 8 8 8P3 = 6 6 6 6

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 650

「DIP概論」- IP Testing

Wrapper Result (24)

bull Operation modes (13)ndash Serial access

bull All wrapper items connected into one chain

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 651

「DIP概論」- IP Testing

Wrapper Result (34)

bull Operation modes (23)ndash Parallel access

bull All wrapper items divided over the (three) wrapper chains according to COMBINE

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 652

「DIP概論」- IP Testing

Wrapper Result (44)

bull Operation modes (33)ndash Parallel pass

bull Bypass over the (three) wrapper chains

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 653

「DIP概論」- IP Testing

Compliance Checking (12)

bull Automatic check to assure that Core + Wrapper are compliant to standard

bull Relevant to both core provider and core user as compliance guarantees interoperability of this core with others at SOC level

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 654

「DIP概論」- IP Testing

Compliance Checking (22)

bull No industry-wide standard (yet)ndash Current compliance checkers only work for

company-internal standardsbull Wrapper generator and compliance checker

might work in concerto

Ref [Marinissen et al - ITC00]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 655

「DIP概論」- IP Testing

Wrapper Generator + Compliance Checker (13)

bull Automated wrapper design ndash corersquos netlist availablendash Compliance checker identifies still missing

wrapper functionality ndash Wrapper generator adds only required missing

hardwarendash Optional compliance checker for outgoing

inspection

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 656

「DIP概論」- IP Testing

bull Automated wrapper design ndash corersquos netlist not availablendash Wrapper generator adds full wrapper

functionalityndash Optional compliance checker for outgoing

inspection bull Manual wrapper design

ndash compliance checker for outgoing inspection

Wrapper Generator + Compliance Checker (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 657

「DIP概論」- IP Testing

bull Wrapped core usage ndash compliance checker for incoming inspection

Wrapper Generator + Compliance Checker (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 658

「DIP概論」- IP Testing

ExTest test Generation (12)

bull Test patterns for cores come from core provider

bull Core user is responsible for test patterns of SOC-specific circuitryndash Interconnect wiring ndash Interconnect logic(lsquoglue logicrsquo)ndash SOC-specific modules(lsquoUDLrsquo)

Interconnect ATPG

Normal ATPG

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 659

「DIP概論」- IP Testing

ExTest test Generation (22)

bull Interconnect ATPGndash lsquoLow-fatrsquo netlistndash Specific fault model for interconnect

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 660

「DIP概論」- IP Testing

Interconnect Faults

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 661

「DIP概論」- IP Testing

Interconnect ATPG

bull Determine a set of tests to detectndash Any interconnection open (S1 or S0)ndash Any shorted pair of net (wired-AND or wired-

OR)bull Solution is known as the ldquoCountingrdquo

algorithm

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 662

「DIP概論」- IP Testing

TAM Architecting (12)

bull Decision support to analyze and evaluate trade-offs for various TAM architectures at SOC levelndash How many TAMsndash Which core connects to which TAMndash How wide is each TAMndash How is the wrapper designed

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 663

「DIP概論」- IP Testing

TAM Architecting (22)

bull Impact onndash Test quality ndash Test time ndash Areandash Dissipationndash Performance impact

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 664

「DIP概論」- IP Testing

Three TAM Architectures

Ref [Aerts amp Marinissen - ITC98]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 665

「DIP概論」- IP Testing

Multiplexing Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 666

「DIP概論」- IP Testing

Daisychain Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 667

「DIP概論」- IP Testing

Distribution Architecture

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 668

「DIP概論」- IP Testing

Architecture Model

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 669

「DIP概論」- IP Testing

Improved Wrapper Design

Source [Iyengar et al ndash ITCrsquo01]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 670

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (14)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 671

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (24)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 672

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (34)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 673

「DIP概論」- IP Testing

TAM Architecting with Fixed Widths (44)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 674

「DIP概論」- IP Testing

Problem Formalization (13)

bull PW Design a wrapper for a given core such that ndash The core testing time in minimized ndash The TAM width required for the core is minimized

bull PAW Determinendash An assignment of cores to TAMs of given widthsndash A wrapper design for each core

such that the SOC testing time is minimized

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 675

「DIP概論」- IP Testing

Problem Formalization (23)

bull PPAW Determinendash A partition of the total TAM width over the given number of

TAMs ndash An assignment of cores to TAMs of given widthsndash A wrapper design for each core

such that the SOC testing time is minimized

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 676

「DIP概論」- IP Testing

Problem Formalization (33)

bull PNPAW Determine ndash The number of TAMs for the SOCndash A partition of the total TAM width over the given number of

TAMs ndash An assignment of cores to TAMs of given widthsndash A wrapper design for each core

such that the SOC testing time is minimized

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 677

「DIP概論」- IP Testing

More Research Neededbull Many interesting research results are

appearing in this domainbull TAM architecting and test scheduling are

intertwinedbull Most of todayrsquos approaches focus only on

ndash lsquoTest-busrsquo like TAMs (and ignore other TAM types)

ndash InTests (and ignore ExTests)ndash Test time (and ignore other costs)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 678

「DIP概論」- IP Testing

Test Expansion

bull Translation of ndash Core-level test (defined at core terminals)intondash SOC-level test defined at IC pins)

bull Test Protocol Expansion

Ref [Marinissen amp Lousberg ndash TEC97 ETW99]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 679

「DIP概論」- IP Testing

Macro Test Concept Overview (13)

bull Test = test protocol + test patternsbull Subsequent tasks automated

ndash Test protocol expansion (TPE)ndash Test protocol scheduling (TPS)ndash Test assembly (TASS)

bull Support of multiple hierarchy levels

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 680

「DIP概論」- IP Testing

bull Supports every kind of test access mechanismndash Original forcus on transparency of macros

especially core-internal scan chains

Macro Test Concept Overview (23)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 681

「DIP概論」- IP Testing

Macro Test Concept Overview (33)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 682

「DIP概論」- IP Testing

Terminology (12)

bull Pattern ndash A vector with stimulus and response values

bull Pattern List ndash The list of all patterns needed for a test of a

macrobull Test Protocol

ndash The prescription according to which a pattern should be applied

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 683

「DIP概論」- IP Testing

Terminology (22)

bull Testndash Repeated execution of a test protocol where

every time another pattern from the pattern list is filled in

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 684

「DIP概論」- IP Testing

Simple Example (12)

Ref [Marinissen amp Lousberg ndash ETW99]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 685

「DIP概論」- IP Testing

Simple Example (22)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 686

「DIP概論」- IP Testing

Transfer through Neighbors

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 687

「DIP概論」- IP Testing

Example SOC

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 688

「DIP概論」- IP Testing

Test Protocol Expanded to SOC Pins

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 689

「DIP概論」- IP Testing

Test Assembly

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 690

「DIP概論」- IP Testing

Test Assembly Example

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 691

「DIP概論」- IP Testing

Test Scheduling (12)

bull Minimization of occupancy of resources for given core tests and SOC test infrastructure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 692

「DIP概論」- IP Testing

Test Scheduling (22)

bull Resources ndash Power dissipation during test executionRef[Zorian ndash VTS93]

[Saluja amp Agrawal ndash Trans VLSI System97]

ndash Test application timestorage capacity at ATERef[Marinissen amp Aerts ndashTECS98]

[Chakrabarrty ndash ICCAD99 TCAD00][Iyengar amp Chakrabarrty ndash VTS01][Larsson amp Peng - DATE01]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 693

「DIP概論」- IP Testing

Modifiedhelliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 694

「DIP概論」- IP Testing

Examples of Cores

bull Processor ARM hellipbull Memory RAM ROM hellipbull DSP TI hellipbull Peripheral DMA controller hellipbull Interface PCI USB UART hellipbull Multimedia JPEG MPEG hellipbull Networking Ethernet controller hellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 695

「DIP概論」- IP Testing

Chip and Board Testing

DFT BISThelliphellip

Boundary Scanhelliphellip

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 696

「DIP概論」- IP Testing

Virtual Component (VC)

bull A design block that meets the VSI (Virtual Socket Interface) specification and is used as a component in the virtual socket design environmentndash VSI is supported by the VSI Alliance (VSIA)

httpwwwvsiacom

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 697

「DIP概論」- IP Testing

Intellectual Property (IP)

bull The rights in cores that allow the owner of those rights to control the exploitation of those cores and the expression of the cores by othersndash Protected by lawsndash Liability in cases of failure

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 698

「DIP概論」- IP Testing

Notes

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 699

「DIP概論」- IP Testing

abc

s-a-1g

d

e

f

h

i

j

k

l

m

n

d

e

h

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 700

「DIP概論」- IP Testing

Fig 6-3[1990] Fig 6-4[1990] Fig 6-5[1990] Fig 6-10[1990]

Fig 6-23[1990] Fig 6-27[1990](pp 166 done)

Fig 6-29[1990] Fig 6-30[1990]

Fig 6-34[1990] Fig 6-37[1990]

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 701

「DIP概論」- IP Testing

bull Sequential controllability and observabilitybull Bugs 136amp137 144(modified)

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 702

「DIP概論」- IP Testing

bull A fault model is an abstraction of the error caused by a particular physical faultsndash The purpose is to simplify the test procedure

and reduce its cost while still retaining the capability of detecting the presence of the modeled faults

ndash Defects vs faults vs errors vs failuresndash Permanent faults vs non-permanent ones

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 703

「DIP概論」- IP Testing

Acknowledgements

教育部顧問室「超大型積體電路與系統設計」教育改進計畫 DIP聯盟淡江大學電機工程學系 饒建奇 704

「DIP概論」- IP Testing

An Example of SOC

ADC

DAC

PLL

RAMROM

IP 1BUS amp INTERCONNECT

ASIC 1

UDL

DSP CPU ASIC 2IP 2

Page 8: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 9: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 10: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 11: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 12: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 13: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 14: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 15: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 16: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 17: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 18: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 19: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 20: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 21: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 22: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 23: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 24: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 25: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 26: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 27: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 28: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 29: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 30: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 31: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 32: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 33: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 34: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 35: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 36: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 37: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 38: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 39: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 40: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 41: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 42: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 43: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 44: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 45: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 46: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 47: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 48: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 49: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 50: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 51: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 52: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 53: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 54: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 55: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 56: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 57: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 58: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 59: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 60: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 61: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 62: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 63: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 64: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 65: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 66: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 67: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 68: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 69: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 70: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 71: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 72: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 73: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 74: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 75: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 76: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 77: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 78: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 79: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 80: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 81: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 82: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 83: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 84: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 85: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 86: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 87: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 88: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 89: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 90: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 91: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 92: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 93: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 94: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 95: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 96: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 97: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 98: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 99: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 100: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 101: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 102: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 103: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 104: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 105: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 106: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 107: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 108: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 109: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 110: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 111: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 112: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 113: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 114: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 115: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 116: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 117: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 118: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 119: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 120: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 121: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 122: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 123: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 124: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 125: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 126: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 127: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 128: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 129: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 130: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 131: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 132: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 133: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 134: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 135: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 136: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 137: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 138: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 139: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 140: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 141: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 142: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 143: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 144: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 145: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 146: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 147: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 148: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 149: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 150: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 151: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 152: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 153: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 154: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 155: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 156: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 157: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 158: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 159: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 160: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 161: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 162: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 163: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 164: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 165: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 166: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 167: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 168: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 169: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 170: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 171: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 172: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 173: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 174: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 175: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 176: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 177: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 178: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 179: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 180: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 181: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 182: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 183: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 184: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 185: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 186: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 187: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 188: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 189: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 190: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 191: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 192: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 193: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 194: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 195: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 196: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 197: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 198: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 199: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 200: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 201: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 202: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 203: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 204: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 205: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 206: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 207: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 208: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 209: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 210: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 211: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 212: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 213: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 214: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 215: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 216: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 217: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 218: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 219: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 220: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 221: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 222: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 223: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 224: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 225: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 226: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 227: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 228: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 229: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 230: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 231: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 232: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 233: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 234: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 235: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 236: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 237: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 238: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 239: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 240: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 241: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 242: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 243: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 244: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 245: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 246: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 247: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 248: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 249: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 250: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 251: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 252: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 253: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 254: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 255: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 256: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 257: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 258: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 259: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 260: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 261: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 262: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 263: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 264: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 265: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 266: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 267: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 268: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 269: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 270: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 271: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 272: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 273: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 274: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 275: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 276: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 277: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 278: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 279: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 280: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 281: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 282: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 283: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 284: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 285: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 286: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 287: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 288: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 289: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 290: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 291: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 292: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 293: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 294: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 295: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 296: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 297: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 298: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 299: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 300: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 301: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 302: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 303: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 304: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 305: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 306: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 307: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 308: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 309: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 310: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 311: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 312: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 313: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 314: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 315: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 316: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 317: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 318: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 319: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 320: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 321: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 322: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 323: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 324: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 325: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 326: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 327: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 328: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 329: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 330: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 331: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 332: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 333: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 334: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 335: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 336: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 337: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 338: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 339: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 340: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 341: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 342: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 343: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 344: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 345: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 346: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 347: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 348: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 349: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 350: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 351: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 352: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 353: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 354: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 355: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 356: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 357: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 358: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 359: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 360: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 361: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 362: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 363: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 364: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 365: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 366: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 367: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 368: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 369: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 370: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 371: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 372: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 373: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 374: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 375: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 376: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 377: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 378: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 379: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 380: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 381: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 382: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 383: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 384: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 385: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 386: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 387: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 388: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 389: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 390: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 391: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 392: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 393: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 394: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 395: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 396: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 397: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 398: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 399: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 400: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 401: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 402: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 403: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 404: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 405: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 406: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 407: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 408: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 409: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 410: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 411: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 412: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 413: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 414: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 415: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 416: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 417: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 418: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 419: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 420: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 421: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 422: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 423: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 424: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 425: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 426: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 427: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 428: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 429: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 430: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 431: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 432: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 433: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 434: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 435: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 436: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 437: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 438: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 439: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 440: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 441: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 442: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 443: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 444: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 445: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 446: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 447: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 448: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 449: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 450: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 451: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 452: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 453: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 454: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 455: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 456: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 457: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 458: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 459: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 460: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 461: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 462: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 463: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 464: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 465: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 466: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 467: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 468: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 469: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 470: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 471: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 472: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 473: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 474: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 475: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 476: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 477: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 478: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 479: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 480: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 481: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 482: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 483: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 484: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 485: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 486: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 487: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 488: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 489: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 490: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 491: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 492: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 493: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 494: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 495: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 496: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 497: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 498: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 499: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 500: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 501: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 502: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 503: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 504: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 505: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 506: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 507: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 508: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 509: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 510: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 511: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 512: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 513: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 514: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 515: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 516: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 517: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 518: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 519: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 520: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 521: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 522: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 523: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 524: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 525: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 526: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 527: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 528: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 529: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 530: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 531: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 532: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 533: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 534: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 535: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 536: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 537: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 538: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 539: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 540: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 541: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 542: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 543: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 544: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 545: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 546: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 547: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 548: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 549: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 550: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 551: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 552: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 553: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 554: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 555: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 556: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 557: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 558: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 559: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 560: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 561: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 562: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 563: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 564: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 565: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 566: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 567: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 568: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 569: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 570: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 571: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 572: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 573: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 574: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 575: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 576: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 577: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 578: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 579: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 580: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 581: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 582: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 583: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 584: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 585: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 586: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 587: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 588: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 589: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 590: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 591: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 592: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 593: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 594: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 595: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 596: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 597: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 598: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 599: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 600: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 601: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 602: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 603: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 604: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 605: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 606: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 607: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 608: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 609: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 610: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 611: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 612: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 613: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 614: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 615: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 616: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 617: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 618: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 619: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 620: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 621: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 622: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 623: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 624: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 625: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 626: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 627: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 628: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 629: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 630: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 631: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 632: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 633: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 634: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 635: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 636: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 637: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 638: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 639: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 640: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 641: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 642: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 643: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 644: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 645: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 646: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 647: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 648: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 649: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 650: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 651: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 652: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 653: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 654: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 655: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 656: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 657: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 658: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 659: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 660: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 661: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 662: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 663: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 664: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 665: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 666: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 667: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 668: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 669: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 670: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 671: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 672: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 673: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 674: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 675: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 676: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 677: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 678: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 679: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 680: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 681: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 682: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 683: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 684: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 685: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 686: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 687: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 688: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 689: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 690: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 691: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 692: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 693: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 694: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 695: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 696: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 697: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 698: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 699: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 700: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 701: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 702: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 703: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation
Page 704: Introduction to VLSI Testing and Design For Testability(DFT) TESTING...• Design for testability (DFT) – Chip area overhead, i.e., yield loss – Performance overhead, i.e., degradation