# Generació automàtica de patrons de prova

ATPG (acrònim de generació automàtica de patrons de prova) és un mètode o tecnologia d'automatització de disseny electrònic utilitzat per trobar una seqüència d'entrada (o prova) que, quan s'aplica a un circuit digital, permet als equips de prova automàtics distingir entre els el comportament correcte del circuit i el comportament defectuós del circuit causat per defectes. Els patrons generats s'utilitzen per provar dispositius semiconductors després de la fabricació, o per ajudar a determinar la causa de la fallada (anàlisi de fallida). L'eficàcia de l'ATPG es mesura pel nombre de defectes modelats, o models de falla, detectables i pel nombre de patrons generats. Aquestes mètriques generalment indiquen la qualitat de la prova (més alta amb més deteccions d'errors) i el temps d'aplicació de la prova (més alta amb més patrons). L'eficiència de l'ATPG és una altra consideració important que es veu influenciada pel model d'error considerat, el tipus de circuit a prova (escaneig complet, seqüencial síncron o seqüencial asíncron), el nivell d'abstracció utilitzat per representar el circuit sota prova (porta, registre- transferència, canvi) i la qualitat de prova requerida.

## Conceptes bàsics

Un defecte és un error causat en un dispositiu durant el procés de fabricació. Un model d'error és una descripció matemàtica de com un defecte altera el comportament del disseny. Els valors lògics observats a les sortides primàries del dispositiu, mentre s'aplica un patró de prova a algun dispositiu en prova (DUT), s'anomenen la sortida d'aquest patró de prova. La sortida d'un patró de prova, quan es prova un dispositiu sense errors que funciona exactament com està dissenyat, s'anomena la sortida esperada d'aquest patró de prova. Es diu que un patró de prova detecta una fallada si la sortida d'aquest patró de prova, quan es prova un dispositiu que només té una fallada, és diferent de la sortida esperada. El procés ATPG per a una falla dirigida consta de dues fases: activació de falla i propagació de falla. L'activació de falla estableix un valor de senyal al lloc del model de falla que és oposat al valor produït pel model de falla. La propagació de la falla mou el valor del senyal resultant, o efecte de falla, cap endavant mitjançant la sensibilització d'un camí des del lloc de la falla fins a una sortida primària.
L'ATPG pot no trobar una prova per a una falla concreta en almenys dos casos. En primer lloc, la falla pot ser intrínsecament indetectable, de manera que no existeixen patrons que puguin detectar aquesta falla en particular. L'exemple clàssic d'això és un circuit redundant, dissenyat de manera que cap fallada individual faci que la sortida canviï. En aquest circuit, qualsevol falla individual serà inherentment indetectable.
En segon lloc, és possible que existeixi un patró de detecció, però l'algoritme no pot trobar-ne cap. Com que el problema ATPG és NP-complet (per reducció del problema de satisfacció booleà) hi haurà casos en què existeixen patrons, però ATPG es rendeix perquè trigarà massa a trobar-los (suposant P≠NP, és clar).

## Models de falla

* hipòtesi de falla única: només es produeix una falla en un circuit. si definim k possibles tipus d'error en el nostre model de falla, el circuit té n línies de senyal, per suposició de falla única, el nombre total de fallades individuals és k×n.
* hipòtesi de falla múltiple: es poden produir diverses fallades en un circuit.

### Falla col·lapsant

Els errors equivalents produeixen el mateix comportament defectuós per a tots els patrons d'entrada. Qualsevol falla individual del conjunt de falles equivalents pot representar tot el conjunt. En aquest cas, calen molt menys que k×n proves d'error per a un circuit amb n línia de senyal. L'eliminació d'errors equivalents d'un conjunt complet d'errors s'anomena col·lapse de falles.
* El model de falla enganxada
* Falla de transistor
* Falla de pont
* Falla de circuit obert
* Falla de retard

## Referències

* ↑ «Automatic Test Pattern Generation (ATPG)» (en anglès americà). [Consulta: 23 febrer 2024].
* ↑ Ghosh, Avisekh. «Automatic Test Pattern Generation (ATPG) in DFT (VLSI)» (en anglès americà), 18-07-2020. [Consulta: 23 febrer 2024].
* ↑ «Automatic Test Pattern Generation (ATPG)» (en anglès). [Consulta: 23 febrer 2024].
* ↑ Dobai, Roland; Gramatová, Elena «A novel automatic test pattern generator for asynchronous sequential digital circuits». Microelectronics Journal, 42, 3, 01-03-2011, pàg. 501–508. DOI: 10.1016/j.mejo.2010.10.013. ISSN: 0026-2692.