Generarea de programe automate de testare

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Generarea automată de vectori de test ( ATPG ) este o metodă și o tehnologie, utilizată pentru a găsi o secvență de test care, atunci când este aplicată unui circuit digital , permite testerilor să facă distincția între comportamentul corect și incorect al circuitului determinat de anomaliile funcționale. Procedurile generate sunt utilizate pentru testarea dispozitivelor semiconductoare după fabricație și, în unele cazuri, pentru a ajuta la determinarea cauzelor defecțiunilor. Eficacitatea ATPG-ului este măsurată de cantitatea de defecte tipărite sau tipare de eșec detectate și de numărul de proceduri generate. Această cantitate indică generic calitatea controlului (mai mare cu o detectare mai mare a defecțiunilor) și timpul de execuție a testelor (mai mare cu mai multe proceduri). Eficiența ATPG este un alt factor important. Este influențat de modelul de defecțiune în cauză, de tipul circuitului testat (cu aranjamente pentru testare automată, sincronă secvențială sau asincronă secvențială), de gradul de abstractizare utilizat pentru a reprezenta circuitul examinat ( porți , registre de tranzistoare, comutatoare) și acoperirea necesară a calității testului.

Principiile ATPG

Defectul este o eroare introdusă în dispozitiv în timpul procesului de fabricație. Modelul de eșec este o descriere matematică a modului în care un defect își modifică comportamentul de proiectare. Se spune că o defecțiune este dezvăluită de un model de testare dacă, atunci când modelul de testare este aplicat proiectării defecte, orice valori logice observate în una sau mai multe dintre ieșirile primare ale circuitului diferă de cele referitoare la proiectarea de funcționare normală. Procesul ATPG pentru un eșec țintă constă din doi pași: activarea eșecului și propagarea eșecului. Activarea defecțiunii stabilește o valoare a semnalului pe partea modelului de defecțiune care este opusă valorii produse de modelul de defecțiune; Propagarea defecțiunii deplasează valoarea semnalului rezultat sau efectul defecțiunii înainte, sensibilizând o cale din partea defecțiunii către o ieșire primară.

ATPG poate să nu găsească o procedură de testare pentru o anumită defecțiune în două cazuri. În primul rând, defecțiunea poate fi inerent nedetectabilă, deci nu există un model care să poată dezvălui acea defecțiune. Exemplul clasic al acestui lucru este un circuit redundant, conceput astfel încât nicio defecțiune singură să nu poată provoca modificarea ieșirii. Într-un astfel de circuit, orice defecțiune va fi inerent nedetectabilă.

În al doilea rând, este posibil ca modelele să existe sau să existe, dar algoritmul nu le poate găsi. Deoarece problema ATPG este o problemă NP-Complete (prin reducerea de la o problemă de satisfacție booleană ), vor exista cazuri în care modelul există, dar ATPG renunță, deoarece ar fi nevoie de un timp incredibil de lung pentru a-l găsi.

Modul de erori blocate

În ultimele câteva decenii, cel mai popular model de eșec utilizat în practică a fost modelul de eșec cu un singur zăvor. În acest model se presupune că o linie de semnal a unui circuit este blocată la o valoare logică, indiferent de semnalul de intrare aplicat circuitului. Prin urmare, dacă un circuit are n linii de semnal, există potențial 2n defecte blocate definite în circuit, dintre care unele pot fi observate deoarece sunt echivalente cu celelalte. Modelul de eșecuri blocate este un model logic, deoarece informațiile de întârziere nu sunt asociate cu definiția sa. Este, de asemenea, numit modelul de eșec permanent, deoarece efectul său este presupus a fi permanent, spre deosebire de eșecurile intermitente care apar aleatoriu și eșecurile tranzitorii care apar sporadic, probabil în funcție de condițiile de lucru (de exemplu, temperatura, tensiunea de alimentare) sau valorile datelor (ridicate sau stări de joasă tensiune) pe liniile de semnal înconjurătoare. Modelul de defecțiune blocat sau permanent este structural deoarece se bazează pe un model de circuit de structură la nivel de ușă.

Un set de programe cu o acoperire de 100% a defecțiunilor permanente constă în teste care relevă fiecare posibilă defecțiune permanentă într-un circuit. Acoperirea 100% nu garantează neapărat o calitate ridicată, întrucât apar adesea defecțiuni de multe alte tipuri, cum ar fi defecțiunile de scurtcircuitare, defecțiunile de întrerupere și defecțiunile de tranziție.

