Sunteți pe pagina 1din 34

UNIVERSITATEA TEHNICĂ A MOLDOVEI

TESTAREA SISTEMELOR ELECTRONICE

Ghid pentru lucrări de laborator


Partea I

Chişinău
2015
UNIVERSITATEA TEHNICĂ A MOLDOVEI
FACULTATEA INGINERIE ŞI MANAGEMENT ÎN ELECTRONICĂ ŞI
TELECOMUNICAŢII

CATEDRA SISTEME ŞI DISPOZITIVE ELECTRONICE

TESTAREA SISTEMELOR ELECTRONICE

Ghid pentru lucrări de laborator


Partea I

Chişinău
Editura «Tehnica-UTM»
2015
1
Acest ghid pentru lucrări de laborator are ca scop obținerea
abilităților la întocmirea testelor pentru sistemele combinaționale
digitale și dispozitivele ale memoriei digitale. Practic testarea se
efectuează în baza microcircuitelor cu logica programabilă prin
intermediul limbajului VHDL și în editorul Schematic.
Lucrările de laborator prezente sunt destinate consolidării
cunoștințelor în domeniul testării dispozitivelor digitale, iar
efectuarea lucrărilor în baza plachetelor de depănare (kit-urilor)
este destinată aprofundării cunoștințelor practice în acest domeniu.
Ghidul este recomandat studenților, masteranzilor și
doctoranzilor de profil și reflectă tendințele contemporane de
testare a sistemelor electronice în baza dispozitivelor cu logica
programabilă.

Autori: lector univ. S. Griţcov


lector asist. D. Lazăr
Recenzent: conf. univ., dr. P. Nistiriuc

Redactor: E. Gheorghişteanu
––––––––––––––––––––––––––––––––––––––––––––––––––
Bun de tipar Formatul hârtiei 60x84 1/16.
Hârtie ofset. Tipar RISO Tirajul 30 ex.
Coli de tipar 2,0 Comanda nr.
–––––––––––––––––––––––––––––––––––––––––––––––––––––
UTM, MD-2004, Chişinău, bd. Ştefan cel Mare și Sfânt, 168
Editura «Tehnica-UTM»
2068,Chişinău, str. Studenţilor, 9/9

© UTM, 2015

2
INTRODUCERE

Indicaţiile metodice prezente sunt destinate pentru


efectuarea lucrărilor de laborator care includ întocmirea testelor
sau secvenţelor de teste pentru detectarea defectărilor în circuitele
digitale. De asemenea, în aceste indicaţii metodice este reprezentat
materialul teoretic, care include metodele de testare a circuitelor
logice digitale și a memoriei digitale. Pentru fiecare metodă sunt
demonstrate niște exemple.
Aceste lucrări de laborator pot fi grupate în două lucrări:
prima și a doua – alcătuirea testelor sau secvenţelor de teste pentru
a detecta toate defectările constante posibile în circuitele
combinaționale digitale, iar a treia – alcătuirea testelor sau
secvenţelor de testare pentru detectarea defectărilor în
dispozitivele cu memorie (bistabile și contori).
Efectuarea lucrărilor de laborator se realizează în baza
plăcilor de asamblare cu FPGA (schema logică integrală
programabilă) de firma Altera. Microcircuite date dispun de
resurse necesare (blocuri logice, celule de memorie), ceea ce ne dă
posibilitate a realiza în practică testarea dispozitivelor digitale.
În cadrul efectuării lucrărilor de laborator studentul trebuie
să acumuleze următoarele cunoştinţe:
- în baza metodelor cunoscute, care vor fi analizate în
partea teoretică a indrumarului metodic, să înveţe a întocmi teste
şi secvenţe de teste pentru detectarea anumitor tipuri de defectări;
- să înveţe a optimiza secvenţele de teste întocmite;
- să înveţe a aplica în practică cunoştinţele acumulate în
domeniul detectării a diferitor tipuri de defectări în dispozitivele
digitale.

3
1. Definiţii de bază în diagnosticarea tehnică

Până de a trece la întocmirea testelor, e necesar a ne


familiariza cu conceptele de bază ale diagnosticării tehnice.
Definițiile de bază sunt reprezentate mai jos.

Diagnosticarea este un domeniu de cunoștințe, care


conține teoria și metodele de organizare a proceselor de verificare
și principile de alcătuire a mijloacelor de diagnosticare.
Diagnosticarea tehnică este un domeniu de cunoștințe,
care conține teoria, metodele și mijloacele de detectare a stării
tehnice a obiectelor.
Obiectul diagnosticării tehnice (controlului stării tehnice)
– dispozitivul și (sau) piesele lui care sînt supuse la diagnosticare
(control).
Testabilitate – proprietate a dispozitivului ce caracterizează
capacitatea de a efectua asupra acestuia controlul cu mijloacele
specificate.

Caracteristicile şi indicatorii de bază ai diagnosticării


tehnice sunt:
- durata diagnosticării tehnice – intervalul de timp, în
care se efectuează diagnosticarea (controlul) unui obiect;
- autenticitatea diagnosticării tehnice - gradul de
corespundere a rezultatului obiectiv al diagnosticării (controlului)
cu starea tehnică reală a unui obiect;
- integralitatea diagnosticării tehnice – caracteristica, ce
determină capacitatea de detectare a defectărilor unui obiect prin
metoda aleasă a diagnosticării (controlului) acestuia.

Unul din scopurile principale ale diagnosticării tehnice este


determinarea defectărilor prezente în aparatajul electronic. Sub o
defectare se subînțelege comportamentul incorect al obiectului de
control (în continuare – OC) ca urmare a prezenței unui defect.
Sub un defect se subînțelege o denaturare fizică a structurii, ceea
ce duce la un comportament incorect a OC.
4
Diagnosticarea tehnică poate oferi răspunsuri la
următoarele întrebări:

1) Dispozitivul funcționează corect?


2) Defectarea este localizată?
3) Care este cauza defectării?

Este clar că a doua și a treia întrebare apar în cazul în care


răspunsul la prima întrebare este negativ, atunci în dispozitiv
există o defectare. Tocmai răspunsul la prima întrebare ne dă
testarea, scopul principal al căreia este detectarea defectărilor într-
un anumit dispozitiv digital.

Conceptele de bază în testare sunt următoarele:


Testarea – domeniul de diagnosticare destinat pentru a
stabili capacitatea de funcţionare a OC.
Testul – un set de influențe de intrare (x) și reacții de ieșire
(y), utilizate pentru detectarea unui defectări în OC. Tf = (x,y).
Iterația de test – trecerea unui test cu anumiți parametri
prin intermediul OC (sau efectuarea unui test).
Experimentul de test – un set de iterații de test.
Complexitatea funcțională (algoritmică) a testului – un
număr de operaţiuni necesare pentru rezoluția egală cu 100% (sau
maximală) pentru o anumită defectare; complexitatea testului
poate fi liniară sau neliniară.

5
2. Defectările dispozitivelor digitale

Un parametru principal la analizarea defectărilor este


pereodicitatea apariției unor sau altor tipuri de defectări. Acest
parametru determină cât de des unele sau alte defectări duc la
anumite tipuri de defectări într-un circuit digital. E necesar a
remarca faptul că cele mai des apărute defectări sunt defectări
constante [1]. Există două tipuri de defectări: defectările constante
singulare: constanta zero (s@0) și constanta unu (s@1), precum și
multiple. Pentru o explicare mai bună a defectărilor constante vom
analiza un exemplu.

a) b)
Fig. 2.1. Schema cu defectare constantă s@0 (а) și s@1 (b)
În fig. 2.1, a se arată, că un scurtcircuit la un cablu comun
la una din intrări ale elementului logic “ȘI” aduce la faptul că, la
una din intrări, precum și la ieșire permanent se menține valoarea
logică “0”. În mod evident, acest lucru duce la imposibilitatea de a
schimba starea logică la ieșirea circuitului. În fig. 2.1, b este
reprezentat un exemplu de defectare constantă s@1, ceea ce duce
la reținerea logicii ‘1’ la ieșire. Din cele spuse mai sus, putem
trage concluzia că defectarea constantă duce la menținerea pe o
linie în circuit a unei stări logice anumite, dar nu numaidecît la
menținerea stării logice anumite la ieșirea circuitului.
Atunci când se analizează un dispozitiv de memorie
digitală poate fi indicată o serie de diferite tipuri de defectări.
Înainte de a începe să le luăm în considerare, vom diviza memoria
digitală pe trei componente principale:
1) matricea de celule a memoriei;
6
2) decodorul adresei;
3) R/W logica (logica de dirijare a procesului de
citire/înscriere).

În conformitate cu [2] testele care detectează anumite


defectări ale matricei de celule ale memoriei vor detecta aceleași
defectări ale decodorului de adrese și logicii de citire/înscriere. Din
acest motiv se analizează în general numai defectările matricei de
celule de memorie. Conform [3] defectări pot fi divizate în trei
categorii:

1) de un singur port (Single-port) și multi-port (Multi-


port);
2) statice (Static) și dinamice (Dynamic);
3) simple (Simple) și cuplate (Linked).

În fig. 2.2 este prezentată clasificarea defectărilor.

Fig. 2.2. Defectări în matricea de celule de memorie [3]

7
În fig. 2.2 Fault Primitives reprezintă defectările primitive
(defectări de bază sau pur și simplu, defectări). Defectările multi-
port sunt legate de memoria a două port-uri de date. În acest ghid
vom analiza cea mai simplă memorie cu un singur port. Ea poate
să conțină defectările statice și dinamice. Defectările dinamice sunt
activate numai la efectuarea anumitor acțiuni (de exemplu, la
operația de înscriere, după care urmează operația de citire, are loc
activarea defectării). În acest ghid vom lua în considerare doar
defectările statice. Acestea includ defectările simple (Simple) și
defectările multiple (Linked). Defectările multiple reprezintă două
sau mai multe defectări simple care afectează una și aceeași celulă.
Defectările simple pot fi statice sau dinamice, în dependență de
metodă activării, dar pot fi și de tip single-port sau multi-port, în
dependență de numărul de port-uri pe care le acoperă.
Frecvență apariției defectărilor simple în dispozitivele de
memorie este de 90-95% de toate tipurile de defectări [1]. Din
acest motiv, în general, sunt considerate defectările simple. Aceste
defectări pot fi împărțite în singulare și cuplate și le vom studia
mai detaliat.

1) Defectările singulare
a) Defectare de tip blocat (stuck-at fault – SAF): celula
păstrează valoarea ‘0’ sau ‘1’ și nu-și schimbă starea sa, indiferent
de operațiile efectuate asupra acesteia. Frecvența de apariție a
defectelor de acest tip este de aproximativ 50% în raport cu toate
tipurile de defectări [1].
b) Celulele de memorie cu defectări de tranziție transition
fault (TF) nu-și schimbă starea, cel puțin la una dintre tranzițiile
de la ‘0’ în ‘1’ sau de la ‘1’ în ‘0’.
c) Defectarea stuck-open fault (SOF) înseamnă că accesul
spre celula nu este posibil, probabil din cauza liniei de date
deschise (neconectate) [4].

