0% found this document useful (0 votes)
25 views

Problems To Think

This document provides an introduction to VLSI testing. It discusses topics such as fault modeling, fault simulation, test generation, automatic test pattern generation, design for testability, and built-in self-test. Examples are given of different types of circuits that need to be tested, including a 32-bit adder, 32-bit counter, 32Mb cache memory, 107-transistor CPU, and 109-transistor SOC. The importance of testing is explained in terms of economics and the increasing probability of defects with growing chip complexity and shrinking transistor sizes.

Uploaded by

sivapothi
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

Problems To Think

This document provides an introduction to VLSI testing. It discusses topics such as fault modeling, fault simulation, test generation, automatic test pattern generation, design for testability, and built-in self-test. Examples are given of different types of circuits that need to be tested, including a 32-bit adder, 32-bit counter, 32Mb cache memory, 107-transistor CPU, and 109-transistor SOC. The importance of testing is explained in terms of economics and the increasing probability of defects with growing chip complexity and shrinking transistor sizes.

Uploaded by

sivapothi
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 40

Problems to Think

How are you going to test

VLSI Testing

A 32 bit adder

A 32 bit counter

A 32Mb cache memory

A 107-transistor CPU

A 109-transistor SOC

Introduction.1

NCKUEE-KJLEE

OUTLINE
Introduction
Fault modeling
Fault simulation
Test generation
Automatic test pattern generation
(ATPG)
Design for testability
Built-in self test
Synthesis for testability
An example
VLSI Testing

Introduction.2

NCKUEE-KJLEE

Basic Concept of Testing


Testing: To tell whether a circuit is good or bad
VDD

0
0

0/1

Related fields
Verification: To verify the correctness of a
design

Diagnosis: To tell the faulty site


Reliability: To tell whether a good system will work
correctly or not after some time.

Debug: To find the faulty site and try to eliminate the fault
VLSI Testing

Introduction.3

NCKUEE-KJLEE

Why Studying Testing?


Economics!
Reduce test cost (enhance profit)
Automatic test equipment (ATE) is

extremely expensive

Shorten time-to-market
Market dominating or sharing

Guarantee IC quality and reliability


Rule of Ten:
Cost to detect faulty
IC increases by an
order of magnitude
VLSI Testing

Defects detected in
Wafer
Packaged chip
Board
System
Field
Introduction.4

Cost
0.01 0.1
0.1 1
1 10
10 100
100 1000
NCKUEE-KJLEE

Principle of Testing
Input Patterns
-1011
11-00
-0-101--0
0-101

Stored
Correct
Response

Output Response
Circuit
under
Test
(CUT)

1-001
0011-1101
100101-11

Comparator
Test Result

Testing typically consists of

Applying set of test stimuli (input patterns, test


vectors) to inputs of circuit under test (CUT), and
Analyzing output responses

The quality of the tested circuits will depend upon


the thoroughness of the test vectors

VLSI Testing

Introduction.5

NCKUEE-KJLEE

Importance of testing
N = # transistors in a chip
p = prob. (a transistor is faulty)
Pf = prob. (the chip is faulty)
Pf = 1- (1- p) N
If p = 10-6
N = 106
Pf = 63.2%
VLSI Testing

Introduction.6

NCKUEE-KJLEE

Introduction
Integrated Circuits (ICs)
have grown in size and
complexity since the late
1950s

Small Scale Integration (SSI)


Medium Scale Integration (MSI)
Large Scale Integration (LSI)
Very Large Scale Integration
(VLSI)

Moores Law: scale of ICs


doubles every 18 months
Growing size and complexity
poses many and new testing
challenges

VLSI Testing

Introduction.7

VLSI
M LSI
S
S S
I I

NCKUEE-KJLEE

Importance of Testing
Moores Law results from decreasing feature
size (dimensions)
from 10s of m to 10s of nm for transistors and
interconnecting wires

Operating frequencies have increased from


