basics of board-level testing and ieee1149.x boundary … · structural fault coverage analog/...

87
Basics of board - level testing and IEEE1149.x Boundary Scan standard Artur Jutman [email protected] TU Tallinn, ESTONIA February 201 6 http://www.pld.ttu.ee/~ artur/ labs /

Upload: buidung

Post on 02-Jul-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

Basics of board-level testing and IEEE1149.x Boundary Scan standardArtur Jutman

[email protected]

TU Tallinn, ESTONIA

February 2016

http://www.pld.ttu.ee/~artur/labs/

Page 2: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

System Level Test across different levels

2

IC Level Test (SoC as a system)

Final test is often a go/no-go test (diagnosis for process control only)

DFT is usually a must: scan test, compression, BIST, etc.

Board Level Test (Board as a system)

A myriad of test, measurement, and inspection approaches available

DFT is very beneficial: test points, boundary scan, BIST, etc.

Product Level Test (Board as a part of system)

Qualification test before product shipping (functional + application)

Board-Level DFT is used if any

Diagnosis is essential to narrow down the failing replaceable module

In-Field Test (working conditions are part of the test setup)

Product operates in real-life conditions

Power-On Self-Test (POST), monitoring and self-check routines

Page 3: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

3

Outline

•Board level test challenges

• Fault modeling at board level (digital)

•Test generation for interconnect faults

• IEEE 1149.1 Boundary Scan Standard

•Application of Boundary Scan

Page 4: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

Board Testability: in the past

PCBA

ICIC

4

Page 5: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

5

Limited access (nail probing) for test, measurement, diagnostics

Problem of Test Access

PCB

IC

conductive layers

BGA

open fault

short fault

BGA

crack

Page 6: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

Board Testability: today’s challenges

PCBA

BLACK HOLE 2

BLACK HOLE 1

BLACK HOLE 3

6

Page 7: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

What are the reasons for NFF?

7

0

1

2

3

4

5

6

7

FP7 BASTION project industrial survey results

Source:

ASTER Technologies

Page 8: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

Is the NFF problem Important?

8

Important in general

Important for me

Importance increasing

Importance decreasing

Not important

NFF is a critical subject for the industry!

Source:

ASTER Technologies

Page 9: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

The Expensive side of NFF

9

• 70% of all product returns characterized as NFF (US, 2007)

• NFF amounted up to 50% of 13.8 billion USD

Source: Accenture

Page 10: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

Main Categories of Board Test Today

10 Board Test is a compound of many different techniques

Test Domain Typical Test Techniques

Inspection

Pre-reflow: Solder Paste Inspection (SPI), Automated Optical Inspection (AOI)Post-reflow: Visual inspection,Automated X-ray Inspection (AXI) , AOI

Electrical testIn-Circuit Test (ICT), Manufacturing Defect Analysis (MDA), Flying Probe Test (FPT)

Scan testBoundary Scan (BS/JTAG) and other test techniques based on IEEE 1149.1 and related standards

High-speed test & measurement

Processor-centric automated test solutions, FPGA-centric automated test solutions, Bit-Error Rate Test (BERT)

Embedded instrumentation

BIST instrumentation (fixed hardware), Synthetic instrumentation on FPGA (flexible hardware)

Functional testTest of interfaces and basic behavior,test of main functions (fit-for-function test)

Page 11: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

11

Typical Order of Test Phases

• Visual inspection

• Optical/x-ray inspection

• Smoke test ;-)

• Power distribution test

• Structural test– In-Circuit Test (ICT), Flying Probe Test (FPT)

– JTAG/Boundary Scan (BS)

–Test Processors/Cores (BIST)

• Functional test (FT)

Page 12: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

Classical board test flow

12

Test Escapes

Products Shipped

Inspection &

Measurement

ICT &

Flying Probe

Boundary

Scan / JTAG

Functional

Test

Bad Boards

Repair

& Retest Yield

