Sunteți pe pagina 1din 20

Diagnoza 67

II. MODELE DE DEFECT

1. Modele de defect generale pentru circuite VLSI

Cele mai populare modele de defect sunt dezvoltate astfel încât sa


acopere erorile logice în operarea circuitului. Gradul de acoperire real al
acestor modele nu este foarte bun dar ele sunt foarte usor de utilizat. În
ultimul timp pentru a depasi deficientele acestor modele s-au dezvoltat
modele de defect mai cuprinzatoare. Complexitatea de calcul in cadrul
procesului de generare a vectorilor de test creste semnificativ cu aceste noi
modele.
În continuare ne vom referi numai la modele de defect logice.

1.1. Modelul de defect de tip BLOCAT-LA


Cel mai vechi si mai simplu model de defect este sa se considere
ca în orice linie a circuitului poate apare un defect care cauzeaza
ramânerea ei permanent la 1 sau 0 logic. Daca valoarea logica la care
ramâne linia este 1, se spune ca linia este blocata-la-1 (b-l-1), iar daca
valoarea ramâne 0 se spune ca linia este blocata-la-0 (b-l-0). Oricare linie
din circuit poate avea oricare defect de tip blocat-la. Deci pentru fiecare
linie sunt posibile doua defecte de tip blocat-la. Un circuit poate avea, la
un moment dat o singura linie sau mai multe linii blocate. Presupunerea
ca o singura linie este blocata la un moment dat este numita
presupunerea defectului singular. Daca sunt mai multe linii defecte,
defectul este denumit multiplu. Experienta în testare a aratat ca daca un
set de teste furnizeaza o buna acoperire pentru toate defectele de tip
blocat-la, el acopera bine si defectele multiple. Totusi, acoperirea
defectelor multiple de catre un set de teste pentru defecte singulare nu
este garantata.
Pentru a testa un defect de tip b-l pentru o linie, aceasta trebuie
senzitivizata la o valoare logica opusa valorii de blocaj considerate. De
exemplu, pentru a testa un defect de tip b-l-1 pe o linie, trebuie aplicat un
0 pe aceasta linie. Daca linia este interna circuitului, intrarile primare
trebuie controlate astfel încât în circuitul fara defecte aceasta linie va
avea 0 logic. Dupa senzitivizarea defectului, efectul acestuia trebuie sa fie
observabil la o iesire primara. Daca nu exista nici o combinatie de intrari
primare care sa senzitivizeze defectul, sau daca defectul nu poate fi
68 Fiabilitate si Diagnoza

propagat la o iesire primara, defectul de numeste nedetectabil. Aceasta


situatie arata ca pot fi anumite defecte fizice care cauzeaza un defect de
tip blocat-la al unei linii, dar care nu schimba iesirea circuitului pentru
nici o combinatie de intrari. În testare exista algoritmi pentru identificarea
defectelor nedetectabile.
Daca pentru o linie data atât defectul b-l-1 cât si defectul b-l-0
sunt nedetectabile, linia respectiva este redundanta. La circuitele VLSI
asemenea linii pot exista atât intentionat cât si neintentionat.
În afara defectului nedetectabil, modelul de defect de tip blocat-la
nu poate detecta multe alte defecte fizice. De exemplu nu se poate
modela prin defecte de tip blocat-la un defect fizic de tip scurtcircuit
deoarece un asemenea defect nu blocheaza nici un nod al circuitului ci
schimba doar functionalitatea acestuia.

1.2. Modelul de defect de tip punte si întrerupere


Scurtcircuitul si întreruperea sunt doua moduri de defectare de
baza în orice circuit electric. Diferite studii începând cu sfârsitul anilor
1970 au aratat ca modurile de defectare în circuitele VLSI sunt scurturile
si înreruperile. Scurtcircuitele în VLSI sunt denumite popular defecte de
tip punte. Studiile au aratat ca doar o mica parte din aceste defecte de tip
punte si întrerupere pot fi modelate la nivel blocat-la. În aceste studii au
fost examinate multe chip-uri si scheme. Concluziile au fost urmatoarele:

1. Defectele placii de siliciu se gasesc in clustere. Aceste clustere sunt


distribuite aleator pe întreaga placuta. Orice parte a placutei are o
probabilitate egala de a avea un cluster defect.
2. Orice parte a unei linii de difuzie, polisilicon sau metal poate avea un
defect de tip întrerupere. Orice contact între doua straturi poate fi
întrerupt.
3. O punte poate apare între oricare doua noduri electrice chiar daca ele
apartin la acelasi strat sau la doua straturi diferite. Pot apare de asemenea
punti între mai multe noduri.
4. Doar o mica parte dintre aceste defecte de tip punte sau întrerupere pot
fi modelate ca defecte de tip blocat-la. Distributia concreta a defectelor
variaza si depinde mult de tehnologia si de procesul de fabricatie.
Pentru a rezolva problema slabei acoperiri a defectelor de catre
modelul de defect de tip blocat-la s-a dezvoltat un model cuprinzator care
include atât defectele de tip punte cât si cele de tip întrerupere. Trebuie
Diagnoza 69

notat ca defectele punte nu se limiteaza la cele cu rezistenta de scurt mica


(scurt puternic). Oricare doua noduri electrice pot fi în scurt cu orice
valoare a rezistentei. Cuplajul capacitiv dintre doua noduri nu este
considerat ca fiind un defect de tip punte ci un defect parametric.

1.3. Echivalenta, dominanta si colapsul defectelor


