Automatisk testmønstergenerering - Automatic test pattern generation

ATPG (akronym for både A utomatic T est P attern G eneration og A utomatic T est P attern G enerator) er en elektronisk design automatiseringsmetode / teknologi, der bruges til at finde en input (eller test) sekvens, der, når den anvendes til et digitalt kredsløb , gør det muligt for automatisk testudstyr at skelne mellem den korrekte kredsløbsadfærd og den defekte kredsløbsadfærd forårsaget af defekter. De genererede mønstre bruges til at teste halvlederindretninger efter fremstilling eller til at hjælpe med at bestemme årsagen til svigt ( fejlanalyse ). Effektiviteten af ​​ATPG måles ved antallet af modellerede defekter eller fejlmodeller , der kan detekteres, og antallet af genererede mønstre. Disse målinger viser generelt test kvalitet (højere med flere fejl detekteringer) og testprogram tid (højere med flere mønstre). ATPG-effektivitet er en anden vigtig overvejelse, der påvirkes af den fejlmodel, der overvejes, typen af ​​kredsløb, der testes ( fuld scanning , synkron sekventiel eller asynkron sekventiel), det abstraktionsniveau, der bruges til at repræsentere det kredsløb, der testes (gate, register- overførsel, switch) og den krævede testkvalitet .

Grundlæggende

En defekt er en fejl forårsaget af en enhed under fremstillingsprocessen. En fejlmodel er en matematisk beskrivelse af, hvordan en defekt ændrer designadfærd. De logiske værdier, der observeres ved enhedens primære udgange, mens de anvender et testmønster til en enhed under test (DUT), kaldes output for dette testmønster. Outputtet fra et testmønster kaldes det forventede output fra dette testmønster, når en testfri en enhed, der fungerer nøjagtigt som designet. En fejl siges at blive detekteret af et testmønster, hvis output fra dette testmønster, når man tester en enhed, der kun har den ene fejl, er forskellig fra den forventede output. ATPG-processen for en målrettet fejl består af to faser: fejlaktivering og udbredelse af fejl . Fejlaktivering etablerer en signalværdi på fejlmodelstedet, der er modsat af den værdi, der produceres af fejlmodellen. Fejludbredelse flytter den resulterende signalværdi eller fejleffekt fremad ved at sensibilisere en sti fra fejlstedet til et primært output.

ATPG kan ikke finde en test for en bestemt fejl i mindst to tilfælde. For det første kan fejlen være uopdagelig, således at der ikke findes mønstre, der kan detektere den pågældende fejl. Det klassiske eksempel på dette er et overflødigt kredsløb, der er designet således, at ingen enkelt fejl får output til at ændre sig. I et sådant kredsløb vil enhver enkelt fejl i sig selv ikke kunne detekteres.

For det andet er det muligt, at der findes et detektionsmønster, men algoritmen kan ikke finde et. Da ATPG-problemet er NP-komplet (ved reduktion fra det boolske tilfredshedsproblem ), vil der være tilfælde, hvor der findes mønstre, men ATPG giver op, da det vil tage for lang tid at finde dem (forudsat selvfølgelig P ≠ NP ).

Fejlmodeller

  • antagelse af en enkelt fejl: kun en fejl opstår i et kredsløb. hvis vi definerer k mulige fejltyper i vores fejlmodel, har kredsløbet n signallinjer, ved en enkelt antagelse om fejl, er det samlede antal enkeltfejl k × n .
  • antagelse af flere fejl: flere fejl kan forekomme i et kredsløb.

Fejl kollapser

Ækvivalente fejl giver den samme defekte opførsel for alle inputmønstre. Enhver enkelt fejl fra sættet med tilsvarende fejl kan repræsentere hele sættet. I dette tilfælde kræves der meget mindre end k × n fejltest til et kredsløb med n signallinje. Fjernelse af ækvivalente fejl fra hele sæt fejl kaldes fejlkollaps.

Den fastmonterede fejlmodel