Good

Boards

Unknown

Bad Boards

Pass

Pass

Pass

Static testAt-speed test

badICs

Page 13: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

Advanced state-of-the-art board test flow

13

Test Escapes

Products Shipped

Various

static test

phases

Embedded In-

strumentation

Processor-

centric test

Functional

Test

Bad Boards

Repair

& Retest Yield

Good

Boards

Unknown

Bad Boards

Pass

Pass

Pass

Static testAt-speed test

Page 14: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

Order of Magnitude Rule

14

0

20

40

60

80

100

ComponentBoard

SystemIn Field

Cost, $

Test as early as possible!

Page 15: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

Board Test Domain Comparison

• Provides measurable quality (defect coverage)

• Good for diagnosis and troubleshooting

• Provides feedback for process tuning

• Often intrusive

• Often do not cover dynamic faults

• Covers dynamic faults

• Fit-for-function proof

• Non-intrusive

• Black box testing

• Pass/fail result only

• Often unknown defect

coverage (test quality)

• No feedback possible

15

Structural Test FunctionalTest

Page 16: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

Functional Test

16

Definition:

Black-box testing

(based on functional

information only)

Test through

functional inputs

(no DFT)

analyze product

specifications

and corner

cases

(manually) create

tests based on

experience

field

returns

test

escape

analysis

costly learning

curve

Test

Automation

is crucial

Page 17: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

Structural Test

17

Definition:

Test based on

structural models:

- device/system;

- defects/faults;

- properties/features.

DFT-based test

analyze relevant

defects and

define fault

universe

generate tests for

each fault if

possible

fault

coverage

improvement

by DFT insertion

test

escape

analysis

Test

Automation

is normal

Page 18: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

Closing the Timing Fault coverage gap

18

Timing Faults

Functional Test

Structural Test

Test Escape Zone

Structural Test• ATPGs• Automated diagnosis• Known fault coverage

Functional Test• Time consuming• Manual work (expertise based)• Studying field returns• Coverage often unknown• $$$

Page 19: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

Towards a Dream Test Method

• Non-intrusive

• Should cover dynamic faults

• Should provide measurable quality

(defect coverage)

• Good for diagnosis and troubleshooting

• Should provide feedback for process

tuning

• Should provide fit-for-function proof

19

Page 20: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

Comparison of Different Board Test Techniques

20

ICTFlying Probe

Boundary Scan

Processor-Centric Test

FPGA-Centric Test

Functional Test

DUT accessFixed nails

“Flying” nails

Scan cells

μP core FPGAATE / μP /

FPGA

Test access Low Low Digital Digital Digital High

Invasiveness High High Low No No No

Structural Fault Coverage

Analog/ Digital

Analog/ Digital

Digital Digital DigitalUn-

countable

Timing Related Fault Coverage

No No No High HighUn-

countable

Test implementation

costHigh Medium Low High Low High

Test automation High High High Low High Low

Test scalability Limited Limited High Medium High Low

Qualification test No No No No No Yes

Page 21: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

21

Outline

•Board level test challenges

• Fault modeling at board level (digital)

•Test generation for interconnect faults

• IEEE 1149.1 Boundary Scan Standard

•Application of Boundary Scan

Page 22: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

Combining Test Coverage from all different test methods

22

PCOLA/

SOQ/FAM;

PPVS(F);

MPS(F)

Page 23: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

Board Test Equipment and Faults

2323

Defect

universe

Defects we don’t know

Insufficient

Excess

Cold Solder

Marginal Joints

Voids

Polarity (PCAP)

Missing part

Gross Shorts

Lifted Leads

Bent LeadsExtra Part

Bridging

Tombstone

Misaligned

Polarity

Shorts

Open

Inverted

Wrong Part

Dead Part

Bad Part

In-System Programming

Functionally Bad

Short/Open on PCB

AOI

In-Circuit

Flying Probe

X-Ray

Memory tests