Un circuit VLSI are un mare numar de defecte posibile. Daca
circuitul are n linii sunt posibile 2n defecte de tip b-l. Fiecare tranzistor
singular poate avea trei defecte de tip punte (la masa, la sursa si de
interconectare) si trei de tip întrerupere. O poarta NAND cu doua intrari
poate avea 25 de defecte fizice de tip scurt sau întrerupere. Aceasta
include majoritatea defectelor dar nu pe toate. Pentru a micsora setul de
defecte posibile se utilizeaza conceptele de echivalenta si dominanta.
Aceste concepte permit combinarea mai multor defecte într-o clasa si
determinarea unui singur vector de test care detecteaza aceste defecte.
Criteriul de împartire este efectul acestor defecte asupra iesirilor
circuitului. Procesul de reducere a numarului total al defectelor posibile
într-un set minimal este numit colapsul defectelor. Din punct de vedere
practic procesul de colaps al defectelor este foarte important la circuite
VLSI. Desi echivalenta defectelor poate fi considerata între diferite parti
ale circuitului în cadrul procesului de colaps al defectelor se considera
echivalenta si dominanta doar în jurul portilor individuale.

1.4. Defecte parametrice si tranzitorii


În afara defectelor de tip punte, întrerupere si blocat-la un circuit
VLSI poate avea defecte care nu afecteaza comportamentul logic dar
degradeaza performanta si fiabilitatea circuitului. Acestea sunt numite
defecte parametrice.
Ele afecteaza major fiabilitatea circuitului. În orice moment viitor ele pot
duce la o eroare logica. Defectele parametrice includ pierderi de curent la
nivel de substrat si poarta, variatii în pragul de tensiune, cuplaje
capacitive. Întârzierea excesiva în circuit este de asemenea un defect
parametric. Totusi in ultimii ani acest defect este considerat separat.
Cauza unui defect parametric poate fi un defect fizic sau variatia unui
parametru de proces.
O alta posibilitate sunt defectele intermitente sau tranzitorii.
Aceste defecte afecteaza comportamentul circuitului aleator în timp.
Cauza unui asemenea defect poate fi un defect fizic sau un factor de
70 Fiabilitate si Diagnoza

mediu. Interferenta electromagnetica externa si radiatia ionizanta au fost


adesea apreciate ca fiind cauze ale defectelor tranzitorii. Modificarea unui
bit sau erori soft în memoriile dinamice datorate radiatiei ionizante sunt
fenomene binecunoscute.

1.5. Modele de defect de tip întârziere ("delay")


În general, pornind de la specificatiile circuitului, întreaga
problematica a testarii poate fi divizata în doua categorii: (1) verificarea
relatiilor de intrare/iesire logice si (2) asigurarea ca timpii de propagare în
circuitul fabricat respecta specificatiile. Pentru a testa un defect de timp
se utilizeaza în mod curent doua modele:
1. Modelul de defect de întârziere al unei porti singulare (SGD - Single-
Gate Delay fault model) ;
2. Modelul de defect de întârziere orientat pe cale (POD - Path-Oriented
Delay fault model).
Modelul SGD a fost utilizat în trecut. Deoarece într-un bloc
combinational este utilizat un numar mic de tipuri de porti lungimea
testului este mica. Principalul dezavantaj al modelului SGD este ca nu
poate pune în evidenta efectul cumulativ al variatiilor mici de întârziere
de la întrarile primare pâna la iesirile primare. Desi o singura poarta poate
satisface specificatiile de timp, circuitul poate functiona incorect datorita
efectului cumulativ al variatiilor de întârziere.
Modelul POD elimina aceste dezavantaje. În modelele POD
întârzierea cumulata a diferitelor porti dintr-o cale este considerat ca un
parametru de test. Tranzitiile 0->1 si 1->0 sunt propagate de-a lungul
unei cai de la intrarile primare pâna la iesirile primare. Daca tranzitiile nu
satisfac un interval de timp specificat se detecteaza un defect. În aceasta
procedura se selecteaza un set de cai astfel încât cel putin o cale din set
va contine întârzierea maxima modelata. Într-un circuit arbitrar exista un
mare numar de cai de la intrari la iesiri. Dimensiunea unei cai poate diferi
semnificativ de a alteia. În general se examineaza calea cea mai lunga si
cea mai scurta. Acestea sunt numite cai critice. Daca aceste întârzieri
sunt corespunzatoare cu latimea ceasului atunci se considera ca circuitul
nu are defecte; altfel, circuitul are un defect de tip întârziere.

2. Modele de defect specifice


Pentru un circuit particular pot fi anumite situatii care nu pot fi
descrise prin modelele de defect generale prezentate anterior. În aceasta
Diagnoza 71

categorie se încadreaza circuitele PLA, memoriile RAM si


microprocesoarele.

2.1. Modele de defect specifice PLA-urilor


În general un model de defect pentru PLA contine defecte de tip
blocat-la, defecte punte si defecte de tip lipsa sau aparitia în plus a unor
puncte de intersectie (CPF - CrossPoint Faults). În anumite PLA-uri
fiecare punct de intersectie poate fi programat sa fie on sau off.; deci
pentru aceste PLA-uri în locul defectelor de tip CF se va considera
posibilitatea de programare a unui punct de intersectie.

Un model de defect generalizat pentru PLA include:

1. Defecte de tip blocat-la: se considera toate defectele singulare si


multiple. Sunt considerate defectele de tip blocat-la pentru liniile de
intrare, liniile interne si liniile de iesire
2. Defecte punte: se considera toate defectele punte singulare si multiple
între liniile de intrare, cele interne si liniile de iesire. Se considera de
asemenea defecte punte între liniile de intrare si liniile interne sau liniile
interne si liniile de iesire. Pot fi considerate si defectele punte între liniile
de intrare si cele de iesire dar posibilitatea unui asemenea defect este
mica. În plus aceste defecte creeaza cai de reactie inversa în circuit. În
afara situatiilor în care se doreste un foarte mare grad de acoperire, aceste
defecte nu sunt considerate.
3. CPF: poate apare un punct de intersectie în plus sau poate lipsi unul. În
literatura sunt cunoscute ca defecte de crestere si descrestere a punctelor
de intersectie.

Un defect multiplu într-un PLA poate consta din mai mult de un


