Professional Documents
Culture Documents
Memory BIST Tutorial PDF
Memory BIST Tutorial PDF
Memory BIST Tutorial PDF
0
Stuck-at-0 1 Stuck-at-1
0
Transition ↑/0 0 11 Transition ↓/1
0
Reset coupling 1
0 1 1
0 Set coupling
0
Inversion coupling 0
1 1 10 1
0 Inversion coupling
0 0
AND bridging 0 1 11 0
1 OR bridging
Neighborhood 0 1 Neighborhood
pattern sensitive 0 pattern sensitive
faults (active) 1 0
1 1
0 1 0 1 faults (passive)
1 0
Address decoder
faults ADR
ADR ADR
ADR ADR
ADR ADR
ADR ADR
ADR
Elements of march test
↑
↑ (w0) ↓ (w1) ↑ (r1,w0) ↓ (r0,w1)
7 x 0 1 1
0 1 1
0 0
6 x 0 1 1
0 1 1
0 0
5 x 0 1 1
0 1 0
1 0
4 x 0 1 1
0 1 0
1 0
3 x 0 1 1
0 1 1
0 0
2 x 0 1 1
0 1 1
0 0
1 x 0 1 0
1 1 1
0 0
0 x 0 1 0
1 1 0
1 0
C - algorithm
↑ (w0) ↑ (r0,w1) ↑ (r1,w0) ↓
↓ (r0,w1) ↓ (r1,w0) ↓ (r0)
0 1
0 0 1
0 1 1
0 0 1
0 1 0 0
0 1
0 0 1
0 1 1
0 0 1
0 1 0 0
0 0
1 0 1
0 1 0
1 0 1
0 1 0 0
0 0
1 0 1
0 1 0
1 0 1
0 1 0 0
0 1
0 0 1
0 1 1
0 0 1
0 1 0 0
0 1
0 0 0
1 1 1
0 0 0
1 1 0 0
0 1
0 0 0
1 1 1
0 0 0
1 1 0 0
0 0
1 0 0
1 1 0
1 0 0
1 1 0 0
Number of steps: 10n
Fault coverage: AFs, SAFs, TFs, CFins , CFids
Checkerboard test and data retention
D0 D1 D2 D3 D4 D5 D6 D7
0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1
0 0 0 0 1 1 1 1
1 1 1 1 0 0 0 0
0 0 1 1 0 0 1 1
1 1 0 0 1 1 0 0
0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0
Data in word-oriented memory
↑ (w0) ↓ (r0,w1) ↓ (r1,w0) ↑ (r0,w1)
Parallel memory BIST
Clock Hold System logic
Data
Data generator
generator
FF
SS Address
Address generator
generator
M
M Control
Control generator
generator Fail
⊕
BIST
Start Done mode
Memory
Serial memory BIST
System logic
Data output
Serial input Serial output
Address M
0 0 0 0
r0 0 0 0 0
w1 1 0 0 0
r0 1 0 0 0
Memory w1 1 1 0 0
r0 1 1 0 0
w1 1 1 1 0
r0 1 1 1 0
Minimal logic and routing w1 1 1 1 1
Longer test time r1 1 1 1 1
Serial-parallel data interface trade-offs
Memory Memory
Memory Memory
Memory BIST collar
Functional logic
Memory
Memory BIST
BIST
controller
controller
Memory
Memory BIST
BIST
controller
controller
To / From
TAP controller
+ +
Insert collars
Connect them
through memory test
bus
to memory BIST
•
controller
Memory Memory
• to TAP
array array
Parallel memory BIST collar
BIST address BIST data
Functional control
Functional address Functional data
BIST control
Pass / Fail
MBIST mode
Sin =?
⊕
⊕
Sout Address Ctrl Data in Data out
Memory array
Clock
Full-Speed test application
Runs at system clock speeds with single cycle
read/write operations
Uncovers speed-related defects
Reduce test application time.
Clock Clock Clock Clock Clock
Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5
Clock
Addr/Cntrl/ Setup
Setup Setup Setup Setup Setup
Data Read
Read 11 Write 1 Read 2 Read 3 Write 2
Memory
Output Read 1 Read 2 Read 3
•••
Compare Compare Compare Compare
Circuitry Read 1 Read 2 Read 3
Write Write 1
Diagnostics
Detect failing location/data during test
Should diagnose speed related defects
Two types - Hold and resume, Hold and restart
How it works?
• BIST controller stops after 1 (or 2) failures
• Fail data is scanned out
• BIST session resumes from where it stops (Hold and
resume)
• BIST session restarts after fail data is scanned out
(Hold and restart)
Full-speed diagnostics
MBIST
controller
Memory
Memory
array
array
Yield improvement with memory redundancy
Memory percentage, defect rate, and redundancy
amount affect yield
Redundancy Yield Improvement
100
90
Optimal
80
Memory Yield
70
Level 3
60 Redundancy
50 Level 2
40 Redundancy
30 Level 1
20 Redundancy
10 No Redundancy
0
0 10 20 30 40 50 60 70 80 90 100
Memory
Memory BIST
BIST
controller
controller
BIST GENERATION
Assign memories to
controller
(BIST Scheduling)
BIST INSERTION
Insert controllers in the design
Stitch controllers to top-level
Full Chip Memory BIST Control
SOC
TM S Block
BIST Block
TCK TAP Controller
TRST
Memory 1
rst_l
BIST
CLK Controller
BIST Block
test_done
fail_h Memory 2
test_h
MBIST Data
Register
TDO
TDI Boundary Scan Register
Programmable algorithms
Selection of algorithms
• March1, March2, March3, Unique Address, Checkerboard, …
• address jumping
Synthesizable algorithms
• user defined prior to synthesis
• simple language
• number of sequences, backgrounds, sequence elements etc.,
Programmable algorithms
• defect mechanisms may not be known before fabrication
• memory BIST controller implements a class of algorithms
• field programmable parameters define active elements of test
sequences
Summary
Key components of a BIST controller
• algorithm controller
• data background generator
• address generator
• comparator
Very high quality test of embedded arrays
BIST controller shared across a number of memory
arrays to reduce area
BIST diagnostics helps in gathering failure
information
Built-in repair results in yield improvement