Gate level diagnosis

Fault Insertion

Pin level faults

Interconnect faults

JTA

G

(unpowered)

(unpowered)Placement

SolderingMaterial

Actual

Value

Soldering

Source:

ASTER Technologies

Page 24: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

Test coverage strategies and corresponding metrics

24

Approach to fault modeling

Level of Abstraction

Examples of Defects

Test Coverage Metrics

Targeting defects in material and defects caused by assembly process

Structural

faults at physical level

Bad soldering, lifted/bent leads, bad component, misalignment, tombstone, etc.

PPVS, MPS, PCOLA/SOQ/FAM

Targeting pin-level and net-level defects

Structural and behavioral faults at logic level

Opens, shorts, bad driver (pin logic / buffer)

stuck-at for opens;

zero, one and net dominance for shorts;

stuck-driving and -not driving for pins

Functional problems caused by defects

System level malfunction (behavioral)

Booting failure, un-stable operation, wrong behavior

Functional model based test coverage metrics

Performance-related faults mainly at interconnect lines, buses, interfaces, communication links

Mainly statistical (error rates); structural appro-aches are missing but needed

High error rate (slow performance), crosstalk, jitter, delay fault

Bit error rates at communication links, but no universal industry-wide structural fault coverage metric

Page 25: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

Test Coverage Metrics

Adequate coverage metrics is needed to:

– estimate test quality

– diagnose defects (and parametric mismatch),

– get feedback for test coverage improvement

– get feedback for manufacturing processes tuning

Available de-facto standards in board/system test:

– MPS - Philips Research

– PPVS - ASTER Technologies

– PCOLA/SOQ - Agilent Technologies

– PCOLA/SOQ/FAM - iNEMI

25 Production defects and material quality perspective

Page 26: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

Defect Categories: Correlation & Ambiguity

26

MPS(F) PPVS(F) PCOLA/SOQ/FAM

Material Value Correct

Live

Placement Polarity Orientation

Alignment

Presence Presence

Solder Solder Short

Open

Quality

Function Function Feature

At-Speed

MeasurementTable from: ASTER Technologies

At-Speed

Sta

tic T

est

Dyn

am

ic

Test

Page 27: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

27

Tri-State Connections

Main difference between logic circuits and board-level systems is the way the components are connected.

Typical board-level interconnect uses tri-state logic: logic-0, logic-1, and “high impedance” (switched off) state. Common notation: 0,1,Z.

There are special “enable” signals that control this additional state of the I/O pins.

Page 28: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

28

Tri-State Connections

• Nets with several drivers

• Nets with bi-directional pins

Chip 1 Chip 2

Chip 3 Chip 4

Page 29: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

29

enable

data

Tri-State Net Example

pin

enable

data pin

data_in

pin

data_in

Page 30: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

30

Typical board-level faults from the logic misbehavior perspective

Net opens

–stuck-at fault (0 or 1)

–delay fault

Net shorts

–zero dominance

• wired AND (mutual 0-dominance)

–one dominance

• wired OR (mutual 1-dominance)

–net dominance

• strong driver fault

Driver faults

–stuck-driving fault

–stuck-not-driving fault

–stuck-at fault

Page 31: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

The Big Picture

31

Page 32: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

Timing Faults / Delay Faults

32

• Extending the “A” in PCOLA/SOQ/FAM

Type of Fault

Dynamicbehavior

Static domain equivalent

IC-level fault equivalent

Test patterns

Pin-level

Pin delay fault

Slow to riseSlow to fall

Stuck-at 1Stuck-at 0

Transition delay faults

0-1 pair on every pin1-0 pair on every pin

Connection-level

Pin-to-pindelay fault

Slow to riseSlow to fall

N/A Path-delay fault

0-1 & 1-0 pair on all driver-receiver pairson the same net

Net-level

Crosstalk errors

Glitch, Delay

Short between nets