defect dintr-o categorie sau mai mult de un defect din una sau mai multe
categorii. Toate defectele logice din PLA-uri pot fi incluse în una din cele
trei categorii. Astfel, defectele de tip întrerupere a unei linii sunt
echivalente cu linia b-l-0 si defectul de tranzistor deschis este echivalent
cu modelul CPF. Deci nici un defect de tip întrerupere nu trebuie
considerat separat. În afara acestor defecte PLA-urile pot avea defecte
parametrice si de întârziere.
72 Fiabilitate si Diagnoza

2.2. Modele de defect specifice memoriilor


Un model de defect pentru memorii RAM larg utilizat a fost
dezvoltat de Nair, Thatte si Abraham [Nair, 1978]. În acest model
circuitul este divizat în trei blocuri: matricea de celule, circuitul decodor
si circuitul de citire/scriere. Într-o matrice de celule, o celula poate avea
un defect de tip blocat-la-1/0 sau poate avea un defect de cuplaj cu
oricare alta celula. În circuitul decodor se poate ca decodorul sa nu
acceseze celula adresata si poate accesa una sau mai multe celule
neadresate. Circuitul de citire/scriere poate avea defecte de tip blocat-la-
1/0.

Un model general pentru memorii cuprinde:


1. Defecte de tip b-l-1/0 a celulelor;
2. Defecte la tranzitia 1->0 si 0->1 a celulelor;
3. Defecte de punte între celule (cuplaj);
4. Defecte de tip b-l-1/0, acces multiplu sau adresare falsa în decoder;
5. Defecte de retentie a datelor.

Pentru memorii s-a mai folosit si un alt model de defect cunoscut


sub numele de modelul de defect prin tipare senzitive (PS- Pattern
Senzitive). Corespunzator acestui model, în prezenta unor date specifice
într-o parte a memoriei (locatia i), datele într-o alta parte (locatia j) pot fi
afectate. Acest efect poate apare ca un defect de tip blocat-la a unei celule
sau ca defect la tranzitie pentru o scurta perioada de timp sau atâta timp
cât locatia i contine datele specifice. Ratiunea aparitiei acestui tip de
defecte se considera ca este un caz special de cuplaj de stare. Acest
model cere ca o memorie de n biti sa fie testata ca o masina de stare cu n
stari. Adesea aceasta testare nu este fezabila în practica. Pentru a evita
aceasta dificultate se utilizeaza o metoda simplificata cunoscuta sub
numele de model de defect prin tipare senzitive intre celule vecine
(NCPS- Neighborhood Cell Pattern-Sensitive). În cadrul acestui model
simplificat doar datele din celulele vecine (vecini fizici sau logici
corespunzator cu adresa celulei) pot afecta starea celulei.
În general o memorie mai poate avea si alte tipuri de defecte:
tranzistor blocat sau deschis, parametrice sau de timp. Notam ca defectele
de retentie a datelor sunt un subset a defectelor de timp. Defectele de
timp includ de asemenea timpul de acces la date care este un parametru
foarte important pentru memorii.
Diagnoza 73

2.3. Modele de defect specifice microprocesoarelor.


Microprocesoarele sunt cele mai complexe circuite. În general
complexitatea si controlabilitatea în sectiunea de control a unui
microprocesor sunt foarte slabe. Astfel, testarea liniilor blocate, a puntilor
si a întreruperilor este extrem de dificila si consumatoare de timp si în
plus nu asigura un grad de acoperire a defectelor adecvat. Pentru a depasi
aceasta dificultate s-au dezvoltat modele care verifica functionalitatea
unui microprocesor. Functionalitatea este definita în termenii setului de
instructiuni al microprocesorului. Fiecare instructiune se poate considera
ca fiind formata din mai multe microinstructiuni, iar fiecare
microinstructiune la rândul ei ca fiind formata din mai multe micro-
ordine.

Un defect apare în una din urmatoarele situatii:


1. Unul sau mai multe micro-ordine ale unei instructiuni nu se executa,
ceea ce înseamna ca instructiunea nu se executa complet.
2. În plus fata de micro-ordinele specificate se executa si alte micro-
ordine.
3. Pentru o instructiune anumite micro-ordine nu se executa; în locul lor
se executa alte micro-ordine nespecificate.

Notam ca acest model de defect nu acopera nici un defect fizic.


Un microprocesor testat cu acest model poate avea defecte fizice de tip
punte, blocat-la sau întrerupere. De asemenea nici defectele de timp sau
parametrice nu sunt considerate. Viteza de executie a instructiunilor este
un parametru important care nu poate fi neglijat în timpul testarii.

3. Testarea echipamentelor electronice


Testarea echipamentelor electronice este activitatea prin care se
evidentiaza abaterile de la o functionare considerata corecta.
Conceptul de testare al functionarii unui sistem acopera de fapt mai
multe probleme, legate între ele, dar care prezinta grade de interes diferite,
functie de nivelul la care are loc testarea: la nivelul unui circuit sau la
nivelul global al unui sistem. Prima problema este aceea a detectiei
defectelor care semnifica identificarea prezentei sau absentei unei defectari
în sistem, iar a doua problema priveste localizarea sau diagnosticarea
defectarilor.
74 Fiabilitate si Diagnoza

Având în vedere tipul actiunii vizate - detectie, reglaj, reparare -


