Sunteți pe pagina 1din 22

Testarea şi Testabilitatea Sistemelor Digitale 9

Cap.1 MODELAREA DEFECTELOR

Tratarea matematică a detecţiei şi a localizării defectelor fizice implică


un efort de calcul imens. Soluţiile practice utilizează reprezentări convenabile
pentru efectele defectelor fizice asupra funcţionării circuitelor digitale,
reprezentări numite defecte logice. Testarea se transformă într-o problemă logică,
mult mai simplă de rezolvat decât una fizică. Complexitatea testării se reduce
semnificativ şi ca urmare a faptului că mai multe defecte fizice pot fi modelate
printr-un acelaşi defect logic.
Modelele de defect logic pot fi explicite sau implicite, structurale sau
funcţionale, dependente sau independente de tehnologia de fabricaţie. Un model
explicit defineşte o mulţime enumerabilă de defecte (fiecare defect este în mod
individual identificat). Defectele unui model implicit sunt în mod colectiv
identificate, prin proprietăţile lor caracteristice. Modelele structurale sau
funcţionale sunt definite în conjuncţie cu modelul disponibil pentru circuitul
testat.

1.1 Modele de defecte logice structurale


1.1.1 Modelul stuck-at
Modelul de conexiune blocată la o valoare logică v, v0{0,1} sau
conexiune stuck-at-v este un model de defect clasic, explicit şi independent de
tehnologie. În modelul singular SSF (Single Stuck-at Fault) se admite că o
singură conexiune este blocată la un moment dat iar în modelul multiplu MSF
(Multiple Stuck-at Fault) se consideră mai multe conexiuni blocate simultan.
Într-un circuit digital, modelat la nivel de poartă logică, în care există n
conexiuni se pot defini un număr de 2n SSF. Numărul MSF depinde exponenţial
de complexitatea circuitelor:
2 3 4 n
nr. MSF ' 22Cn % 23Cn % 24Cn % ... % 2nCn ' 3n & 2n & 1 (1.1)

În această relaţie sunt incluse toate ordinele de multiplicitate de la 2 la n.


Numărul foarte mare de MSF nu permite tratarea lor explicită. Din fericire,
testele generate pentru SSF detectează şi majoritatea MSF. În general, MSF cu
ordine de multiplicitate mai mici sunt mai greu de detectat. Deşi modelul stuck-at
multiplu este mai realist decât modelul singular, în afara aplicaţiilor în care
fiabilitatea circuitelor trebuie să aibă valori mari, acesta prezintă doar un interes
teoretic.
10 Cap.1 Modelarea defectelor

Conceptele de bază ale detecţiei SSF vor fi prezentate cu ajutorul


circuitului combinaţional din fig.1.1. Combinaţia ABCD = 1010 detectează
defectul stuck-at-1 definit pe conexiunea h (se va nota h s-a-1 sau h1). Defectul
h s-a-1 este activat, adică se generează eroarea 0/1 pe conexiunea h. Prin
valoarea logică compusă v̄/v se indică valorile din circuitul bun şi respectiv din
circuitul defect; pentru simplitate se va nota v/v = v. Apoi, eroarea 0/1 de pe
conexiunea defectă se propagă prin porţile G4 şi G5 la ieşirea E şi poate fi
observată. Calea formată din conexiunile h, p, E este o cale sensibilizată.
Sensibilizarea a fost determinată de validarea porţilor G4 şi G5 prin D = 0 şi
respectiv k = 1. Existenţa măcar a unei căi sensibilizate de la locul defectului
până la o ieşire observabilă este o condiţie necesară pentru propagarea erorilor.
Un circuit logic combinaţional (CLC) arbitrar poate fi reprezentat ca în

Figura 1.1

fig.1.2, în care X = x1 x2 ... xp şi Z = z1 z2 ... zq sunt vectorii de intrare şi respectiv


de ieşire. Se presupune că toate aceste intrări şi ieşiri sunt direct accesibile sau
primare. O combinaţie particulara de valori logice aplicată la intrări se numeşte
test şi se va nota cu t. Cu Z(X) se va nota funcţia logică a circuitului, adică
corespondenţa dintre toate combinaţiile de intrare şi răspunsuri, iar cu Z(t) se va
nota răspunsul la testul t. Fie α, β două SSF ce pot fi definite în blocul CLC din
fig.1.2. Circuitul cu defectul α (β) este tot combinaţional, însă are o nouă funcţie
Zα(X) (Zβ(X)).
Definiţia 1.1: Un test t detectează defectul α dacă şi numai dacă
Zα(t) … Z(t)
Definiţia 1.2: Defectul α este detectabil dacă există cel puţin un test t
care îl detectează; altfel, α este nedetectabil sau redundant.
Testarea şi Testabilitatea Sistemelor Digitale 11

Figura 1.2 Fig.1.3 Modelul unui CLS sincron

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

Eroarea generată poate să se propage în unele cazuri doar la pseudo-ieşirile Y.