Crosstalk MAF tests (MaximumAggressor Fault model)

Page 33: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

Short Faults

33

Possible shorts: bond wire, leg, solder, interconnect

Shorts are usually modeled as wired-AND, wired-OR faults

Page 34: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

34

Open Faults

Misplaced bond wire Misplaced component

Possible opens: bond wire, leg, solder, interconnect

Opens usually behave like stuck-at or delay faults

Page 35: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

35

Outline

•Board level test challenges

• Fault modeling at board level (digital)

•Test generation for interconnect faults

• IEEE 1149.1 Boundary Scan Standard

•Application of Boundary Scan

Page 36: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

36

Consider a simple example…

Test Vector

or

Parallel Test

Vector = PTV

Code Word

or

Serial Test

Vector = STV

010011

010110

011001

011100

010011

010110

011001

011100

… two circuits, 4 wires, plain topology

Driver Receiver

Page 37: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

37

Test generation for interconnect faults

… two circuits, 4 wires, plain topology

Opens usually behave like stuck-at or delay faultsShorts are usually modeled as wired-AND or wired-OR

Open

Assume stuck-at-0

Short

Assume wired AND

1

0

1

1

0

0

0

1

How many test vectors are enough to cover all possible shorts?

Page 38: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

38

The Counting Sequence

Open

Assume stuck-at-0

Short

Assume wired AND

00

01

10

11

00

00

00

11

Kautz showed in 1974 that a sufficient condition to detect any pair of short circuited nets was that the serial codes (STV) must be unique for all nets. The corresponded test length is log2(N)

What about

opens?

Page 39: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

39

The Modified Counting Sequence

Open

Assume stuck-at-0

Short

Assume wired AND

001

010

011

100

000

010

000

000

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

How to improve the diagnosis?

Page 40: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

40

The True/Complement Code

Open

Assume stuck-at-0

00 11

01 10

10 01

11 00

All-0 and all-1 codes are not forbidden anymore!

To improve the diagnostic resolution Wagner proposed the True/Complement Code in 1987. The test length became equal 2log2(N)

True part

Complement part

00 00

01 10

10 00

10 00

Short

Assume wired AND

Page 41: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

41

The True/Complement Code

Open

Assume stuck-at-0

Short

Assume wired AND

00 11

01 10

10 01

11 00

True part

Complement part

00 00

00 00

00 00

11 00

How to distinguish between opens and shorts?

Important properties of the True/Complement Code are: • There are equal numbers of 0-s and 1-s upon each line• Hamming distance between any two code words is at least 2• Some shorts and opens cannot be distinguished (e.g. n2/n3)

Page 42: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

42

Extended True/Complement Code

Open

Assume stuck-at-0

Short

Assume wired AND

01 00 11

01 01 10

01 10 01

01 11 00

True part

Complement part

00 00 00

01 00 00

01 00 00

01 11 00

Idea: add two bits, that are the same at every STV code wordShorts and stuck-at faults are now distinguishableThe test length is 2log2(N)+2

Code extension

Open fault symptom

Page 43: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

43

Comparison of main Test Sequences

Counting Modified True/Compl. Extended Walking 1

000001010011100101110111

001010011100101110

111 000110 001101 010100 011011 100010 101001 110000 111

01 111 00001 110 00101 101 01001 100 01101 011 10001 010 10101 001 11001 000 111

1000000001000000001000000001000000001000000001000000001000000001

Length log2(N) log2(N+2) 2 log2(N) 2 log2(N)+2 N

Example (N=10000)

14 14 28 30 10000

Hamming distance

1 1 2 2 2

Defects ShortsShortsOpens

ShortsOpens

/Delays/

ShortsOpensDelays

ShortsOpens

/Delays/

Diagnostic Properties

Bad Bad GoodVery Good

Very Good

Page 44: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

44

More complex case: branching nets

enable

data

enable

data

data_in

data_in

data

data_in

Short

Open

Driver Fault