testele aplicate sistemului se pot clasifica în urmatoarele categorii:
- teste pentru verificarea functionarii, orientate spre o verificare de
conformitate cu specificarea functionala a sistemului;
- teste de încredere, pentru verificarea diferitelor functii ale
sistemului în scopul obtinerii datelor asupra starii sistemului;
- teste de diagnostic, în vederea operatiilor de înlocuire sau reglare
necesare, dupa detectarea unei defectari a sistemului.
În diverse forme activitatea de testare participa în toate fazele din
viata unui produs: în proiectare, în productie, în exploatare.
Componentele etapei de testare în faza de productie sunt
urmatoarele:
* Testare componente - are drept scop selectarea componentelor
care satisfac conditiile de calitate;
* Test continuitate - are drept scop determinarea traseelor
întrerupte si a scurtcircuitelor;
* Testare "in-circuit" - fiecare componenta se testeaza în mod
individual în cadrul circuitului din care face parte fara a o separa altfel
decât electric de celelalte componente ale placii din care face parte. Scopul
este de a verifica cât mai complet din punct de vedere parametric si
functional fiecare componenta în parte. Se considera ca testarea "in-circuit"
permite depistarea a 90-95% din defectele ce pot apare în mod uzual. Acest
tip de testare se poate realiza numai cu aparatura specializata.
Testarea in-circuit numeric foloseste o tehnica de fortare a starii
nodurilor pentru a controla intrarile componentei precum si o tehnica de
izolare a componentei pentru a face iesirile observabile.
Fortarea starii nodurilor se face prin injectie de curent.
Datorita disipatiei termice, timpul de mentinere a unui nod în stare
fortata trebuie sa fie controlat.
Implementarea tehnicii in-circuit numeric în cadrul unui echipament de
test automat trebuie sa urmareasca ca procesul de testare propriu-zis sa fie
automat si cât mai rapid. În cadrul operatiilor pregatitoare se produc toate
datele necesare.
Modulul hardware numeric trebuie dotat cu memorie în spatele fiecarui
pin, astfel încât sa permita testarea cu mare viteza.
Pretul de cost scazut al aplicarii acestei tehnici, viteza de test, rata
buna de acoperire a defectelor componentelor face utila aceasta tehnica ca
prim test într-o strategie de testare.
Diagnoza 75

* Testarea functionala se realizeaza în general cu ajutorul unui


testor ce are acces numai la conectorul placii. Stimulii de test sunt de regula
furnizati de testor. Se poate utiliza o placa martor pentru a compara
comportarea unei placi despre care se stie ca functioneaza corect cu aceea a
placii de testat la aplicarea acelorasi stimuli. Avantajul consta în faptul ca
raspunsurile corecte nu trebuie calculate în prealabil si nici nu trebuie
memorate, ceea ce simplifica mult elaborarea si executia experimentelor de
test.
Testarea functional numerica respecta principiul testarii
functionale, dar este specifica UUT-lor echipate cu componente digitale.
Elementul caracteristic, din punct de vedere al ETA, este pinul de test
functional. Existenta acestui modul permite simularea intrarilor UUT-lor cu
secvente de test, cu masurarea nivelurilor de test logice în punctele de
control ale UUT si compararea acestora cu nivelurile logice de referinta.
Existenta unei memorii RAM pentru fiecare pin de test permite
derularea cu mare viteza a testului, deci în conditii apropiate de realitate .
Secventele de test precum si programul de test se pot elabora in regim
de asistare de catre calculator.
* Testarea combinata - respecta filozofia testarii functionale,
combinata cu testarea in-circuit pentru diagnoza de componente.
Implementarea acestei tehnici în cadrul ETA permite testarea placilor
hibride.
* Testare sistem - are drept scop verificarea interactiunii dintre
subansamblele sistemului.
Faza premergatoare elaborarii unui test se identifica cu necesitatea
de a definii în mod precis obiectivele urmarite, în sensul defectarilor pe
care ar trebui sa le poata pune în evidenta testul respectiv. O abordare
rezonabila a acestei probleme consta în considerarea doar a defectelor
având o aparitie mai probabila, limitând astfel obiectivele testarii la o
dimensiune acceptabila.

3.1. Strategii fundamentale de test

În general pentru abordarea operatiei de testare pentru sistemele


mari înzestrate cu structura (se pot împarti în subansamble testabile în mod
individual), se pot considera trei strategii de organizare a experimentelor de
testare: "start big", "start small", "multiple-clue".
* Un experiment de testare de tip "start-big" consta într-o verificare
76 Fiabilitate si Diagnoza

rapida a sistemului de testat, completata cu un ansamblu de teste de diferite


niveluri de complexitate la nivelul subsistemelor componente. Se face
testarea fiecarui subsansablu. La detectarea unei anomalii în functionare se
va initia executia unei secvente de programe de test ce testeaza
subansamblul elementar în cadrul caruia s-a identificat eroarea. Procesul
continua pâna la localizarea defectului.
* Experimentul de testare "start-small" începe cu testarea hadrware-
lui minimal (hard-core) care poate fi testat independent si care de obicei
este testat cu mijloace diferite de restul structurii. Urmatoarele teste ce se
executa considera în fiecare pas hard-ul minimal ce poate fi testat utilizând
numai elemente ce au fost deja testate. Daca un test detecteaza o eroare se
poate presupune ca elementul defect face parte din hard-ul adaugat pentru
testul în cauza. Conform acestei strategii fiecare defect este înlaturat înainte
de a se continua experimentul de testare.
* Strategia "multiple-clue" se aseamana cu strategia "start-small" cu
diferenta ca localizarea unui defect detectat se bazeaza pe analiza
rezultatelor tuturor testelor individuale. Se executa pe rând toate testele
înregistrând informatiile privind erorile detectate de fiecare test. La sfârsit
se executa o analiza globala asupra informatiilor de eroare înregistrate.

3.2. Testarea circuitelor logice

În general testarea echipamentelor logice se poate realiza în doua


regimuri de lucru: static si dinamic. Testarea statica presupune exersarea cu
viteza mai mica decât viteza normala de functionare, în timp ce testarea
dinamica presupune operarea la o viteza comparabila cu viteza normala de
functionare. Testarea poate fi functionala sau parametrica în functie de
informatiile observate în procesul de testare.
* Testarea statica functionala verifica functionarea logica a
circuitului în regim de operare statica. Sunt vizate defecte permanente (ex.:
CI defecte, conexiuni întrerupte/scurtcircuit).
* Testarea statica parametrica se refera atât la componentele logice
cât si la cele analogice si implica masurarea unei serii de parametrii
caracteristici modului de operare static (ex.: praguri de basculare, curent,
tensiune, etc.).
* Testarea dinamica functionala se refera la verificarea functionarii
în regim de operare dinamic (ex.: hazard, erori de sincronizare).
* Testarea dinamica parametrica are în vedere masurarea unor
Diagnoza 77

