Documente Academic
Documente Profesional
Documente Cultură
Chişinău
2015
UNIVERSITATEA TEHNICĂ A MOLDOVEI
FACULTATEA INGINERIE ŞI MANAGEMENT ÎN ELECTRONICĂ ŞI
TELECOMUNICAŢII
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ă.
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
3
1. Definiţii de bază în diagnosticarea tehnică
5
2. Defectările dispozitivelor digitale
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).
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.
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’.
a) b)
Fig. 2.3. Exemplu de defectările cuplate pentru SRAM (a) și DRAM (b)
а) 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).
11
3. Мetodele de detectare a defectărilor în dispozitivele digitale
12
Fig. 3.1. Exemplul circuitului cu defectarea s@0
13
3.1.2. Metoda derivatelor booleene
dF F F ( x) F ( x) F ( x) F ( x)
F' lim lim lim
dx x0 x x0 xx x0 1
F ( x) F ( x) (3.1)
Tabelul de adevăr pentru operaţiunea "XOR" „sau cu
excepţie” este reprezentat mai jos:
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.
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.
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.
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.
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
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.
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
x x x x
T f1 0 1 2 3 4
1 1 0 1
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.
23
3.2. Metode de testare a dispozitivelor de memorie digitală
Î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ă
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.
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.
Teste Defectări
MATS+ +
MATS++ + +
March X + + +
March C- + + + +
March A + + + +
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.
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].
, (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ă):
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].
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