100KHz to several GHz
Decreasing feature size increases
probability of defects during manufacturing
process
A single faulty transistor or wire results in faulty
IC
Testing required to guarantee fault-free products
VLSI Testing

Introduction.8

NCKUEE-KJLEE

Difficulties in Testing
Fault may occur anytime
-

Design
Process
Package
Field

Fault may occur at any place


Vdd

Vss

VLSI circuit are large

- Most problems encountered in testing are NP-complete

I/O access is limited


VLSI Testing

Introduction.9

NCKUEE-KJLEE

How to do testing
From designers point of view:
Circuit modeling
Fault modeling

Modeling

Logic simulation
Fault simulation
Test generation

ATPG

Design for test


Built-in self test

Testable design

Synthesis for testability


VLSI Testing

Introduction.10

NCKUEE-KJLEE

Circuit Modeling
Functional model--- logic function

- f(x1,x2,...)=...
- Truth table

Behavioral model--- functional + timing


- f(x1,x2,...)=... , Delay = 10

Structural model--- collection of


interconnected components or elements
A
B

E
1
0

C
D

VLSI Testing

1
0

0
F

Introduction.11

NCKUEE-KJLEE

Levels of Structural Description


Switch level

Circuit level

VDD

C
4B

VDD

VDD

C
1

C3

C2
E

Gate level
A
B

Higher/ System level

E
G

C
D

VLSI Testing

Introduction.12

NCKUEE-KJLEE

Fault Modeling
The effects of physical defects
Most commonly used fault model: Single stuck-at
fault

A
B

E
G

C
D

A s-a-1 B s-a-1
A s-a-0 B s-a-0

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

E s-a-1 F s-a-1
E s-a-0 F s-a-0

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

14 faults

Other fault models:


- Break faults, Bridging faults, Transistor stuck-open faults,
Transistor stuck-on faults, Delay faults

VLSI Testing

Introduction.13

NCKUEE-KJLEE

Fault Coverage (FC)


# faults detected
FC =
# faults in fault list
Example:
a
b

1
0

1
0

Test
{(0,0)}
{(0,1)}
{(1,1)}
{(0,0),(1,1)}
{(1,0),(0,1),(1,1)}
VLSI Testing

6 stuck-at faults
( a0,a1,b0,b1,c0,c1 )

c1

faults detected
c1
a1,c1
a0,b0,c0
a0,b0,c0,c1
all
Introduction.14

FC
16.67%
33.33%
50.00%
66.67%
100.00%
NCKUEE-KJLEE

Wafer Yield (Chip Yield, Yield)


Good Chip
Faulty Chip
Defects
Wafer

Wafer yield = 12/22 = 0.55


VLSI Testing

Wafer yield = 17/22 = 0.77


Introduction.15

NCKUEE-KJLEE

Testing and Quality


IC
Fabrication

Shipped Parts
Testing
Yield:
Fraction of
good parts

Rejects

Quality:
Defective parts
per million (DPM)

Quality of shipped parts is a function of yield Y and


the test (fault) coverage T

Defect level (DL, reject rate in textbook): fraction of


shipped parts that are defective

VLSI Testing

Introduction.16

NCKUEE-KJLEE

Defect Level, Yield & Fault Coverage

DL = 1 - Y (1-T)
Yield (Y)
50%
75%
90%
95%
99%
90%
90%
90%
90%

VLSI Testing

DL: defect level


Y: yield
T: fault coverage

Fault Coverage (T)


90%
90%
90%
90%
90%
90%
95%
99%
99.9%

Introduction.17

DPM (DL)
67,000
28,000
10,000
5,000
1,000
10,000
5,000
1,000
100

NCKUEE-KJLEE

Logic simulation
To determine how a good circuit should work
Given input vectors, determine the normal
circuit response
A

B
C

C
G

F
E

CC1

I
CC2

RB
CDE C
JE

IR
IF

H
D

VLSI Testing