parametrii relevanti pentru modul de operare dinamic (ex.: timpi de


propagare, etc.).
Se constata ca testarea statica verifica functionarea produsului
testat în starile stabile ale functionarii acestuia, în timp ce testarea dinamica
verifica si functionarea în regim tranzitoriu .
Având în vedere principiile ce stau la baza generarii lor, aceste teste
se pot clasifica în urmatoarele categorii:
- teste sincrone - pot fi aplicate atât la partea de hard cât si la cea de
soft (utile pentru detectarea erorilor în sisteme cu procesoare);
- teste de diagnostic - sunt caracteristice testarii domeniului
specificatiilor elementelor componente ale sistemului si nu domeniului
specificatiilor sistemului;
- teste prin multiplicare - cer multiplicarea activitatii sistemului
testat prin realizarea unei copii identice cu a sistemului original, care
functioneaza în paralel cu acesta, obtinând doua multimi de semnale de
iesire ce se pot compara;
- teste realizate prin inversarea functiilor sistemului utilizat în
sistemul pentru care relatiile intrare-iesire sunt simple. Aceste teste se
realizeaza prin sinteza semnalelor de intrare din cele de iesire. Comparând
semnalele sintetizate cu cele aplicate la intrarea sistemului se poate pune în
evidenta absenta sau prezenta unei defectari;
- teste prin codare.

Echipamentele de test automat (ATE) sunt realizate din punct de


vedere hardware modular. În general componenta unui sistem de testare
este alcatuita din urmatoarele componente de baza:
- sistem de calcul master care conduce activitatea de testare;
- interfata între calculator si testorul propriu-zis;
- echipamentul de test propriu-zis, având in componenta sa, în
functie de complexitate, modulele numerice, analogice, scanner si matrice
de instrumentatie pentru stabilirea legaturilor între aparatele de stimulare
si masura si adaptorul placii de sub test;
- adaptorul (interfata) testor - placa sub test, care în functie de tipul
testorului poate fi: pat de cuie, cupla placii testate, dip emulator, clip,
sonda agatatoare;
- surse de alimentare pentru testor si placa de sub test;
- aparate de stimulare si masura;
- manipulator sau robot pentru standurile specializate de testare si
78 Fiabilitate si Diagnoza

sortare a produselor.

Din punct de vedere software, aceste echipamente de testare,


dispunând de calculatoare puternice, sunt realizate pe structura unui mediu
integrat de testare, realizate pe structura meniurilor si continând în general
urmatoarele componente software:
- editoare de topologie;
- editoare de secvente de test;
- limbaje de descriere programe de test;
- program testhard;
- program autotest;
- simulatoare;
- biblioteci;
- editoare grafice;

3.3. Metode de generare a secventelor de test pentru circuite logice

Pe cât posibil se urmareste ca elaborarea testelor sa se execute pe


baza unor modele de defectiuni, elaborate astfel încât sa acopere o gama cât
mai larga de defecte.
Cele mai utilizate modele de defectiuni utilizate sunt:
- blocat-la (stuck-at);
- întrerupere (open circuit);
- punte (bridging);
- de timp (timing).
În general determinarea testelor este mult simplificata daca se
porneste de la premisa ca defectul este singular. Aceasta premiza este
justificata de obicei în modul urmator:
- pentru un circuit care a functionat si se defecteaza, posibilitatea
aparitiei simultane a mai multor defecte este redusa;
- majoritatea defectelor multiple sunt detectate de testele care
detecteaza defectele singulare.
Metodele de generare a secventelor de test se pot clasifica în:
- metode analitice, respectiv functionale, dupa cum la generarea
secventelor de test se tine seama de structura circuitelor logice, respectiv
numai de functia lor logica;
- metode deterministe, respectiv probabilistice, dupa cum generarea
lor se bazeaza pe principii deterministe, respectiv probabilistice.
Diagnoza 79

3.3.1. Generarea secventelor de test prin metode deterministe

a) Generarea secventelor de test prin analiza si simularea functiilor


logice.
Combinatia semnalelor de test la intrarile primare este impusa pe
baza analizei structurii circuitului, iar prin simularea comportarii acestuia
în prezenta anumitor defectari se determina defectarile susceptibile de a fi
puse în evidenta cu secventa de test respectiva la intrarile primare. Se pot
utiliza doua procedee:
- simulare deductiva, folosind metoda caii sensibile (la propagarea
unui defect);
- analiza si simulare asistata de calculator, simularea putând fi prin
compilare sau prin manipulare de tabele.
Metoda prezinta o mare generalitate, este aplicabila circuitelor mari
si poate detecta un numar mare de defectari.
b) Generarea secventelor de test prin sinteza.
În acest caz sunt determinate, pe baza considerarii structurii interne
a circuitului cu ajutorul unui algoritm - pentru un defect - una sau mai
multe combinatii de semnale de detectie.
Metode de generare a secventelor de test prin sinteza:
- metoda algoritmului D;
- metoda diferentelor booleene;
- metoda PODEM, etc.

3.3.2. Generarea secventelor de test pe principii probabilistice

Prin natura nedeterminista a vectorilor de test trebuie înteles ca


acestia nu sunt generati pe baza unui algoritm. Detectarea erorilor se
bazeaza pe natura aleatoare si numarul mare al vectorilor de test.

a) Metoda generarii aleatoare a testelor:


În cadrul acestei metode intrarile sunt generate aleator. Generarea
aleatoare este realizata hardware. Testele sunt aplicate direct atât
circuitului testat cât si unui circuitului martor presupus corect. Defectul se
detecteaza prin compararea raspunsurilor.

b) Metoda simularii Monte-Carlo:


80 Fiabilitate si Diagnoza

În esenta metoda consta într-o analiza cu ajutorul unei simulari a


defectarilor de detectat. Semnalele de intrare sunt obtinute aleator cu o
subrutina de generare aleatoare a numerelor 0 si 1. Se determina apoi cu
ajutorul unui simulator de circuite logice cu injectie de defect, abilitatea
fiecarui vector test (combinatie a semnalelor de intrare) de a detecta
diferitele defectari din circuit, conform unei liste de defectari.

3.4. Procedee de derulare a unui test

Procedeele de derulare a testelor pentru sistemele digitale pot fi


secventiale si combinationale.
1. Metoda testarii multiflux. În cadrul acestei metode cel de-al i-lea
vector test este determinat pe baza raspunsurilor la cei i-1 vectori test
anteriori. Se obtine un arbore de diagnostic în care fiecare defectare
corespunde unei ramuri, dar nu în mod necesar si invers, iar terminatiile
ramurilor corespund locurilor unde testarea s-a oprit, când s-a identificat o
defectare.
2. Metoda testarii uniflux. Cel de-al i-lea vector test este
independent de vectorul test anterior. Aplicarea testelor într-o ordine
prestabilita conduce la un dictionar al defectelor, care faciliteaza
diagnosticarea ulterioara a acestora.
Cu toate ca prezinta inconvenientul necesitatii memorarii
rezultatelor intermediare, metoda testarii multiflux are avantajul de a fi mai
rapida, deoarece sunt aplicate numai combinatiile de teste necesare.
Dimpotriva, metoda testarii uniflux nu necesita memorarea rezultatelor
testelor, dar este mai lunga, deoarece trebuie reluate toate testele chiar daca
s-a identificat o defectare.
În concluzie, în ceea ce priveste metodele de generare a secventelor
de test, se impune elaborarea unor metode optime pentru generarea
secventelor de test atât din punct de vedere al lungimii secventelor de test,
dar si din punct de vedere al efortului necesar generarii acestor secvente.
Aceasta implica proiectarea sistemelor încât sa fie usor testabile. În ceea ce
priveste automatizarea testelor nu este suficient un program unic pentru
fiecare sistem, ci este preferabila utilizarea unui sistem de testare având la
baza o biblioteca de programe care:
- folosesc proprietatile de simetrie si regularitate a diferitelor
circuite ale sistemului;
- faciliteaza modificarile ce trebuie aduse testului ca urmare a unei
Diagnoza 81

schimbari de conceptie în sistem .

4. Toleranta la defectari
Toleranta la defectari a unui sistem este un atribut arhitectural al
acestuia care face posibila functionarea sistemului chiar daca în structura sa
intervin unul sau mai multe defecte; lucru realizabil printr-o suplimentare a
partii hard si/sau soft din structura sistemului care va actiona atunci când
are loc un defect, în sensul pastrarii functiilor sistemului, fie prin mascarea
defectelor, fie prin detectia defectarilor si reconfigurarea corespunzatoare a
sistemului.
Toleranta la defectari a sistemului este o necesitate în câteva
domenii de activitate, cum ar fi:
- domenii in care functionarea anormala a sistemului poate pune în
pericol vieti omenesti (ex.: transport, controlul proceselor în centrale
nucleare, etc.);
- domenii în care întreruperea neprevazuta a functionarii sistemului
cauzeaza pierderi financiare importante (ex.: controlul sistemelor
industriale, etc.);
- domenii în care nu este posibil accesul în vederea mentenantei
manuale a sistemului (ex.: echipamente de satelit, statii subacvatice, etc.).
O interpretare mai generala data tolerantei la defectari presupune ca
sistemul sa includa si abilitatea tolerarii defectarilor de proiectare,
nedetectabile înainte de utilizarea sistemului. Pentru ca sistemul sa fie
inclus în sfera sistemelor tolerante la defectari este necesar ca dezactivarea
hardware-lui sau software-lui afectat de erori sa fie realizata automat,
sistemul continuându-si functionarea pe baza elementelor redondante. În
sens strict un sistem este tolerat la defectari numai daca nu este necesara o
interventie externa care sa impieteze aceasta caracteristica.
Pentru implementarea tolerantei la defectari exista în general trei
tipuri de strategii ce pot fi folosite. Comuna tuturor strategiilor este
redondanta, fie o redondanta la nivel hard sau soft, fie o redondanta a
functiilor sistemului.

5. Logica fuzzy si justificarea aplicarii ei în testarea circuitelor


electronice

Multimile fuzzy constituie fundamentul unui concept matematic


propus de Zadeh în 1965. La baza acestui concept se poate observa dorinta
82 Fiabilitate si Diagnoza

de a dezvolta relatia dintre om si calculator. Logica bivalenta, transanta a


