Boundary Scan Conventionele testmethoden PCBIC Boundary Scan architectuur
Boundary Scan • Conventionele testmethoden PCB/IC. • Boundary Scan architectuur • Test methoden • TAP controller • Built In Self Test HAN-University
Conventionele testmethoden PCB/IC Bed-of-nails: Een bed van testpinnen waarop de gehele PCB gedrukt wordt. Waarom kan dit niet meer? Miniaturisering van componenten en spoorafstanden (0, 63 mm). testpin minimaal= 0. 8 mm (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. Wat betekent Boundary Scan voor IC test technologie? Ø Mogelijkheid om IC intern testbaar te maken. Ø Terugdringen testtijd van een IC. HAN-University 2
Boundary Scan architectuur Wat 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 HAN-University 3
Het gebruik van Boundary Scan Er 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. HAN-University 4
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 HAN-University 5
Boundary Scan Cell (BSC): a virtual naile Opbouw 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 HAN-University 6
Defect coverage met een Bed of Nails Verleden reden om te Testen op: 1. Aanwezigheid 2. Orientatie 3. Verbinding Nu ook met Boundary Scan: 4. Functionaliteit door structural testen HAN-University 7
Interconnect test: EXTEST Het zoeken naar kortsluitingen, open verbindingen en defecten. In deze mode noemen we de Boundary Scan Cell een Virtual Nail. HAN-University 8
Internal test mode: Beperkt de interne functionaliteit testen en structural testen. HAN-University 9
JTAG chip architectuur Voorstel 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. HAN-University 10
OPDRACHT: TAP controller Drie 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 Test logic reset TMS HAN-University 11
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 reset EXTEST(std): External Testing INTEST: Internal Testing RUNBIST: alleen in run/test idle state CLAMP: Vastzetten output cell op een bepaalde waarde IDCODE: Identification van een component USERCODE: Voor programming HIGHZ: Hoge impedantie aan de uitgang HAN-University 12
Internal scan: Intern testbaar maken van een IC. Algemene opbouw van een digitale schakeling: Hoe test je Stuck At 1/0 hierin? R E G I S T E R BSC BSC Combinatorische logica BSC R E G I S T E R HAN-University Combinatorische logica BSC R E G I S T E R BSC Combinatorische logica BSC 13
Scanable Flip. Flop Elke Flip. Flop wordt uitgebreid met: 1. Multiplexer om tussen de functionele klok en de test klok te schakelen 2. 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 MUX FF_1 HAN-University Combinatorische logica MUX FF_2 14
Scan pad technieken Concept: 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 Ontwerp IBM: LSSD latch Scan-flipflops zijn complexer en trager dan gewone flipflops. Dit komt door extra multiplexer aan input Maakt flipflop voor scanpad even snel als gewone flipflop Ongeldige toestanden tijdens schuiven! Aparte klokken voor testmode HAN-University Minimaal uitgebreide M/S-flipflop. 15
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 HAN-University 16
Built-In Self-Test (BIST) Waarom BIST? Voornamelijk economisch en betrouwbaarheid om de IC input volgende redenen: pinnen • Vereenvoudiging benodigde testapparatuur • Field testing, zelfs jaren na productie BIST principe: BIST control pin Test vectoren: ROM, Counter Pseudo Random Generator (LFSR) Multiplexer Functionaliteit Logic Core IC met BIST Multiplexer IC output pinnen BIST ok pin HAN-University Check Responses: ROM Single/Multiple Input Signature Register (S/MISR) 17
LSFR/Pseudo Random Generator De opbouw: Een schuifregister van D-Flip. Flops waarin 1 of meerdere EXORfuncties van huidige schuifregister bits de volgende toestand bepalen van de schuifingang: Naar inputs van design n-bit schuifregister E X O R Eigenschappen: § § Weinig hardware nodig Kan alle toestanden genereren behalve “ 0000. . 0” § Kan ook defecten bevatten! HAN-University 18
OPDRACHT: Welke toestanden reeks genereert onderstaande LFSR als de initiële waarde “ 101” is? EXOR D D D Q Q > > A B C Clockoutput A B C init 1 0 1 1 2 3 4 5 6 7 HAN-University 19
OPDRACHT: Welke toestanden reeks genereert onderstaande LFSR als de initiële waarde “ 101” is? EXOR D D D Q Q > > A B C Clockoutput A B C init 1 0 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 HAN-University 20
S/MISR: Single/Multiple Input Signature Register Response checking: Een schuifregister van D-Flip. Flops 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. SISR: Input Signature lengte = 8 E X O R Input = 1 n= 8 bit schuifregister E X O R MISR: Signature lengte = 3 Eigenschappen: Input = 3 Input 2 Input 3 Input 1 n-bit E D X O F R schuifregister F E X O R HAN-University D F F E X O R D F F 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! 21
OPDRACHT: BIST met LFSR en MISR 1) Geef de waarden voor een foutvrije circuit en MISR: LFSR output: ABC Circuit Output: XYZ 111 001 MISR Output: Q 0 Q 1 Q 2 111 100 010 101 110 111 2) STEL: een SA 0 op lijn A, geef dan de waarde van het circuit en de MISR: LFSR output: ABC 011 001 Circuit Output: XYZ 011 000 MISR Output: Q 0 Q 1 Q 2 111 3) Als SA 1 op lijn A optreedt blijkt de handtekening ‘ 000’ te zijn: Wat betekent dit? 010 001 010 011 HAN-University 22
OPDRACHT: BIST met LFSR en MISR 1) Geef de waarden voor een foutvrije circuit en MISR: LFSR output: ABC 111 001 Circuit Output: XYZ 111 011 101 MISR Output: Q 0 Q 1 Q 2 111 100 001 010 101 000 101 010 101 110 010 100 111 000 2) STEL: een SA 0 op lijn A, geef dan de waarde van het circuit en de MISR: LFSR output: ABC 011 001 Circuit Output: XYZ 011 101 MISR Output: Q 0 Q 1 Q 2 111 000 000 1 010 101 001 101 010 101 011 HAN-University 3) Als SA 1 op lijn A optreedt blijkt de handtekening ‘ 000’ te zijn: Wat betekent dit? 4) ALIASING: 1/ 2 exp(n) 23
Built-In Logic Block Observation (BILBO) Een architectuur die drie operationele modes van een circuit combineert. Normal mode: FF’s zijn functioneel Internal scan mode: LFSR/MISR mode: HAN-University 24
BILBO Architecture: -01 00 1 1 010 0 • • • B 1 B 2 B 3 Mode 1 1 - Normal 0 1 - Reset 1 0 1 Test pattern generation LFSR 1 0 0 Signature analysis MISR 0 0 - Scan 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. HAN-University 25
- Slides: 25