Page 45: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

45

Additional rules for branching nets

• Every driver on the net should at least once drive low and at least once drive high

• Every receiver should at least once sense 0 and at least once sense 1

• Two or more drivers on the same net should never drive simultaneously

• One can distinguish between a driver fault and open net by sensing back on a bi-directional pin

Page 46: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

46

Memory Interconnect Test Principle

Address 10bit Data 32 bit

walking 1 counting sequence (true/complement)

0000000000

1000000000

0100000000

0010000000

0001000000

0000100000

0000010000

0000001000

0000000100

0000000010

0000000001

….…write here something unique…….

01010101010101010101010101010101

00110011001100110011001100110011

00001111000011110000111100001111

00000000111111110000000011111111

00000000000000001111111111111111

10101010101010101010101010101010

11001100110011001100110011001100

11110000111100001111000011110000

11111111000000001111111100000000

11111111111111110000000000000000

Page 47: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

47

Memory Test: detection of shorts

• 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 from address 0.

• Fault diagnosis: after each write operation, read from address 0.

… assuming Wired-AND model

Page 48: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

48

Memory Test: detection of opens

• 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 from address 0.

• Fault diagnosis: after each write operation, read from address 0.

• The same procedures can be repeated for stuck-at 1 opens and Wired-OR shorts using complementary test data (walking-0 code).

… assuming stuck-at 0 model

Page 49: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

49

Outline

•Board level test challenges

• Fault modeling at board level (digital)

•Test generation for interconnect faults

• IEEE 1149.1 Boundary Scan Standard

•Application of Boundary Scan

Page 50: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

50

IEEE 1149.1 Boundary Scan: History

• Early 1980’s – problem of test access to PCBs via “bed-of-nails” fixture

• Mid 1980’s – Joint European Test Action Group (JETAG)

• 1986 – US companies involved: JETAG -> JTAG

• 1990 – JTAG Test Port became a standard [4]:

IEEE Std. 1149.1: Test Access Port and Boundary Scan Architecture comprising serial data channel with a 4/5-pin interface and protocol

Page 51: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

51

Test Access Via Boundary Scan

TDO

TDI

Page 52: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

52

Test Access Via Boundary Scan

Page 53: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

53

Test Access Via Boundary Scan

Defects covered:

driver scan cell, driver amp, bond wire, leg, solder, interconnect, solder, leg, bond wire, driver amp, sensor scan cell

Driver Sensor

Virtual nails

Page 54: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

54

Test Access Via Boundary Scan

Printed Circuit Board

TAP

portCPLD

μPDDRAM

I/O

I/O

Ethernet Controller

Flash

DATA

ADDR

CONTROL

DATA

CTRL

ADDR

A D C

FPGA

Non-BS IC

SRAM

JTAG

Page 55: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

55

Boundary Scan basics

Non-BScan Device

Core

Logic

Pin

BScan Device

Core

Logic

TAP

controller

Pin

BScan Cell

TDO

TMS

TDITCK

... some extra

logic is needed

for Test Access

For describing Boundary Scan devices

BSDL (Boundary Scan Description

Language) models are used

Page 56: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

56

IEEE 1149.1 Device Architecture

Core

Logic

MUX MUXTDI

(Test Data In)

TDOBypass

Identification

Register

Instruction

Register

TAP

Controller

(Test Data Out)

Test Reset

(Optional)

(Test Mode Select)

TMS

TCK

(Test Clock)

BS Cells

Page 57: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

57

Typical Boundary Scan Cell (BC_1)

BC_1 is used both at input and output pins

0

1D Q

Clk

D Q

Clk

0

1

Data In

(PI)

Scan Out

(SO)Mode

Data Out

(PO)

Capture

Scan Cell

Update

Hold Cell

Scan In

(SI)

ShiftDR ClockDR UpdateDR

Page 58: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

58

Boundary Scan Instructions

Instruction