I de sidste årtier er den mest populære fejlmodel, der er brugt i praksis, den enkelt fastmonterede fejlmodel . I denne model antages en af ​​signallinjerne i et kredsløb at sidde fast med en fast logisk værdi, uanset hvilke indgange der tilføres kredsløbet. Derfor, hvis et kredsløb har n signallinjer, er der potentielt 2n fast-at-defekter defineret på kredsløbet, hvoraf nogle kan betragtes som svarende til andre. Den fastmonterede fejlmodel er en logisk fejlmodel, fordi der ikke er nogen forsinkelsesinformation forbundet med fejldefinitionen. Det kaldes også en permanent fejlmodel, fordi den defekte effekt antages at være permanent, i modsætning til intermitterende fejl, der forekommer (tilsyneladende) ved tilfældige og forbigående fejl, der forekommer sporadisk, måske afhængigt af driftsforholdene (f.eks. Temperatur, strømforsyningsspænding) eller på dataværdierne (høj- eller lavspændingstilstande) på omgivende signallinjer. Den enkelt fastmonterede fejlmodel er strukturel, fordi den er defineret baseret på en strukturel gate-niveau kredsløbsmodel.

Et mønstersæt med 100% fast-at-dækning består af tests til at detektere enhver mulig fast-at-fejl i et kredsløb. 100% fast dækning garanterer ikke nødvendigvis høj kvalitet, da der ofte opstår fejl af mange andre slags (f.eks. Broforbindelse, åbner fejl, forsinker fejl).

Transistorfejl

Denne model bruges til at beskrive fejl for CMOS-logiske porte. På transistorniveau kan en transistor måske sidde fast eller være åben. I fast-short opfører en transistor sig, da den altid ledes (eller sidder fast), og fast-åben er, når en transistor aldrig leder strøm (eller sidder fast). Stuck-short producerer en short mellem VDD og VSS.

Brobygningsfejl

En kortslutning mellem to signallinjer kaldes brofejl. Bro til VDD eller Vss svarer til fast ved fejlmodel. Traditionelt blev begge signaler efter bro modelleret med logik OG eller ELLER af begge signaler. Hvis den ene driver dominerer den anden driver i en brosituation, tvinger den dominerende driver logikken til den anden, i så fald anvendes en dominerende brofejl. For bedre at afspejle virkeligheden af ​​CMOS VLSI-enheder anvendes en Dominant AND eller Dominant OR bridging fault-model. I sidstnævnte tilfælde beholder den dominerende driver sin værdi, mens den anden får AND- eller ELLER-værdien for sin egen og den dominerende driver.

Åbner fejl

Forsink fejl

Forsinkelsesfejl kan klassificeres som:

  • Fejl ved portforsinkelse
  • Overgangsfejl
  • Hold Time-fejl
  • Langsom / lille forsinkelsesfejl
  • Fejl ved stinforsinkelse: Denne fejl skyldes summen af ​​alle forsinkelser i portudbredelsen langs en enkelt sti. Denne fejl viser, at forsinkelsen på en eller flere stier overstiger tidsperioden. Et stort problem med at finde forsinkelsesfejl er antallet af mulige stier i et kredsløb under test (CUT), som i værste fald kan vokse eksponentielt med antallet af linjer n i kredsløbet.

Kombination af ATPG

