Documente Academic
Documente Profesional
Documente Cultură
Figura 1.1
Un test poate să detecteze mai multe SSF iar un SSF poate fi detectat, în
mod individual, de mai multe teste. Se poate verifica, în cazul circuitului din
fig.1.1, că testul ABCD = 1010 detectează defectele singlare C0 , g0 , h1 , D1 , p1
şi E0 . De asemenea, defectul h1 este detectat de oricare dintre testele ABCD =
1010, 0110, 1110.
Mulţimea SSF detectate cu un anumit număr de teste nu depinde de
ordinea de aplicare a acestora. Un set(mulţime) de teste este complet pentru un
circuit dacă detectează toate SSF din acel circuit.
Definiţia 1.3: Un test t distinge între defectele α şi β dacă şi numai dacă
Zα (t)… Zβ(t)
Nu toate SSF dintr-un CLC sunt distinctibile două câte două. Distincţie se poate
face doar între grupuri sau clase de defecte. Toate defectele dintr-un grup produc
aceleaşi modificări funcţionale şi se numesc echivalente funcţional. Clasele de
defecte echivalente reprezintă rezoluţia maximă de diagnosticare. Un set complet
de teste de localizare distinge între oricare două clase şi include obligatoriu un
set complet de teste de detecţie.
Complexitatea detecţiei şi localizării SSF în circuitele logice secvenţiale
(CLS) este semnificativ mai mare decât în CLC. Aceasta poate fi explicată cu
ajutorul fig.1.3, în care este reprezentat un model simplificat pentru un circuit
secvenţial sincron. Registrul R include toate celulele de stocare din circuit
(circuite basculante bistabile, latch-uri). Blocul combinaţional al CLS nu are
toate intrările şi ieşirile direct accesibile; starea curentă y şi starea viitoare Y pot
fi greu de controlat şi respectiv de observat. Activarea unui defect din blocul
combinaţional necesită în general o anumită stare curentă, care se poate obţine
prin aplicarea unei secvenţe de teste (mulţime ordonată de teste) la intrările X.
12 Cap.1 Modelarea defectelor
fiecărei porţi logice. O poartă logică se poate caracteriza prin doi parametri,
valoarea de control c şi inversiunea i. Pentru porţile inversoare i = 1 iar pentru
cele neinversoare i = 0. Valoarea de control este valoarea logică binară care,
fiind atribuită unei intrări, determină valoarea cr i la ieşirea porţii, indiferent de
valorile celorlalte intrări (r este suma mod 2). Porţile AND şi NAND au c = 0
iar porţile OR şi NOR au c = 1. La nivelul unei porţi, defectele singulare stuck-
at-c de la intrări şi stuck-at-(cr i) de la ieşire sunt echivalente iar defectul stuck-
at-(c̄ r i) de la ieşire domină oricare dintre defectele stuck-at-c̄ de la intrări. Ca
urmare, pentru detecţie, se pot reţine ca reprezentative un singur defect dintre
cele echivalente şi defectele stuck-at-c̄ de la intrări. Rezultă o reducere de 50%
a numărului defectelor ce trebuie analizate explicit. La nivelul unei FFR sau al
întregului circuit reducerea poate fi diferită de 50%, în funcţie de structură. Între
defectele stuck-at de pe stemuri şi cele de pe ramurile lor de fanout nu există nici
relaţii de echivalenţă şi nici de dominanţă.
Figura 1.4
- D1 şi b1 sunt echivalente cu d1 ;
- c0 domină B1 şi a1;
- F0 , k0 , f1 ,Y1 şi j1 sunt echivalente cu l1;
- f0 este echivalent cu k1;
- g1 domină d1 şi e1;
- Z0 domină A1 şi h1;
- Y0 domină j0 şi l0 iar l0 domină k1 şi F1.
Colapsarea limitată la FFR, deşi realizează o reducere substanţială a
numărului de defecte care trebuie tratate explicit, nu este maximală. Pe de o
parte, chiar în interiorul aceleiaşi FFR pot rămâne defecte echivalente
neidentificate. Pe de altă parte, între defecte situate în FFR diferite pot exista
relaţii de echivalenţă sau de dominanţă. Identificarea lor necesită însă analize
suplimentare.
Circuitele obţinute prin sinteză manuală sau automată conţin, în general,
redundanţă în sensul că ar putea fi simplificate fără ca funcţiile lor (sau
corespondenţele dintre ieşirile primare şi intrările primare) să se modifice.
Simplificarea sau eliminarea redundanţei conduce la reducerea ariei ocupate pe
chip. Detecţia SSF stă, de obicei, la baza definiţiilor practice ale redundanţei.
Termenul defect detectabil se referă la un defect care produce modificări
funcţionale şi este independent de procedurile de testare sau de generare a
testelor, deoarece acestea nu identifică întotdeauna toate defectele detectabile.
Motivele sunt următoarele:
- durată limitată de căutare a testelor;
- pierderi de informaţie cauzate de sistemul de valori logice utilizat în simulare;
- supra-specificări ale variabilelor de stare [11].
În afară de consumul inutil de arie, redundanţa are şi o influenţă negativă
asupra testabilităţii. Pe de o parte, algoritmii de generare a testelor risipesc efort
de calcul în căutarea testelor pentru defecte care sunt redundante. Pe de altă
parte, este invalidată ipoteza de defect singular, frecvent folosită în procedurile
practice de testare, lucru care poate să aibă consecinţe asupra detecţiei şi
localizării defectelor. Exemplele următoare sunt concludente.
În fig.1.5, defectul c s-a-1 este redundant iar defectul d s-a-0 poate fi detectat
numai cu testul abc = 110. Acest test nu mai detectează d s-a-0 dacă şi defectul
c s-a-1 este prezent.
Defectul e s-a-1 din fig.1.6 este redundant. Testul abc = 111 detectează defectele
d s-a-0 şi f s-a-0 la ieşirea z iar testul abc = 011 detectează d s-a-0 la ieşirea p.
Singurul test abc = 011 care distinge între defectele d s-a-0 şi f s-a-0 nu mai are
această proprietate în prezenţa defectului e s-a-1.
Defectele e s-a-0 şi f s-a-0 din fig.1.7(a) sunt redundante. Totuşi, defectul dublu
{e s-a-0, f s-a-0} este detectat de oricare din testele abcd = 1101, 1110, 1100. Ca
urmare, un set de teste complet de detecţie sau de localizare poate să devină
16 Cap.1 Modelarea defectelor
Figura 1.7
Figura 1.9
Dacă între conexiunile l şi j există cel puţin o cale, atunci prin şuntarea
acestora se creează una sau mai multe bucle de reacţie. Un asemenea defect este
de tip feedback (FBF- feedback bridging fault). Dacă nu există nici o cale între
conexiuni atunci defectul este de tip nonfeedback (NFBF). Un FBF transformă
un circuit combinaţional într-unul secvenţial. Mai mult, dacă o buclă de reacţie
creată are inversiunea 1, atunci în circuit pot să apară oscilaţii. Oscilaţiile cu
frecvenţă mare au amplitudini mici, ceea ce înseamnă că pe bucla de reacţie
valorile logice sunt nedeterminate şi se pune în dificultate echipamentul de
testare.
Testarea şi Testabilitatea Sistemelor Digitale 19
- S0 (S1) reprezintă valoarea logică 0(1), stabilă pe întregul interval [θ1, θ2] (fără
hazarduri);
- U0 (U1) reprezintă semnale a căror valoare finală, după θ2, este 0(1); în
intervalul [θ1, θ2] pot fi tranziţii (hazarduri);
Semnificaţia valorii U0 (U1) la intrarea căii testate este de tranziţie negativă
(tranziţie pozitivă).
- xx reprezintă semnale cu valori nespecificate la nici un moment de timp.
U0 acoperă (include) S0, U1 acoperă S1 iar xx acoperă atât U0 cât şi U1.
O tranziţie pozitivă aplicată la o intrare a unei porţi AND sau NAND se
propagă la ieşirea porţii numai dacă se aplică celorlalte intrări valorile U1 sau S1.
O tranziţie negativă se propagă numai dacă se aplică celorlalte intrări S1. Aceste
valori care permit propagarea tranziţiei se numesc valori de sensibilizare.
Valorile de sensibilizare în cazul porţilor OR şi NOR sunt S0 pentru tranziţii
pozitive şi U0, S0 pentru tranziţii negative.
Fie t1, t2 o pereche de teste pentru o cale defectă C. Perechea este robustă
dacă şi numai dacă produce tranziţia dorită la intrarea căii şi determină, pentru
porţile asociate căii C, valori de sensibilizare la intrările care nu aparţin căii [18].
Un exemplu este prezentat în fig.1.12. Calea testată este formată din conexiunile
c, g, j şi z iar porţile asociate acesteia sunt G2, G3 şi G5. Cele două teste sunt t1 =
0x00x şi t2 = 0x101, ordinea variabilelor de intrare fiind a, b, c, d, e. Valorile
rezultate pe celelalte conexiuni sunt specificate în figură.
Figura 1.12
ND
A ' (1.2)
2 NC
unde NC reprezintă numărul tuturor căilor din circuitul testat iar ND este numărul
tuturor defectelor detectate. Întru-cât întârzierile depind de felul tranziţiei
aplicate la intrarea căii, pe fiecare cale se definesc două defecte de propagare. Ca
urmare, 2NC reprezintă numărul tuturor defectelor. Cu toate că NC şi ND depind
exponenţial de dimensiunile circuitului, ele se pot calcula în timp polinomial. O
metodă de estimare a acoperirii defectelor este descrisă în [21]. Numărul NC se
poate determina printr-o singură traversare a circuitului, de la ieşirile primare la
intrările primare, într-un timp care depinde liniar de numărul conexiunilor din
circuit. Procedura este următoarea:
- fiecărei conexiuni j i se atribuie un număr N(j) ce reprezintă numărul căilor de
la j la ieşirile primare, numărul atribuit oricărei ieşiri fiind 1;
- numărul atribuit oricărei intrări într-o poartă logică este egal cu numărul de la
ieşirea porţii;
- numărul atribuit unui stem este egal cu suma numerelor de pe ramurile lui de
fanout;
- suma numerelor rezultate pe intrările primare reprezintă NC .
La estimarea lui ND se iau în considerare numai perechile robuste. Prin simularea
circuitului fără defecte se determină subsetul conexiunilor situate pe căi ale căror
defecte sunt acoperite cu o pereche de test. Utilizând o procedura similară cu
aceea pentru determinarea numărului NC, se deduce numărul căilor definite de
subsetul anterior. Acest număr este chiar numărul căilor defecte acoperite de
perechea de test. Pentru următoarele perechi de test interesează numai defectele
noi detectate. ND se obţine prin sumarea tuturor defectelor noi detectate.
Figura 1.13
Figura 1.14
c) Defectul AND BF(p, l) este de tip nonfeedback. Conform teoremei 1.1, testele
care detectează acest defect sunt cele care fie detectează defectul l s-a-0 şi
determină p = 0, fie detectează defectul p s-a-0 şi determină l = 0. În primul caz
nu există soluţii deoarece p = 0 împiedică propagarea erorilor prin poarta G6. În
al doilea caz, l = 0 implică c = 0 sau b = d = 1 iar detecţia defectului p s-a-0
implică a = 1, n = 1 şi m = 1. Dacă c = 0 atunci n = 1 iar m = 1 se obţine prin
atribuirea e = 1; cu b = d = 1 este de asemenea necesară atribuirea c = 0 pentru
a obţine n = 1. Rezultă testele abcde = 1x0x1.
28 Cap.1 Modelarea defectelor
d) Defectul AND BF(g,m), identic cu AND BF(b, m), este de tip feedback.
Testele vor fi determinate cu ajutorul teoremelor 1.2 şi 1.3.
În baza teoremei 1.2, b = 0 şi, pentru detecţia defectului m s-a-0, c + e = 1
(activare) şi p = 1 (propagare). Condiţia p = 1 implică a = 1. Rezultă testele
abcde = 100x1, 101x0, 101x1.
Conform teoremei 1.3, m = 0. Eroarea 1/0 generată pe conexiunea b prin
activarea defectului b s-a-0 (atribuirea b = 1) nu poate fi propagată la ieşirea z
însă cu d = 1 poate fi propagată la ieşirea y. Atribuirile c = e = 0 implică m = 0
şi rezultă testele abcde = x1010.
Figura 1.15
Figura 1.16
R e z o l v a r e:
Dependenţa p(a, b, c) realizată de acest circuit este p = ab + b̄c + ac;
mintermenii ab, b̄c, ac sunt “generaţi” de porţile G1, G2 şi respectiv G3.
Mintermenul ac este acoperit de ceilalţi doi deoarece când ac = 1, adică a = c =
1, rezultă ab + b̄c = b + b̄ = 1. Astfel, ac este redundant iar eliminarea lui
înseamnă eliminarea porţii G3 şi înlocuirea porţii G4 cu un NAND cu două
intrări. Circuitul simplificat este reprezentat în fig.1.17.
Această analiză scoate în evidenţă faptul că prin optimizarea programelor de
Figura 1.17
Figura 1.18
Figura 1.19