Introduction.18

NCKUEE-KJLEE

Fault simulation
To determine the behavior of faulty circuits
E s.a.0

A 1
0
B
0
C
0
D

1/0
1
F

1/0
1

Given a test vector, determine all faults that


are
detected by this test vector.
Example:

VLSI Testing

Test vector (1 1) detects


{ a0, b0, c1}

Introduction.19

NCKUEE-KJLEE

Test generation
Given a fault, identify a test to detect this fault
1
Example:
0 1/0
A
B

1/0
F

1
C

To detect D s-a-0, D must be set to 1.


Thus A=B=1.
To propagate fault effect to the primary output
E must be 1. Thus C must be 0.
Test vector: A=1, B=1, C=0
VLSI Testing

Introduction.20

NCKUEE-KJLEE

Automatic Test Pattern Generation


ATPG: Given a circuit, identify a set of test vectors
to detect all faults under consideration.
Input circuit
Form fault list

More faults?

No

Exit

Yes
Fault
dropping

Select a fault
Test generation
Fault simulation

VLSI Testing

Introduction.21

NCKUEE-KJLEE

Difficulties in Test Generation


1. Reconvergent fanout

B 1

VLSI Testing

0/1

s-a-1

Cannot detect the fault


D

1
0/1

Fault detected

0E

Introduction.22

NCKUEE-KJLEE

Difficulties in Test Generation (cont.)


2. Sequential test generation
PIs

Combinational part

Y
Y

VLSI Testing

J
K
CK

Introduction.23

POs

clk

NCKUEE-KJLEE

Testable Design
Design for testability (DFT)
ad hoc techniques
Scan design
Boundary Scan

Built-In Self Test (BIST)


Random number generator (RNG)
Signature Analyzer (SA)

Synthesis for Testability

VLSI Testing

Introduction.24

NCKUEE-KJLEE

Example of ad hoc Techniques


Insert test points

MUX

T/N

VLSI Testing

Introduction.25

NCKUEE-KJLEE

Scan Design
Original design

Modified design
POs PIs

PIs

POs
Combinational
logic

Combinational
logic

SO
FF

SFF

FF

SFF

FF
VLSI Testing

SFF

T/N
Introduction.26

SI

NCKUEE-KJLEE

Scan Cell Design

DI
SI

CK

N/T
(SE)

DI

MUX

DI

Q,SO

CK

Q,SO

DI

SI

+ T

Most cell libraries now have scan cells!


VLSI Testing

Introduction.27

NCKUEE-KJLEE

Scan Register

Combinational
Circuits

SO

Q D

Q D

Q D

SI

SI

SI

Q D
SI
SE

CLK

VLSI Testing

Introduction.28

NCKUEE-KJLEE

Boundary Scan
I/O Pad

Boundary scan cell

Boundary scan path

TRST*
TDI

Sout
Misc. registers

TMS

TCK
TDO

APPLICATION LOGIC

T
A
P
M
U
X

Instruction register
BIST register

Bypass register

Scan register
Sin
TRST*:Test rest (Optional)
TDI: Test data input
TD0: Test data output
TCK: Test clock
TMS: Test mode select

VLSI Testing

Introduction.29

NCKUEE-KJLEE

Boundary Scan (Cont.)


TRST*

TRST*

TDI

APPLICATION LOGIC

Sout

TDI

Sout

Misc. registers
TMS

TCK

BIST register

Bypass register

TCK
Scan register

M
U
X

TDO

TMS

Instruction register

T
A
P

Sin

TDO

T
A
P

TDI

Sout

APPLICATION LOGIC

Scan register
Sin

TDI

Sout

T
A
P
M
U
X

APPLICATION LOGIC

Misc. registers
TMS

TMS

VLSI Testing

BIST register

Bypass register

M
U
X

Misc. registers

TDO

Instruction register

TRST*

TRST*

TCK

APPLICATION LOGIC

Misc. registers

