Zet elk register om in een scan-pad register (twee opeenvolgende D-latches: master-slave): D is de normale data ingang C is de normale fase 1 klok I is de data ingang van het shift-regiester A is de klok van het shiftregister (scan mode) B is de normale fase 2 klok C en A mogen nooit tezamen actief zijn. Scan-pad technieken Scan-pad technieken: werking Elk register wordt vervangen door een scan register. Onder normale werking gebruiken we de klokken c1 en c2. Onder de scan werking gebruiken we de scan klok en c2 tot het testpatroon ingelezen is de normale klok c1 en c2 eenmalig om het resultaat te berekenen de scan klok en c2 tot we het resultaat aan de uitgang bekomen. Dit herhalen we voor elk testpatroon VLSI 1
Alternatief scan register Het hierboven aangegeven register is veel groter dan de hedendaagse registers aan de hand van doorgeefpoorten. Een veel kleinere schakeling kan bekomen worden door een multiplexer te plaatsen voor de D ingang van het geheugen element. Test Enable is het stuursignaal (TE) D is de normale data ingang TI is de Test Ingang» komt van het vorige register D TI TE Partial scan techniek Sommige ontwerpen gebruiken heel veel registers in een pipeline, om aan hoge snelheid data te kunnen verwerken (bv: signaalprocessoren, ) Het is niet nuttig om al deze registers scanbaar te maken. We maken de registers aan het begin en einde van een blok scanbaar We maken ook registers in lussen scanbaar. We verwijderen de tussenliggende registers voor het opstellen van de testpatronen. VLSI 2
Parallelle scan technieken Het seriële scanpad kan enorm lang worden, en dus ook zeer traag. We kunnen ook testpatronen in parallel gaan opleggen en uitlezen. Horizontale data lijnen voor het aanleggen en het uitlezen van de testpatronen verticale lijnen voor de registers aan te sturen. Built-in self test (BIST) De snelheid waarmee een tester patronen kan opleggen is altijd veel trager dan de interne werkingssnelheid van een IC het is veel handiger de IC zichzelf te laten testen Bestaat uit: een pseudo random sequence generator (PRSG)» een shift register waarbij een aantal bits door een XOR teruggekoppeld worden naar de ingang.» De keuze van de XOR-ingangen bepaalt welke sequentie doorlopen wordt» gaat mogelijk tot 2 n -1 signature analyse» xor tussen : resultaat van de test en reeds aanwezige testwaarde in het test register» deze waarde schuift eventueel cyclisch door Beiden kunnen gecombineerd worden in een BILBO register VLSI 3
BILBO register Memory self-test RAM een vast patroon wordt geschreven in alle cellen en daarna terug uitgelezen. Vervolgens wordt het inverse van dat patroon geschreven en uitgelezen. Hierna wordt de schrijfsequentie omgedraaid. Dit wordt herhaald voor een paar patronen. ROM Signatuuranalyse wordt aan de uitgang geplaatst en alle woorden worden overlopen. Het bekomen syndroom wordt vergeleken met de vereiste waarde. VLSI 4
Boundary scan architectuur 4 of 5 bijkomende signalen Test Data In (TDI) Test Data Out (TDO) Test Clock input (TCK) Test Mode Select (TMS) Optioneel: Test Reset (TRST) Laat toe zowel de ICs intern als de verbindingen te testen Het is belangrijk dat elk IC hetzelfde protocol gebruikt IEEE 1149.1 TDI TDO Boundary scan architectuur intern De Test Access Port (TAP) bepaalt het pad dat de binnenkomende data moeten volgen Boundary scan interne scan pad bypass instructie... VLSI 5
TAP controller toestandsdiagramma Input signalen Test Clock input (TCK) Test Mode Select (TMS) Optioneel: Test Reset (TRST) Commando's voor het instructie register Bypass de data loopt onmiddellijk door naar de volgende IC Extest de externe verbindingen worden getest Intest De interne werking van de IC wordt getest RunBIST do de zelftest... VLSI 6
Conclusie Het is belangrijk de nodige teststrategie reeds uit te denken voordat je aan het ontwerp van de IC begint. De tijd die je verliest door teststructuren toe te voegen win je ruim terug bij het testen. VLSI 7