computerelor se dovedeste greoaie în comparatie cu logica infinit valenta,
nuantata proprie oamenilor. Exista similitudini între computere, masini
logice si oameni, care gândesc logic dar sunt marcati de intuitii si emotii.
Daca potentialele deosebite ale oamenilor si calculatoarelor ar fi
compatibile cât mai profund, rezultatul ar fi remarcabil.
Poate cel mai important atribut al multimilor fuzzy este abilitatea
de a exprima nuantele, intuitiile, experienta si subiectivitatea din gândirea
umana (inclusiv limbajul natural) într-o forma nedistorsionata. De aceea
aplicatiile fuzzy apeleaza la caracteristici specifice omului.
Testarea circuitelor electronice face parte din sistemele om-masina,
care utilizeaza colaborarea dintre oameni si calculator pentru a realiza ceea
ce fiecare în parte nu ar fi capabili sau doar cu un efort disproportionat.
Comunicatia dintre acestia este foarte importanta. Una dintre problemele
care trebuie rezolvate este simplificarea proceselor de interfata de la om la
masina. Pentru o comunicare de înalt nivel, gradul de întelegere al masinii
trebuie sa creasca astfel încât sa înteleaga limbajul natural si informatiile
descriptive. Problema pereche este comunicarea masina-om, într-o forma
care sa stimuleze creativitatea si judecata sintetica.
În prezent, se încearca rezolvarea acestei comunicari utilizând
modele matematice, pe întelesul celor doi care comunica. Multe modele
sunt utilizate în stiinta si tehnologie, cele mai bine definite fiind cele care
modeleaza fenomene fizice. Cu o verificare stricta a modelului în lumea
fenomenelor fizice, dupa definirea modelului este usor sa se obtina
informatii cantitative. Exista însa situatii, în care sunt implicati oamenii cu
experienta lor, când este nevoie sa se faca multe presupuneri pentru a putea
introduce legi simple. Daca problema e complexa necesita presupuneri
numeroase si într-o problema nuantata este greu de stabilit care
presupunere e adevarata. Pe de alta parte un model foarte precis are
dezavantajul ca este prea transant.
Alt tip de modele nu pornesc de la legi fizice ci modelarea se face
prin procese statistice. Desi mult folosite, interpretarea acestor modele nu
este usoara si nu exista garantia conformitatii cu realitatea. Desi sunt
exprimate cantitativ, trebuie întelese calitativ. În stiinta însa decizia nu
poate fi hotarâta de majoritate.
Modelele logice diferite de cele matematice, sunt în general modele
structurale. Se stabilesc principalii factori care determina problema în
discutie si relatiile între acesti factori sunt reprezentate grafic. Sunt modele
Diagnoza 83

calitative utile pentru problemele nuantate deoarece proprietatile structurale


apeleaza la simtul vizual. Desi este un model, intuitia umana este necesara
pentru interpretarea dar si pentru transpunerea în cuvinte a modelului.
Problema acestor modele structurale este definirea relatiilor, care sunt
transante, exista sau nu exista relatii.
Un alt model logic este logica cu predicate. Utilizata în inteligenta
artificiala, ea formeaza baza cunostintelor ingineresti. În logica cu predicat,
indiferent de obiectivitate sau subiectivitate, cunostintele umane sunt
exprimate sub forma unor propozitii. Propozitiile alcatuiesc un model scris
deci pot descrie un proces nuantat. La scrierea propozitiilor, definitiile si
întelesul lor trebuie exact precizat. Problema principala a acestor modele
este relatia dintre precizie si logica bivalenta.
Ca o concluzie, nici un model prezentat pâna acum nu poate fi
folosit cu succes în probleme nuantate, care sa satisfaca nevoia punerii în
acord a unor contradictii de genul: logic si ilogic, subiectiv si obiectiv,
calitativ si cantitativ, nuantare si precizie. La modul ideal, se doreste
exprimarea acestor contradictii în forma în care sunt incluse în gândirea
umana.
Teoria multimilor fuzzy realizeaza partial acest deziderat. Aceasta
teorie este dedicata exprimarii nuantarii din limbile naturale. Daca însa
problema nu este înteleasa, rezultatele vor fi nesatisfacatoare. Ca orice
model , are parti bune si rele. Utilizarea modelelor fuzzy fara discernamânt,
duce la imposibilitatea interpretarii rezultatelor.
Pentru a întelege caracteristicile multimilor fuzzy si aplicarea lor la
modelele fuzzy, fie urmatoarea divizare în doua categorii "modele cu
multimi" si " nuantare" ("fuzzyficare").
Multimile sunt grupuri de constante, variabile, functii ale sistemului
pe care îl descriu. Descrierea cu multimi este macroscopica si mai generala
decât în cazul modelelor care nu se bazeaza pe grupuri. Daca starea si
constrângerile unui sistem, evaluarea intrarilor si iesirilor sunt exprimate cu
multimi, se introduce un grad de nuantare. Legile sistemului (relatia intrari-
iesiri) sunt de fapt corespondente exprimate prin relatii între multimi.
Utilizarea multimilor pentru corespondente face ca modelul sa fie
matematic, fiind permise si operatii logice, deci avem un model logic.
Modelul logic cu multimi e putin cunoscut de aceea definirea multimilor
si a relatiilor dintre ele trebuie facuta cu grija, semnificatia lor bine
înteleasa. Altfel chiar cu logica cu predicat, rezultatele vor fi minime, mai
ales din cauza flexibilitatii propozitiilor.
84 Fiabilitate si Diagnoza

Trecerea la multimi fuzzy - nuantarea - se face prin gradarea