După memorarea în registrul R, erorile vor fi aplicate pseudo-intrărilor y.
Propagarea erorilor la ieşirile observabile Z necesită, de obicei, tot secvenţe de
teste.
Un CLS care conţine un defect stuck-at are un număr de stări mai mic sau egal
cu cel corespunzător circuitului fără defecte (de exemplu,o celulă de stocare cu
ieşirea blocată reduce la jumătate numărul de stări).
În practică, detecţia SSF în CLS are două faze. Întâi se aplică o secvenţă
de teste de iniţializare TI care trebuie să determine stări cunoscute yI şi yIα pentru
circuitul fără defecte şi respectiv pentru circuitul cu defectul α. Pe durata
iniţializării se ignoră răspunsurile circuitelor, acestea fiind imprevizibile. În faza
a doua se aplică o secvenţă de teste T* care să permită observarea cel puţin a unei
erori, răspunsurile Z şi Zα fiind acum previzibile.
Definiţia 1.4: Defectul α este detectabil dacă şi numai dacă există cel
puţin o secvenţă T = {TI , T*} astfel încât Zα(yIα , T*) … Z(yI , T*).
Acest tip de testare are la bază ipoteza fundamentală că există cel puţin o
secvenţă de iniţializare. Aproape toate circuitele practice sunt iniţializabile. Mai
mult, prin proiectare se prevăd modalităţi de iniţializare cât mai uşoare. Un
exemplu constă în utilizarea unei conexiuni globale de RESET la care sunt
conectate toate celulele de stocare. Totuşi, în prezenţa anumitor defecte
iniţializarea poate să nu reuşească. Aceste defecte vor fi considerate
nedetectabile, prin procedura de testare descrisă anterior, dar nu redundante.
Utilizând alte strategii de testare decât cea sugerată de definiţia 1.4 (de exemplu
testarea compactă), detecţia este posibilă. Defectele SSF care împiedică
iniţializarea se află de obicei în registrul R sau în reţeaua de distribuţie a tactului.
Definiţia 1.5: Defectele α şi β sunt distinctibile dacă există cel puţin o
secvenţă T* astfel încât Zα(yIα , T*) … Zβ(yIβ , T*).
Această definiţie nu se aplică defectelor care împiedică iniţializarea.
Detecţia şi localizarea SSF sunt mai dificile în CLS asincrone decât în
CLS sincrone. Circuitele asincrone sunt afectate de propagări critice şi hazarduri
iar aplicarea unui nou vector de test produce treceri succesive prin mai multe
stări, până ce se ajunge într-o stare stabilă.
Între defecte care aparţin aceluiaşi model sau la modele diferite pot
exista relaţii care permit reducerea efortului de calcul în procesul de testare.
Analizele care urmează sunt valabile numai pentru circuitele combinaţionale.
Definiţia 1.6: Defectele α şi β sunt echivalente funcţional dacă şi numai
dacă Zα(X) = Zβ(X). Se va nota α : β.
Fie Tα şi Tβ seturile tuturor testelor care detectează defectele α şi respectiv β.
Dacă aceste defecte sunt echivalente atunci Tα = Tβ.
Defectele α = A1 şi β = k1 definite în circuitul din fig.1.1 sunt echivalente
deoarece Eα = Eβ = CD̄, Tα = Tβ = {0011} (ordinea variabilelor este A, B, C, D).
Testarea şi Testabilitatea Sistemelor Digitale 13

Definiţia 1.7: Defectul α domină defectul β dacă şi numai dacă α şi β


