Download ppt - Boundary Scan

Transcript

HAN-University

Boundary Scan • Conventionele testmethoden PCB/IC.

• Boundary Scan architectuur

• Test methoden

• TAP controller

• Built In Self Test

2HAN-University

Conventionele testmethoden PCB/IC

Waarom kan dit niet meer?

• Miniaturisering van componenten en spoorafstanden (0,63mm). testpin minimaal= 0.8mm (mechanical test access)

• Het gebruik van ASICs betekent uitgebreide testsets voor elk IC met zeer complexe functionaliteit

• Externe testpinnen beïnvloeden het meetresultaat van High Speed circuits.

Bed-of-nails: Een bed van testpinnen waarop de gehele PCB gedrukt wordt.

Wat betekent Boundary Scan voor IC test technologie? Mogelijkheid om IC intern testbaar te maken. Terugdringen testtijd van een IC.

3HAN-University

Boundary Scan architectuurWat is boundary Scan?

Elke in/uitgang van het IC wordt voorzien van een multifuntioneel geheugenelement genaamd: Boundary Scan Cell.

Er zijn 4 configuraties van een cell: Capture, Update, Seriele Scan, Transparant.

Er zijn minimaal 4 ingangen: TDI, TDO, TCK en TMS

4HAN-University

Het gebruik van Boundary ScanEr verandert niets aan de interne functionaliteit het IC/PCB. De toegevoegde

testfunctionaliteit heeft geen invloed.

TDI en TDO zij respectievelijk de ingang en uitgang van het globale scanpad van deze PCB gezien vanaf de connector.

TCK en TMS zijn direct verbonden met elk IC.

5HAN-University

Wat ziet de gebruiker?Een aaneenschakeling van IC’s (device’s) registers te bereiken via de board connector.

Output pinnen van IC’s zijn drivers (of soms transmitters genoemd) en input pinnen sensors (receivers).

Nu kunnen testvectoren (stimuli) worden aangebracht en uitgelezen om “interconnects” te analyseren op bv Stuck-At fouten

6HAN-University

Boundary Scan Cell (BSC): a virtual naileOpbouw BSC met 4 modes (volgens de functionele specificatie):

• Normal: Data_In = Data_Out. Het IC werkt functioneel.

• Update: Data van Updata_Hold_Cell wordt vernieuwd en op Data_Out gezet

• Capture: Data_In wordt in Capture_Scan_Cell geladen

• Serial Shift: Scan_Out van een Capture_Scan_Cell wordt doorgegeven naar Scan_in van de volgende Capture_Scan Cell

Capture en Serial Shift verstoren het normale functionaliteit proces niet

7HAN-University

Defect coverage met een Bed of NailsVerleden reden om te Testen op:1. Aanwezigheid2. Orientatie3. VerbindingNu ook met Boundary Scan: 4. Functionaliteit door structural testen

8HAN-University

Interconnect test: EXTESTHet zoeken naar kortsluitingen, open verbindingen en defecten.

In deze mode noemen we de Boundary Scan Cell een Virtual Nail.

9HAN-University

Internal test mode:Beperkt de interne functionaliteit testen en structural testen.

10HAN-University

JTAG chip architectuurVoorstel van JTAG (Joint Test Access Group):

4 test pinnen + 1 optionele resetpin.

BSC op elke input/output pin die serieel geschakelt de boundary scan vormen.

State machine (TAP controller) die bestuurt wordt door TMS, TCK en eventueel TRST.

Een n >= 2 bits instructie register.

1 bit bypass register.

Optioneel 32 bit ID register

Op 1 moment kan slecht 1 register tussen TDI en TDO geplaatst worden.

Een register wordt geselecteerd door parallel de outputs van het instructie register te decoderen.

Sommige instructies zijn verplicht: EXTEST, IDcode, INTEST.

11HAN-University

OPDRACHT: TAP controllerDrie IC’s staan in d.m.v. TDI en TDO in een scan chain

geschakeld. Voor een bepaalde interconnection test willen we deze IC’s zo instellen dat de eerste en de laatste in EXTEST staan en het tweede IC in Bypass geschakeld wordt. Daartoe moet voor elk IC de juiste binaire waarde in het instructieregister van de TAP controller geklokt worden.

Geeft het in een timing diagram de signalen TMS en de TAP controller toestanden om de instructies serieel te laden en vervolgens actief te maken. Begin en eindig in de “Test logic reset” toestand. Neem aan dat toestanden veranderen op de neergaande flank van TCK.

Het instructieregister van een IC is 3 bits breed en de binaire code voor EXTEST is “000” en voor BYPASS “111”.

TCK

TAPstate

TMS

Test logic reset

Test logic reset

12HAN-University