8
2) Defectările cuplate.
a) Defectarea cuplată inversă (Inversion Coupling Faults
–CFin): influențează asupra a două celule adiacente i si j,
defectarea este generată de operațiunea de înscriere a unei celule
concrete j. Celula j, numită agressor, inversează conținutul celulei
i, care se numește victim. Există două tipuri de CFin [4]:
- CFin1: reînscrierea celulei j din ‘0’ în ‘1’ produce
inversia celulei i.
- Cfin2: reînscrierea celulei j din ‘1’ în ‘0’ produce inversia
celulei i.

b) Defectarea cuplată idempotentă Idempotent Coupling


Faults (CFid): influențează asupra a două celule adiacente i și j.
Defectarea este generată de operația de înregistrare a celulei
concrete j, la care conținutul celulei i se schimbă în valoare fixă
(‘0’ sau ‘1’). Există patru tipuri de CFid [4]:
- CFid1: reînscrierea celulei j din ‘0’ în ‘1’ produce
păstrarea sau trecerea celulei i în ‘0’.
- Cfid2: reînscrierea celulei j din ‘0’ în ‘1’ produce
păstrarea sau trecerea celulei i în ‘1’.
- Cfid3: reînscrierea celulei j din ‘1’ în ‘0’ produce
păstrarea sau trecerea celulei i în ‘0’.
- Cfid4: reînscrierea celulei j din ‘1’ în ‘0’ produce
păstrarea sau trecerea celulei i în ‘1’.

c) Defectarea cuplată de stare (State Coupling Faults –


CFst): afectează două celule i și j. Defectarea nu este generată de
operația de înscriere. Conținutul celulei i se schimbă într-o valoare
fixă (‘0’ sau ‘1’) în dependență de conținutul celulei j. Există patru
tipuri de CFst [4]:
- CFst1: în celula j se păstrează ‘0’, ceea ce duce la
păstrarea sau trecerea celulei i în ‘0’.
- CFst2: în celula j se păstrează ‘0’, ceea ce duce la
păstrarea sau trecerea celulei i în ‘1’.
- CFst3: în celula j se păstrează ‘1’, ceea ce duce la

9
păstrarea sau trecerea celulei i în ‘0’.
- CFst4: în celula j se păstrează ‘1’, ceea ce duce la
păstrarea sau trecerea celulei i în ‘1’.

În dependență de structura memoriei, celulele sunt aranjate


într-o matrice liniară (fig. 2.3, a), ceea ce este tipic pentru memoria
statică cu acces aleatoriu (RAM static sau SRAM), sau pot fi
aranjate într-o matrice (fig. 2.3, b), care este tipică pentru RAM
dinamic (DRAM).

a) b)
Fig. 2.3. Exemplu de defectările cuplate pentru SRAM (a) și DRAM (b)

Astfel, defectările cuplate pot afecta două sau mai multe


celule de memorie. În literatură des sunt luate în considerare 3-CF
(defectările cuplate, care afectează 3 celule de memorie,
reprezentate în fig. 2.3, a) și 5-CF (fig. 2.3, b) [1].
În dispozitivele moderne de memorie valoare celulelor este
de 8, 16 sau mai mulți biți. Într-un caz clasic defectări sunt luate în
considerare pentru memorie bit-orientată. Atunci când se
analizează memoria word-orientată (când celula de memorie are o
valoare de doi sau mai mulți biți) defectări pot fi împărțite pe
defectările externe (intra-word – când agressor și victim sunt
celule întregi ale memoriei) și interne (inter-word – atunci când
agressor și victim sunt niște biți ai unei și acelei celule de
10
memorie) [5]. Exemplu de defectările cuplate pentru memorie
word-orientată este reprezentat în fig. 2.4.

а) b)
Fig. 2.4. Defectări cuplate externe (а) și interne (b)
Am considerat doar o parte de defectări, iar frecvența
apariției lor în anumite dispozitive de memorie este mai mare de
90% (tab. 2.1).

Tabelul 2.1. Frecvența de apariție a defectelor în memorie


digitală [1]

Tipul defectării Probabilitate de apariție


Defectările simple (singulare) 0,65
Defectările cuplate 0,25
Altele 0,10

Trecem la analiza metodelor de detectare a defectărilor


respective.

11
3. Мetodele de detectare a defectărilor în dispozitivele digitale

Pentru detectarea defectărilor se întocmesc teste şi secvenţe


de testare. Optimale vor fi considerate testele cu complexitatea
algoritmică minimală, ceea ce va economisi timpul de testare, şi cu
complexitatea algoritmică minimală, ceea ce va economisi
resursele hardware, necesare pentru efectuarea testului.
La alcătuirea testelor pentru detectare a defectărilor în
circuitele logice digitale se aplică una dintre cele patru metode,
care vor fi reprezentate în continuare.

3.1. Metodele de testare a circuitelor combinaționale digitale

În acest compartiment vor fi analizate patru metode de


testare a circuitelor combinaționale digitale.

3.1.1. Metoda sensitivizării căii

Această metodă de alcătuire a testelor include următoarele


etape:
1) detectarea defectării în nodul analizat;
2) alegerea căii de propagare a defectării la una din ieşirile
circuitului;
3) determinarea condiţiilor de activare a căii: începînd cu
nodul în care este specificată defectarea, se definesc condiţiile
(valorile de intrare ale elementelor logice), la care toate elementele
logice depind de valoarea semnalului în nodul cu defectare,
răspîndită pe o cale evidenţiată – faza directă;
4) determinarea semnalelor, aplicate la intrările
microcircuitului, necesare pentru activarea defectării – faza
inversă.
Alcătuim testul pe baza metodei reprezentate pentru
defectarea s@0 în nodul 4 (fig. 3.1).

12
Fig. 3.1. Exemplul circuitului cu defectarea s@0

Pentru alcătuirea testului efectuăm paşi în conformitate cu