sunt echivalente funcţional sub setul Tβ ( Zα(t) = Zβ(t) pentru orice test t 0 Tβ).
Se mai spune că defectul dominant α este testat implicit prin testarea defectului
dominat β şi se va nota β 6 α. Această relaţie implică Tβ f Tα.
În circuitul din fig.1.1, α = E1 domină β = C1: Tβ = {0000, 0001, 0100, 1000,
1100}, œ t0 Tβ rezultă Eβ(t) = 1 = Eα(t) deoarece Eα / 1; Tβ f Tα = {0000, 0001,
0100, 0101, 0111, 1000, 1001, 1011, 1100, 1101, 1111}.
Defectele SSF sunt dominate în general de defecte ale altor modele. Aşa
se explică şi faptul că detecţia MSF se face în majoritatea cazurilor cu teste
generate pentru SSF.
Definiţiile 1.6 şi 1.7 nu sunt limitate numai la defecte de acelaşi tip (ce
aparţin aceluiaşi model). Singura restricţie este ca circuitele defecte să rămână
tot combinaţionale. Pe baza acestor definiţii se pot demonstra uşor afirmaţiile
următoarei leme.
Lema 1.1: Fie α, β, şi γ trei defecte. (1) Dacă α : β şi β : γ atunci α: γ;
(2) Dacă α 6 β şi β 6 γ atunci α 6 γ; (3) Dacă α : β şi β 6 γ atunci α 6 γ;
(4) Dacă α 6 β şi β : γ atunci α 6 γ; (5) Dacă α 6 β şi β 6 α atunci α : β.
Relaţiile de echivalenţă şi de dominanţă sunt utilizate pentru reducerea
numărului de SSF care trebuie analizate în mod explicit. Astfel, dintr-o clasă de
defecte echivalente se poate reţine numai unul ca reprezentativ iar defectele
dominante pot fi eliminate. Această reducere poartă denumirea de colapsarea
SSF. Dacă în afară de detecţie se doreşte şi localizarea defectelor, atunci
colapsarea se face numai pe baza relaţiei de echivalenţă pentru a se obţine o
rezoluţie de diagnosticare cât mai mare.
Utilizarea directă a definiţiilor 1.6 şi 1.7 pentru colapsarea defectelor implică un
efort de calcul mare deoarece ar fi necesară o analiză globală a circuitului.
Majoritatea algoritmilor practici de colapsare fac o analiză locală; se identifică
numai defecte echivalente şi defecte dominante din porţiuni de circuit cu
dimensiuni relativ reduse, numite regiuni fără fanout (FFR-fanout free region).
O FFR este un subcircuit cu o singură ieşire în care toate porţile logice
componente au fanout unitar. Delimitarea FFR se face cu ajutorul conexiunilor
care au fanout supraunitar, numite stem-uri. Conexiunile (ramificaţiile) pe care
le comandă un stem se numesc ramuri de fanout. Intrările într-o FFR sunt ramuri
de fanout sau intrări primare iar ieşirea din FFR este fie un stem, fie o ieşire
primară. Împărţirea în FFR se face prin traversarea circuitului de la ieşirile
primare către intrările primare, cu un efort de calcul ce depinde liniar de
complexitatea circuitului. Un exemplu de partiţionare a unui circuit în FFR este
prezentat în figura 1.4. Circuitul are trei stemuri C, c şi E, cu ramurile de fanout
{a, b}, {h, j} şi respectiv {e, f}.
Pentru colapsarea SSF la nivelul FFR se utilizează lema 1.1 şi o analiză la nivelul
14 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

Un exemplu de selectare a defectelor reprezentative (colapsare a SSF)


utilizând analize la nivelul FFR este ilustrat în fig.1.4, în care s-au marcat
defectele s-a-0 şi s-a-1 prin cercuri goale şi respectiv prin cercuri pline. Numărul
SSF ce pot fi definite în circuitul de mai sus este 38, dintre acestea fiind selectate
numai 17; s-a obţinut o reducere de 55,2% . Defectele care nu apar în figură au
fost eliminate pe baza următoarelor argumente:
- A0 , h0 , g0 , Z1 , d0 şi e0 sunt echivalente iar d0 domină defectele b0 şi D0 ;
- B0 şi a0 sunt echivalente cu c1 ;
Testarea şi Testabilitatea Sistemelor Digitale 15

- 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

incomplet dacă în circuitul testat există defecte redundante.

Figura 1.7

Dacă defectul j s-a-v, v0 {0, 1}, este redundant atunci blocarea


conexiunii j la valoarea v nu afectează funcţiile logice de la ieşirile primare.
Blocarea conexiunii j la valoarea v poate să determine prin implicaţii logice
blocarea altor conexiuni, situate pe nivele mai apropiate de ieşirile primare. Fie
Mj mulţimea tuturor acestor conexiuni. Evident, orice conexiune din Mj este
redundantă. Conexiunile şi porţile dominate de mulţimea Mj c {j} nu mai pot
influenţa ieşirile primare, deoarece toate căile către acestea sunt blocate, deci
sunt tot redundante; conexiunea j domină conexiunea l dacă şi numai dacă orice
cale de la l până la ieşirile primare trece prin j. Prin eliminarea defectului
redundant j s-a-v se înţelege eliminarea setului Mj c {j}, a conexiunilor şi porţilor
dominate de acesta şi înlocuirea, după caz, prin inversoare sau simple conexiuni
a porţilor rămase cu o singură intrare. Eliminarea unui defect redundant produce
Testarea şi Testabilitatea Sistemelor Digitale 17

o modificare a structurii circuitului în anumite porţiuni. Aceste modificări


structurale pot să afecteze detectabilitatea altor defecte şi apar două consecinţe:
(1) eliminarea simultană a mai multor defecte redundante este posibilă numai
dacă şi defectul multiplu corespunzător este redundant, ceea ce trebuie verificat;
De exemplu, prin eliminarea unuia dintre defectele redundante e s-a-0 sau f s-a-0
ale circuitului din fig.1.7(a) se obţine circuitul iredundant din fig.1.7(b). Dacă se
elimină simultan ambele defecte, rezultă circuitul din fig.1.7(c) care nu mai
corespunde din punct de vedere funcţional cu circuitul iniţial.
(2) în regiuni de circuit care au mai fost analizate, unele defecte pot deveni
redundante; aceste regiuni trebuie identificate şi reanalizate.

1.1.2 Modelul bridging fault (BF)


