Wat is Scantest?

Testmethode waarbij de toestand binnen de schakeling wordt ingesteld en uitgelezen met een scanketen, waarin de flipflops in een keten zijn verbonden.

Japanse benaming: スキャンテスト

“Scantest” komt voor in 3 oefenvragen uit 1 onderwerpen, bijv. Testen en inspectie.

Vakgebied: Testen en inspectie

Hoe een scanketen werkt

Bij scanontwerp wordt elke flipflop vervangen door een scanflipflop met een multiplexer aan de ingang. Wanneer een scan-enable-signaal actief is, worden de flipflops aan elkaar gekoppeld tot schuifregisters, de zogeheten scanketens (scan chains), zodat een tester elke gewenste toestand in alle flipflops kan inschuiven. Eén functionele klokpuls (capture) laat vervolgens de combinatorische logica rekenen, waarna de resultaten weer in de flipflops worden vastgelegd. Door de keten uit te schuiven worden deze resultaten uitgelezen terwijl het volgende patroon wordt ingeschoven. Zo wordt het lastige probleem van het testen van diepe sequentiële logica teruggebracht tot het testen van combinatorische logica tussen registers die bestuurbaar en observeerbaar zijn.

Patronen, fouten en ATPG

Scanpatronen worden gegenereerd door tools voor automatische testpatroongeneratie (ATPG), die zich richten op foutmodellen zoals stuck-at-fouten, waarbij wordt aangenomen dat een knooppunt vastzit op 0 of 1, en transitiefouten, die knooppunten modelleren die te traag schakelen en worden getest met capture-klokken op volle snelheid (at-speed). De kwaliteit van een patroonset wordt uitgedrukt als foutdekking (fault coverage). De kosten van scan zijn extra oppervlak voor de multiplexers en de bedrading, een kleine extra vertraging aan de flipflopingangen en de ontwerpinspanning voor DFT-regels (design for testability), zoals ervoor zorgen dat klokken en resets tijdens de test bestuurbaar blijven.

Compressie en onbekende waarden

Bij grote chips maakt het aantal flipflops de ruwe scandata en de schuiftijd enorm. Testcompressie verdeelt de logica over veel korte ketens die worden gevoed door een on-chip decompressor en uitgelezen via een compactor aan de uitgang. Omdat de meeste bits in een patroon don't-cares zijn, kunnen datavolume en testtijd met een factor tientallen of meer dalen. Compactie heeft een zwakke plek: een onbekende waarde (X) uit een niet-geïnitialiseerd geheugen, een analoog blok of een clock-domain crossing verstoort de gecompacteerde signatuur. Daarom worden X-bronnen in het ontwerp vermeden en blokkeert X-masking de betreffende scancellen.

Scantest versus boundary scan

Interne scan richt zich op de logica binnen de chip door de flipflops aan elkaar te koppelen. Boundary scan, gestandaardiseerd als IEEE 1149.1 (JTAG), plaatst scancellen bij de I/O-pinnen van de chip, zodat verbindingen en soldeerverbindingen op boardniveau kunnen worden getest en pinnen kunnen worden aangestuurd of uitgelezen zonder fysieke probes. De twee vullen elkaar aan, en de JTAG-poort wordt vaak hergebruikt om interne testfuncties aan te sturen. Geen van beide vervangt functioneel testen volledig, omdat scanpatronen de structuur testen en niet de werkelijke toepassingen van de chip.

Nu oefenen: vragen over Scantest

Waarom is bij compressie van de uitgangen van de scantest het verwijderen van signalen waarvan de waarde in de simulatie niet als 0 of 1 vaststaat (onbekende waarde X) noodzakelijk?

  1. AAls een onbekende waarde zich met de gecomprimeerde resultaten vermengt, kan niet met de verwachte waarde worden vergeleken en kunnen fouten niet worden gedetecteerd
  2. BOmdat de chip warm wordt bij onbekende waarden
  3. COmdat de klok stopt bij onbekende waarden
Antwoord en toelichting tonen