metoda de sensitivizare căii.
1) În fig. 3.1 se vede că defectarea s@0 se află în nodul 4.
2) Alegem calea de propagare a defectării la ieşirea Y1.
3) Determinăm condiţiile de activare a căii: e necesar la x3
să se aplice ‘1’, pentru ca poarta de ieşire “ŞI” să fie deschisă,
astfel, încât Y1 să depindă numai de nodul 4.
4) Se determină semnalele: pentru detectarea defectării
s@0 în nodul 4, e necesar ca în acest nod să fie ‘1’, atunci la ieşire
va fi aşteptat ‘1’, (la prezenţa defectării – ‘0’); pentru aceasta
aplicăm ‘1’ la intrările x1 şi x2.
Astfel, testul în care se detectează defectarea s@0 în nodul
4 este reprezentat mai jos:
x x x 
T40   1 2 3 
1 1 1
După această metodă pot fi întocmite teste pentru mai
multe defectări.
Dacă testul la analizarea unei anumite defectări nu este
sintetizat, atunci schema este redundantă, adică nodul analizat nu
afectează ieşirile finale în microcircuit.

13
3.1.2. Metoda derivatelor booleene

Această metodă se bazează pe aplicarea derivatelor


booleene. Dacă calculăm derivata booleană de la o funcţie f(x),
obţinem:

dF F F ( x)  F ( x) F ( x)  F ( x)
F'  lim  lim  lim 
dx x0 x x0 xx x0 1

 F ( x)  F ( x) (3.1)
Tabelul de adevăr pentru operaţiunea "XOR" „sau cu
excepţie” este reprezentat mai jos:

Tabelul 3.1. Tabelul de adevăr pentru operaţiunea XOR


F x  Fx  F
0 0 0
0 1 1
1 0 1
1 1 0
Proprietăţile derivatei booleene:
dF
1)  0 , funcţia f nu depinde de xi;
dxi

dF
2)  1 , funcţia f depinde de xi;
dxi
dF
3)  F ( x1 , x2 ,...xi ,... xn ) .
dxi
Pe baza proprietăţilor derivatei booleene menţionate mai
sus ajungem la concluzia, că egalitatea necesară se realizează în a
doua proprietate, deoarece ea oferă dependenţa funcţiei, care va
reprezenta valoarea la ieşirea microcircuitului, de la variabila

14
logică analizată (nodul analizat).
Algoritmul de întocmire a testelor pe baza metodei
derivatelor booleene conţine paşii următori:
1) calculul funcţiei derivatei booleene pentru variabila
logică analizată;
2) egalarea derivatei booleene cu 1 (vezi proprietatea 2) şi
determinarea valorilor variabilelor pentru care se îndeplineşte
această egalitate;
3) dacă este găsit testul, atunci pentru următoarea variabilă
logică analizată se repetă paşii 1 – 2.
În baza metodei reprezentate pentru defectare s@0 în nodul
2 (fig. 3.2), întocmim un test.

Fig. 3.2. Exemplul circuitului cu defectarea s@0


Calculăm derivata după x2:
dF
 ( x1 1  x3 )  ( x1  0  x3 )  ( x1  x3 )  x3 .
dx2
La pasul următor este necesar să se egaleze cu unu această
derivată şi să se determine, în ce condiţii derivata va fi egală cu
unu:
( x1  x3 )  x3  1 ,
x 1
( x1  x3 )  x3 1  (1  0)  0  1 .
x3  0

Urmează să determinăm ce se va aplica la x2. Conform


metodei derivatelor booleene, pentru a determina defectarea s@0
este necesar ca pe linia defectată sa se aplice ‘1’ şi invers: pentru a

15
determina defectarea s@1 este necesar ca pe linia defectată sa se
aplice ‘0’. Astfel, obţinem următoarele teste:

x x x  x x x 
Tx2 0   1 2 3  Tx2 1   1 2 3 
1 1 0 1 0 0
Această metodă este cea mai optimă, dacă defectarea se
află pe una din liniile de intrare.

3.1.3. Metoda (Roth) sau d-algoritmul

În baza acestei metode, poate fi detectată orice defectare,


dacă acesta în general poate fi detectată pentru aceasta în alfabetul
principal A  0,1, x este necesar să se adauge încă două caractere:
d şi d . În acest caz, alfabetul extins va avea formă următoare:
 
D  0,1, x, d , d , unde d indică că se află în starea funcţională în
nodul ‘1’, iar la prezenţa defectării – ‘0’, iar d indică că se află în
starea funcţională în nodul ‘0’, iar la prezenţa defectării – ‘1’.
Asupra alfabetului D pot fi efectuate următoarele operaţii
de intersecţie:
1) 0  0  0  x  x  0  0 ;
2) 1  1  1  x  x  1  1 ;
3) 1  0  d ;
4) 0 1  d .
În baza condiţiilor (3) şi (4) se poate afirma, că operaţia de
intersecţie nu este comutativă. La nivelul alfabetului A este
introdus un tabel de adevăr, de exemplu, pentru elementul ‘ŞI’ cu
două intrări:
Tabelul 3.2. Tabelul de adevăr pentru elementul ‘ŞI’
1 2 3
с1 1 1 1
с2 0 x 0
с3 x 0 0

16
În acest tabel (1,2 – intrări, 3 – ieşire) de la început sunt
înscrise combinaţii unicale, în acest caz: c1 (deoarece numai la с1
la ieşire e ‘1’), iar apoi – restul. Dacă efectuăm intersecţia
variabilelor с din tab. 1.2, atunci în rezultat obţinem d-cub
elementar (sau singular). De exemplu, vom analiza intersecţia c1
cu с2:
1 2 3
c1  c2  (1  0,1  x,1  0)   
d 1 d 
Pentru automatizarea procesului de calcul a fost introdusă
încă o noţiune: intersecţia d a d-cuburilor.
Fie că sunt date două d-cuburi: : A  a1 ,...a n  şi
B  b1 ,...bn  , undе ai , bi  D , unde intersecţiile d a d-cuburilor
reprezintă un cub, componentele căruia sunt egale cu d-intersecţii
ale componentelor corespunzătoare de d-cuburi componente:

d
 d d

A  B  a1  b1 ,...an  bn , (3.2)

1) x  b  b , x  a  a ;
d d

a(or b), if ai  bi
2) ai  x , bi  x  ai  bi   .
d
 0
Dacă rezultatul d-intersecţiei cel puţin a unei componente
este egal cu ‘0’, atunci şi intersecţia d a d-cuburilor va fi, de
asemenea, egală cu ‘0’ (în acest caz sub ‘0’ se subînţelege o
mulţime goală).
Algoritmul de întocmire a testelor pe baza metodei d-
algoritmelor conţine paşii următori:
1) se determină d-cub de defectări;
2) se alege calea de distribuire, răspândire a defectării la
ieşire şi se efectuează intersecţia d a d-cubului defectării cu d-
cuburile elementelor, situate de-a lungul acestor căi (faza directă);

17
3) se efectuează intersecţia d a rezultatului de d-intersecţii a
d-cuburilor cu cuburi elementare de elemente, care nu au participat
la operaţii în pasul 2 (faza indirectă).
În baza metodei reprezentate pentru defectarea s@1 în
nodul f1 (fig. 3.3) alcătuim testul.

Fig. 3.3. Exemplul schemei cu defectarea s@1


La prima etapă alcătuim un d-cub elementar de defectare:
x1 x2 x3 x4 x5 f1 f 2 f 3 f 4
00    d   
La etapa a doua se efectuează intersecţia d a d-cubului
defectării cu d-cuburile elementelor, amplasate pe calea de
râspândire a defectării la ieşire:
x1 x2 x3 x4 x5 f1 f 2 f 3 f 4
 a0  0 0    d   
d

a1    0   d  d 
 a2  0 0 0   d  d 
d

a3        1 d d
 a4  0 0 0   d 1 d d
d

18
În al treilea pas se efectuează d-intersecţii d-cubului
rezultat cu d-cuburi elementare, care nu au participat la operaţii în
pasul 2:
x1 x2 x3 x4 x5 f1 f 2 f 3 f 4
 a4  0 0 0   d 1 d d
d

a5     1 1  1  
a6  0 0 0 1 1 d 1 d d
În rezultat obţinem un test ce detectează defectarea s@1 în
nodul f1:
x x x x x f 
Tx2 0   1 2 3 4 5 4 
0 0 0 1 1 d 
Astfel, d-intersecţii a d-cuburilor se efectuează pentru
alcătuirea testului pentru fiecare defectare.

3.1.4. Metoda stocastică

Ideea acestei metode constă în aceea că există un obiect de


control de referinţă (OC), care este funcţional, şi OC testat, în care
este posibilă prezenţa anumitor defectări (fig. 3.4). De la generator
de teste se aplică o combinaţie corespunzătoare pe ambele OC.
Dacă rezultatele ieşirilor OC vor fi diferite la aplicarea unei
combinaţii de testre anumite, atunci comparatorul va emite ‘1’,
ceea ce corespunde cu prezenţa defectărilor în OC de testare.

Fig. 3.4. Schema bloc pentru testarea OC prin metoda stocastică

19
Generatorul de teste reprezintă un registru de deplasare
liniar cu conexiunile inverse (LFSR – Linear Feedback Shift
Register), structura căruia este determinată de un polinom
ireductibil. În tab. 3.3 sunt reprezentate niște polinoame
ireductibile asupra câmpului Galois.
Tabelul 3.3. Polinoamele ireductibile p(x) asupra câmpului
GF(2) de gradul m
m p(x) m p(x)
2 1 x  x2 9 1  x 4  x9
3 1  x  x3 10 1  x 3  x10
4 1  x  x4 11 1  x 2  x11
5 1  x 2  x5 12 1  x 3  x 4  x 7  x12
6 1  x  x6 13 1  x  x3  x 4  x13
7 1  x  x7 14 1  x  x11  x12  x14
8 1  x  x 5  x 6  x8 15 1  x  x15

Această metodă de întocmire a testelor include paşii


următori:
1) se determină lista de defectări în nodul analizat
D, D  0 ;
2) pentru fiecare defectare d , d  D se efectuează
experimentul de testare: de la generator la OC testat şi la etalon se
aplică toate combinaţiile de semnalele logice, numărul cărora este
determinat de perioada unui polinom ireductibil (3.3), combinaţiile
în care la comparatorul de ieşire va fi ‘1’, adică la care valorile de
ieşire ale OC testat sau la etalon diferă, sunt înregistrate ca teste
care detectează defectarea analizată;
T  2 n  1, (3.3)
unde n – numărul de biţi LFSR (această formulă este
adevărată pentru cazul când se aplică polinomul p(x) asupra
GF(2));

20
3) dacă defectarea analizată a fost detectată, atunci aceasta
este exclusă din lista D;
4) paşii 2 şi 3 se repetă până cînd D nu va fi egal cu zero.

Pe baza metodei reprezentate alcătuim testul pentru


defectarea s@0 în nodul 5 (fig. 3.5).

Fig. 3.5. Exemplul circuitului cu defectarea s@0


Pentru alcătuirea testului efectuăm paşii în conformitate cu
metoda stocastică. Ne limităm cu alcătuirea testului pentru
defectarea s@0 în nodul 5 (fig. 3.5).
Alegem un polinom ireductibil din tab. 1.3, în conformitate
cu numărul de intrări OC. Pentru cazul dat, polinomul ales este:
1  x  x 4 . În acest caz, schema pentru experimentele de testare va
fi următoarea:

Fig. 3.6. Schema pentru experimentele de testare

21
Specificăm starea iniţială a LFSR-ului: “1 1 1 1”. În acest
caz, de pe LFSR la intrările ambelor OC (cu excepţia “0 0 0 0”)
vor fi aplicate 15 valori. Aceste valori sunt reprezentate în tab. 3.4.
Таb. 3.4. Stările LFSR
Tact x1 x2 x3 x4 Tact x1 x2 x3 x4
1 1 1 1 1 9 1 0 0 1
2 0 1 1 1 10 0 1 0 0
3 1 0 1 1 11 0 0 1 1
4 0 1 0 1 12 0 0 0 1
5 1 0 1 0 13 1 0 0 0
6 1 1 0 1 14 1 1 0 0
7 0 1 1 0 15 1 1 1 0
8 0 0 1 1 16 1 1 1 1

La prezenţa defectării s@0 în nodul 5 (fig. 3.5-3.6),


comparatorul va emite ‘1’ la aplicarea combinaţiei a şasea de
testare la intrările OC, astfel obţinem testul următor:

x x x x 
T f1 0   1 2 3 4 
1 1 0 1

Această metodă permite să automatizeze procesul de


determinare a testelor, ceea ce la rândul său, va permite să
accelerarea acestui proces.

3.1.5. Minimizarea testelor

Setul de teste alcătuite, care detecteaza defectările anumite


în circuitul analizat, poate fi excesiv. Din acest motiv se efectuează
minimizarea testelor, adică căutarea numărului minim de teste.
După alcătuire testele sunt introduse în tabel, de exemplu – tab.
3.5.

22
Таbelul 3.5. Minimizarea testelor*
№ x1 x2 x3 1≡0 1≡1 2≡0 2≡1 3≡0 …
1 1 0 0 + - + + - …
2 1 0 1 + - - - - …
3 0 1 1 - + - + - …
4 0 0 1 + - + - - …
5 0 1 0 + - - + + …

*Notă. În tab. 3.5 al treilea test este unic, iar 1,3,5 sau 3,4,5
– reprezintă un set minim de teste.

Apoi, găsim testele unice (testul unic este un test ce


detectează defectarea care nu poate fi detectată de alte teste).
Evidenţiem toate testele unice şi adăugăm la ele testele care
detectează defectările rămase. În rezultat obţinem un set minim de
teste, necesare pentru a detecta toate defectări de un tip anumit în
circuitul analizat.
Aceste metode de detectare a defectărilor pot fi utilizate nu
numai pentru circuite combinaționale, dar și pentru circuitele cu
memorie (bistabile, registre, contoare etc).
Efectuarea fiecărui test suplimentar necesită cheltuieli
hardware și de timp suplimentare, ceea ce duce la necesitatea de a
reduce combinațiile de teste. Acesta este motivul pentru care este
necesar a găsi un număr minim a combinațiilor de teste, care
detectează toate defectările posibile.

23
3.2. Metode de testare a dispozitivelor de memorie digitală

Toate metodele de testare cunoscute permit alcătuirea


testelor pentru detectarea defectărilor în memoria bit-orientată
(toate celulele de memorie constă dintr-un bit). La trecerea la
memoria word-orientată în teste sunt întroduse unele modificări
care sunt descrise în [5]. În continuare vom analiza metodele
principale de testare a dispozitivelor de memorie digitală.

3.2.1. Metodele clasice de testare

Cîteva exemple ale testelor clasice sunt reprezentate în


tab. 3.6.
Таbelul 3.6. Testele clasice
Defectări detectate
Testele funcţionale

În matricea de În decoderul de
Complexitatea
algoritmică

memorie adrese
Înscriere falsă

Accesul numai

Accesul la mai

Ambiguitate
multe adrese
Citire falsă

la o celulă
înscrierii
Lipsa

Înscriere şi citire
4n - 0 0 0 0 0
concomitentă
“Codul şah” 4n + - 0 - 0 0
Fugitivă 1(0) 2(n2+2n) + + + - - -
Linie fugitivă 2(n3/2+3n) + + + + - -
Citire în pereche
2(2n3/2+3n) + + + + - +
după rînd
Diagonala
2(n3/2+3n) + + - + + +
deplasată

În tab. 3.6 n este numărul de celule de memorie; "+" arată


că testul detectează un anumit tip de defectare; '-' – poate detecta,

24
dar poate şi omite defectarea; ‘0’ arată că testul nu detectează acest
tip de defectare.
Majoritatea testelor clasice are un neajuns – complexitatea
algoritmică înaltă, care este adeseori neliniară. Un exemplu ar fi
testarea exhaustivă. Ea reprezintă aplicarea tuturor combinațiilor
posibile la intrările dispozitivului. Dacă ne referim la memorie în
celule vor fi înscrise toate combinațiile posibile. Complexitatea
algoritmică a unui test excesiv va fi n2, unde n – numărul de celule
de memorie.

3.2.2. Testele March

Spre deosebire de metodele clasice de testare, testele


March au o complexitate algoritmică liniară. Exemple de câteva
teste March sunt reprezentate în tab. 3.7.
Tabelul 3.7. Exemple de testele March [7]
Testul Descrierea algoritmului
MATS { ( w0);  (r 0, w1);  (r1)}
MATS+ { ( w0);  (r 0, w1);  (r1, w0)}
MATS++ { ( w0);  (r 0, w1);  (r1, w0, r 0)}
March X { ( w0);  (r 0, w1);  (r1, w0);  (r 0)}
March C { ( w0);  (r 0, w1);  (r1, w0); (r 0);  (r 0, w1);
 (r1, w0); (r 0)}