Prin acest defect logic se modelează scurtcircuitele (punţile, şunturile)
dintre conexiuni de semnal care în mod normal nu sunt conectate între ele.
Modelul BF este explicit dar dependent de tehnologie. Într-un circuit digital
modelat la nivel de poartă logică, în care există s surse de semnal (intrări primare
şi ieşiri din porţile logice), se pot defini teoretic Cs2 = s(s-1)/2 defecte BF
singulare, adică scurtcircuite în care sunt implicate numai două conexiuni. În
modelul BF nu se face distincţie între un stem şi ramurile lui de fanout iar prin
conexiune se va înţelege sursă de semnal. Dacă sunt şuntate m > 2 conexiuni,
atunci defectul este multiplu. Orice BF multiplu cu ordin de multiplicitate m se
poate descompune în (m-1) BF singulare. De exemplu, şuntul dintre conexiunile
l, j şi k se poate descompune în BF(l, j) şi BF(j, k).
Numărul BF singulare posibile este mult mai mic decât Cs2 şi este comparabil,
ca ordin de mărime, cu numărul SSF deoarece în majoritatea cazurilor
scurtcircuitele implică conexiuni fizic adiacente [2]. Adiacenţa conexiunilor
depinde de aranjarea componentelor pe chip. Tehnici de colapsare pentru BF nu
au fost dezvoltate.
În fig.1.8 se arată un model general pentru scurtcircuitul dintre două
conexiuni l şi j. Acestea vor deveni echipotenţiale. Prin BF(l, j) se va nota funcţia
obţinută prin şuntare. Ea depinde de valorile logice ale conexiunilor l şi j în

Fig.1.8 Modelul BF singular


18 Cap.1 Modelarea defectelor

absenţa defectului şi are proprietatea BF(v, v) = v, v 0 {0, 1}.Valoarea BF(v, v̄),


obţinută prin activarea defectului, este dependentă de tehnologie. În tehnologiile
bipolare (TTL, ECL) una dintre valorile 0 şi 1 este dominantă. Dacă d este
valoarea dominantă, atunci BF(v, v̄) = BF(v̄, v) = d. Defectele sunt de tip AND
pentru d = 0 şi de tip OR pentru d = 1. În tehnologiile MOS, BF(v, v̄) poate să
ia valori diferite chiar pentru aceleaşi două conexiuni: 0, 1 sau x (tensiune
intermediară nivelelor logice). Exemple sunt arătate în fig.1.9 (b, c, d) în care
au fost reprezentate numai tranzistoarele care au curent de drenă nenul. S-a
considerat că toate tranzistoarele au aceeaşi rezistenţă rDS on = r şi rDS off = 4.

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

În tehnologiile bipolare procesarea defectelor BF şi SSF poate fi


combinată. Există relaţii între detecţia SSF şi detecţia BF care permit testarea BF
cu un mic efort de calcul, suplimentar celui cerut pentru testarea SSF. În
circuitele combinaţionale aceste relaţii sunt precizate prin următoarele trei
teoreme [2].
Teorema 1.1: Un test t detectează AND NFBF(l, j) (OR NFBF(l, j)) dacă
şi numai dacă fie t detectează l s-a-0 (l s-a-1) şi pune j = 0 (j = 1), fie t detectează
j s-a-0 (j s-a-1) şi pune l = 0 (l = 1).
Deoarece un defect de tip feedback transformă un CLC într-un CLS,
detecţia lui necesită în general o secvenţă de teste. Totuşi, în multe cazuri
detecţia se poate face cu numai un singur vector de test. În următoarele două
teoreme j este conexiunea mai apropiată de intrările primare iar l este conexiunea
mai apropiată de ieşirile primare.
Teorema 1.2: Dacă un test t determină j = 0 (j = 1) şi detectează l s-a-0
(l s-a-1) atunci t detectează AND FBF(l, j) (OR FBF(l, j)).
Teorema 1.3: Dacă un test t determină l = 0 (l = 1) şi detectează j s-a-0
(j s-a-1) fără ca eroarea generată să se propage prin l atunci t detectează AND
FBF(l, j) (OR FBF(l, j)).
Nu toate FBF pot fi detectate cu un singur test. Astfel, dacă conexiunea
l domină conexiunea j şi în circuitul fără defecte j = 0 Y l = 0 (j = 1 Y l = 1)
atunci pentru detecţia AND FBF(l, j) (OR FBF(l, j)) este nevoie de o secvenţă de
teste [2].
În tehnologiile MOS testarea defectelor punte este considerabil mai
dificilă decât în tehnologiile bipolare. Porţiunile de circuit cu defecte trebuie
simulate mai întâi la nivel de comutator (tranzistor) până când tensiunile de
interes au valori logice valide. După această fază analiza poate să continue la
nivel de poartă logică sau la nivele superioare. Reducerea efortului de calcul la
nivel de comutator poate fi obţinută pe baza următoarelor considerente. La
proiectarea circuitelor MOS actuale se utilizează biblioteci de celule standard.
Un tip de celulă este utilizat de mai multe ori în cadrul aceluiaşi proiect şi este
foarte probabil ca multe defecte BF să fie asemănătoare în sensul că se şuntează
aceeaşi combinaţie de celule şi în acelaşi mod. Toate BF de acelaşi tip se pot
grupa într-o singură clasă, numărul claselor fiind mult mai mic decât numărul BF
posibile.