SAMPLE /PRELOAD

EXTEST

BYPASS

IDCODE

INTEST

CLAMP

HIGHZ

RUNBIST

USERCODE

Status

Mandatory

Mandatory

Mandatory

Optional

Optional

Optional

Optional

Optional

Optional

Page 59: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

59

Boundary Scan Working Modes

SAMPLE/PRELOAD instruction – sample mode

0

1D Q

Clk Clk

SO ModeShiftDR

ClockDR UpdateDRSI

0

1

D Q0

1D Q

Clk Clk

SO ModeShiftDR

ClockDR UpdateDRSI

0

1

D Q

Core

Logic

Core

Logic

TDOTDI

Get snapshot of normal chip output signals

Page 60: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

60

Boundary Scan Working Modes

SAMPLE/PRELOAD instruction – preload mode

0

1D Q

Clk Clk

SO ModeShiftDR

ClockDR UpdateDRSI

0

1

D Q0

1D Q

Clk Clk

SO ModeShiftDR

ClockDR UpdateDRSI

0

1

D Q

Core

Logic

Core

Logic

TDOTDI

Shift out snapshot data and shift in new test data to be used later

Page 61: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

61

Boundary Scan Working Modes

EXTEST instruction – driving and sensing:

0

1D Q

Clk Clk

SO ModeShiftDR

ClockDR UpdateDRSI

0

1

D Q

Core

Logic0

1D Q

Clk Clk

SO ModeShiftDR

ClockDR UpdateDRSI

0

1

D Q

Core

Logic

TDOTDI

Test off-chip circuits and board-level interconnections

Page 62: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

62

Boundary Scan Working Modes

EXTEST instruction – shifting

0

1D Q

Clk Clk

SO ModeShiftDR

ClockDR UpdateDRSI

0

1

D Q0

1D Q

Clk Clk

SO ModeShiftDR

ClockDR UpdateDRSI

0

1

D Q

Core

Logic

Core

Logic

TDOTDI

Shift out snapshot data and shift in new test data to be used later

Page 63: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

63

Typical BS Interconnect Test Flow

BS modeTest bus actions Test data manipulations Test

PRELOADIRshift +

DRshift

Loading the first test vector to BS register (vector

includes control/disable values for other devices

on the bus)Vector 1 loaded

EXTESTIRshift +

DRshift

1. Applying vector 1 to the DUT

2. Capturing test responses from DUT in BS reg.

3. Reading back test responses and loading new test

vector to BS register

Vector 1 applied

and analyzed

EXTEST DRshift

1. Applying vector 2 to the DUT

2. Capturing test responses from DUT in BS reg.

3. Reading back test responses & and loading new test

vector to BS register

Vector 2 applied

and analyzed

EXTEST DRshift1. Applying vector N to the DUT

2. Capturing test responses from DUT in BS reg.

3. Reading back test responses

Vector N applied

and analyzed

Time

N test vectors: (N+1) DRshifts + 2 IRshifts ≈ (N+1) DRshifts

Page 64: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

64

Boundary Scan Working Modes

BYPASS instruction:

To TDOTDI

Shift DR

Clock DR

D Q

Clk

Bypasses the corresponding chip using 1-bit register

Core

Logic

TDO

Core

Logic

TDI

Core

Logic

BYPASS BYPASSSAMPLE

Similar instructions: CLAMP, HIGHZ

Page 65: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

65

Boundary Scan Working Modes

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

TDOTDIVersion Part Number Manufacturer ID 1

4-bits

Any format16-bits

Any format

11-bits

Coded form of JEDEC

Page 66: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

66

Core

Logic

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

TDO

Core

Logic

TDI

Core

Logic

BYPASS BYPASSIDCODE

0 ….…..…1 0

Page 67: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

67

TAP Controller State Diagram

IR BranchDR Branch The TAP state diagram

has two main branches

and two idle states.

Shift IR and Shift DR

states are used to insert