March A { ( w0);  (r 0, w1, w0, w1);  (r1, w0, w1);
 (r1, w0, w1, w0);  (r 0, w1, w0)}

În tab. 3.7 ‘w’ indică operaţia de înscriere; ‘r’ indică


operaţia de citire, iar săgeţile indică deplasarea prin adresele
celulelor:  – în formă crescătoare a adreselor,  – în formă

25
descrescătoare a adreselor şi  – în orice direcţie (adică,
deplasarea poate fi în formă crescătoare și descrescătoare).
Ideea testului March clasic MATS constă în înscrierea
valorii ‘0’ în toate celule de memorie. În ciclul următor de testare,
se efectuează citirea valorilor celulelor de memorie care trebuie să
păstreze ‘0’, totodată înscriind valoarea ‘1’. În ultimul ciclu de
testare citim valorile celulelor de memorie, care trebuie să
păstreze ‘1’. La această etapă procesul de testare ia sfârșit. Acest
test permite a detecta toate defectările singulare constante.
Un moment important reprezintă ce fel de defectări poate
detecta unul sau alt test March. În tab. 3.8 este reprezentată o serie
de teste March şi defectările detectate de aceste teste.

Tabelul 3.8. Detectarea defectărilor de unele teste


March [7]

Teste Defectări

SAF TF CFin CFid

MATS+ +

MATS++ + +

March X + + +

March C- + + + +

March A + + + +

În anii precedenți pentru implementarea testerului se


utilizau sistemele separate, la care se conectau cip-uri de memorie
testată. Aceste testere erau ineficiente, deoarece nu au avut acces la
mai multe module interne ale chip-ului. Pasul următor în
dezvoltarea testerilor a fost introducerea acestora în chip-urile de
memorie. Aceasta înseamnă că o parte din resursele chip-urilor de

26
memorie a fost destinată efectuării autotestării. În acest caz testerul
are acces la toate modulele chip-ului de memorie. La realizarea
autotestării cu testele March a început să se utilizeze tehnologia
BIST (Built-in Self-Test) – autotestare încorporată. Această
tehnologie descrie structura unui tester pentru efectuarea
autotestării.

Fig. 3.7. Arhitectura PMBIST [8]


În fig. 3.7 este reprezentat un exemplu al arhitecturii
testerului încorporat PMBIST. În fig. 3.7 Instruction Memory –
memorie de instrucțiuni; Instruction Decoder – decodor de
instrucțiuni; Instruction Counter – contor care determină ordinea
de executare a instrucțiunilor; BIST Controller – controler de
dirijare a procesului de autotestare; Control signal Generator –
27
generator de impulsuri pentru dirijarea memoriei care se testează;
Data Generator – generator de date pentru memoria testată;
Address Generator – generator de adrese pentru memoria testată;
Response Analyzer – analizor de rezultate; DUT – memoria testată.
În tab. 3.9 sunt reprezentate cheltuielile hardware pentru
implementarea 1, 4 și 8 algoritmilor de testare în baza testelor
March cu ajutorul PMBIST.

Tabelul 3.9. Cheltuieli de resurse hardware pentru PMBIST


Memorie de Cheltuielile hardware
instrucțiuni (biți) (bistabile)
1 algoritm 126 6 427
4 algoritmi 441 11 462
8 algoritmi 891 20 530
Deosebirea testelor March constă în complexitatea lor
algoritmică scăzută, dar complexitatea hardware este destul de
mare.

3.2.3. Testarea pseudo-inelară

După cum s-a menționat mai sus, testele March au o


complexitate hardware mare. În general, BIST poate fi reprezentat
sub forma unei diagrame bloc (fig. 3.8, a).
În fig. 3.8 G este generator de teste; ОК – obiectul
controlului; А – analizorul rezultatelor. O evoluare ulterioară a
tehnologiei testării incorporate este combinarea generatorului de
teste cu analizorul într-un singur modul (G-A în fig. 3.8, b).
Această abordare se numește testul inelar [9].
O evoluare ulterioară a testării inelare este testarea pseudo-
inelară. Testarea pseudo-inelară sau π-testare se bazează pe
emularea registrului de deplasare cu conexiuni inverse (LFSR –
Linear Feedback Shift Register) în baza resurselor proprii ale
memoriei.

28
a) b)
Fig. 3.8. Arhitecturile sistemelor de autotestare încorporată
Memoria testată este reprezentată în forma unui masiv
unidimensional, ce conţine celule m-bit. Celulele sunt indexate de
valoarea adresei de la 0 pînă la n-1, unde n este volumul matricei
de memorie. Ideea de π-testare este bazată pe utilizarea celulelor
de memorie k în calitate de biţi (celule) ale registrului de deplasare,
şi de deplasarea registrului (virtual) prin toate celulele din matricea
de memorie. La π-testare se efectuează nu deplasarea datelor în
celulele din registru, dar transferul virrtual relativ datelor (fig. 3.9)
[10].

Fig. 3.9. Principiul de funcționare a π-testerului

Procedura π-testării prevede efectuarea aşa-numitelor π-


iteraţii. Iteraţia testului-π constă în următoarele: iniţializarea
29
LFSR-ului virtual, deplasarea LFSR-ului în spaţiul dispozitivului
de memorie digitală, citirea stării finale Fin în registrul virtual
LFSR şi analiza rezultatului obţinut. Calitatea π-testării este
evaluată prin compararea stării finale Fin cu cea aşteptată. Pentru
calcularea stării aşteptate aplicăm ecuaţia recurentă cunoscută
Chapman-Kolmogorov:
Sn  S0 * An , (3.4)
unde: S0 – vectorul unidimensional de stare LFSR cu
dimensiunea k în momentul iniţial de timp; A – matricea
bidimensională secundară de formatul:

, (3.5)
unde: g – coeficienţii polinomului g(z) de gradul k asupra
lui GF(2m), reprezentat într-o formă standard, adică la care
coeficientul liber g0 este egal cu unu.
În special, dacă numărul de operaţii de deplasare este
proporţional cu perioada T a polinomului g(z), atunci comparaţia
devine la forma Init Fin, deoarece stările polinomului ireductibil
după perioada T vor fi repetate din nou. Dacă starea finală Fin
coincide cu Init iniţial, atunci ajungem la concluzia, că nu au fost
detectate defectări de tipul anumit.
Problema de bază în efectuarea π-testării constă în
selectarea celor trei parametri pentru obţinerea celor mai optimale
teste (sub parametrii optimali ai testului se subînţelege o
complexitate hardware și algoritmică minimală):

1) structura LFSR-ului virtual, care este determinată de


g ( z )  i 0 g i z i ,
k
structura polinomului ireductibil unde
g i  GF(2 m ) / p( x) , p( z )  i 0 pi x i , m=2,3,…, p i  {0,1}
m

30
(unde GF – cîmpul extins Galois de polinomul generat
p(x));
2) direcţia iteraţiilor – în ordinea crescătoare a adreselor de
memorie, în ordine descrescătoare sau o ordine oarecare a
adreselor;
3) starea iniţială LFSR.
Trăsătura caracteristică a π-testării este invarianţa la celule
de memorie bit. Aceasta înseamnă că la modificarea memoriei bit
se schimbă doar structura LFSR-ului la salvarea altor doi parametri
neschimbaţi (vezi punctele 2 şi 3 de mai sus).
Unul dintre π-teste este “unitatea cu deplasare”. Stările
inițiale ale LFSR-ului pentru memorie de 4 biți sunt reprezentate în
tab. 3.10 [10].

Tabelul 3.10. Stările inițiale ale LFSR-ului pentru testul


“unitatea cu deplasare”
0000 0000 0001 0000
0000 0001 0010 0000
0000 0010 0100 0000
0000 0100 1000 0000
0000 1000

Complexitatea algoritmică a testului va fi: 8*3n, unde n –


numărul de celule de memorie (3n – complexitatea π-testului, care
este reprezentat în fig. 3.9: {(ri , ri1 , wi2 (ri  ri1 )} ). Complexitatea
algoritmică a π-testelor este liniară, deși este mai mare decât în
testele March.
Principalul avantaj al π-testelor este reducerea
semnificativă complexității hardware în comparație cu testele
March.

31
Bibliografie
1. ЯРМОЛИК С., ЗАНКОВИЧ А., ИВАНЮК А.
Маршевые тесты для самотестирования ОЗУ. –
Минск: БГУ, 2009, 270 с.
2. POWELL T., KUMAR A., RAYHAWK J.,
MUKHERJEE N. Chasing subtle embedded RAM defects
for nanometer technologies. – Texas Instrum. Inc., Dallas,
TX, Test Conference, IEEE, 2005, pp. 9 – 850.
3. HAMDIOUI S., VAN DE GOOR A.J., RODGERS M.
March SS: a test for all static simple RAM faults. –
Memory Technology, Design and Testing, 2002, pp. 95-
100.
4. WAN Z., WAN H., IZHAL A., ROSLINA S., MASURI O.
A Fault Syndromes Simulator for Random Access
Memories. European Journal of Scientific Research ISSN
1450-216X, Vol.23, No.1, 2008, pp.13-24.
5. VAN DE GOOR A., ABADIR M., CARLIN A. Minimal
test for coupling faults in word-oriented memories. –
Design, Automation and Test in Europe Conference and
Exhibition, 2002, pp. 944-948.
6. BODEAN Gh. Diagnosticarea dispozitivelor digitale. –
Chișinău: UTM, 2007, 311 р.
7. MIKITJUK V., YARMOLIK V., VAN DE GOOR A.
RAM testing algorithms for detection multiple linked faults.
Minsk: Byelorussian State Univ., IEEE Int. Test Conf.,
1996, pp. 435 – 439.
8. PARK Y., PARK J., HAN T., KANG S. An Effective
Programmable Memory BIST for Embedded Memory. –
IEICE Transactions on Information and Systems, Volume
E92.D, Issue 12, 2009, pp. 2508-2511.
9. ЛИТИКОВ И. Кольцевое тестирование цифровых
устройств. – Москва: Энергоатомиздат, 1990, 157 с.
10. GRIȚCOV S. Algorithmic complexity of pseudo-ring
testing for stuck-at faults. – Chișinău: ICTEI-2015, pp. 75-
76.
32
CUPRINS

INTRODUCERE ............................................................................ 3
1. Definiţii de bază în diagnosticare tehnică ................................ 4
2. Defectări în dispozitive digitale................................................ 6
3. Мetodele de detectare a defectărilor în dispozitivele
digitale ................................................................................... 12
3.1. Metodele de testare a circuitelor combinaționale
digitale ............................................................................... 12
3.1.1. Metoda sensitivizării căii ...................................... 12
3.1.2. Metoda derivatelor booleene ................................ 14
3.1.3. Metoda (Roth) sau d-algoritmul ........................... 16
3.1.4. Metoda stocastică ................................................. 19
3.1.5. Minimizarea testelor ............................................. 22
3.2. Metode de testare a dispozitivelor de memorie digitală . 24
3.2.1. Metodele clasice de testare ................................... 24
3.2.2. Testele March ....................................................... 25
3.2.3. Testarea pseudo-inelară ........................................ 28
Bibliografie ................................................................................... 32

33

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