1.1.3 Modelele tranzistor stuck-on şi tranzistor stuck-open


Aceste modele de defect sunt specifice tehnologiilor MOS. Modelul
tranzistor stuck-on descrie defecte fizice care conduc la “conflicte”. Conflictele
constau în faptul că reţelele de tranzistoare serie şi paralel din cadrul aceleiaşi
porţi sunt simultan în conducţie. Ca urmare, tensiunea la ieşirea unei porţi
defecte poate să aibă valori intermediare nivelelor logice. Un tranzistor stuck-on
20 Cap.1 Modelarea defectelor

rămâne în stare de conducţie şi pentru tensiuni grilă-sursă mai mici decât


valoarea de prag. Cauzele pot fi scurtcircuite între terminalele drenă şi sursă sau
valori prea mici pentru tensiunea de prag. Tensiunile intermediare din nodurile
defecte devin valide, 0 sau 1 logic, după propagarea prin câteva nivele succesive
de porţi, datorită câştigului mare în tensiune a porţilor MOS în jurul tensiunilor
de prag. Detecţia tranzistoarelor stuck-on depinde atât de valorile tensiunilor din
punctele de conflict cât şi de depărtarea faţă de ieşirile primare. Conform
rezultatelor din [12], mai mult de jumătate din numărul defectelor de tip
tranzistor stuck-on sunt nedetectabile. Acestea implică tranzistoare din lanţuri
serie (T1, T2, T3, T10, T11 sau T12 din fig.1.9(a)). Nivele acceptabile pentru
acoperirea defectelor stuck-on se pot obţine numai prin utilizarea tehnicilor de
proiectare pentru testabilitate.
Modelul tranzistor stuck-open descrie defecte fizice care determină lipsa
curentului de drenă şi pentru tensiuni grilă-sursă mai mari decât valoarea de prag.
Întreruperile contactelor de drenă sau sursă sunt cauze care conduc la acest tip
de defect. În prezenţa unui tranzistor stuck-open, ieşirea unei porţi poate să
rămână flotantă dacă se aplică la intrări anumite combinaţii de valori logice.
Datorită efectelor capacitive importante, inerente dispozitivelor MOS, nodul de
ieşire reţine temporar sarcina electrică stocată în starea anterioară rămânerii în
gol. Astfel, un tranzistor stuck-open
transformă o poartă logică într-un circuit
secvenţial. De obicei, pentru detecţie se
generează o secvenţă t1, t2 numită şi
pereche de test, în care t1 este vectorul de
iniţializare iar t2 este vectorul de
test.Vectorul t1 încarcă cu sarcină
electrică (descarcă) capacitatea nodului
testat iar vectorul t2 are o acţiune
contrară, respectiv de descărcare
(încărcare) a acesteia. Datorită
întârzierilor de propagare (hazardului
static), perechea de test poate fi
invalidată. O situaţie de acest fel apare
când tranziţia t1 6 t2 are forma t1 6 t3 6 t2,
unde t3 este un vector intermediar, care Fig.1.10 Poartă CMOS cu tranzistor
modifică sarcina nodului testat. Din acest stuck-open (T2)
motiv se impune o condiţie suplimentară
pentru perechea de test - eliminarea hazardului static din unele noduri ale
circuitului. Prin aceasta, perechea t1, t2 devine robustă. Aceste aspecte sunt
ilustrate pentru poarta CMOS din fig.1.10. O posibilă pereche de test este t1 =
100, t2 = 001, ordinea variabilelor fiind abc. Vectorul t1 descarcă capacitatea
nodului de ieşire Z prin tranzistorul T6 iar vectorul t2 o încarcă, în circuitul fără
Testarea şi Testabilitatea Sistemelor Digitale 21

defecte, prin T1 şi T2. În prezenţa defectului T2 stuck-open, t2 nu reuşeşte să


încarce nodul de ieşire. Eroarea este detectată în nodul Z. Dacă însă a comută la
0 mai repede decât comută c la 1, adică se trece prin abc = 000, atunci nodul Z
va fi încărcat prin tranzistoarele T1 şi T3. Ca urmare, perechea t1, t2 nu este
robustă.
Generarea unui vector de test pentru un tranzistor stuck-open şi
generarea unui vector de iniţializare cunoscând vectorul de test sunt probleme de
calcul dificile care aparţin clasei NP [13]. De asemenea, fără impunerea unor
restricţii de proiectare şi problema robusteţei perechilor de test este NP.
Proiectarea cu porţi de tipul celor din fig.1.9(a) reduce complexitatea analizei de
robusteţe, efortul de calcul necesar depinzând liniar de complexitatea circuitelor.

1.1.4 Modele de defect specifice PLA