Instruction register
BIST register
Bypass register

TCK
Scan register
Sin

TDO

Introduction.30

T
A
P
M
U
X

Instruction register
BIST register

Bypass register

Scan register
Sin

NCKUEE-KJLEE

Built-In-Self Test (BIST)


Places the job of device testing inside the device
itself
Generates its own stimulus and analyzes its own
response
mux

circuit
under test
BIST
Controller
biston

VLSI Testing

Introduction.31

to system

Response
Analyzer

pattern
generator

from system

good/fail

bistdone
NCKUEE-KJLEE

Built-In-Self Test (BIST) (Cont.)


Two major tasks
- Test pattern generation
- Test result compaction

Usually implemented by linear feedback


shift register

F/F

VLSI Testing

F/F

Introduction.32

F/F

NCKUEE-KJLEE

Random Number Generator (RNG)

F/F

F/F

F/F

F/F

0001
1000
0100
0010
1001
1100

0110
1011
010
1
101
0
1101
1110

1111
0111
0011
0001
(repeat)

1. Generate pseudo random patterns


2. Period is 2n - 1

VLSI Testing

Introduction.33

NCKUEE-KJLEE

Signature Analyzer (SA)


Input sequence 10101111 (8 bits)

G x 1 x 2 x 4 x5 x6 x 7
Time
0
1
.
.
5
6
7
8

P x 1 x 2 x 4 x 5

Input stream Register contents


10101111
00000
1010111
10000
.
.
.
.
101
01111
10
00010
1
00001
00101
Remainder

R x x 2 x 4
VLSI Testing

Introduction.34

Output stream
Initial state

1
01
101
Quotient

1 x2
NCKUEE-KJLEE

Signature Analyzer (SA) (cont.)


A LFSR performs polynomial division

P x : x 5 x 4 x 2 1

Q x : x 2 1

x7 x6 x 4 x 2 x5 x 4 x 2 1
x x x 1
7

P x Q x R x x 7 x 6 x 5 x 4 x 2 1 G x
Probability of aliasing error = 1/2n (n: # of FFs)
VLSI Testing

Introduction.35

NCKUEE-KJLEE

Memory BIST Architecture


Before

After

di
addr

Memory
Module

data

sys_di
data
sys_addr
sys_wen
clk
q
hold_l Memory
rst_l
Module
test_h
si
se

wen

VLSI Testing

Introduction.36

so

NCKUEE-KJLEE

rst_l
clk
hold_l
test_h

di
addr
wen

Memory
Module

compress_h clk
rst
si
se

data

Compressor

sys_addr
sys_d
isys_wen

Algorithm-Based
Pattern Generator

Memory BIST Architecture (Cont.)

q
so

BIST Circuitry
VLSI Testing

Introduction.37

NCKUEE-KJLEE

CPU Test Control Architecture


Scan_i

Scan_o

Scan path
Scan_en
logic
rst_l
clk

Bist

hold_l
test_h

Memory

control

bist_si

bist
decoder

compressor bist_so

scan
decoder

MUX

bist_se

TDO

int_scan mbist
decoder

TDI
IR

TCK
TMS

VLSI Testing

TAP Controller

Introduction.38

NCKUEE-KJLEE

Problems re-thinking
A 32-bit adder --- ATPG
A 32-bit counter --- Design for testability + ATPG
A 32MB Cache memory --- BIST
A 107-transistor CPU --- All test techniques
An SOC

VLSI Testing

Introduction.39

NCKUEE-KJLEE

Conclusions

Testing is becoming a major factor in design optimization


Conventionally, the designer often optimize one of the three
attributes: speed, area, and power.
At present, a fourth attribute is considered: Testability.
Two major fields in testing
ATPG
--- Fault simulation
--- Test generation

Testable design
--- Design for testability
--- Built-in self-test
--- Synthesis for testability

VLSI Testing

Introduction.40

NCKUEE-KJLEE

You might also like