Post on 30-Dec-2015
description
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.
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