Matricile logice programabile (PLA-programmable logic arrays) pot
implementa orice funcţie Booleană şi sunt intens utilizate la realizarea circuitelor
combinaţionale sau secvenţiale LSI şi VLSI. Un PLA se compune dintr-un
decodificator pentru intrări şi două matrici. În funcţie de tehnologie, matricile
pot fi de tipul NAND-NAND, NOR-NOR, NOR-OR, AND-OR. Structura de
bază este arătată în figura 1.11. Se utilizează două tipuri de decodificatoare:

Fig.1.11 PLA de tip AND-OR cu decodificator de 1 bit


22 Cap.1 Modelarea defectelor

decodificatoare de 1 bit, care transformă fiecare intrare xi în xi şi x̄ i, şi


decodificatoare de 2 biţi, care transformă o pereche de intrări în cei patru
mintermeni de două variabile. În fiecare punct de intersecţie dintre liniile de bit
cu liniile produs şi respectiv dintre liniile de ieşire cu liniile produs există unul
sau două tranzistoare cu care se realizează sau nu conectarea.
Specifice PLA sunt defectele din punctele de intersecţie. Există patru
tipuri de defecte de intersecţie:
(1) conectarea nedorită a unei linii de bit cu o linie produs (shrinkage fault);
Produsul sau implicantul afectat conţine o variabilă în plus şi va acoperi mai
puţini mintermeni. Dacă linia de bit xi (x̄ i) este conectată în mod eronat la o linie
produs Pj care conţine x̄ i (xi) atunci defectul rezultat este echivalent cu Pj s-a-0.
(2) conectarea nedorită a unei linii de ieşire cu o linie produs (appearance fault);
Funcţia de ieşire afectată conţine un implicant în plus.
(3) lipsa unei conectări dintre o linie de bit şi o linie produs (growth fault);
Implicantul afectat acoperă mai mulţi mintermeni decât ar trebui (dispare o
variabilă din produs).
(4) lipsa unei conectări dintre o linie de ieşire şi o linie produs (disappearance
fault); funcţia de ieşire afectată nu conţine unul dintre implicanţi.
Se pot defini un număr de (2n + k)m defecte singulare în punctele de
intersecţie şi un număr de [2(2n +k)m - (2n +k)m -1] defecte multiple. Pentru PLA
mari, considerarea explicită a tuturor defectelor singulare este dificilă iar
abordarea defectelor multiple este nepractică.
Diferite relaţii între defecte stuck-at şi punte pe de o parte, şi defecte de
intersecţie pe de altă parte sunt demonstrate pentru un PLA de tip NOR-OR cu
decodificator de un bit în [14]. În practică, testabilitatea PLA se asigură prin
tehnici de proiectare pentru testabilitate.
Anumite tipuri de PLA, cum ar fi FPLA şi EEPLA, oferă o flexibilitate
mai mare în proiectare. Această calitate rezultă din modul de realizare a
comutatoarelor din punctele de intersecţie. Într-un FPLA (field PLA)
comutatoarele se pot programa cu ajutorul laserului o singură dată, iar într-un
EEPLA (electrically erasable PLA) comutatoarele se pot reprograma în mod
asemănător memoriilor EEPROM. Probleme de testare specifice FPLA şi
EEPLA sunt prezentate în [15], [16].

1.1.5 Modelul crosstalk


Reducerea continuă a dimensiunilor componentelor în circuitele
integrate şi creşterea ratei de comutare conduc la cuplaje capacitive parazite care
pot să genereze erori logice. Aceste cuplaje sunt modelate prin defecte crosstalk
şi fac parte din categoria defectelor tranzitorii. Probabilitatea de apariţie a
erorilor logice datorită cuplajelor capacitive este mai mare în regiunile de circuit
Testarea şi Testabilitatea Sistemelor Digitale 23

în care există conexiuni paralele şi apropiate pe o porţiune relativ mare. O


condiţie parametrică necesară este prezentată în [17] pentru circuitele CMOS.
Cunoscând aranjamentul componentelor pe chip, condiţia parametrică poate fi
transformată într-o condiţie geometrică cu care se poate determina lista
perechilor de noduri susceptibile la crosstalk. În ciuda unei interacţiuni mutuale
între noduri, perturbaţia se produce de obicei numai într-un singur sens, adică
unul dintre noduri este întotdeauna sursa de perturbaţie iar celălalt nod este
“victima”. Detecţia unui defect crosstalk se face cu o secvenţă compusă din doi
vectori de test. Procedura este asemănătoare cu aceea folosită la detecţia
defectelor de tip tranzistor stuck-open. Fie Np şi Nv nodul perturbator şi respectiv
nodul victimă. O secvenţă t1, t2 detectează defectul crosstalk dintre cele două
noduri dacă sunt îndeplinite următoarele condiţii: (1) Np(t1) … Np(t2);
(2) în lipsa defectului (frecvenţă redusă de operare) Nv(t1) = Nv(t2) = Np(t1);
(3) nodul Nv este observabil la ieşirile primare în ambele teste t1 şi t2 .