Instructies TAP controller (sequencer)

BYPASS (std): Selectie TDI direct op TDO. De bin code voor de instructie is all 1’s

SAMPLE/PRELOAD (std): Is een snapshot functie tijdens normale operatie

PRELOAD(std): Setten van BS registers na resetEXTEST(std): External TestingINTEST: Internal TestingRUNBIST: alleen in run/test idle stateCLAMP: Vastzetten output cell op een bepaalde

waardeIDCODE: Identification van een componentUSERCODE: Voor programmingHIGHZ: Hoge impedantie aan de uitgang

13HAN-University

Internal scan: Intern testbaar maken van een IC.Algemene opbouw van een digitale schakeling: Hoe test je Stuck At 1/0 hierin?

BSC

BSC

BSC

BSC

BSC

BSC

BSC

BSC

BSC

BSC

BSC

BSC

BSC

BSC

BSC

BSC

Combinatori-

sche logica

REGISTER

REGISTER

REGISTER

REGISTER

REGISTER

Combinatori-

sche logica

Combinatori-

sche logica

Combinatori-

sche logica

Combinatori-

sche logica

Combinatori-

sche logica

14HAN-University

Scanable FlipFlopElke FlipFlop wordt uitgebreid met:1. Multiplexer om tussen de functionele klok en de test klok te schakelen2. Multiplexer om tussen de functionele mode en test mode te schakelen.

• In Testmode staan de Flipflops waaruit het circuit is opgebouwd in serie geschakeld (scan chain) zodat ze een schuifregister vormen

• Per IC zijn er 1 tot enkele 10-tallen scan chains.• Elke scan chain begint en eindigt met een boundary scan cell

Combinatori-

sche logica

FF_2MUX

MUXFF_1MUX

MUX

15HAN-University

Scan pad techniekenConcept: Maakt sequentiële circuits beter testbaar door interne toestanden

(van bv FFs) controleerbaar en observeerbaar te maken.

Uitvoering: gebruik scan FFs die een lang schuifregister vormen

• In Normal mode zijn de FFs gescheiden

• In Testmode vormen ze een lange keten

Scan-flipflops zijn complexer en trager dan gewone flipflops. Dit komt door extra multiplexer aan input

Ongeldige toestanden tijdens schuiven!

Ontwerp IBM: LSSD latch

Maakt flipflop voor scanpad even snel als gewone flipflop

Minimaal uitgebreide M/S-flipflop.

Aparte klokken voor testmode

16HAN-University

Testbaar ontwerpen:De volgende design ontwerpstijlen zijn ongewenst als je de testbaarheid wilt

vergroten: Redundante logica → niet detecteerbare fouten Asynchrone sequentiële schakelingen → is niet controleerbaar mbv klok Mono stabiele schakelingen → moeilijk te besturen

Als je deze 3 ontwerpstijlen niet gebruikt en dus synchrone sequentiële circuits ontwerpt, kun je de testbaarheid vergroten door het toevoegen van specifieke hardware zoals:

Boundary scan. Internal scan. Built-in self test

17HAN-University

Built-In Self-Test (BIST)Waarom BIST? Voornamelijk

economisch en betrouwbaarheid om de volgende redenen:

• Vereenvoudiging benodigde testapparatuur

• Field testing, zelfs jaren na productie

BIST principe:

Test vectoren:

ROM, Counter

Pseudo Random Generator (LFSR)

FunctionaliteitLogic Core

Check Responses: ROM

Single/Multiple Input Signature Register (S/MISR)

Multiplexer

Multiplexer

IC output pinnen

IC input pinnen

BIST control pin

IC met

BIST

BIST ok

pin

18HAN-University

LSFR/Pseudo Random Generator

De opbouw: Een schuifregister van D-FlipFlops waarin 1 of meerdere EXOR-functies van huidige schuifregister bits de volgende toestand bepalen van de schuifingang:

EXOR

n-bit schuifregister

Naar inputs van design

Eigenschappen:

Weinig hardware nodig Kan alle toestanden genereren behalve “0000..0”

Kan ook defecten bevatten!

19HAN-University

OPDRACHT: Welke toestanden reeks genereert onderstaande LFSR als de initiële waarde “101” is?

D

Q

>

EXOR

D

Q

>

D

Q

>

A B C

Clock\output A B C

init 1 0 1

1

2

3

4

5

6

7

20HAN-University

OPDRACHT: Welke toestanden reeks genereert onderstaande LFSR als de initiële waarde “101” is?

D

Q

>

EXOR

D

Q

>

D

Q

>

A B C

Clock\output A B C

init 1 0 1

1 1 1 0

2 1 1 1

3 0 1 1

4 0 0 1

5 1 0 0

6 0 1 0

7 1 0 1