Den kombinerende ATPG-metode tillader test af de enkelte noder (eller flip-flops) i det logiske kredsløb uden at være bekymret for driften af ​​det samlede kredsløb. Under testen er en såkaldt scan-mode aktiveret, der tvinger alle flip-flops (FF'er) til at blive forbundet på en forenklet måde og effektivt omgår deres sammenkoblinger som beregnet under normal drift. Dette gør det muligt at bruge en relativt simpel vektormatrix til hurtigt at teste alle de omfattende FF'er samt at spore fejl til specifikke FF'er.

Sekventiel ATPG

ATPG med sekventielt kredsløb søger efter en sekvens af testvektorer for at detektere en bestemt fejl gennem rummet af alle mulige testvektorsekvenser . Forskellige søgestrategier og heuristikker er udtænkt for at finde en kortere sekvens eller for at finde en sekvens hurtigere. Men ifølge rapporterede resultater udfører ingen enkelt strategi eller heuristisk andre resultater for alle applikationer eller kredsløb. Denne observation indebærer, at en testgenerator skal omfatte et omfattende sæt heuristikker.

Selv en simpel fastgjort fejl kræver en sekvens af vektorer til detektion i et sekventielt kredsløb. På grund af tilstedeværelsen af ​​hukommelseselementer er kontrollerbarheden og observerbarheden af de interne signaler i et sekventielt kredsløb generelt meget vanskeligere end dem i et kombinationslogisk kredsløb. Disse faktorer gør kompleksiteten af ​​sekventiel ATPG meget højere end kombinationen af ​​ATPG, hvor en scanningskæde (dvs. omskiftelig, kun til test-signalkæde) tilføjes for at tillade enkel adgang til de enkelte noder.

På grund af den sekventielle ATPG's høje kompleksitet er det fortsat en udfordrende opgave for store, meget sekventielle kredsløb, der ikke indeholder noget DFT-plan ( Design For Testability ). Imidlertid har disse testgeneratorer kombineret med DFT-teknikker med lav overhead som delvis scanning vist en vis succes med at teste store designs. For design, der er følsomme over for areal eller ydeevne, tilbyder løsningen at bruge sekventielt kredsløb ATPG og delvis scanning et attraktivt alternativ til den populære full-scan-løsning, der er baseret på ATPG i kombinationskredsløb.

Nanometer teknologier

Historisk har ATPG fokuseret på et sæt fejl afledt af en fejlmodel på portniveau. Efterhånden som designtendenser bevæger sig mod nanometerteknologi, opstår der nye problemer med testning af fremstilling. Under designvalidering kan ingeniører ikke længere ignorere virkningen af ​​krydstale og strømforsyningsstøj på pålidelighed og ydeevne. Nuværende fejlmodellering og vektorgenereringsteknikker giver plads til nye modeller og teknikker, der overvejer timinginformation under testgenerering, der kan skaleres til større designs, og som kan fange ekstreme designforhold. For nanometerteknologi er mange aktuelle designvalideringsproblemer også ved at blive fremstillet testproblemer, så nye fejlmodellering og ATPG-teknikker er nødvendige.

Algoritmiske metoder

Afprøvning af meget store integrerede kredsløb med høj fejldækning er en vanskelig opgave på grund af kompleksiteten. Derfor er der udviklet mange forskellige ATPG-metoder til at adressere kombinations- og sekventielle kredsløb.

  • Tidlige testgenereringsalgoritmer som boolsk forskel og bogstavelig proposition var ikke praktisk at implementere på en computer.
  • Den D Algoritme var den første praktiske prøve generation algoritme i form af hukommelse. D-algoritmen [foreslået af Roth 1966] introducerede D Notation, som fortsat bruges i de fleste ATPG-algoritmer. D-algoritme forsøger at formidle den fastlagte fejlværdi betegnet med D (for SA0) eller D (for SA1) til en primær output.
  • Path-Oriented Decision Making (PODEM) er en forbedring i forhold til D-algoritmen. PODEM blev oprettet i 1981 af Prabhu Goel , da mangler i D-algoritme blev tydelige, da designinnovationer resulterede i kredsløb, som D-algoritme ikke kunne forstå.
  • Fan-Out Oriented ( FAN Algorithm ) er en forbedring i forhold til PODEM. Det begrænser ATPG-søgerummet for at reducere beregningstiden og fremskynder backtracing.
  • Metoder baseret på boolsk tilfredsstillelse bruges undertiden til at generere testvektorer.
  • Pseudorandom testgenerering er den enkleste metode til at oprette tests. Det bruger en pseudorandom- talgenerator til at generere testvektorer og er afhængig af logisk simulering for at beregne gode maskinresultater og fejlsimulering for at beregne fejldækningen af ​​de genererede vektorer.
  • Wavelet Automatic Spectral Pattern Generator (WASP) er en forbedring i forhold til spektralalgoritmer til sekventiel ATPG. Det bruger wavelet-heuristik til at søge plads for at reducere beregningstiden og fremskynde komprimatoren. Det blev fremsat af Suresh kumar Devanathan fra Rake Software og Michael Bushnell, Rutgers University. Suresh kumar Devanathan opfandt WASP som en del af sin afhandling hos Rutgers.

Relevante konferencer

ATPG er et emne, der dækkes af flere konferencer i løbet af året. De primære amerikanske konferencer er den internationale testkonference og VLSI Test Symposium , mens emnet i Europa er dækket af DATE og ETS .

Se også

Referencer

  • Elektronisk designautomatisering til integrerede kredsløbshåndbog af Lavagno, Martin og Scheffer, ISBN   0-8493-3096-3 En undersøgelse af feltet, hvorfra ovenstående resumé blev afledt med tilladelse.
  • Analyse af mikroelektronikfejl . Materials Park, Ohio: ASM International. 2004. ISBN   0-87170-804-3 .
  1. ^ Crowell, G; Press, R. "Brug af scanningsbaserede teknikker til fejlisolering i logiske enheder". Analyse af mikroelektronikfejl . s. 132–8.

Yderligere læsning