1.1.6 Defecte de propagare (întârziere)


Operarea corectă a unui circuit logic presupune ca întârzierile semnalelor
de-a lungul căilor din circuit să fie mai mici decât o valoare limită specificată.
Când limita este depăşită se spune că circuitul are defecte de întârziere sau de
propagare. În circuitele combinaţionale detecţia acestor defecte se face de obicei
cu o secvenţă de două teste. La un moment de timp θ0 se aplică un vector de test
t1 iar după ce semnalele din circuit s-au stabilizat, se aplică al doilea vector t2 la
momentul θ1. Acesta din urmă trebuie să propage o tranziţie de la intrarea căii
testate până la ieşirea ei. Întârzierile corespunzătoare tranziţiilor pozitive aplicate
la intrarea căii pot să fie diferite de întârzierile de propagare ale tranziţiilor
negative. Ieşirea căii se eşantionează la momentul θ2 , unde θ2 - θ1 corespunde
vitezei de operare dorite. În lipsa defectelor, la momentul θ2 valoarea logică de
ieşire este cea corectă, adică valoarea corespunzătoare testului t2. În caz contrar,
pe calea testată s-a detectat un defect de propagare. Secvenţa de test t1, t2 este
robustă dacă şi numai dacă detectează defectul indiferent de întârzierile porţilor
din restul circuitului.
S-au propus două modele: modelul cale defectă şi modelul poartă defectă.
Primul este mai realist, deoarece cumulează întârzierile tuturor porţilor de pe
calea testată, însă prezintă două dezavantaje. Pe de o parte, numărul căilor poate
fi foarte mare iar pe de altă parte, se risipeşte efort de calcul pentru testarea căilor
nefuncţionale. Modelul “poartă defectă” presupune că depăşirea limitelor de timp
la propagare se datorează unei singure porţi logice. Deşi mai puţin realist, acest
model este mai practic în cazul circuitelor mari.
Pentru testarea căilor defecte, în [18] se utilizează un sistem de 5 valori
logice {S0, S1, U0, U1, xx}. Acestea au următoarele semnificaţii:
24 Cap.1 Modelarea defectelor

- 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

Cantitativ, defectele de întârziere pot avea mărimi diferite. Metode de


evaluare numerică a defectelor detectate sunt prezentate în [19] şi [20].
Testarea şi Testabilitatea Sistemelor Digitale 25

Acoperirea defectelor de propagare cu un set de perechi de test, în


modelul cale defectă, se determină cu relaţia:

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.

1.2 Modele de defecte logice funcţionale


Modelele de defecte funcţionale sunt utilizate frecvent la testarea
microprocesoarelor şi a memoriilor RAM. În cazul microprocesoarelor, defectele
pot fi împărţite în următoarele categorii [2]:
(1) defecte de adresare care afectează funcţia de decodificare a registrelor;
Fie fD(R) funcţia de decodificare a registrului R. În lipsa defectelor fD(R) = R. În
prezenţa unui defect fie nici un registru nu este accesat (fD(R) = Φ) fie se
accesează un set de registre care include sau nu registrul R.
26 Cap.1 Modelarea defectelor

(2) defecte de adresare care afectează funcţiile de decodificare sau de secvenţiere


a instrucţiunilor;
O instrucţiune este o secvenţă de microinstrucţiuni, fiecare compusă din
microordine executate în paralel. Microordinele sunt operaţiile elementare de
transfer şi de manipulare a datelor. În prezenţa unui defect de adresare care
afectează o instrucţiune fie nu sunt activate unele microordine, fie se activează
în mod eronat unele, fie un alt set de microinstrucţiuni se activează în locul, sau
împreună cu microinstrucţiunile corecte.
(3) defecte în funcţia de stocare a datelor;
(4) defecte în funcţia de transfer a datelor;
(5) defecte în funcţia de manipulare a datelor.
Modelul utilizat în cazul memoriilor RAM [22], [23] conţine defectele:
(1) celule stuck-at;
(2) celule izolate (accesarea lor nu este posibilă);
(3) celule cuplate (tranziţia bitului dintr-o celulă determină modificarea bitului
dintr-o altă celulă);
(4) celule cu acces multiplu (înscrierea unei valori într-o celulă conduce la
înscrierea aceleiaşi valori într-o altă celulă);
(5) celule care pierd informaţia în timp.
Testarea defectelor menţionate în acest paragraf se face prin operaţii
repetate de citire-scriere (READ-WRITE). Procedurile trebuie să fie
“nedistructive” adică, după operaţia de testare orice registru sau celulă de
memorie să conţină informaţia avută iniţial.
Aprecierea calităţii testelor funcţionale este dificilă. Dacă se dispune şi
de un model structural al sistemului testat, calitatea se poate determina prin
intermediul acoperirii unor defecte structurale cu testele funcţionale.

1.3 Probleme rezolvate