ATPG secvențial

ATPG pentru circuite secvențiale caută o secvență de vectori pentru a detecta o anumită defecțiune în întregul spațiu al secvențelor vectoriale posibile. Au fost concepute diverse strategii de căutare și euristică pentru a localiza cea mai scurtă secvență și / sau a localiza o secvență mai repede. Cu toate acestea, conform rezultatelor raportate, nicio strategie / euristică nu le depășește pe celelalte pentru toate aplicațiile și / sau circuitele. Această observație implică faptul că un generator de dovezi ar trebui să includă un set cuprinzător de euristică.

Chiar și o simplă defecțiune permanentă necesită o secvență de vectori pentru detectare într-un circuit secvențial. Mai mult, datorită elementelor de memorie, controlabilitatea și observabilitatea semnalelor interne într-un circuit secvențial sunt în general mult mai dificile decât cele dintr-un circuit combinatorial. Acești factori fac complexitatea unui ATPG secvențial mult mai mare decât cea a unui ATPG combinatorial.

Datorită complexității ridicate a ATPG-ului secvențial, rămâne o sarcină dificilă pentru circuitele mari și foarte secvențiale care nu încorporează aranjamente de testabilitate proiectate. Cu toate acestea, aceste generatoare de teste, împreună cu tehnici de testare încorporate cu profil redus, cum ar fi lanțul de testare parțial încorporat, au demonstrat un anumit grad de succes în testarea proiectelor mari. Pentru proiectele care sunt sensibile la costurile de conformitate, soluția de a folosi ATPG la circuite secvențiale și lanțuri de testare conglomerate limitate oferă o alternativă atractivă la soluția totală comună de lanț de test încorporat, care se bazează pe ATPG combinatorial.

ATPG și nanotehnologie

Din punct de vedere istoric, ATPG s-a concentrat asupra eșecurilor provenite din tiparele de eșec la nivelul porții logice. Pe măsură ce tendința proiectelor se îndreaptă spre nanotehnologie, apar noi probleme de control al producției. În timpul validării proiectării, inginerii nu mai pot ignora efectele diafragmei și ale zgomotului de putere asupra fiabilității și performanței. Modelarea curentă a defecțiunilor și tehnicile de generare a vectorilor de testare cedează noilor modele și tehnici care iau în considerare informațiile de sincronizare atunci când generează dovezi, care pot fi scalate pentru proiecte mai mari și care pot prelua condiții extreme de proiectare. Pentru nanotehnologie, multe probleme actuale de validare a proiectelor devin, de asemenea, dovada problemelor de producție, astfel încât vor fi necesare noi modelări de eșec și tehnici ATPG.

Metodologia algoritmică

Testarea circuitelor la scară de integrare foarte mare (VLSI) cu acoperire mare a defecțiunilor este o sarcină dificilă datorită complexității sale. Prin urmare, au fost dezvoltate multe metode diferite de ATPG pentru abordarea circuitelor combinatorii și secvențiale.

  • Algoritmii de primă generație, cum ar fi „diferența booleană” și „propunerea literală”, nu erau practici de implementat pe computer.
  • Algoritmul D a fost primul algoritm generator de dovezi în ceea ce privește cerința de memorie. Algoritmul D a introdus „notația D” care continuă să fie utilizată în aproape toți algoritmii ATPG.
  • Luarea deciziilor orientate pe cale ( PODEM ) este o îmbunătățire a algoritmului D. PODEM a fost creat în 1981 când deficiențele în algoritmul D au fost evidențiate atunci când inovațiile de proiectare au dus la circuite pe care algoritmul D nu le-a putut realiza.
  • Fan-Out Oriented ( FAN Algorithm ) este o îmbunătățire a PODEM. Limită setul de soluții posibile pentru reducerea timpului de calcul și accelerează retrocedarea .
  • Metode bazate pe satisfacție booleană sunt uneori folosite pentru a genera vectori de probă.
  • Generarea de teste Pseudorandom este cel mai simplu mod de a crea teste. Folosește un generator de numere pseudo-aleatorii pentru a genera vectori de probă și se bazează pe simularea logică pentru a calcula rezultate bune ale mașinii și pe simularea defectelor pentru a calcula acoperirea defectelor vectorilor generați.

Elemente conexe

Inginerie Portal de inginerie : accesați intrările Wikipedia care se ocupă de inginerie