Professional Documents
Culture Documents
Final
Final
Final
Why Testing?
• To determine the presence of fault(s) in a
given circuit.
– No amount of testing can guarantee that a
circuit (chip, board or system) is fault-free.
– We carry out testing to increase our
confidence in proper working of the circuit.
Levels of Testing
• Testing can be carried out at various
levels:
– Chip level
– Board level
– System level
• Cost :: Rule of 10
– It costs 10 times more to test a device as
we move to the next higher level in the
product manufacturing process.
What is Testing?
Testing is process of determining whether a piece of hardware
Functioning correctly (PASS) or defective (FAIL)
Why do we need to test Integrated Circuit (IC)?
Because defects occur in manufacturing process
Pass:
Manufacturing Shippping
Testing
Process
Testing is a Decision
Why is Testing Important?
1. Guarantee IC quality
Reduces test escapes
Not only functionally correct but also reliable IC
3. Enhance Profit
Reduce test cost
Fix defective chips if possible (like memory)
Reduce yield loss
Stages of IC Product
Design
Debug Verification
feedback
Fabrication
Prototype Test
Good Testing is
Key to Success Mass Production
good IC
Production Test Customer
failing IC returned IC
Diagnosis
diagnosed faults
Failure Analysis
How To Do Test?
• Fault Modeling
– Identify target faults
– Limit the scope of test generation
• Test Generation
– Automatic or Manual
• Fault Simulation
– Assess completeness of tests
Basic Testing Principle
Golden response
Comparator
Good / Bad
Design for
Testability
Yes
Behavioral Description
Functional Description
Increasing
Structural Description level of
abstraction
Switch-level Description
Geometric Description
Why Fault Modeling?
1. Fault model quantify test quality
Defects are hard to handle
How many possible defects in a circuit ? Way too many
Number of faults can be easily calculated in a circuit
95-100% good
• 12 fault sites
• 24 single stuck-at faults
• 312-1 = 5,31,441 multiple stuck-at faults
c j
a d
g h
z
i
b e
f k
Bridging Faults
• Two or more normally distinct points (lines)
are shorted together.
– Logic effect depends on technology
Wired-AND for TTL
A f A f
B g B g
B g B g
CMOS ?
Single Stuck-at Fault Model
Single Stuck-at Fault (SSF) model
One signal line in Boolean network of logic gates is fixed to logic
0 or 1, independent of logic values on other signal lines
Notations: node x stuck-at fault
x/0, x/1,
x s@0, x s@1
x SA0, x SA1
Number of faults is linear to circuit size
2 faults (stuck-at one, stuck-at zero) per node
2n SSF in a circuit of n nodes
Most commonly studied fault model
IP cores
L-BIST M-BIST
GPU FLASH
L-BIST L-BIST M-BIST
Architecture of BIST
Three components: BIST Controller, TPG, ORA
Three I/O Pins: Start BIST, BIST Done, Pass/Fail
Chip
Test Pattern
Generation (TPG)
BIST Done
Output Response BIST
Pass/Fail
Analyzer (ORA) Controller
Start BIST
Why BIST?
1. Save ATE cost
Smaller test pattern storage
System on Chip (SOC)
Fewer DFT pins
Slower tester speed Logic Memory
2. Better IC quality CPU DRAM
Test speed higher than ATE
IP cores
3. Easier integration of tests
L-BIST M-BIST
Algorithm as TPG
Test pattern generation based on certain mathematical rule
Suitable for regular structure like memory, FPGA
Not very useful for random logic
Disadvantages
Exhaustive test length is very long
External input
+ FF FF FF FF
=XOR
“Linear” because XOR is mod-2 addition
Two Types of Autonomous LFSR
Autonomous LFSR is Modular Counter
Very small area, generate pseudo random outputs
Two structures:
Type 1: Standard Form (aka external XOR) LFSR
Type 2: Modular Form ( aka internal XOR) LFSR
f(x) = x4 + x3 + 1 0000
1000 0001
1100
0010
1110 0100
0111 0011
1011 0110
0101 1101
1010
Pseudo Random Pattern Generator (PRPG)
Pseudo random. NOT truly random state Q3 Q2 Q1 Q0
q0
Serial PRPG: q0, q1, q2, q3, … 0 1 0 0 0
q1
1 1 1 0 0
Periodical. Lc= 15 q2
2 1 1 1 0
Parallel PRPG: (Q3 Q2 Q1 Q0) 3 1 1 1 1 q3
Each output shifted by one cycle 4 0 1 1 1 q4
5 1 0 1 1 q5
Phase difference =1
6 0 1 0 1 q6
7 1 0 1 0 q7
PRPG q8
8 1 1 0 1
9 0 1 1 0 q9
10 0 0 1 1 q10
11 1 0 0 1 q11
12 0 1 0 0 q12
13 0 0 1 0 q13
Circuit Under Test
14 0 0 0 1 q14
(CUT)
15 (=0) 1 0 0 0 q15
Ph
.2 ©a
Nsate
iondail fTfa.iw
=a1n
BIST Part 2
Part 1
Introduction
Test Pattern Generation
Part 2
Output Response Analysis
BIST Architecture
Issues with BIST
Conclusions
Output Response Analyzer
What is ORA?
Compress CUT output responses into a small signature
Compare signature with gold signature to determine pass or fail
ORA also called signature analyzer
What is good ORA? (very difficult to meet all requirements)
1. Signature as small as possible
2. Correct Pass/Fail decision (i.e. low aliasing)
3. Small area
4. Diagnosis support
output
Test responses signature Pass/fail
Pattern CUT ?
ORA =
Generator
Gold
signature
Aliasing
Aliasing occurs when
signaturefaulty output = signaturegood output (gold signature)
Aliasing Fault coverage loss Test escapes
Defective circuits pass tests (Very bad!)
Many-to-one
Output Space mapping Signature Space
Faulty output
Faulty output