granitelor multimilor obisnuite care caracterizeaza starea, relatiile,
scopurile sistemului. Chiar daca granitele sunt gradate, vagi nuantate
structura logica nu este. De aceea trebuie înteleasa foarte bine semnificatia
multimii fuzzy în contextul sistemului studiat. Multimile fuzzy si logica
fuzzy înlatura lipsa de realism a împartirii continutului limbajului natural si
propozitiilor în doua categorii: adevarat si fals. Multimile fuzzy pot
exprima situatii nuantate, bazate pe subiectivitatea, experienta, bunul simt
specific uman.
În cazul testarii circuitelor electronice, scopurile principale sunt
exprimarea experientei umane si bunului simt într-o forma pe care
computerul o poate întelege si imitarea judecatii si întelegerii umane
generale în problema gasirii defectelor.
Oricare ar fi modelul (fuzzy sau nu) al unui sistem electronic
include: variabile de stare, variabile independente, variabile de decizie, legi
cauza-efect, constrângeri, functii de evaluare, constante. Chiar daca toate
aceste elemente au fost transpuse în termenii multimilor fuzzy, ele nu
alcatuiesc înca un model. Aceasta deoarece un model este determinat când
se reuseste exprimarea concisa a esentei problemei reale. De asemenea
nuantarile efectuate nu sunt independente, ci exista relatii mutuale între ele.
Exista doua metode de dezvoltare a modelelor fuzzy: cu legile cauza-efect
(legile cauza-efect definite cu reguli fuzzy pentru operatii cu multimi,
regulile de compozitie si rationamentul aproximat exprima relatiile dintre
variabilele descrise cu multimi fuzzy) si tranzitia (ecuatii transante, non-
fuzzy exprima relatia cauza-efect si se utilizeaza multimi fuzzy pentru
descrierea variabilelor - principiul extensiei).
Dezvoltarea unui model fuzzy urmeaza doua etape. Prima etapa
cuprinde definirea multimilor si relatiilor logice. A doua etapa este
nuantarea, conversia în multimi fuzzy, însotita de interpretarea, întelegerea
modelului fuzzy.
Aplicarea teoriei multimilor fuzzy este strâns legata de gândirea
umana, poate fi denumita simulare a umanului. Dezideratul major al logicii
fuzzy este de a selecta aspectele umane pozitive si de a compensa
neajunsurile gândirii umane. Trebuie facuta o distinctie clara între
întâmplare si nuantare, amândoua aspecte ale incertitudinii. Conceptul de
întâmplare este definit în cadrul teoriei probabilitatilor. Nuantarea este
ambiguitatea continuta în semnificatia unui cuvânt. Deci, multimile si
logica fuzzy ofera o modalitate de a exprima pe întelesul calculatoarelor,
Diagnoza 85

abilitatea umana de a gândi si judeca nuantat, existând astfel posibilitati de


aplicare extinse, inclusiv în domeniul ingineresc.
Testarea circuitelor electronice presupune o diagnoza. Diagnoza,
presupune stabilirea functionarii corecte sau incorecte, cu defecte.
Defectele sunt definite prin devieri ale unor caracteristici de la valoarea lor
normala. Defectele pot fi localizate la diferite niveluri de detaliere: aparat,
grup de placi, placa, bloc functional sau piesa. Oricare ar fi localizarea
defectelor trebuie specificata natura (tipul) defectiunii si eventual gradul de
defect sau gradul de încredere în diagnosticarea defectului. De multe ori
diagnoza este legata de aducerea la normal, înlaturarea defectului, adica de
depanare.
În special în faza de început a aparitiei unui defect exista informatii
vagi, nuantate, senzoriale (sunete intermitente, miros de ars, temperatura
mai mare) care caracterizeaza aceasta faza. Când se elaboreaza un
diagnostic se folosesc infomatii nuantate exprimate lingvistic de catre
oameni cu experienta în domeniu. Legile cauzale, cauza-efect, sunt
exprimate ca ecuatii relationale fuzzy defect (cauza) - simptom (efect). Este
greu si uneori imposibil de construit un model matematic sau statistic al
procesului de decizie în diagnosticul defectelor. Modelele logice sunt cele
mai potrivite, iar modelul fuzzy este singurul care este capabil sa traduca
într-un limbaj înteles de calculator abilitatea umana de a judeca, decide pe
baza unor informatii nuantate provenite din experienta.
Diagnoza defectelor utilizeaza informatii calitative despre
comportarea sistemului analizat, informatii care uneori sunt inexacte,
incomplete si nu absolut sigure. Iata de ce diagnosticul trebuie sa faca fata
ambiguitatii, nuantarii cuprinse în perceptia subiectiva a fenomenelor de
catre expertul uman în domeniu si în experienta diagnosticianului uman.
Natura lingvistica de exprimare a cunostintelor, experientei operatorului
uman in diagnoza defectelor este greu de codat si procesat sub forma
simbolica. O serie de încercari în acest sens au fost deja facute, fie prin
procesarea informatiilor statistice disponibile (procesarea arborelui
defectelor - fault tree) diagnostic cu logica bazata pe modele cauzale
probabilistice, fie prin procesarea informatiilor calitative (structurale,
functionale, statistice, comportamentale) ale sistemului diagnosticat prin
tehnici proprii inteligentei artificiale. Principalele dificultati ale acestor
abordari sunt:
- complexitatea modelului diagnosticului (modelul diagnosticului =
informatiile lingvistice obtinute de la operatorul uman, structurate în
86 Fiabilitate si Diagnoza

dependente simptom-defect astfel încât sa faciliteze o decizie eficienta)


care este dificil de implementat pentru procesele tehnice care sunt ele însele
complexe;
- cantitatea mare de date care trebuie procesate pentru a obtine un
diagnostic eficient;
- dificultatea de a codifica si procesa informatii lingvistice, una din
sursele principale de cunostinte despre comportarea sistemului
diagnosticat;
- dificultatea de a lucra cu informatii nuantate;
- absenta informatiilor statistice necesare pentru abordarile
probabilistice care necesita observatii pe timp îndelungat;
- observatiile subiective ale operatorului uman nu pot fi procesate
ca simptom, considerând intensitatea sau caracteristicile lor;
- dificultatea de a integra diferite categorii de cunostinte (analitice,
statistice, euristice) ce urmeaza sa fie procesate pentru un diagnostic
consistent.
Abordarea diagnozei defectelor cu logica fuzzy a demonstrat
avantajele acesteia când se lucreaza cu informatii euristice obtinute de la un
expert uman. Logica fuzzy ofera un cadru adecvat pentru lucrul cu
informatii exprimate lingvistic, nuantate, neprecizate exact. Aceste avantaje
devin importante când nu se dispune de date statistice suficiente
(probabilitatea de aparitie a unui defect când s-au detectat un anumit grup
de simptome).
Atunci când abordam informatiile nuantate pe care le include
modelul fuzzy, trebuie considerata si nuantarea proprie fiecarui om care
participa la diagnoza, mai exact subiectivitatea si nu în ultimul rând
volumul de experienta acumulata în domeniul testarii circuitelor
electronice.