1. Să se determine toate testele care detectează defectele următoare,
definite în circuitul din fig.1.13: a) c s-a-0; b) k s-a-1; c) AND BF(p, l); d) AND
BF(g, m). R e z o l v a r e:
a) Defectul c s-a-0 poate fi activat numai prin atribuirea c = 1. Există două
alternative de propagare a eroarii 1/0 generate pe conexiunea c, şi anume prin
sensibilizarea căii c, h, n, p, z sau a căii c, i, l, m, z. Calea c, h, n, p, z devine
sensibilă dacă f = 1, a = 1 şi m = 1; f = 1 implică b = 1 iar m = 1 implică e = 1
şi se obţin testele abcde = 111x1 (x este valoare indiferentă). Calea c, i, l, m, z
devine sensibilă dacă k = 1, e = 0 şi p = 1; k = 1 implică bd = 0 iar p = 1 implică
a = 1 şi b = 0. În acest caz se obţin testele abcde = 101x0.
Testarea şi Testabilitatea Sistemelor Digitale 27

Figura 1.13

Sensibilizarea simultană a celor două căi nu asigură în acest caz propagarea


erorii. Astfel, dacă a = 1, b = 1, d = 0 şi e = 0 rezultă p = 0/1, m = 1/0, z = 1.
b) Activarea defectului k s-a-1 implică b = d = 1. Există o singură cale de la
conexiunea k la ieşirile primare: k, l, m, z. Pentru propagarea erorii prin poarta
G4 este necesară atribuirea c = 1. Aceasta determină n = p = 0, z = 1. Rezultă că
defectul k s-a-1 este redundant. Prin eliminarea lui se obţine circuitul din
fig.1.14.

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.

2. Să se determine testele care disting între defectele n s-a-1 şi l s-a-0,


definite în circuitul din fig.1.13.
R e z o l v a r e:
Fie α şi β două defecte definite într-un circuit combinaţional cu o singură ieşire
astfel încât circuitele defecte să fie tot combinaţionale şi Tα , Tβ seturile de teste
care detectează α şi respectiv β. Aceste mulţimi de teste nu trebuie să fie
obligatoriu nevide. Se poate verifica faptul că orice test t 0 Tα c Tβ - {Tα 1 Tβ}
distinge între defectele α şi β.
Defectele n s-a-1 şi l s-a-0 sunt detectabile numai la ieşirea z, testele care le
detectează fiind abcde = {11100, 11101, 11111} şi respectiv abcde = {10100,
10110}. În baza observaţiei de mai sus, aceste cinci teste disting între n s-a-1 şi
l s-a-0.

3. Ce tip de relaţii există între următoarele defecte, definite în circuitul


din fig.1.15: a) d s-a-1 şi m s-a-1; b) h s-a-1 şi k s-a-1.
R e z o l v a r e:

Figura 1.15

În absenţa defectelor n = ar b. În prezenţa defectelor singulare d s-a-1, m s-a-1,


h s-a-1 şi k s-a-1 ieşirea circuitului devine n = ab̄, n = ab̄, n = a + b şi respectiv
n = a + b. Rezultă că d s-a-1 este echivalent cu m s-a-1 iar h s-a-1 este echivalent
cu k s-a-1.
Testarea şi Testabilitatea Sistemelor Digitale 29

4. Să se determine dacă există redundanţă în circuitul din fig.1.16 şi în


caz afirmativ să se simplifice circuitul.

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

sinteză logică se poate diminua redundanţa introdusă nedorit în structura


circuitelor. De obicei în faza de sinteză sau după sinteză sunt rulate proceduri
speciale de identificare a redundanţei. Identificarea redundanţei poate fi făcută
cu orice procedură de generare a testelor pentru detecţia SSF însă efortul de
calcul poate fi prea mare. Se poate arăta că nu există nici un test care să detecteze
defectele (echivalente) h s-a-0, k s-a-0 şi n s-a-1 din circuitul din fig.1.16;
eliminarea oricăruia dintre acestea produce circuitul din fig.1.17.
30 Cap.1 Modelarea defectelor

5. Să se facă colapsarea SSF pentru circuitul din fig.1.13.


R e z o l v a r e:
În acest circuit există 17 conexiuni, deci se pot defini 34 SSF. O reducere a
numărului de defecte pe baza analizei la nivelul fiecărei porţi logice este
prezentată în fig.1.18 (cercurile goale şi pline semnifică defecte stuck-at-0 şi
respectiv stuck-at-1).
Între defectele reprezentate în figura de mai sus mai există următoarele relaţii:
- p s-a-0 şi z s-a-1 sunt echivalente;

Figura 1.18

- p s-a-0 domină f s-a-1 şi h s-a-1;


- p s-a-1 domină a s-a-1 şi n s-a-1;
- m s-a-1 domină i s-a-1 şi k s-a-1.
Efectuând şi eliminările permise de aceste relaţii se obţine setul de defecte din
fig.1.19: {a1 , b0 , b1 , c0 , c1 , d1 , e0 , f1 , g1 , h1 , i1 , j1 , k1 , l0 , n1 , y0 , y1}.

Figura 1.19

S-ar putea să vă placă și