instructions and test

data into the BS device.

These are the most

important states.

The number of states is

exactly 16 (to avoid

some undefined states)

TMS signal is used to

move through the states

Page 68: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

68

Boundary Scan in Motion (Demo)

http://www.goJTAG.com

Page 69: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

69

Outline

•Board level test challenges

• Fault modeling at board level (digital)

•Test generation for interconnect faults

• IEEE 1149.1 Boundary Scan Standard

•Application of Boundary Scan

Page 70: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

70

BScan Implementation Rules

• One or more BSC at each system input or output of on-chip system logic (core logic)

• BSC may be connected to chip-internal signals

• No BSC on:

– TAP pins (TCK, TMS, TDI, TDO, TRST)

– Compliance Enable Pins

– Non-digital pins (e.g. analog pins, power pins)

• No logic between BSC and I/O pin it is connected to (a buffer is allowed)

Page 71: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

71

BScan Implementation Examples

Core

Logic

(digital)

TAP

controller

BScan Cell

TDO

TMS

TDITCK

+

VCC

GND

Analog

Page 72: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

72

Boundary Scan Test Automation

Board (UUT)

TDI

TMS

TCKTAP TAP TAP

Interconnect

Logic

Interconnect

Logic

TDO

JTA

G

co

nn

ecto

r

Automatically generated:

• Infrastructure test (generated by using BSDL models)

• Interconnect test (BSDL models + interconnection netlist)

Page 73: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

73

Extended testability via Boundary Scan

Printed Circuit Board

TAP

port CPLD

μPDDRAM

I/O

I/O

Ethernet Controller

Flash

DATA

ADDR

CONTROL

DATA

CTRL

ADDR

A D C

FPGA

Non-BS IC

SRAM

JTAG

BS devices:

• Microprocessor

• FPGA/PLD

Non-BS devices

• RAM

• Flash

• Clock generator

• Cluster logic

• Buffers/MUXes

• Pull-up/Pull-down

resistors

• Jumpers

• D/A converter

• External connectors

(analog and digital)

Page 74: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

74

Board-level Test using Boundary Scan

Typical test types and their order of application:

• Infrastructure test

• Interconnect test– One needs to specify behavioral models for non-BS

components to get acceptable test coverage (no standard description format exists)

• Memory test

• External connectors test

• Clock oscillator test

• Cluster logic test (semi-automated)

• LED or display test (can be assisted by camera/sensor)

• FLASH test/program/read ID – in-system programming

Page 75: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

75

Interconnect Test through Clusters

BScan

IC 1

BScan

IC 2Buffer

OE 1

IN 2 3 OUT

BScan

IC 1

BScan

IC 2Buffer

BScan

IC 3

DIR 1

INOUT 2 3 INOUT

Unidirectional buffer

Bidirectional buffer

Page 76: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

76

Cluster Logic Test (Manual)

Cluster’s truth table is needed

BScan

IC 1

BScan

IC 2

&1

Truth table

000 0

001 1

010 1

111 1

Page 77: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

77

RAM / Flash Test

BScan

IC 1

BScan

IC 2

RAM 2 FlashRAM 1

Chip select lines

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

Page 78: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

78

Testing External Connectors

Board

JTAG

BScan

ICMatching Board or

I/O module

Boundary Scan

Controller

Only interconnect test will be performed!

The real protocol of external connector is not tested

Page 79: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

79

Boundary Scan Test Development Typical Workflow

CAD Netlist

Constraints

ImporterParsed

NetlistClassifier

Parser

BSDL Models

Scan-path

configuration

Netlist with

drive/sense

constraints Interconnect

ATPG

Test

Coverage

Report

Compiled

Test

Program

RAM Test, Flash

Test/Program

Generator

Compiled

Test Data

Functional

models for

RAM/Flash

Models for non-BS

components (buffers,

ram, flash, etc)

Constraints

Page 80: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

80

