Professional Documents
Culture Documents
Artur Jutman
artur@ati.ttu.ee
TU Tallinn, ESTONIA
February 2011
Outline
• Visual inspection
• Optical/x-ray inspection
• Smoke test ;-)
• Power distribution test
• Structural test
– in-circuit test (ICT)
– Boundary Scan (BS)
– Test Processors/Cores (BIST)
• Functional test (FT)
3
The test access problem…
open short
fault fault
BGA BGA
4
Test Access: Past and Present
• Past: test access was a problem
• Present: good test access by Boundary Scan combined
with AOI, Functional Test, Flying Probe, etc.
Test access by
typical test methods
Boundary Scan
AOI and AXI
Functional Testing
Flying Probe
In-Circuit Testing
Extended BS
Source: Intel
Source: Elcoteq 6
Modeling of Interconnect Faults
Net-level defect types and models
• Short faults
static behavior
• Open faults
• Delay faults dynamic behavior
• Noise/crosstalk
• Ground bounce
•…
7
Short Faults
9
Tri-state connections
Chip 1 Chip 2
Chip 3 Chip 4
enable
enable
data pin
data_in
12
Specific faults in tri-state nets
13
Outline
010110 010110
011001 011001
011100 011100
Code Word
or Driver Receiver
Serial Test
Vector = STV
15
Test generation for interconnect faults
… two circuits, 4 wires, plain topology
1 1
Open
00 00 What about
Assume stuck-at-0
opens?
01 00
Short
10 00
Assume wired AND
11 11
All 0-s and all 1-s are forbidden STV codes because of open
faults. Therefore the final test length is ⎡log2(N+2)⎤
This method was proposed in 1982 by Goel & McMahon
18
The True/Complement Code
True Complement
part part
Open
All-0 and
00 11 00 00
all-1 codes
Assume stuck-at-0 are not
01 10 00 00 forbidden
Short
anymore!
10 01 00 00
Assume wired AND
11 00 11 00
Open
00 11 00 00 How to
Assume stuck-at-0 distinguish
01 10 00 00 between
opens and
Short shorts?
10 01 00 00
Assume wired AND
11 00 11 00
Open
01 00 11 00 00 00
Code
extension Assume stuck-at-0
01 01 10 01 00 00
Short
01 10 01 01 00 00
Assume wired AND
01 11 00 01 11 00
Idea: add two bits, that are the same at every STV code word
Shorts and stuck-at faults are now distinguishable
The test length is 2⎡log2(N)⎤+2
21
Summary of TG Methods
Counting Modified True/Compl. Extended Walking LaMa
000 001 111 000 01 111 000 10000000 00001
001 010 110 001 01 110 001 01000000 00100
010 011 101 010 01 101 010 00100000 00111
011 100 100 011 01 100 011 00010000 01010
100 101 011 100 01 011 100 00001000 01101
101 110 010 101 01 010 101 00000100 10001
110 001 110 01 001 110 00000010 …
111 000 111 01 000 111 00000001
Length ⎡log2(N)⎤ ⎡log2(N+2)⎤ 2 ⎡log2(N)⎤ 2 ⎡log2(N)⎤+2 N ⎡log2(3N+2)⎤
Example 14 14 28 30 10000 15
(N=10000)
Hamming 1 1 2 2 2 2
distance
Shorts Shorts Shorts Shorts Shorts
Defects Shorts Opens Opens Opens Opens Opens
/Delays/ Delays /Delays/
Diagnostic Bad Bad Good Very Very Very
Properties Good Good Good
22
More complex case: branching nets
enable
data
data_in
Open
enable
Driver Fault
data Short
data_in
data
data_in
23
Additional rules for branching nets
24
Outline
26
Test Access Via Boundary Scan
TDI
TDO
27
Test Access Via Boundary Scan
28
Test Access Via Boundary Scan
Driver Sensor
Virtual
nails
Defects covered:
driver scan cell, driver amp, bond wire, leg, solder,
interconnect, solder, leg, bond wire, driver amp, sensor
scan cell
29
Test Access Via Boundary Scan
I/O
JTAG
JTAG
TAP
port ADDR
DATA
CONTROL
A D C
ADDR
DATA
CTRL
Pin Pin
Core Core BScan Cell
Logic
Logic
BS Cells
Core
Logic
TDI Bypass
TDO
MUX MUX
(Test Data In) Identification (Test Data Out)
Register
Instruction
Register
(Test Mode Select)
TMS TAP
Controller
TCK
(Test Clock)
Test Reset
(Optional) 32
Typical Boundary Scan Cell (BC_1)
BC_1 is used both at input and output pins
Clk Clk
Instruction Status
SAMPLE /PRELOAD Mandatory
EXTEST Mandatory
BYPASS Mandatory
IDCODE Optional
INTEST Optional
CLAMP Optional
HIGHZ Optional
RUNBIST Optional
USERCODE Optional
34
Boundary Scan Working Modes
SAMPLE/PRELOAD instruction – sample mode
Get snapshot of normal chip output signals
ShiftDR SO Mode ShiftDR SO Mode
0 0
1 1
0
Core 0
D Q D Q Logic D Q D Q
1 1
Clk Clk Clk Clk
Core
Get snapshot of normal chip output signals Logic
TDI TDO 35
Boundary Scan Working Modes
SAMPLE/PRELOAD instruction – preload mode
Shift out snapshot data and shift in new test data to be used later
ShiftDR SO Mode ShiftDR SO Mode
0 0
1 1
0
Core 0
D Q D Q Logic D Q D Q
1 1
Clk Clk Clk Clk
Core
Shift out snapshot data and shift in new Logic
test data to be used later
TDI TDO 36
Boundary Scan Working Modes
EXTEST instruction – driving and sensing:
Test off-chip circuits and board-level interconnections
ShiftDR SO Mode ShiftDR SO Mode
0 0
1 1
0
Core 0
D Q D Q Logic D Q D Q
1 1
Clk Clk Clk Clk
0 0
1 1
0
Core 0
D Q D Q Logic D Q D Q
1 1
Clk Clk Clk Clk
Core
Shift out snapshot data and shift in new Logic
test data to be used later
TDI TDO 38
Typical BS Interconnect Test Flow
Test bus
BS mode actions Test data manipulations Test
IRshift + Loading the first test vector to BS register (vector
PRELOAD includes control/disable values for other devices Vector 1 loaded
DRshift on the bus)
Time
N test vectors: (N+1) DRshifts + 2 IRshifts ≈ (N+1) DRshifts 39
Boundary Scan Working Modes
BYPASS instruction:
Bypasses the TDI
D Q To TDO
corresponding Shift DR
chip using 1-bit
register Clock DR Clk
TDI TDO
BYPASS SAMPLE BYPASS
IDCODE instruction:
Connects the component device identification register serially
between TDI and TDO in the Shift-DR TAP controller state
Allows board-level test controller or external tester to read out
component ID
Required whenever a JEDEC identification register is included
in the design
TDI TDO
Version Part Number Manufacturer ID 1
41
Blind Interrogation
Default instruction:
• IDCODE (but it is not mandatory)
• BYPASS (if IDCODE is not implemented)
Default capture bits:
• 0 in BYPASS register
• 1 – first bit in IDCODE register
Example: 0...............................10
0 ….…..…1 0
TDI TDO
BYPASS IDCODE BYPASS 42
TAP Controller State Diagram
44
Outline
VCC
+
–
GND
JTAG connector
Interconnect Interconnect
Logic Logic
TDI
TMS TAP TAP TAP
TCK
TDO
Board (UUT)
Infrastructure test (generated by using BSDL models)
Interconnect test (BSDL models + interconnection netlist)
48
Board-level Test using Boundary Scan
Infrastructure test
Interconnect test
– One needs to specify behavioral models for non-BS
components to get acceptable test coverage
– No standard description format exists
Additional tasks:
Cluster logic test – semi-automated
RAM Test
External connectors test
LED or display test (can be assisted by a camera/sensor)
FLASH test/program/read ID – in-system programming
49
Interconnect Test through Clusters
Unidirectional buffer
OE 1
BScan BScan
Buffer
IC 1 IN 2 3 OUT IC 2
Bidirectional buffer
DIR 1
BScan BScan
Buffer
IC 1 INOUT 2 3 INOUT IC 2
BScan
IC 3 50
Cluster Logic Test (Manual)
000 0
001 1
010 1
…
111 1
51
RAM / Flash Test
To generate test:
• Specify constraints that will select only one device
• RAM/Flash model in special format that provides
description of read/write protocol
• Combination of walking and counting sequences is
used
52
RAM Test Example
Address 10bit Data 32 bit
walking 1 counting sequence (true/complement)
0000000000 ….…write here something unique…….
1000000000 01010101010101010101010101010101
0100000000 00110011001100110011001100110011
0010000000 00001111000011110000111100001111
0001000000 00000000111111110000000011111111
0000100000 00000000000000001111111111111111
0000010000 10101010101010101010101010101010
0000001000 11001100110011001100110011001100
0000000100 11110000111100001111000011110000
0000000010 11111111000000001111111100000000
0000000001 11111111111111110000000000000000
53
RAM Test Example: detection of shorts
… assuming Wired-AND model
• Any short between address lines will cause
writing the corresponding PTV to address 0.
• Any short between data lines will cause writing
wrong data to the correct address.
• Shorts between data and address lines need a
double-lengths test to generate all 1/0
combinations between a particular address line
and data lines. Such shorts will cause writing to
address 0.
• Fault detection: read from all involved
addresses then read at address 0.
54
RAM Test Example: detection of opens
… assuming stuck-at 0 model
• Any s-a-0 at address lines will cause writing the
corresponding PTV to address 0.
• Any s-a-0 at data lines will cause writing wrong
data to the correct address.
• Fault detection: read from all involved
addresses then read at address 0.
Boundary Scan
JTAG Controller
Board
58
Boundary Scan – Evolution
1149.4 – Mixed-Signal Test Bus (testing analog signals)
1149.6 – Boundary-Scan Testing of Advanced Digital
Networks (testing high speed links)
1149.7 – CJTAG – Compact JTAG (debug)
1149.8.1 – Sensing using capacitive plate
P1687 – IJTAG – Internal JTAG (component testing, BIST)
1500 – Embedded Core Test (SoC testing)
1532 – In-System Configuration of Programmable Devices
P1581 – Static Component Interconnection Test Protocol
and Architecture (memory-to-BS_chip links testing)
5001 – NEXUS – Global Embedded Processor Debug
Interface (SW development, debug, and emulation)
59
New Standards and Their Purposes
Board or chip
Instruments
IEEE P1687
IEEE 1149.7
IEEE 1149.1
IEEE P1149.1-2011 61
What to look further
Leading BScan companies:
– Goepel Electronic (http://www.goepel.com/)
– ASSET Intertech (http://www.asset-intertech.com/)
– JTAG Technologies (http://www.jtag.com/)
Training software:
– goJTAG – open source project (http://www.goJTAG.com/)
– Trainer 1149 by Testonica Lab
(http://www.testonica.com/1149/download)
– Scan Coach by Goepel Electronic
(http://www.goepel.com/index.php?id=1418&L=4)
– Scan Educator by Texas Instruments
(http://focus.ti.com/docs/toolsw/folders/print/scan_educator.ht
ml)
Literature:
– Kenneth P. Parker, The Boundary-Scan Handbook
– Lecture notes by Ben Bennetts (try googling)
62