Defectele In Circuite Digitale
INTRODUCERE
În realizarea echipamentelor electronice complexe folosite azi în industrie și cercetare, mai cu seamă a sistemelor de calcul, cerințele privind asigurarea unei fiabilități cât mai înalte cresc în mod spectaculos. Aceste cerințe sunt cu atât mai stringente la computerele care operează în timp real sau cu diviziune în timp. În acest context, testarea funcționării corecte care trebuie făcută după tehnici riguros precizate, se individualizează tot mai mult ca o activitate cu mare pondere în întreținerea sistemelor.
Odată însă cu creșterea continuă a complexității circuitelor, crește aproximativ liniar cu aceasta și complexitatea măsurătorilor necesare testării funcționării corecte. De asemeni, efortul de testare crește exponențial cu numărul de intrări și de ieșiri ale subansamblului studiat.
În aceste condiții, apare ca vitală asigurarea unei eficiențe deosebite a muncii de testare, care, în caz contrar, poate întrece volumul de mijloace financiare și de timp cerut de realizarea întregului produs.
De aceea, deosebit de important este să se ia în considerație, încă din faza de proiectare a circuitelor, și testabilitatea acestora. Testabilitatea trebuie gândită ca un efort concentrat de asigurare a unei eficiențe maxime pe parcursul întregului ciclu de viață al produsului, din faza concepției și proiectării, trecând prin producție, până la service-ul din timpul exploatării.
În termeni cantitativi, testabilitatea este definită ca măsura ușurinței ce care se pot scrie și executa programe de testare comprehensive, ca și a facilităților în izolarea componentelor, subansamblurilor și sistemelor defecte.
Testabilitatea produsului trebuie prevăzută din faza de proiectare; de aceea, testabilitatea trebuie privită ca parte a specificațiilor funcționale pe care sistemul proiectat trebuie să le respecte. Înaintea acceptării proiectării fiecărui sistem, trebuie prevăzute modalitățile de testare a sa în timpul fazelor proiectării, în producție și în câmpul de aplicație al produsului.
Din observațiile expuse mai sus rezultă principalele avantaje ale proiectării când se ține cont de necesitatea testabilității:
scăderea timpului cerut de trecerea produsului din faza proiectării în cea a producției;
reducerea efortului proiectului de urmărire a asimilării în fabricație a produsului;
scăderea costurilor totale de fabricație și creșterea beneficiilor;
optimizarea transferului de informație dintre personalul din proiectare și cel din producție (testare);
scăderea loturilor inițiale și de-a lungul ciclului de viață, având ca urmare sporirea vânzărilor;
scăderea timpilor de testare și reducerea întârzierilor în producție;
sporirea puternică a productivității muncii de service, deoarece diagnoza și depanarea devin mult mai eficiente.
Lucrarea de față studiază obținerea algoritmilor de testare a circuitelor logice combinaționale și unele abordări ale testării circuitelor logice secvențiale. De asemenea, pentru că gestionarea manuală a testelor este foarte dificilă la circuitele complexe sau duce la seturi de teste de slabă calitate, se vor studia tehnici de automatizare a testării, prin folosirea programelor în limbaje evoluate (C++).
Programul de gestionare automată a testelor are :
ca intrări: descrierea codificată a circuitelor logice respective, precum și setul defectelor de diagnoză (aproape totdeauna, defectele de conectare de tip S-a-0 (“stuck at 0”=”fixat la 0”) sau S-a-1;
ca ieșiri: setul de teste cu rezultatele corecte așteptate, precum și toate informațiile necesare diagnosticării automate.
Setul de teste automat trebuie să îndeplinească următoarele condiții:
detectarea a minimum 95% (uneori 99%) din totalul defectelor posibile;
repetabilitatea testelor (testele dau aceleași rezultate, nefiind influențate de stări inițiale diferite ale circuitului);
izolarea automată și rapidă a defectelor;
actualizarea rapidă a testelor, corespunzătoare unor modificări introduse în proiectarea circuitelor logice de testat;
încrederea în corectitudinea testelor;
compatibilitatea cu o bază de date deja existentă, verificată, utilizată anterior în proiectarea automată a circuitelor, care conțin toate informațiile despre circuitele logice de testat, necesare generării testelor.
În concluzie, setul de teste trebuie să fie:
complet (să detecteze (aproape) toate defectele ce pot apare);
minim posibil, pentru a minimiza timpul cerut de această funcționare ce servește asigurării menționate.
Odată defectul detectat, teste suplimentare pot deveni necesare pentru a identifica modulul defect.
Defectele pot fi studiate pe două mari nivele ierarhice: nivelul ansamblului (compus din module interconectate) și nivelul modulelor corespunzătoare unei plachete. Acest al doilea nivel va fi studiat în această lucrare.
Defectele în circuitele logice pot fi:
complete (duc la funcționarea diferită a circuitului);
parțiale (degradează unii parametri electrici, statici sau dinamici ai circuitului).
Defectele parțiale (cum ar fi cele care afectează curenții, tensiunile, formele pulsurilor, întârzieri ale semnalelor, reflexii, hazardul), fără a modifica funcțiile logice ale circuitului, nu se vor studia aici; ele se detectează prin măsurarea unor parametri analogici. Aceste defecte pot fi corectate prin realizarea de conexiuni mai scurte, adaptare, izolare și proiectare care exclude hazardul.
Totalitatea defectelor unui circuit se împarte în clase de echivalență, ale căror elemente sunt indistinctibile, orice teste s-ar aplica (comportarea circuitului va fi aceeași, în oricare din aceste situații). Pentru diagnosticarea unui defect dintr-o clasă e necesar accesul în interiorul circuitului logic și verificarea succesivă a tuturor defectelor potențiale din clasa respectivă.
Ipoteze simplificatoare pentru obținerea testelor
1. Obținerea testelor e mult simplificată dacă circuitul nu poate avea mai mult decât un singur defect în orice moment. Această presupunere, folosită în majoritatea metodelor de obținere a testelor, este justificată numai când testarea este suficient de frecventă pentru ca probabilitatea producerii a mai mult decât un defect între două testări să fie neglijabil de mică cu mai multe ordine de mărime mai mică decât probabilitatea producerii unui defect, și ea relativ scăzută.
2. De asemenea, probabilitatea producerii unui singur defect fizic care implică mai multe erori logice simultane va fi tot neglijabil de mică. Chiar în acest caz, ipoteza unui singur defect poate să nu fie validă la testarea inițială a circuitului.
3. În evoluția circuitelor, de la circuitele DRL (diode-resistor logic) la DTL (diode-transisor logic), TRL (transistor-resistor logic) și TTL (transisor-transistor logic), cele mai multe defecte pot fi reprezentate printr-o intrare sau ieșire a unei părți ca fiind S-a-0 sau S-a-1. Această presupunere este valabilă la majoritatea cazurilor discrete și integrate.
Ex. 1: Un defect mai complex care se poate analiza similar cu defectele S-a-0 și S-a-1 este reprezentat în figura 0.1. (se presupune logica pozitivă).
Figura 0.1.
În cazul: se obține :
, valoare ar avea B.
Ex. 2: Un alt exemplu de asemenea circuit este redat în figura 0.2.
Figura 0.2.
poarta OR1 este scurtcircuitată
În situația: , și sunt forțate
A=1
în 1 pentru cazul logicii negative, () B.
Ex.3: Porțile logice NAND (NOR) se studiază ca porțile AND (OR), urmate de inversor.
Ex. 4: Un exemplu de defect mai complex care nu poate fi reprezentat prin cazurile S-a-0 și S-a-1 este cel din figura 0.3:
Figura 0.3.
În cazul porților DTL-NAND în logică pozitivă, dacă ieșirile celor doi NAND sunt conectate împreună din greșeală, rezultă că cele două ieșiri devin egale cu ȘI-ul ieșirilor celor două NAND-uri, ca în figura 0.4:
Figura 0.4.
Ex. 5: Analog, scurtcircuitând ieșirile de NOR-uri, realizate în logică negativă, rezultă că cele două ieșiri (X și Y) sunt egale cu OR-ul celor două porți NOR.
S-a constatat că prin defectele S-a-0 și S-a-1 se pot reprezenta și o serie de alte defecte: defecte multiple, de scurtcircuit, de implantare, etc.
În plus, testând defectele prin prisma cazurilor S-a-0 și S-a-1, se definește un număr mai ușor de urmărit de efecte posibile, cu efect benefic în realizarea, mai ales, a secvențelor de testare automată.
4. Circuitul de studiat este accesibil numai prin intrările și ieșirile sale. Eventualele puncte de testare standardizate pot fi privite ca ieșiri din circuit. Alte intervenții în circuit nu sunt posibile. Acest fapt este valabil atât la conexiunile de pe o plăcuță, cât și în interiorul componentelor integrate.
Obiective urmărite la testarea circuitelor
Testând circuitele, se au în vedere, în general, două obiective:
a urmări dacă circuitul are defecte sau nu (detecția eventualelor defecte);
a preciza unde anume în circuit este localizat un anume defect (localizarea defectelor).
Este adevărat că, după un rezultat pozitiv în detecția defectelor, se urmărește în gene4ral și localizarea defectului în vederea depanării; totuși, este utilă desfășurarea altor experimente pentru detecția defectelor decât pentru localizarea lor (experimentele pentru localizare sunt, în general, mult mai costisitoare decât cele pentru detecția defectelor). În plus, pentru localizare se recomandă procedura adaptivă (a condiționa continuarea experimentului de date intermediare). Prin urmare, pentru detectarea defectelor s-au dezvoltat teste specifice.
Defectele în circuite digitale
În această lucrare se vor studia defectele care apar în circuite cu sau fără LATCH-uri. Aceste defecte se manifeste când circuitul nu mai lucrează la parametrii proiectați (nu se studiază nici defectele de proiectare).
Clasificarea generală a defectelor dintr-un circuit
Defectele ce apar în circuite pot fi: permanente (“permanent fault”) și intermitente (“intermitent fault”). Defectele intermitente se manifestă instabil în timp; efectele lor nu sunt reproductibile. Defecte intermitente mai des întâlnite sunt contactele intermitente și influențele perturbațiilor externe, inductive sau capacitive.
Cercetarea sistematică a defectelor intermitente în circuite este foarte dificilă din cauza ireproductibilității acestor defecte. Unele principii de detectare a lor reies din repetarea permanentă a testelor pentru defecte permanente, planurile de inspecție determinându-se cu ajutorul unor modele statistice.
Trebuie remarcat că trecerea de la defecte intermitente la defecte permanente este continuă: defecte intermitente cauzează deseori, în cele din urmă, defecte permanente; pe de altă parte, defectele intermitente pot fi considerate ca defecte permanente pe durata apariției lor (exemplu: contactele intermitente).
Tabelul 1 prezintă o clasificare generală a defectelor.
Clasificarea defectelor ce pot apare în circuite digitale
Tabelul 1
A) Prin “defectele statice care duc la creșterea complexității structurii” se înțeleg defectele care conduc la apariția de noi bucle de reacție sau de noi LATCH-uri în circuit (eventual chiar la apariția dependenței logice de mărimi exterioare circuitului). Primei categorii îi corespunde creșterea numărului de variabile de stare; ultimei categorii – creșterea numărului de variabile de intrare.
Ex: 1) scurtcircuite între conductoare ale unor semnale reciproc dependente:
inversarea contactelor;
implantarea greșită.
Toate cazurile anterioare pot duce ușor la bucle de reacție suplimentare; în acest caz a apărut defectul de creștere a complexității circuitului (de exemplu, un circuit simplu se poate transforma astfel în circuit secvențial asincron).
B) Defectele de “apariție a valorilor nedeterminate” se cuprind, cel mai des, în categoriile:
scurtcircuite;
distrugerea cipurilor.
Cazurile anterioare se cuprind în categoria “B” dacă ele fac ca tensiunile să nu mai corespundă valorilor binare 0, respectiv (când tensiunea rezultantă este între valoarea impusă lui 0 și cea impusă lui 1.
abaterile tensiunsiderate ca defecte permanente pe durata apariției lor (exemplu: contactele intermitente).
Tabelul 1 prezintă o clasificare generală a defectelor.
Clasificarea defectelor ce pot apare în circuite digitale
Tabelul 1
A) Prin “defectele statice care duc la creșterea complexității structurii” se înțeleg defectele care conduc la apariția de noi bucle de reacție sau de noi LATCH-uri în circuit (eventual chiar la apariția dependenței logice de mărimi exterioare circuitului). Primei categorii îi corespunde creșterea numărului de variabile de stare; ultimei categorii – creșterea numărului de variabile de intrare.
Ex: 1) scurtcircuite între conductoare ale unor semnale reciproc dependente:
inversarea contactelor;
implantarea greșită.
Toate cazurile anterioare pot duce ușor la bucle de reacție suplimentare; în acest caz a apărut defectul de creștere a complexității circuitului (de exemplu, un circuit simplu se poate transforma astfel în circuit secvențial asincron).
B) Defectele de “apariție a valorilor nedeterminate” se cuprind, cel mai des, în categoriile:
scurtcircuite;
distrugerea cipurilor.
Cazurile anterioare se cuprind în categoria “B” dacă ele fac ca tensiunile să nu mai corespundă valorilor binare 0, respectiv (când tensiunea rezultantă este între valoarea impusă lui 0 și cea impusă lui 1.
abaterile tensiunii de alimentare care fac ca o tensiune de semnal să fie în afara limitelor toleranțelor pentru valoarea logică 0, respectiv 1.
Defecte logice
Această lucrare va studia algoritmii de testare a circuitelor în vederea detectării defectelor logice.
Definiție. Defectele logice sunt defecte permanente, statice, care modifică în mod univoc compararea logică a unui circuit, fără a crește complexitatea sa logică.
Neconsiderând deci creșterea complexității, rămân în această clasă defectele:
conductoare întrerupte;
scurtcircuite;
lipituri “reci”;
inversări de conexiuni;
implantarea defectuoasă cu componente;
distrugerea unor componente.
Defectele logice pot fi exprimate cu ajutorul funcțiilor logice; în situația unui defect logic, una sau mai multe variabile zk sunt descrise de funcția de eroare zk=hk(X), în locul funcției standard zk=gk(X), unde:
hk(X)gk(X);
X=vectorul de intrare.
In cazul circuitelor secvențiale, funcția standard are expresia: zk=gk(Q,X), iar funcția de eroare: zk=hk(Q,X).
Dacă doar o variabilă este afectată de defect, defectul se numește “singular”; în cazul mai multor variabile afectate, se spune că a apărut un “defect multiplu”.
Scurtcircuitele între conductoare de semnal și inversările de contacte sunt, în spiritul celor de mai sus, totdeauna defecte multiple, deoarece afectează minimum două variabile.
La un conductor de semnal ramificat, defectele singulare pot apare la oricare din ramificații sau la trunchiul lor comun; în această situație, de fapt, defectul la trunchiul comun corespunde unui defect multiplu, care va afecta ramurile circuitului.
Clase de defecte logice
Defecte de conectare
O mare parte din defectele logice se manifestă ca și cum una din intrări (ieșiri) sau mai multe ar avea mereu potențial “0” sau “1”. Aceasta e valabil în special la următoarele defecte ce apar în practică:
conductoare întrerupte;
scurtcircuit între un conductor de semnal și un conductor de alimentare;
lipituri “reci”;
distrugerea unor componente.
Toate aceste defecte se vor numi, în continuare, “defecte de conectare” (“stuck-at faults”).
Definiție: Defectele de conectare sunt defectele logice care se manifestă ca si cum intrări sau ieșiri ale unor componente ar fi conectate permanent la tensiunea “0” sau “1”.
Descrierea unui defect de conectare la intrarea sau ieșirea unei componente se face cu ajutorul unei funcții de eroare speciale, pentru variabila alocată zk:
pentru defectul “zk mereu în 0”:
zk=hk(X)=fn=funcția nulă;
pentru defectul “zk mereu în 1”:
zk=hk(X)=fe=funcția unitate.
În continuare, în întreg capitolul introductiv și în capitolul 1 se vor folosi notațiile:
în loc de zk=fn: zk/0;
în loc de zk=fe: zk/1.
Defecte de scurtcircuit
În această categorie se cuprind doar scurtcircuitele între două conductoare de semnal (scurtcircuitele între un conductor de alimentare și unul de semnal se consideră defecte de conectare, care s-au studiat în subparagraful I ).
După cum scurtcircuitul are tensiunea dominantă “0” (o tensiune nulă și o tensiune unitară conduc, la scurtcircuit, la o tensiune nulă) sau “1” (tensiunea egală cu 0 și cea egală cu 1, creează, prin scurtcircuit, o tensiune “1”), scurtcircuitul va corespunde conectării de tip AND (ȘI), respectiv OR (SAU), a variabilelor afectate de scurtcircuit (“wired AND”, respectiv “wired OR”). Care din cele două valori va domină în cazul scurtcircuitului, depinde de parametrii tehnologici ai familiei de circuite folosite și de alocarea valorilor 0, respectiv 1, domeniilor de tensiune.
Fie zki(i=)=variabile afectate de scurtcircuit;
gki(i=)=funcțiile standard ale variabilelor zki în cadrul funcționării corecte.
Fie: k1, …,k, …,k=1, …,
= numărul variabilelor interne zk; (k=); .
Cu notațiile anterioare aste valabilă definiția următoare:
Definiție: 1) Efectul unui scurtcircuit AND între variabilele zki (i=) se manifestă astfel încât funcția de eroare hki(X), (i=) este egală cu conjuncția funcțiilor standard gkj(X), (j=), pentru toate variabilele zki;
hki(X)= (i=).
2) La un scurtcircuit OR, funcția de eroare hki(X), (i=) este egală, pentru () zki, cu disjuncția funcțiilor standard gkj(X), (j=):
hki(X)= (i=).
3) Dacă nici tensiunea nulă, nici cea egală cu “1” nu domină, atunci scurtcircuitul fie că influențează în alt mod funcțiile logice ale variabilelor afectate (de exemplu, apariția unei funcții treaptă), fie tensiunea rezultantă a scurtcircuitului este în domeniul nedefinit și nu poate fi alocată nici valorii “0”, nici lui “1” (apare un defect static de apariție a unei valori nedefinite, ca în tabelul 1 al acestui capitol). Acest defect ca și situațiile în care prin scurtcircuit crește complexitatea structurii, nu sunt defecte logice.
Defecte de interschimbare
Această categorie cuprinde:
a) – inversarea a două contacte sau a două conductoare ale componentelor;
b) – interschimbarea a două componente (defecte de implantare).
La inversarea a două contacte sau a două conductoare care au alocate variabile zk și zl, defectul se scrie astfel:
, unde :
gk(X)= funcția standard pentru zk;
gl(X)= funcția standard pentru zl;
hk, hl sunt funcțiile de eroare pentru variabilele zk, respectiv zl.
b) Defectele de implantare falsifică funcțiile standard ale variabilei de ieșire a circuitului.
Fie: e1, …,el= variabilele de intrare ale componentelor respective;
a=variabila de ieșire a componentei respective.
La implementarea corectă (cu componenta A) este valabilă relația:
a=g(e1, …,el)=fA(e1, …,el);
iar la implementarea, din greșeală, a componentei B:
a=h(e1, …,el)=fB(e1, …,el).
Funcția fA redă dependența ieșirii de intrare când se folosește componenta corectă, A; fB redă dependența ieșirii de intrări în cazul folosirii, din greșeală, a componentei B.
Posibilitatea detectării defectelor
Definiția 1: Un defect se numește ”detectabil” sau “critic” dacă se repercutează asupra variabilelor de ieșire ale circuitului indiferent în ce mod; în cazul defectelor logice, efectul este falsificarea valorii cel puțin a unei variabile de ieșire:
Yj=fj(X), unde:
X= vectorul de intrare.
Definiția 2: Se numesc “necritice” defectele nedetectabile din exterior; ele nu influențează mărimile de ieșire pentru că ele nu pot schimba vreun parametru, nici măcar la locul defectului, sau pentru că, datorită redundanței schemei, efectele lor asupra structurii intere a circuitului nu se reflectă asupra ieșirilor schemei.
Exemplul 1: Figura 0.5. prezintă trei defecte logice necritice la un circuit AND; în toate cazurile este valabilă relația din cazul funcționării corecte:
d=abc
POZA Figura 0.5.
Cazul A prezintă funcționarea normală a circuitului: d=aabc=abc.
Cazul B prezintă circuitul cu un defect de conectare necritic (S-a-1): d=1abc=abc.
Cazul C prezintă o situație de scurtcircuit AND necritic: d=aabc (domină nivel 1).
Cazul D înfățișează același circuit, dar afectat de un defect necritic de interschimbare:
d=abbc=abc.
Exemplul 2: Figura 0.6. prezintă un defect care se remarcă pe plan local, dat la ieșire este nedetectabil.
A B
Figura 0.6.
Circuit cu implementare redundantă
Cazul A prezintă circuitul fără defecte.
Cazul B prezintă circuitul cu un defect necritic de conectare (S-a-1). Ca urmare a întreruperii ce afectează intrarea c, valoarea ieșirii din poartă devine: d=ab (în loc de d=abc).
Cu toate acestea, ieșirea y a circuitului va avea în ambele cazuri aceeași valoare :
.
Prin intervenții în circuit (introducerea de puncte de test pentru supravegherea valorii semnalelor interne) defectele necritice pot deveni critice. Însă aceste puncte suplimentare de test cresc numărul de variabile de ieșire (la testarea circuitului nu mai trebuie considerate cele n ieșiri, ci n+p ieșiri, unde p=numărul punctelor suplimentare de test). Prin urmare, ieșirile inițiale și noile puncte de test nu trebuie tratate separat în procesul testării. Se pot crea chiar algoritmi de plasare ideală a punctelor suplimentare de test.
CAPITOLUL I
Generarea vectorilor de test și stabilirea relațiilor între defectele din circuitele logice combinaționale pe baza diferenței booleene
1.1. Concepte și convenții
În această lucrare se vor trata circuite cu variabile binare; mărimile de intrare xi, variabilele de ieșire yj, și variabilele de stare qk ale acestor circuite combinaționale sau secvențiale sunt componente ale vectorului de intrare binar X, ale vectorului de ieșire Y și, respectiv, ale vectorului de stare Q:
X=(xn, xn-1,…,x1);
Y=(ym, ym-1,…,y1);
Q=(qp, qp-1,…,q1).
Definiția 1: Un vector se numește “determinat” dacă componentele sale au valori binare precizate.
Acești “vectori determinați” se reprezintă totdeauna indiciat:
Xi=(xn, xn-1,…,x1)i;
Yj=(ym, ym-1,…,y1)j;
Qk=(qp, qp-1,…,q1)k.
Definiția 2: Dacă într-un vector doar unele din componentele sale au valori determinate, în timp ce celelalte au valori arbitrare, vectorul se numește “incomplet specificat”.
Un vector incomplet specificat Xn corespunde unei mulțimi de vectori , ale cărei elemente sunt toți vectori determinați Xi pentru care elementele determinate din Xn coincid cu elementele respective din Xi.
Vectorii Xi sunt incluși în vectorul incomplet specificat: XiXn.
Exemplul 1: Fie: X=(x5, x4, x3, x2, x1)
Xn=(1, – , 1,0, – ).
Atunci =,
și este o valabilă, de exemplu, incluziunea .
Fiecărui vector incomplet specificat Xn=(xn, xn-1,…,x1)n îi este univoc asociat un “cel mai mic termen conjunctiv Kn” al variabilelor care ia valoarea 1 pentru toate combinațiile din Xn.
Exemplul 2: Fie:
.
Fiecărui vector complet determinat Xi îi este asociat în mod univoc minitermenul mi, care, pentru vectorul determinat Xi, ia valoarea 1.
Relațiile între diferitele variabile ale unui circuit se descriu prin funcții de circuit (fi). Pentru reprezentarea compactă, acestei funcții se restrâng în vectori de funcții:
F=(fl, fl-1, …,f1).
Dacă unui vector determinat îi este asociată, printr-o funcție y=f(X), o valoare a funcției y=1, atunci acest vector este vectorul-unitate determinat referitor la f(X); unui vector determinat nul îi corespunde valoarea 0.
Definiția 3: Un vector-unitate determinat se numește prim dacă nu e conținut în nici un alt vector-unitate al funcției f(X).
Definiția 4: Un vector –unitate determinat nul prim este acel vector determinat nul care nu este conținut în nici un alt vector nul al funcției f(X).
Termenii conjunctivi corespunzători vectorilor unitate (primi) sunt temeni unitari (primi; vectorilor nuli (primi) le corespund termeni nuli (primi).
Definiția 5: Dacă toți vectorii-unitate ai funcției fk sunt și temeni-unitate ai lui fl, atunci fk este inclusă în fl: fkfl.
1.2. Indicierea vectorilor determinați
Pentru evidențierea clară, vectorii determinați sunt prevăzuți cu indici octali.
Întâi se ordonează componentele vectorului corespunzător în ordine descrescătoare:
X=(xn,xn-1,…x1)
Componentele vectorului se interpretează ca cifrele numărului k, în cod binar; acest număr se trece apoi în octal (se separă câte trei cifre ale numărului în binar, începând dinspre dreapta).
Exemplul 3: Fie: Xk=(0,1,1,0,1,0,1,1).
Se obține: k=01 101 0112=1538.
Rezultă: (0,1,1,0,1,0,1,1)=X153.
Acest mod de indiciere se va folosi și pentru vectorii determinanți ai variabilelor care nu sunt indiciate succesiv; variabilele trebuie însă ordonate ca niște coordonate ale vectorului.
1.3. Diferența (diferențiala) booleeană
Diferența booleeană a fost folosită de diferiți autori ca metodă ajutătoare în proiectarea experiențelor componente ale planului de testare.
Și în această lucrare, se vor folosi:
diferența booleeană după o variabilă, pentru obținerea vectorilor determinanți pentru cazul defectelor simple în circuite;
diferența booleeană după mai multe variabile pentru studiul defectelor multiple în circuite combinaționale și al defectelor simple sau multiple în circuite secvențiale.
Diferiți autori au dat definiții diferite pentru diferența booleeană după mai multe variabile.
În această lucrare, în continuare, se folosesc definițiile următoare:
Definiția 6: Diferența booleeană a unei funcții y=f(xn,…,xk,…,x1) după o variabilă xk este:
Unde AB are semnificația:”A antiechivalent cu B” și .
Definiția 7: Diferența booleeană a unei funcții y=f(xk,…,xk,…,xk1) după mai multe variabile xk1,…,xk este:
unde .
Definiția 8: Diferența booleeană multiplă parțială a unei funcții: y=f(xk,…,xk,…,xk1) după variabilele xk1,…,xk este expresia:
Proprietăți ale diferenței booleene
1) Dacă funcția f este independentă de xi.
Demonstrație: (prin urmare, valoarea funcției f nu depinde de xi).
2) Dacă funcția f depinde permanent de xi.
Este valabilă si propoziția reciprocă.
În concluzie, se poate enunța propoziția:
2’) f(x) depinde de xi celelalte variabile au astfel de valori încât .
Se va arăta că funcțiile de test pentru defectele de tip “stuck at” au expresiile:
3.a) , pentru defectul “xi=S-a-0”;
3.b) , pentru defectul “xi=S-a-1”.
Dacă atunci f depinde condiționat de xi prin Fi=1.
;
;
;
;
;
;
Din proprietățile 3.a), 3.b) se va deduce:
Pentru un defect k în interiorul schemei vor trebui găsite:
ecuația în funcție de k a ieșirii z a circuitului: z=F(x1, x2,…,xn,xk)
ecuația lui k în funcție de intrări: k=k(x1, x2,…,xn).
Cu aceste notații, pentru defectul h’S-a-0, testul va fi:
.
1.4. Noțiuni generale privind generarea testelor
Un vector determinat Xk al intrărilor unui circuit la care se sesizează o valoare de ieșire eronată se numește vector determinat de test Ti pentru acest defect.
În general, un vector determinat al intrărilor este, în același timp, vector determinat pentru testarea mai multor defecte posibile.
Mai mulți vectori determinați de test (Ti) se reunesc într-o mulțime de test ():
=T1, T2, …, Tn=Xi, Xj, …, Xk; (indicierea vectorilor determinați de test s-a făcut pentru ușurința identificării; acești indici nu se referă la vectori parțiali determinați, ca la începutul acestui capitol).
Toți vectorii de test Ti existenți pentru un defect formează o mulțime completă relativă la acest defect: mulțimea de sondaj Tp. fiecărui defect îi este alocată o mulțime de sondaj definită.
Definiția 9: O mulțime de test T se numește completă în raport cu o mulțime definită de defecte, dacă fiecare defect critic din mulțime poate fi descoperit cu cel puțin un vector determinat de test Tc.
Definiția 10: O mulțime de test se numește minimală în raport cu o mulțime preimpusă de defecte dacă:
este completă și redusă;
nu există o mulțime de test completă, pentru care să se verifice :
(LT= se numește cardinalul mulțimii de test T= numărul elementelor lui T).
Definiția 12: Dacă pentru elementele unei mulțimi de test este necesară o ordine prestabilită, mulțimea de test se numește “succesiunea ordonată de vectori de test” (“test-folge”).
.
Pentru succesiunile ordonate de vectori de test se definesc completitudinea, minimalitatea și cardinalul la fel ca pentru mulțimea de test . În loc de “cardinal”, se folosește deseori noțiunea de “lungime” (a succesiunii de vectori).
In continuare, în această lucrare, se va folosi, prescurtat, denumirea “test” pentru:
vectori determinați de test (Ti);
mulțimi de test ();
succesiuni ordonate de vectori de test ().
1.5. Studii asupra defectelor în circuite digitale
În acest paragraf se vor introduce funcții de test ai căror vectori determinați unitari sunt vectori determinați pentru defectul respectiv; aceste funcții de test descriu efectele și posibilitatea testării defectelor logice. Din funcțiile de test se vor deduce ecuațiile pentru vectorii determinați de test.
Funcția de test pentru defecte multiple de conectare în circuite combinaționale se poate aplica și la studiul defectelor simple în circuite secvențiale.
1.5.1. Efectele defectelor logice simple
Comportarea logică a unui circuit cu variabilele de intrare x1 , … , xn si ieșirea y se descrie prin:
Y = X( xn , xn-1 ,… , x1 ) (1)
Pentru a putea studia si efectele defectelor logice in interiorul circuitului se introduc variabile interne zk:zk=gk(X). Orice variabilă internă poate fi și variabilă de intrare a circuitului (zk =xi), și variabila de ieșire (zk= yi).
Studiul efectelor unei defectări asupra variabilei zk trebuie să ia în considerație dependența variabilei de iesire y. Ecuatia (1) se rescrie atunci:
y=(X)=f(X,zk), cu : zk=gk(X) (2)
Un defect Hk privind variabila zk transformă circuitul CHk ,cu comportarea descrisă de relația (3):
y=(X)= f (X, zk), cu : zk = zk (X) (3)
Funcția de eroare hk(X) definește defectul logic Hk privind variabila zk:
Hk : < zk= hk (X)> ; zk(X)gk(X) (4)
Concluzie: Prin introducerea functiei zk=gk(X) se obține funcția (X) a circuitului fara defecte; prin introducerea functiei zk= hk(X), rezultă funcția k(X) a circuitului defect.
1.5.2. Ecuatia de test pentru defecte simple
Un defect Hk privind variabila zk se reflectă in variabila de iesire y in cazul tuturor vectorilor determinati de intrare xj pentru care k(Xj)Xj). Astfel, defectul devine sesizabil din exterior.
Fiecare di acesti vectori determinati Xj este un vector al funcției de test uk(X) :
uk(X)=((X)k (X))=(f(X,gk)f(X,hk)) (5)
Cu ecuațiile (2),(3) și folosind teorema dezvoltării a lui Shanon, din (5) se obține:
uk(X)=[gk(X) hk(X)]*[f(X, zk=C)f(X, zk=1) (6)
Primul termen al expresie (6) ia valuarea 1 când valorea impusă, în situția defectului. În acest termen se reflectă tipul defectului logic.
Al doilea termen ia valoarea 1 cănd diferența booleană: ,deci când lui y=f(X, zk). Rezultă că al doilea termen reflectă, in primul rănd, localizarea defectului.
Concentrat, ecuația (6) se rescrie:
(7)
Înlocuind în (7) valorile lui: f(x, zk), gk(X), hk(X), se obține pentru uk(X) funcția logică de variabilele de intrare x1 , … , xn ,ai cărei vectori determinați uniotari de intrare Xj fac defectul sesizabil la ieșire.
Teorema 1Un vector determinat de intrare Xj este determinat de test pentru un defect logic Hk ,care afectează varabila zk , dacă si numai dacă uk(Xj)=1.
Demonstrație:
a)Dacă uk(Xj)=1,din ecuația (5)
[(Xj)k(Xj)]=1(Xj)k (Xj).
Prin urmare, pentru vectorul de intrare Xj,valoarea de ieșire a circuitului pentru câtul prezentație defectelor diferă de cea pentru cazul fără defecte. Rezultă: Xj este un vector determinat de test .
Demonstrația implicației în sens invers:
Dacă ar exista un vector determinat orientat de test Xi pentru defectul
Hk, pentru care:
uk(X)=1, din ecuția (5)
((Xi)k(Xi))=0
(Xi)k(Xi).
Dacă variabila de ieșire a circuitului defect pentru Xi la intrare este
aceeași ca pentru circuitul funcționând corect, Xi nu poate fi vector determinat de test.
Exemplul 4:
Fie dat circuitul din figura 1.1:
Fig 1.1
Funcția de ieșire a circuitului are expresia:
Pentru a detecta un defectce afectează variabila v trebuie stabilită legătura: y=y(v).
în care v=(X)=gv(X)=c*b.
Se presupune ca defectul privind variabila v este un efect de interschimbare(poartă AND, care funcționează la ieșire variabila v, s-a inlocuit cu poarta OR).
Pentru circuitul defect:
unde v=hv(X)=cb.
Relația (7) implică:
,
deoarece: .
În continuare:
Vectorii determinați unitari ai lui uv sunt vectori ordonați de test pentru defectul Hv; ei formează mulțimea de test Tp:
Tp ={X04,X02,X15,X13}
După cum s-a mai precizat, indicii sunt octali, și se obțin di cei binari separănd căte 3 componente, dinspre dreapta; de exemplu, termenul .
1.5.3 Efectele defectelor logice multiple
Un defect logic multiplu constă în falsificareasimultană a mai multor variabile datorită defectelor logice.Aceste defecte pot consta atât în apariția simultană a unor efecte independente unele de altele sau în invers area contactelor de semnal, în scurtcircuite între conductoare de semnal sau sau în alte defecte ce afectează simultan mai multe variabile.
Fie un defect logic multiplu care afectează variabilele interne zk1, … , zk;fie{ k1,k2, … , k , … , k}, unde =numărul tuturor variabilelor interne zi.
Fie 1. Pentru studiul efectelor defectelor privind zk1, … ,zk trebuie studiată dependența veriabilei de ieșire y de variabilele zk1, … ,zk .
Ecuația (2) se rescrie:
y=(X)=f(X, zk1, … ,zk) (8)
unde:
zki= gki(X, zk, … ,zk1)= gki(X, gk, … ,gk1) (8`)
Se observă că relația (8) nu ia în cosiderație dependențele de forma: zk1= gki(zki), care se referă însa în (8`).
Un defect logic multiplu H1 ce afectează variabilele zk1, … ,zk constă din defectele simple Hki ,:
unde hki=funcția de eroare corespunzătoare variabilei zki .
Defectul multiplu Hi transformă circuitul c intr-un circuit CH1 a cărui compoprtare logică este descrisă de relațiile (9), (10):
Obsevație
Dacă zki depinde de zkj,trebuie ca zkj să fie independent de zki; în caz contrar,s-ar crea o buclă de reacție între zki și zkj și ar aparea un defect de modificare a structurii, care nu se studiază aici.
1.5.4 Funcția de test pentru defecte multiple
Analog cu aczul defectelor simple, funcția de test va fi:
1(X)=(X)1(X)=
=f(X,gk, … ,gk1)f(X,hk, … ,hk1) (11).
Teorema 2 [fără demonstrație]
Funcția de test uk(X) verifică formula recursivă:
(12).
Aplicând teorema de mai sus,din ecuația (7) se obține:
și în continuare aplicănd ecuația (12) de (-1) oripentru defectul ce afectează variabile, se obtine expresia desfășurată:
Particularizare:
Pentru un defect dublu privind variabilele zk și zl:
(14)
Înlocuind in (13) ecuațiile lui gki(X, zk, … ,zk1), se obține pentru uk
o funcție logică de variabilele x1, … ,xn , ai cărei vectori determinati unitar Xj permit detectarea defectului la ieșire.
Teorema 3
Un vector determinat de intrare Xj este vector determinat de test pfentru un defect logic multiplu H1 care afectează variabilele zk1 , … ,zk dacă și numai dacă u1f(Xj)=1.
Demonstrație
Demonstrația se face analog cu cea de la teoream 1, înlocuind însă cu Hk cu H1 și uk(Xj) cu u1(Xj) (astfel se face trecerea de la defectul simplu la defectul multiplu).
Exemplul 5
Se studiaza din nou circuitul din Figura 1.1.
Figura 1.1.
Se presupune ca, în plus față de defectul de interschimbare privind variabila v(deci:v=hv=cb) apare, simultan, alt defect de interschimbare a pieselor:
Hs :=<s=hs(X)=av>
Astfel există defectul dublu:
Hvs<V= hv(X)=ab, s= hs(X)=ahv>
Deoarece:
f(X,V,S)=sdv , unde
pentru defectul Hvs se obține din relațiile (9), (10):
y=vs(X)=sdv ,
unde
Din relația (14) se obține:
Rezultă:
Fiecare vector determinat unitar al lui uvs este un vector determinat de
test pentru defectul Hvs. Astfe se obține mulțimea de test (pentru vectorul Xi=(d,c,b,a)i):
Tp={ X00,X01,X03,X05,X06,X07,X10,X11,X13,X15 }
(de exemplu, din vectorul se obțin vectorii de test următori:
1.5.5 Funcțiile de test pentru defecte de conectare
Obținerea rezultatelor din subparagrafele anterioare, in special pentru exemlul (5), necesita un mare volum de calcule, pentru cazul defectelor logice in general.
Pentru defectele de conectare se pot da expresii mult simplificate.
În cazul unui defect de conectare relativ la variabila zk ,functia de etst pentru defecte logice singulare se simplifică astfel (ea se obține din ecuația (7) pentru hk(X)=fn ,respectiv hk (X)=fl):
în care zk=gk(X).
Din relațiile (15), (16), aplicănd teorema 1, se obține următoarea teoremă.
Teorema 4
Un vector determinat de intrare Xj este un vector determinat de test pentru defectul .
un vector determinat de intrare X este un vector determinat de test pentru defectul .
În concluzie, testele cere senzitiviteaza căile logice sunt:
.
În relațiile (17), (18), s-au folosit notațiile:
y= ieșire primara a circuitului (pin de ieșire al capsulei)
zk= intrare primara sau conexiune internă
= conditia ca ieșirea primara y a circuitului să sa fie sensibilă la
cele 2 valori ale variabilei zk (este reprezentată de o sumă de produse ale variabilelor zk) .
Observația 1
va senzitiviza, într-un mod sistematic, toate căile logice posibile dintre ieșirea primară y și zk.
Observația 2
este diferența booleeană totală, deci suma diferențelor booleene parțiale,care senzitivizează câte o cale logică singulara sau multiplă din circuit.
Concluzie Pentru senzitivizarea une cai în circuit pot exista mai multe posibilitați, oferite de diferențabooleeană parțială respectivă, corespunzatoare termenilor acesteia.
.
Exemplul (6)
Se cosideră tot circuitul din Figura 1.1.
Se presupune defectul de conectare Hv:=<v/a>.
Din relația (17), pentru se obține:
.
Astfel, mulțimea de test pentru defectul Hv este:
Tp={X06,X17}.
În mod asemănător se pot simplifica funcțiile de test pentru defectele logice multiple, introducând in locul funcțiilorde eroare hi(X) funcțiile fn și fl.
De exemplu, pentru cele 4 defecte duble posibile, care pot afecta variabilele zk și zl, se obțin următoarele funcții de test din, din ecuația (13):
.
Fiecare vector determinat unitar al lui ukl este vector determinat de test pentru defectul dublu care afectează variabilele zk și zl. Ecuația (19) creează aceeași vectori de test ca așa numita " generalized test function " din literatura americană.
Exemplul 7
Se studiază din nou circuitul din Fgura 1.1.
Defectul dublu Hbs<b/1,s/0> conduce cu ecuația (19) și expresiile
la următorul rezultat:
Astfel se obține mulțimea de etst corespunzătoare defectului dublu Hbs :
Tp={X00 ,X02 X04 ,X10 ,X12 ,X15},unde X=(d,c,b,a).
Observație importantă
Trebuie precizat in mod expres că fucția de test, implicit ecuația de definiție pentru vectoriideterminați de test, nu se pot obține prin cuplarea conjuctivă a diferenței booleenepentru variabilele afectate cu inseși aceste variabile (aceste din urmă fiind complementate in cazul defectelor " s-a-1 ").Deci, nu poate fi generalizata funcția de test din cazul circuitului simplu.
În cazul în care acest lucru ar fi posibil, pentru doua variabile zk, zl s-ar obține funcția:
(20).
Comparând aceasta funcție cu funcția de test data de funcția (14), se observa ca ecuația (20) nu cuprinde și situațiile in care se manifestă doar unu dintre defecte.
În concluzie, ecuația 20 nu permite obținerea tuturor vectorilor de test.
Exemplul 8
Se studiază din nou circuitul din Figura 1.1., care prezinta defectul dublu Hbs:=<b/1,s/0> ; prin aplicarea relației (20), ținând cont că y=sdcb , se obține:
Deci, vectorii determinați unitar ai acestei funcții sunt: X00 ,X04 ,X10
.
Observație
Acest rezultat verifică afirmația dinainte: vectorii determinati de test X02 ,X12 ,X15 , care se obțineau în situația din exemplul 7, nu se obțin aici. La acești vectori ordonați de test se reflectă numai căte un defect parțial (la X15 :<b/1>; la X02 și la X12 :<s/0>), chiar dacă fizic coexistă cele 2 defecte.
1.5.6.Generalizări
În acest paragraf se studiază efectele defectelor în circuite cu mai mult decăt o ieșire, precum si ale defectelor care afectează doar o ramură a unei variabile ramificate.
1.5.6.1.Circuite cu mai multe variabile de ieșire
Pntru studiul efectelor defectelor logice asupra unui circuit cu mai multe ieșiri(y1, … ,ym) trebuie făcută trecerea spre vectorii de funcții.
Analog cu ecuația (2), se obține următorul rezultat la studiul unui defect privind variabila zk , în cazul circuitului funcțional:
Y=(X)=F(X,zk)
(20)
în care zk=gk(X).
Analog cu ecuația (3), pentru circuitul defect se obține:
Y=k(X)=F(X,zk), (21)
unde: zk=hk(X).
Din (20) și (21) se obtine vectorul de test pentru un defect privind variabila zk:
Uk(X)=(X)k(X) (22)
având componentele:
.
Ca și în ecuația (7), și în acest caz se poate scrie prescurtat:
(24)
unde Y=F(X,zk).
Astfel, fiecare componentă ukj a lui Uk se calculează cu formula (23), deci fiecare ieșire uj poate fi privită separat.
Pentru detecția defectului trebuie impusă doar condiția ca el să afecteze minimum o variabilă de ieșire. Nu interesează aici daca defectul afectează într-adevăr valorile mai multor iesiri si care anume iesiri sunt falsificate.
De aceea,poate fi definită, pe calea spre calculul vectorilor determinați de test, funcția de recunoaștere, formata prin cuplarea disjunctivă a componentelor vectorului de test:
(25) .
Teorema 4
Un vector determinat de intrare Xi este vector determinat de test pentru defectul Hk privind variabila zk wk(Xi)=1.
Demonstrație
Conform ecuației (25), wk(X) ia valoarea 1 pentru un vector determinat de intrare Xi dacă:
ukj(Xi)=1 pentru .
Dacă insă ukj(Xi)=1 valoarea ieșirii a j a (yj)se deosebeștela circuitul defect de valoarea pentru circuitul funcționar, deci Xi este un vector determinat de test pentru Hk.
Mai mult, daca ar exista un alt vector determinat de test Xl pentru care relația wk(Xl)=0 ar fia adevărată, ar rezulta, din ecuatia (25):
ukj(X)=0 pentru .
Din ecuația (23) se obține:
(Xl)kj(Xl)=0, .
Prin urmare valorile tuturor variabilelor de ieșire yi() sunt aceleași în cazul circuitului funcțional și al celui defect. Aceasta este achivalent cu afirmația ca Xl nu poate fi vector determinat pentru defectul Hk.
Generalizarea, în sensul trecerii spre cazul mai multor ieșiri, se poate face și pentru defecte multiple, înlocuind în relațiile (9)(14) pe y, , f, u1, respectiv cu Y, , F,U1 .
1.5.6.2. Defecte în variabile ramificate
Până acum au fost studiate, în această lucrare, ca variabile afectate de defecte (zk) numai variabilele de intrare ale circuitului sau variabilele de ieșire ale unei componenteanume a circuituilui.
Pentru studierea defectelor în ramuri separate ale unor conductoare ramificate se introduc variabilelede ramură.
Fiecărei ramuri care nu va fi studiată () i se asociază o variabilă de ramură zk, care in circuitul funcțional are mereu aceeași valoare logica ca și variabila de bază zk(variabila inaintea ramificării).
Deci, în cazul circuitului funcționând corect, pentrui variabilele de ramura se obtin expresiile:
gk(X)=gk(X) =1, 2, …. (26).
Exemplul 9
Figura 1.2. prezintă un exemplu de aplicare a rezultatelor din paragrafele anterioar la o variabilă de ramură dintr-un circuit cu mai multe iesiri.
Circuitul C2 din aceasta figura are 3 ieșiri și două variabile de ramura care vor fi testate în privința defectării (V1,V2 ).
Figura 1.2.
Trebuie determinată mulțimea de test pentru defectul HV1 :=<v1/1> "intrarea V în poarta AND cu ieșirea z este s-a-1 ".
Din relația:
.
Deoarece :, din ecuația (23) rezultă:
(pentru A=B, expresia )
În sfârșit, aplicând ecuația (25), cuplarea disjunctivă a celor 3 termeni calculați anterior conduca la:
.
Se scriu explicit cele 5 componente ale fiecărui termen:
.
Prin urmare multimea de test corespunzătoare defectului Hv1 este:
Tp={X15 ,X35 ,X11 ,X31 ,X33 X13 ,X14 ,X10 ,X12}
în care: X=(e,d,c,b,a).
(de exemplu: termenul ; rezultă că termenul corespunde vectorului determinat de test X15).
1.6. Relații între defecte în circuite combinaționale
Pentru defectele dintr-un circuit combinațional se pot defini relații privind testabilitatea lor; aplicarea acestor relații simplifică găsirea mulțimilor complete de test [1], [2].
În capitolul de fața, cu ajutorul funcției de testare, se vor defini 2 relații diferite (de echivalență, respaectiv de implicație) pentru defectele ce pot apărea în circuitele logice combinaționale; aceste relații vor fi folosite la redurea numărului de defecte care tyrebuie studiate în circuit. Primele 2 definiții ce vor urma corespund întocmai echivalenței, respectiv implicației din matematică.
Pe baza acestor relații, se vor obține mulțimi minimalede test pentru defectele simplede conectare din componente.
Pentru circuitele cu orice structură se pot stabili cu ușurință clasele de defecte care trebuie luate în considerare pentru detectarea sau pentru localizarea defectelor.
1.6.1. Relațiile de de echivalență și de implicație
între defecte
Două defecte (fie ele M, respectiv N) transformă un circuit cu funcția de ieșire pentru cazul funcționării corecte: y=M(X) intr-un circuit cu funcția de ieșire y=M(X), respectiv y=N(X).
Funcțiile de test corespunzătoare acestor defecte sunt, conform ecuației (5):
uM(X)= (X) M(X)
uN(X)= (X) N(X).
Cu ajutorul funcțiilor de test se pot defini următoarele relațiiprivimd testabilitatea defectelor M și N:
Definiția 13
Două defecte M și N, sunt echivalente (M~N) dacă:
uM(X)uN(X)=fe . (27)
Definiția 14
Defectul M implica defectul N(NM) dacă:
uM(X)uM(X) =fe . (28)
Dacă în ecuațiile (27), (28) se introduc expresiile lui uM(X) și uN(X), în cazul echivalenței lui M și N. se obține:
M(X) N(X)= fe M(X) = N(X).
Deci, defectele echivalente se reflecta la fel în funcție de ieșire; ele nu se pot distinge unul de altul făra a interveni în circuit. Fiecare vector determinat de test pentru M este vector determinat de test pentru defectul N și reciproc.
Pentru relația de implicație (ecuația (28)), se obține, după introducerea lui uM(X) și a lui uN(X):
.
Relația evidențiază faptul că, întotdeauna se manifestă defectul M((X)M(X)=1), se manifesta și defectul N((X)N(X)=1), pentru ca disjuncția celor 2 expresii să aibă valoareaunitară; reciproca nu se verifică insă.
Tot din expresi anterioară mai rezulta faptul că fiecare vector determinat de test pentru M este și vector determinat de test pentru N, dar sunt posibili asemenea vectori determinați de etst pentru N,astfel încât ei să nu testeze și pe M. defectele M și N sunt, prin urmare, distincte.
Pentru circuitele cu mai multe ieșiri, relațiile între defecte se pot defini conform ecuațiilor (27) și (28). Dacă vectorii de test UM(X), UN(X) se formeaza conform ecuației (22) și dacă Fe este un vector ne-dimensional de funcții-unitate, pentru un circuit cu M ieșiri se obțin rezultatele:
M~N dacă UM(X) UN(X) = Fe (29)
NM dacă UM(X) UN (X) = Fe (30)
(operațiile de echivalență, respectiv implicație din ecuațiile (29), (30) se fac la nivelul componentelor).
Deci, pentru 2 defecte se apl;ica relatia de echivalență, respectiv implicație, numai dacă ecuațiile (29), (30) se verifică pentru fiecare ieșire a circuitului.
Relații mai puțin restrictive, dar suficiente pentru detecția defectelor, între defectele din circuite cu mai multe ieșiri se pot defini cu ajutorul funcției de recunoastere, dată de ecuația (25), lcru care se va face în continuare.
Dacă , respectiv , , sunt componentele lui UM(X), respectiv UN (X), din ecuația (25) se obține:
.
Definiția 15
Două defecte (M și N) sunt echivalente față de un test dacă:
wM(X) wN(X) = fe . (31)
Definiția 16
Defectul M implică, relativ la test, defectul N dacă :
wM(X) wN(X) = fe . (32)
Și pentru defectele echivalente față de un testeste sadisfăcută propoziția: " Orice vector determinat de etst al unui defect este, simultan, vector determinat de etst și pentru calălalt defect ". Totuși, cele 2 ieșiri se pot distinge daca afectează ieșiri diferite ale circuitului. În mod asemănător, pentru implicația relativă la un test se verifica propoziția: " Daca defectul M implică, relativ la un test, defectul N, orice vector determinat de test pentru M este și vector determinat de test pentru N ", dar efectele acestor defecte pot apare la ieșiri diferite ale circuitului.
Exemplul 10
Se consideră circuitul C3, reprezentat în Figura 1.3.
Pentru circuitul C3, s-au calculat următoarele expresii, reprezentate concentrat în tabelul următor:
Aceste valori s-au calculat dupa cum urmează:
1) pentru <d/0>:f=db
2) pentru <f/1>:
(ieșirea g este neinfluențată de defectul <f/1>, caci defectul afecteaza alta ramură).
În celelalte linii, uif și uig s-au calculat în mod analog, iar wi = uif uig .
Prin urmare , există următoarele relații între defecte, se deduc uSor din funcțiile de test și din funcțiile de recunoastere:
<d/0> ~ <f/0> ; <d/1> <f/1>
<d/0> <e/1> ; <d/1> <g/0>
În schimbnu se verifică relțiile:
<d/0> ~ <e/1> ; <d/1> <g/0>.
Relațiile de implicație defeinite de ecuațiile (28), (30), (32) sunt reflexive, tranzitive, și antisimetrice.
Reuninnd defecte echivalente în clasă de echivalența, respectiv defecte de echivalență față de un testîn clase de echivalențe față de acel test, clasele de echivalență (de echivalență față de test) obținute formează împreună cu implicația (respectiv cu implicația față de test) un semigrup de clase de defecte într-un circuit.
Acest semigruppoate fi util pentru reducerea număruluide defecte (respectiv, de clase de defecte) care trebuie studiate în circuitul combinațional, conform propozției:
" Pentru detectare defectelor este suficientă luarea în cosiderație doar a unui reprezentantla unei astfel de clase de echivalență (respectiv de echivalență față de test), care nu este implicat(respectiv, implicat relativ la un test) de altele. "
De aceea, trebuie facută clar distincția între echivalența structurală și cea logică și implicarea structurală și cea logică:
echivalența și implicația structurală a defectelor se bazeaza pe structura circuitului;
echivalența și implicația logică se bazează pem legăturile logice între componente.
1.6.2. Echivalența și implicația structurala a defectelor
în circuitele combinaționale
Relatiile bazate pe structura circuitelor între defectele logice din circuite apar în modulele de circuit care au o structură arborescentă.
Definitia 17
Un circuit are structura arborescentă dacă și numai dacă:
nu are variabile care se ramifică
are exact o ieșire
Definiția structurii arborescente se poate aplica, în egală măsură și modulelor de circuite; variabilele de intrare ale unui astfel de modul sunt fie variabile neramificate, fie variabilele de ramură ale unor variabile carese ramifică.
1.6.2.1. Diferența booleeană la variabilele de bază
și la variabilele de ramură
În circuitele arboreșcente, dependențele între variabile se pot defini foarte ușorcu ajutorul diferenței booleene.
Fie dată o parte a unui circuit combinațional(în Figura 1.4.):
׃
׃ ׃
׃
Figura 1.4.
În figura, MCi reprezintă modulul de circuit i.
Se studiază dependența variabilei z de variabila a. Dacă între a și z există ramificații recornvergente (" recoverging fan out "), atunci căile posibile ale semnalului de la a la z se pot împărți în 2 categorii:
căi care trec print-o alta variabială b;
căi care nu trec prin variabila b.
A 2-a categorie mai poate fi definită ca fiind a " căilor ce trec prin
variabila c " (o asemenea împărțire este oricând posibilă).
La o asemenea structura a circuitului este oricănd valabilă relația:
(33)
(relația se accepta fara demonstrație; se poate face o demonstrație pe baza teoremei de dezvoltare a lui Shanon).
Dacă însă c=c(a) (deci toate căile de la a la z trec prin variabila b), atunci pentru studiul dependențeiz=z(a), se poate folosi relația în lanț:
. (34)
Teorema 5
Dacă toate căile pornind de la o variabilă a spre o variabila z prec prin variabila b, atunci, pentru studiul dependenței z=z(a), se pote folosi relația în lanț:
.
1.6.2.2. Relații determinate de structură între defectele de conectare din circuite combinaționale arboreșcente
În acest paragraf se va restrânge studiul relațiilor intre defecte determinate de structură la cazul defectelor simple de conectare, pentru care aceste relatii se pot determina usor.
Fie dat un circuit C cu intrările x1, … ,xn și ieșirile y1, … ,yn (Figura 1.5.). Segmentul de circuit SCB al circuitului c se presupune ca are structură arborescentă.
Figura1.5.
: :
: :
: :
: :
Se presupune aici, pentru început, ca circuitul este format din porti AND, OR, NAND, NOR și NO. Ulterior se va trata și cazul porților EXCLUSIVE OR (XOR).
Funcțiile de test pentru defectul <ei/1> și pentru defectul <ei/0> la intrarea în SCB sunt, conform ecuațiilor (17), (18):
. (35)
Deoarece SCB are o structură arborescentă, toate drumurile de la ei spre o ieșire yi (j{1, … ,m}) trec prin iesirea z a lui SCB.
De aceea, conform teoremei 5, de poate folosi dezvoltarea în lanț din ecuația (34):
. (36)
Funcțiile de test (pentru defectul <z/1>) și (pentru defectul <z/0>), la ieșirea lui SCB, sunt:
, (37)
unde .
În aceste condiții, pentru , are loc una di relațiile:
. (38)
Demonstrație
SCB are structură arborescentă, deci există un singur drum de la ei la z. Dependența: z=z(ei) poate fi reprezentată, simplificat, prin:
z=ei** g1 g1 , în care :
g1,g2 sunt independente de ei
Cu aceste notații, se obține:
(Observație:este tot o diferență booleeană:
)
Înlocuind în ecuația (37) pe z=ei** g1 g1 și în ecuația rezultă:
pentru
pentru ,
pentru .
Din relațiile de implicație (38) rezulta teorema 6:
Teorema 6
Defectele de conectare de la ieșirea unui modul de circuit cu structura arboreșcentă sunt implicate de defectele de conectare ale fiecarei intrări a modulului de circuit.
Deoarece fiecare modul compact de circuit cu structura arborescentă prezintă la rândul său o structură arborescentă, teorema 6 poate fi aplicată la fiecare variabilă internă a unui modul de circuit cu structură arborescentă, obținându-se enunțul următor:
Teorema 7
Toate defectele de conectare dintr-un modul de circuit cu structura arborescentă sunt implicate de defectele de la intrările modulului de circuit.
Defectele de conectare privind variabilele de intrare ei implică defectele de conectare in toate variabilele zj care aparțin drumului de la ei spre ieșirea modulului de circuit.
Spre exemplu, defectul de conectare <ei/0> (<ei/1>) implică defectul <zj/0> (<zj/1>) când numărul inversiunilor pe drumul de la ei la zj este par; acest defect implică însă defectul <zj/0> (<zj/1>) când numărul inversiunilor este impar.
Astfel se evidențiază un mare avantaj, concentrat în enunțul:
" Defectele de conectare din interiorul unui modul de circuit cu structură arborescentă nu trebuie studiate pentru detectarea defectelor. ".
Dacă întregul circuit, nu numai o parte a sa, are o structură arborescentă, se obtine teorema:
Teorema 8
Fiecare mulțime de test completă pentru defectele de conectare de la intrarea unui circuit cu structură arborescentă testează toate defectele circuitului.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Defectele In Circuite Digitale (ID: 161468)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