Antwoord: A. Als een onbekende waarde zich met de gecomprimeerde resultaten vermengt, kan niet met de verwachte waarde worden vergeleken en kunnen fouten niet worden gedetecteerd

Onbekende waarden (X), afkomstig van bijvoorbeeld niet-geïnitialiseerd geheugen, analoge schakelingen en grenzen tussen verschillende klokdomeinen, maken de gehele gecomprimeerde waarde onbekend wanneer ze in de compressieschakeling met andere bits worden vermengd, zodat niet meer met de juiste verwachte waarde kan worden vergeleken. Daarom worden X-masking, waarbij de uitgangen van scancellen die X leveren worden geblokkeerd, en ontwerpmaatregelen om X te voorkomen toegepast. Er is geen verband met warmteontwikkeling of het stoppen van de klok.

Hoe heet het proces waarbij uit de informatie over op welke uitgang en bij welk patroon een afwijking optrad bij een chip die de scantest niet haalde, logisch een kandidaatlijst van de waarschijnlijke foutlocaties wordt afgeleid?

  1. AFoutdiagnose (diagnosis)
  2. BGettering
  3. CLithografie
Antwoord en toelichting tonen

Antwoord: A. Foutdiagnose (diagnosis)

Foutdiagnose is het proces waarbij de testresultaten van een defecte chip worden vergeleken met simulatieresultaten waarbij een fout wordt verondersteld, om de kandidaat-nets of -cellen waar de fout waarschijnlijk is op te treden te beperken. Omdat de locaties voor de doorsnede bij fysieke foutanalyse hierdoor kunnen worden beperkt, wordt de analysetijd sterk verkort. Bij volumediagnose, waarbij de diagnoseresultaten van veel defecte chips statistisch worden verzameld, worden systematische defecten gevonden die zich concentreren in bepaalde bedradingspatronen of cellen, wat helpt de yield te verbeteren.

Veelgestelde vragen

Wat is het doel van een scanketen?

Een scanketen koppelt tijdens de test de flipflops van een chip tot een schuifregister, zodat elke interne toestand direct kan worden ingesteld en uitgelezen. Daardoor is een hoge foutdekking haalbaar met automatisch gegenereerde patronen.

Wat is het verschil tussen scantest en JTAG boundary scan?

Interne scan koppelt de flipflops in de kern om de on-chip logica te testen, terwijl boundary scan (IEEE 1149.1) cellen bij de I/O-pinnen koppelt om verbindingen tussen chips op een board te testen. Beide werken met serieel schuiven, maar ze dekken verschillende delen van het systeem af.

Waarom zijn onbekende waarden (X) een probleem bij scancompressie?

Een X die de compactor aan de uitgang binnenkomt, mengt zich met andere bits en maakt het gecompacteerde resultaat onvoorspelbaar. Het kan dan niet met de verwachte waarde worden vergeleken, waardoor fouten onopgemerkt kunnen blijven. X-masking en X-vrije ontwerppraktijken voorkomen dit.

“Scantest” in de toelichting

Vragen met “Scantest” (3)

  1. Waarom is bij compressie van de uitgangen van de scantest het verwijderen van signalen waarvan de waarde in de simulatie niet als 0 of 1 vaststaat (onbekende waarde X) noodzakelijk?
  2. Hoe heet het proces waarbij uit de informatie over op welke uitgang en bij welk patroon een afwijking optrad bij een chip die de scantest niet haalde, logisch een kandidaatlijst van de waarschijnlijke foutlocaties wordt afgeleid?
  3. Hoe heet de techniek waarbij testpatronen in de chip worden uitgebreid en de responsen worden gecomprimeerd om de hoeveelheid scantestdata en de testtijd te verminderen?

Verwante termen

Systematische defecten Opbrengst (yield) Via ATE (automatic test equipment) ATPG (automatic test pattern generation) BIST (built-in self-test) Burn-in DFT (design for testability) Foutdekking (fault coverage) IDDQ-test

Naar de woordenlijst