21HAN-University

S/MISR: Single/Multiple Input Signature Register

Response checking: Een schuifregister van D-FlipFlops waarin 1 of meerdere EXOR-functies van huidige schuifregister bits en de uitgang van het ‘Design Under Test’ de volgende toestand bepalen van de schuifingang.

EXOR

n= 8 bit schuifregister

EXOR

Input SISR:

Signature lengte = 8

Input = 1

EXOR

n-bit schuifregister

EXOR

Input 1

D-FFEXOR

D-FFEXOR

D-FF

Input 2 Input 3

MISR:

Signature lengte = 3

Input = 3Eigenschappen:

1. Na vast aantal ronden met dezelfde inputwaarden, zal een uniek patroon, de handtekening, in het register staan

2. Tussenstanden van het register zijn niet belangrijk; de laatste stand is de handtekening.

3. Bij SISR is dit in feite de rest van een modulo-2 deling

4. Aliasing: als een circuit met een fout dezelfde hand-tekening genereert als het foutvrije circuit: de kans hierop is 2-n, mits de n toestanden doorlopen worden

5. S/MISR Circuit zelf kan ook defecten bevatten!

22HAN-University

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

LFSR

MISR

DUT

A B C

X Y Z

SA0

OPDRACHT: BIST met LFSR en MISR1) Geef de waarden voor een foutvrije

circuit en MISR:

LFSR output:ABC

Circuit Output:

XYZ

MISR Output:Q0 Q1 Q2

111 111

011

001

100

010

101

110

111

LFSR output:ABC

Circuit Output:

XYZ

MISR Output:Q0 Q1 Q2

011 011 111

011

001

000

010

001

010

011

2) STEL: een SA0 op lijn A, geef dan de waarde van het circuit en de MISR:

3) Als SA1 op lijn A optreedt blijkt de handtekening ‘000’ te zijn: Wat betekent dit?

23HAN-University

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

LFSR

MISR

DUT

A B C

X Y Z

SA0

OPDRACHT: BIST met LFSR en MISR1) Geef de waarden voor een foutvrije

circuit en MISR:

LFSR output:ABC

Circuit Output:

XYZ

MISR Output:Q0 Q1 Q2

111 111 111

011 011 100

001 101 001

100 100 001

010 101 000

101 010 101

110 010 100

111 111 000

LFSR output:ABC

Circuit Output:

XYZ

MISR Output:Q0 Q1 Q2

011 011 111

011 011 000

001 101 011

000 000 1

010 101

001 101

010 101

011 011

2) STEL: een SA0 op lijn A, geef dan de waarde van het circuit en de MISR:

3) Als SA1 op lijn A optreedt blijkt de handtekening ‘000’ te zijn: Wat betekent dit?

ALIASING: 1/ 2exp(n)

24HAN-University

Built-In Logic Block Observation (BILBO) Een architectuur die drie operationele modes van een circuit combineert.

Normal mode: FF’s zijn functioneel

Q

QSET

CLR

S

R

in0

uit0

Q

QSET

CLR

S

R

in1

uit1

Q

QSET

CLR

S

R

in2

uit2

Internal scan mode:

Q

QSET

CLR

S

R

SDI

Q

QSET

CLR

S

R Q

QSET

CLR

S

R

SDO

Q

QSET

CLR

S

R Q

QSET

CLR

S

R Q

QSET

CLR

S

R

in0 in1 in2

uit0 uit1 uit2LFSR/MISR mode:

25HAN-University

1

0

1

-

1

1

-

1

0

Q

QSET

CLR

S

R Q

QSET

CLR

S

R Q

QSET

CLR

S

R

in0 in1 in2

uit0 uit1 uit2

SDO01

SDI

B3

B2

B1

-

0

0

0

0

1

BILBO Architecture:

• BILBO’s worden gegroepeerd als registers en kunnen zowel in LFSR als MISR gezet worden.

• Door circuit te partitioneren in BILBO’s en combinatorische logica ontstaan testbare structuren.

• Hoe weet je dat BILBO’s correct werken?

• BILBO Controller die “betrouwbaar” is uitgevoerd.

• Kosten: meer hardware, 4 gates/FF + controller + wire.

• Betrouwbaarheid van het systeem wordt lager door meer hardware te gebruiken.

• Performance neemt af door extra gates tussen FF.

• Ontwikkeltijd is langer maar ook verkort door geen testpattern generation meer uit te voeren.

• Elke keer circuit wordt aangeschakeld wordt er getest, anders alleen bij manufacturing.

B1 B2 B3 Mode

1 1 - Normal

0 1 - Reset

1 0 1 Test pattern generation LFSR

1 0 0 Signature analysis MISR

0 0 - Scan

0


Recommended