IEEE 1149.1 Summary

Boundary Scan Standard has become absolutely essential:

− No longer possible to test printed circuit boards with bed-of-nails tester

− Not possible to test multi-chip modules at all without it

− Supports BIST, external testing with Automatic Test Equipment, and boundary scan chain reconfiguration as BIST pattern generator and response compacter

− Has got a widespread usage

Page 81: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

Importance of Boundary-Scan to Production Goals

81Source: iNEMI Boundary Scan Adoption Report published at ITC 2009 conf.

Page 82: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

Boundary-Scan Cost Impact

82Source: iNEMI Boundary Scan Adoption Report published at ITC 2009 conf.

Page 83: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

83

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

1687 – IJTAG – Internal JTAG (component testing, BIST)

1500 – Embedded Core Test (SoC testing)

1532 – In-System Configuration of Programmable Devices

1581 – Static Component Interconnection Test Protocol and Architecture (memory-to-BS_chip links testing)

1838 – TSV interconnect test in 3D chips (also at-speed)

5001 – NEXUS – Global Embedded Processor Debug Interface (SW development, debug, and emulation)

Page 84: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

84

New Standards and Their Purposes

• IEEE 1149.7 – improved flexibility of the JTAG bus by relaxing topology requirements and by addressing resources; potential data throughput improvements

• IEEE 1149.8.1 – improved observability for measurement (from the JTAG standpoint) by implementing a capacitive sensing technology

• IEEE 1149.1-2013 – solves signaling issues on the buses by driver initialization procedures

• IEEE 1687 – introduces the concept of embeddedinstrumentation for test application, measurement and diagnosis tasks

• Processor emulation standards (e.g. NEXUS) and solutions – converts a MPU into a test instrument

Page 85: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

IEEE Scan-Based Board-Level Test Access

85

Main Target Application

Main Purpose Essential Technology Target Fault Classes

IEEE 1149.1 – Boundary Scan

Manufacturing test of PCBA

Test access (TA) improvement

On-chip scan registers Pin-level faults; net integrity

IEEE 1149.4 – Mixed-Signal Test Bus

Measurement: analog values

TA improvement On-chip switches Parametric values

IEEE 1149.6 – BST of Advanced Digital Networks

Testing LVDS high-speed nets

Test trough AC-coupled nets

On-chip pulse generators

Net integrity:AC and DC

IEEE 1149.7 – Reduced-pin and Enhanced TAPBoard test; SW debug

Flexible 2-pin high-speed TA

SERDES, addressing Same as all above

IEEE 1149.8.1 – Pin Toggle and Contactless Sensing

Interconnect test of PCBA

Links to passive components

Capacitive sense plate Net opens: AC and DC

IEEE P1149.10 – High Speed Test Access Port (TAP)All of the above

High-speed test data exchange

Reuse of high speed I/O pins

Same as all above

IEEE 1687 – Embedded Instrumentation Access

IC test, debug, diagnosis

Instrument access standard

Reconfigurable scan chains

Instrument-specific

Page 86: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

86

New and Emerging Standards Combined

Instruments

IEEE P1687

IEEE 1149.7

IEEE 1149.1

IEEE P1149.1-2013

Board or chip

Page 87: Basics of board-level testing and IEEE1149.x Boundary … · Structural Fault Coverage Analog/ Digital ... Gate level diagnosis Fault Insertion ... Main difference between logic circuits

87

What to try further

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.html)

Literature:– Kenneth P. Parker, The Boundary-Scan Handbook– Wikipedia: http://en.wikipedia.org/wiki/Boundary_scan– B. Bennetts, et al. “Boundary scan: the Internet of test” in IEEE

Design & Test of Computers, vol 16 no.3, 2009, pp.34-43.

Leading BScan companies:– Goepel Electronic (http://www.goepel.com/)– ASSET Intertech (http://www.asset-intertech.com/)– JTAG Technologies (http://www.jtag.com/)