1. Rezumat în limba engleză ………………………….. ………………………….. ………………………….. ………… 1 1.1… [619480]
Cuprins
1. Rezumat în limba engleză ………………………….. ………………………….. ………………………….. ………… 1
1.1 Description of the test concept and main topic ………………………….. ………………………….. …… 1
1.1.1 Introduction ………………………….. ………………………….. ………………………….. …………………. 1
1.1.2 Defects an d their occurrence ………………………….. ………………………….. ………………………. 1
1.1.3 Random tests and their generation ………………………….. ………………………….. ………………. 2
1.2 Description and general analysis of the theme ………………………….. ………………………….. ……. 3
1.3 Data reception by DUT using microcontroller ………………………….. ………………………….. ……. 5
2. Planificarea activității ………………………….. ………………………….. ………………………….. ……………… 6
3. Stadiul actual ………………………….. ………………………….. ………………………….. ………………………….. 7
3.1 Introducere ………………………….. ………………………….. ………………………….. ………………………… 7
3.2 Prezentare generală a testării ………………………….. ………………………….. ………………………….. .. 7
4. Fundamentare t eoretică ………………………….. ………………………….. ………………………….. ………….. 10
4.1 Introducere în testarea automată a echipamentelor electronice ………………………….. ………… 10
4.1.1 Evoluția testării automate ………………………….. ………………………….. ………………………… 10
4.1.2 Conținutul unei experiențe de test ………………………….. ………………………….. …………….. 11
4.1.3 Metode de test pentru testarea automată a plachetelor electronice ………………………….. 12
4.2. Defect, eroare, defecta re ………………………….. ………………………….. ………………………….. …… 12
4.2.1 Cauzele defectelor ………………………….. ………………………….. ………………………….. ………. 13
4.2.2 Tehnici de protecție pentru eliminarea defectelor ………………………….. ……………………. 13
4.3 Defecte logice ………………………….. ………………………….. ………………………….. ………………….. 14
4.3.1 Puneri pe “0” sau puneri pe “1” ………………………….. ………………………….. ………………… 15
4.3.2 Defecte de tip scurtcircuit ………………………….. ………………………….. ………………………… 15
4.3.3 Defecte de tip întrerupere ………………………….. ………………………….. ………………………… 16
4.3.4 Defecte de tip impuls logic eronat ………………………….. ………………………….. …………….. 16
4.4 Generarea testelor aleatoare ………………………….. ………………………….. ………………………….. . 16
4.4.1 Principiile testelor aleatoare ………………………….. ………………………….. ……………………… 16
4.4.2 Calitatea testului ………………………….. ………………………….. ………………………….. ………… 17
4.4.3 Lungimea unui test aleator ………………………….. ………………………….. ……………………….. 18
4.4.4 Determinarea probabilității de detectare ………………………….. ………………………….. …….. 19
4.4.5 Probabilitatea semnalelor ………………………….. ………………………….. …………………………. 19
4.4.6 Determinarea probabilit ății de detectare utilizând probabilitatea semnalelor …………… 19
5. Implementarea solu ției adoptate ………………………….. ………………………….. ………………………….. 22
5.1 Descrierea și analizarea generală a temei ………………………….. ………………………….. …………. 22
5.2 Prezentarea detaliată a interfeței PC ………………………….. ………………………….. ………………… 23
5.2.1 Panoul frontal ………………………….. ………………………….. ………………………….. …………….. 23
5.2.2 Diagrama bloc ………………………….. ………………………….. ………………………….. ……………. 25
5.3 Recepția datelor de către DUT utilizând microcontroler ………………………….. ………………… 29
5.4 Simulări ………………………….. ………………………….. ………………………….. ………………………….. 31
6. Rezultate experimentale ………………………….. ………………………….. ………………………….. …………. 36
6.1 Recepția pe leduri a vectorilor generați ………………………….. ………………………….. ……………. 36
6.2 Implementarea și testarea circuitului cu porți logice ………………………….. ………………………. 39
7. Concluzii ………………………….. ………………………….. ………………………….. ………………………….. …. 44
8. Bibliografie ………………………….. ………………………….. ………………………….. ………………………….. 45
1
1. Rezumat în limb a engleză
1.1 Description of the test concept and main topic
1.1.1 Introduction
The challenge of testing electronic systems has grown rapidly in the last decade, due to the
complexity of designing easily testable circuits. Due to the decrease in the size of technology
features, coupled with an increase in circuit complexity and system speed, testing has begun to
encounter increasingly difficult problems and new ways of failure have emerged.
Virtually , every phase of the design process is currently automated, including high -level
synthesis. System testing represents experimentation of the system that will be operated and will
provide a response that will be analyzed to see if it is working properly and continue to operate as
specified.
1.1.2 Defects and their occurrence
Failures in integrated circuits can be characterized according to their duration, permanent
(hard failures ) or temporary (soft failures ) and by their mode, parameter degradation or incorr ect
design.
Defects are the cause of errors and errors are the causes of malfunctions (falls).
The defect is a physical or logical imperfection that occurs within a hardware or software
component. As examples of physical defects can be mentioned : short c ircuits and interruptions of
electrical routes, interruptions or imperfections in semiconductor layers, etc.
The error is the manifestation of the defect and represents a deviation from the accuracy and
accuracy of the execution of the functions. For examp le, due to a physical touch of two paths, a
data line is locked in 0 logically. If the operation of the circuit requires the line to be crossed in 1
logically, obviously an error will occur. The error manifests itself in the informational universe.
Fig. 2.3 Cause -and-effect relationship between fault, error and failure
Possible causes of defects:
– Wrong design specifications: algorithms, incorrect architectures, wrong or incomplete
hardware or software specifications.
– Wrong deployments: errors are in troduced due to initial design when components have been
used with parameters below the standard ones. Also, can be mentioned the wiring errors on
the printed circuit board, the faulty soldering that causes short circuits or the software code
that is being mis implemented.
– Faulty components: detached terminals, some random or technological imperfections in the
semiconductor structure.
2
– Disturbances outside the system: radiation, electromagnetic interference, operating errors
due to the human factor, environ mental factors.
Defects can be eliminated by avoiding them, masking them or tolerating them.
Fault avoidance techniques refers to the re view of the project before it is launched, the
inspection and testing of components, boards , electromagnetic shielding of the system and other
methods of quality control. Reconfiguration is the process of removing a faulty entity from the
system and restoring it to its original or partial operating sta te.
Reconfiguration techniques involve: fault detection, fault location (determining where the
defect occurred so tha t fault recovery can be implemented ), fault isolation (prevents the
propagation of fault effects in the system) and fault recovery (returning to the operational state
of the system or restoring its integrity by reconfiguration).
Logical defects are of several types :
– Sets on "0" or Setting on "1" – the abbreviated name is PP0 and PP1, and these
determine the fixation of the logical value from a particular node of the circuit to the
logical value "0" or "1", regardless of the evolution of the other logical signals in the
circuit.
– Short -circuit defec ts: can be found on the printed circuit board or inside t he chip . They are
in turn classified into:
o short circuits between power bars (excessively increases the current delivered by
the power supply)
o short circuits between a signal path and one of the supply bars ( can be type PP 0 or
PP1)
o scurtcircuits between two signal paths
– Interruption defects: they occur as a result of the interruption of the connections between
the components on the board or inside the chips .
– Faults of erroneous logical impulse type: the following defects may manifest:
o disappearance of short -term functional impulses
o the appearance of short -lived parasitic impulses: glitches, spikes
o change of the temporal parameters of the impulse
1.1.3 Random tests and their generation
A true hardware random number generator is an electr onic device that truly generates random
and unpredictable binary numbers. The major advantage of RTG is the ease of generating test
vectors. The main disadvantage is the length of the applied test sequences (sometimes up to 10
times longer than the genera tion of deterministic tests). It is considered that the i nput vectors are
generated independently, meaning that the same test vector may appear several times in a test
sequence before all other test vectors appeared. At the output of the tested circuit it is important to
determine the probability with which a certain logical value 0 or 1 can occur. For a correct
determination of this probability it is important that the size of the test sequence exceeds a certain
length. An ideal random test should test all cases for which outputs are specified and should not
attempt to test any other case. A fault -free circuit may be classified as a fault , because two faultless
circuits may produce two different responses if their initial states a re not the same for which the
output is unknown.
The basic principle of random testing is to apply a random test sequence N to the tested DUT
circuit and verify that the R response is the one expected. The test sequence applied to the DUT is
random, but i t is not any kind of combination: it must verify that the circuit behaves as it should be
in accordance with the specified behavior. In conclusion, the device applies a random input
sequence N to the DUT and the circuit response R is observed to decide whe ther the circuit passes
the test or fails.
3
The length of a random test is determined by finding out the value dmin, which represents the
probability of detect ing the most difficult defect.
It is relatively easy to obtain for this parameter a covering value with the following relationship:
𝑑𝑚𝑖𝑛 ≥1
2𝑛𝑚𝑎𝑥 (1)
It can be found that it is much easier to calculate the probability of the output signal in the
presence of defects.
We can use these probabilities to determine the probability of the output signal for the fau lt-
free circuit. Let Z be the output of the circuit and M a node in which we considered the presence
of defects PP0 and PP1. The probability of getting 1 at the exit in the absence of defects is:
𝑃𝑍1=𝑃𝑍1|𝑀=0∙𝑃𝑀0+𝑃𝑍1|𝑀=1∙𝑃𝑀1 (2)
1.2 Description and general analysis of the theme
To create a random vector generator with PC interface, we started from the following block
diagram:
Fig 1.2 Circuit block diagram
The following steps were followed in order:
1. The PC interface was made using the Labview work environment, which generates random
16-bit test vectors.
2. The connection between the PC interface and the microcont roller is made via the serial
connection (made through the DB9 connector ).
4
3. The microcontroller receives serially the 16 -bit length vector generated in Labview on 2
ports containing 8 bits each .
4. The DUT circuit is connected to the ports, which receives the vector, and everything
generated on the Labview interface is reflected on it .
The front p anel is a graphical interface with which the generation of random vectors was achieved.
It allows the user to:
1. Set up and operate numerous controls.
2. View the results of the actions in the previous point .
Fig. 4.3 The front panel which generates the random vector
In Fig. 4.3 it is noted that the Labview interface presents a button, which , by pressing begins to
generate random test/tests. The user can set the number of vectors to be generate d in a run and
select how long each test should be generated . The options for the interval between tests are: 100
milliseconds , 200 milliseconds , 300 mil liseconds, 500 milliseconds, 1 second and 5 seconds . The
panel also shows an indicator in which the number of ite rations performed is counted and displayed
after each test vector generated; thus, it is counted how many vectors have been generated. There
is also a number that is randomly generated at each iteration, displayed in decimal, hexadecimal,
binary (16 -bit) and displayed on 16 LEDs in Boolean form, LEDs that will light up depending on
the binary number resulting from the generate d vector (for bit 1 the LED will light up and for bit 0
it will go off). After each iteration, the number of bits of 1 and 0 for each iteration is displayed and
the percentage for these bits that appear in each test vector. There are also some indicators w here,
for several iter ations, is displayed the total number of bits and the percentage of bits of one and
zero present in all generated vectors in a run.
To achieve serial communication with the microcontroller and to put the generated set of bits
on the s erial port , there is a serial virtual port on the interface, which can be selected by the user.
If the button is not pressed, the test run stops and waits for it to be pressed for starting vector
generation.
5
1.3 Data reception by DUT using microcontroller
The microcontroller receives the test vectors generated on the Labview interface, then directs
them to the DUT (Device Under Test ).
The microcontroller used is ATMEGA 64. The USART0 serial communication port was used
for data rece ive. Data reception was made with a clock frequency of 8MHz, normal asynchronous
operating mode, with a baud rate of 9600, with frames formatted on 8 data bits , a stop bit and no
parity.
Fig. 4.4 Connecting LEDs to microcontroller ports
The data was received o n the port after it was initialized. The shape of these is represented in
hexadecimal format. The reception of each set of vectors, i.e. hexadecimal digits, was achieved by
setting the B and C ports of the microcontroller as outputs. It took two ports to r eceive the entire
16-bit vector, as they have a limited capacity of only 8 bits. Thus, the vector bits will be received
on the two ports, where 16 LEDs are connected to reflect the 16 bits generated. The LEDs are lit
according to the set of received bits, and the binary logical value of 1 will be represented by the lit
LED that receives 5V and the value 0 of the off LED, which receives 0V. To limit the current were
connected 16 resistors with a value of 330 ohm, in series with each LED, which are taken to the
ground.
6
2. Planificarea activității
7
3. Stadiul actual
3.1 Introducere
Provocarea testării sistemelor electronice a crescut rapid în ultimul deceniu. Acest lucru se
datorează complexității proiectării circuitelor ușor de testat. Pe măsură ce dimensiunea
caracteristicii tehnologiei crește , iar designerii continuă să scadă dimensiunea cip ului, testarea
întâmpină provocări dificile. Împreună cu această evoluție în sistemele electronice, există o
evoluție în instrumente de automatizare de proiectare. Practic, fiecare fază a procesului de
proiectare este în prezent automatizată, inclusiv sint eza la nivel înalt. Testarea anterioară era
considerată doar la nivelul porții. Cu toate acestea, complexitatea circuitelor actuale și apariția
sistemelor pe un cip (SOC -System on a Chip în engleză ) face obligatorie începerea testării la
începutul procesul ui de proiectare. Toți acești factori reprezintă numeroase provocări pentru
inginerii de proiectare și testare. Aceste provocări includ, dar nu se limitează la dezvoltarea unei
model ări mai precise a eșecului, examinarea testa bilității la un nivel mai ridicat de reprezentare a
proiec tării, și încorporarea construcțiilor de teste mai eficiente înainte sau în timpul sintezei. Un
alt pas important la testarea VLSI (Very Large Scale Integration) este volumul mare de date de
testare care trebuie să treacă prin IC (Integrated Circuit).
Pentru a avea o bază bună în testare, trebuie să înțelegem cinci discipline de bază :
– defecte fizice și manifestarea lor la nivel de circuit ;
– generarea de modele de testare pentru detectarea defectelor ;
– relația de testare cu c iclul de proiectare ;
– proiectarea pentru practica de testare ;
– testarea cipului fabricat ;
3.2 Prezentare generală a testării
Testarea sistemului reprezintă experimentarea sistemului care va fi acționat, furnizând un
răspuns care va fi analizat pentru a verifica dacă acesta s -a manifestat corect.
Fiabilitatea sistemului electronic nu mai este o preocupare limitată la industria militară,
aerospațială și bancară, unde consecințele eșecului pot avea un impact catastrofal. Fiabilitatea și
tehnicile de testare au devenit din ce în ce mai interesante pentru toate celelalte aplicații, cum ar fi
computerele, telecomunicațiile, produsele de consum și industria auto, din cauza următorilor
factori:
– în prezent, sistemele electronice devin omniprezente la locul de munc ă și sunt utilizate
acum în mediile mai dure;
– din cauza proliferării utilizării lor, utilizatorii sistemelor electronice nu sunt în mod necesar
oameni cu experiență și pot folosi în mod necorespunzător mașinile;
– scăderea continuă a dimensiunii caracteristicilor tehnologiei, însoțită de o creștere a
complexității și vitezei sistemelor a dus la moduri mai noi de avarie . O cerință esențială
pentru obținerea unor s istem e electronice fiabile este capacitatea de a determina că
sistemele sunt lipsite d e erori [Breuer 1976].
Cea mai mare parte a hardware -ului folosit astăzi cons tă din circuitele digitale. Un circuit trebuie
testat pentru a garanta că funcționează și continuă să funcționeze în conformitate cu specificațiile.
O astfel de testare detectează defecțiunile cauzate de defecte de fabricație. Se po t detecta, de
asemenea, multe defecțiuni de câmp din cauza îmbătrânirii, modificărilor de mediu , fluctuațiil or
de alimentare, și așa mai departe. Generarea modelului de testare este o problemă complexă, cu
8
modele care sunt generate manual sau de un generator automat de model de testare (ATPG –
Automatic Test Pattern Generator , în engleză ) pentru a obține un set complet de testare, capabil să
detecteze toate defectele din circuit. Acest test verifică, de asemenea, funcționalitatea logicii sale
[Abadir 1989]. Modelele sunt apoi aplicate pe circuit cu ajutorul echipamentului de testare
automată (ATE – Automatic Test Equipment , în engleză ). Datorită complexității proceselor de
testare, a fost form ulată o abordare de proiectare menită să facă circuitele digitale mai ușor de testat.
Această abordare a proiectării, cunoscută sub numele de proiectare pentru testare (DFT – Design for
Test, în engleză ) sau proiectare pentru testare. Scopul său este de a f ace aceste circuite mai
controlabile și observabile prin încorporarea construcțiilor de teste în proiectare. Un alt aspect al
fiabilității este capacitatea sistemului de a rula în funcție de cerere. Acest lucru necesită ca sistemul
să fie tolerant la erori .
Ca urmare a scăderii continue a dimensiunii minime a caracteristicilor tranzistorilor, atât
densitatea dispozitivului, cât și complexitatea proiectării au crescut constant. Densitățile a sute de
milioane de tranzistori sunt acum o realitate, iar pentru a gestiona o as emenea de complexitate, este
firesc să se proiecteze numai pe o bază ierarhică. În plus față de complexitatea lor, sistemele digitale
au un ciclu de viață care uneori devine mai scurt decât ciclul lor de proiectare.
Procesul de proiectare s -a schimbat continuu pentru a reflecta starea tehnologiei și a
instrumentelor de proiectare asistată de calculator (CAD – Computer -Aided Design , în engleză )
disponibile pentru designeri. Putem vedea procesul ca fiind împărțit în trei faze principale:
proiec tarea sistemului, proiectarea logicii și proiectarea fizică. Timpul necesar pentru realizarea
oricăreia dintre cele trei faze s -a schimbat în primul rând datorită disponibilității automatizării.
Acest lucru este ilustrat în Fig. 1.1. Fiecare dintre fazele de proiectare cuprinde un mijloc de a intra
în proiectare și de a -l verifica, apoi de a -l transforma în faza următoare. De obicei, simularea este
utilizată pentru verificare, deși, mai recent, verificarea formală a c ăpătat importanță.
Trecerea la tehnologi ile submicronilor a permis designerilor cu circuite integrate (IC) să
crească complexitatea desenelor sau modelelor lor, în măsura în care un întreg sistem poate fi acum
implementat pe un cip. Această nouă paradigmă a sistemului pe un cip (SOC) a schimbat abordarea
de proiectare și testare. Pentru a crește productivitatea proiectării și, prin urmare, pentru a reduce
timpul de comercializare, reutilizarea modulelor proiectate anterior devine o practică obișnuită în
proiectarea SOC. Abordarea de reutilizare n u se limitează doar la modelele interne, ci este extinsă
la module care au fost proiectate de alții. Astfel de module sunt denumite nuclee încorporate.
Fig. 1.1 Timpul de proiectare pentru fiecare fază
9
În timp ce în trecut, designul hardware a fost realizat în principal pe hârtie, acesta este acum
descris în limbajul de descriere hardware (HDL – Hardware Description Language, în eng leză).
Exprimarea design -ului în HDL are mai multe avantaje. Cele mai importante avantaje sunt
gestionarea complexității și scurtarea ciclului de proiectare. În prezent, desenul sau modelul poate
fi introdus la nivel comportamental sau imediat la nivel de transfer al registrului (RTL – Register
Transfer Level, în engleză ), apoi mapat la nivel logic .
10
4. Fundamentare t eoretică
4.1 Introducere în testarea automată a echipamentelor electronice
4.1.1 Evoluția testării automate
Produsele electronice complexe actuale, în categoria cărora se încadrează și echipamentele
electronice (industriale, de calcul etc.) se pot caracteriza , pe lângă exigențe de fiabilitate din ce în
ce mai mari și prin atribute ca : mentenabilitate și disponibilitate , care sunt termeni c e completează
imaginea globală a calității, fapt care determină implicarea testării automate în toate fazele
producției acestor echipamente. Un circuit trebuie testat pentru a demonstra că funcționează și
continuă să funcționeze conform specificațiilor.
Datorită micșorării dimensiunilor caracteristicilor tehnologiei, plusată de o creștere a
complexității circuitelor și vitezei sistemelor, s-au produs modalități noi de eșec. Acești factori
determină concentrarea unor e forturi substanțiale în testare la nivelul plachetelor electronice.
Prin urmare, progresele tehnologice ale ultimilor ani au determinat o reorientare a domeniului
testării la nivelul plachetei spre :
a) Perfecționarea metodelor și tehnicilor de test pentru interconexiunile realizate pe placă
între chipuri ;
b) Implementarea conceptelor referitoare la proiectarea pentru testabilitate, Design for Test
(DFT) ;
c) Integrarea unor funcții de test sau auxiliare operațiilor de testare la nivelul chipurilor ;
Operațiile de testare a interconexiunilor de pe plăci se execută atât în faza de placă neechipată,
cât și după montarea componentelor pentru a identifica posibilele defecte apărute în procesul de
echipare.
Ieri Azi Poate mâine?
Fig. 2.1 Evolu ția densi tății și dim ensiunilor componentelor pe o plachet ă limiteaz ă accesul la
nodurile interne
Operația de testare a unei plachete începe din faza de proiectare a acesteia. Testele alocate
plachetei sunt determinate și de modul în care au fost respectate în faza de proiectare conceptele
referitoare la proiectarea pentru testabilitate. Acestea descriu o serie de principii pe care trebuie să
le îndeplinească placheta testată :
a) Principiu l vizibilității presupune accesibilitate la nodurile care vor fi testate .
11
b) Principiul controlabilității presupune posibilitatea controlului principalelor semnale de pe
placă, adic ă inhibarea acestora și substituirea lor cu semnale externe (de test).
c) Principiul sincronizării generale s olicită sincronizarea tuturor evenimentelor de pe o placă
cu un singur semnal de ceas, care, dacă la rândul său respectă principiul anterior, p ermite
sincronizarea cu echipamentul de test.
d) Principiul partiționării presupu ne gruparea topologică pe plăci a circuitelor în raport cu
funcțiile ce le realizează .
e) Principiul inițializării generale impune crearea posibilității de a aduce circuitele de pe plac ă
într-o stare cunoscută în momentul declanșării testului.
f) Principiul autotestării recomandă transferarea unor operații de testare sau auxiliare la
nivelul plăcii.
4.1.2 Conținutul unei exp eriențe de test
În funcție de natura defectelor vizate, în testarea plachetelor electronice se pot individualiza
următoarele categorii de teste :
a) Teste parametrice: statice (tensiune de offset, praguri de comutare, etc.) sau dinamice
(timpi de cre ștere/descreștere, timpi de propagare ).
b) Teste funcționale: își propun verificarea unor funcționalități cerute circuitului (amplificare,
defazaj, funcție logică etc.). Testele funcționale se pot desfășura în condiții statice
(frecvențele semnalelor de test sunt inferioare frecvențelor la care lucrează circuitul în
sistem), sa u în condiții dinamice (când frecvențele de test sunt comparabile cu cele din
funcționarea normală). De asemenea testele funcționale pot fi executate în condiții
parametrice impuse (sarcină programabilă, nivele de semnal impuse, etc.) .
O secven ță de intrar e (semnal analogic sau digital), numită secvență de test este aplicată
circuitului sub test CST (denumirea cea mai des utilizată în engleză fiind D UT – Device Under
Test). Se înregistrează răspunsul CST sub forma secvenței de ieșire și se compară cu o secv ență de
referință. Această secvență de referință este obținută pe baza unui model al CST, model real (o
placă martor cu funcționare considerată corectă) sau model matematic.
Fig. 2.2 Conținutul unei experiențe de test simple
12
4.1.3 Metode de test pentru testarea automată a plachetelor electronice
În funcție de natura secvențelor de test , avem urm ătoarele metode de testare :
a) Metode deterministe, care constau în căutarea unui ansamblu de secvențe (vectori) de test
capabili să identifice un se t de defe cte de pe placă.
b) Metode aleatoare, care constau în aplicarea unor secvențe de test aleatoare la intrarea CST.
c) Metode pseudoaleatoare, în care sunt cunoscute și memorate secvențele de test, dar
prelucrarea informației se face pe baza proprietăților statistice ale secvențelor.
4.2. Defect, eroare, defectare
Defecțiunile în circuitele integrate pot fi caracterizate în funcție de durata lor, permanentă sau
temporară și prin modul lor, degradarea parametrilor sau proiectarea incorectă. Def ecțiunile
permanente, de asemenea, numite defecțiuni dure, sunt de obicei cauzate de rupturi din cauza
ruperii mecanice, a unui fenomen de uzură sau a unei proceduri de fabricație incorecte. Acestea
apar mai rar decât defecțiunile temporare, care sunt eșec uri care nu pot fi replicate. Defec țiunile
temporare, denumite și defecțiuni moi sunt clasificate ca tranzitorii sau intermitente. Defecțiunile
tranzitorii sunt induse de perturbații externe, cum ar fi fluctuațiile de alimentare sau radiații.
Eșecurile intermitente se datorează de obicei unei degradări a parametrilor componente.
Defectele sunt cauzele erorilor, erorile sunt cauzele defecțiunilor (căderilor).
Defectul este o imp erfecțiune fizică sau logică care apare în cadrul unei componente ha rdware
sau software. Ca și exemple de defecte fizice pot fi amintite: scurtcircuite și întreruperi ale traseelor
electrice, întreruperi sau imperfecțiuni în str aturile semiconductoare, etc. Ca și defect software
poate fi amintita o buclă de program din car e nu se mai poate ieși. Se manifestă în universul extern
al utilizatorului.
Eroarea este manifestarea defectului și reprezintă o deviație de la corectitudinea și acuratețea
de execuție a funcțiilor. De exemplu, datorită unei atingeri fizice a două trasee, o linie de date este
blocată în 0 logic. Dacă funcționarea circuitului impune trecerea liniei în 1 logic, evident va apărea
o eroare. Eroarea se manifestă în universul informațional.
În general, erorile conduc la executarea incorectă a uneia sau mai multor funcții ale sistemului
și, în consecință, la căderea acestuia sau funcționarea defectuoasă.
Fig. 2. 3 Relația de tip cauză -efect între defect, eroare și defecțiune
Defectarea sau funcționarea defectuoasă, reprezintă executarea unei funcții sau a unui set de
funcții sub standardele prevăzute din punct de vedere calitativ sau cantitativ.
Relațiile de tip cauză -efect conduc la doi parametri importanți : laten ța defectului și latența
erorii.
Latența defectului reprezintă intervalul de timp între apariția defectului și momentul apariției
erorii datorate acelui defect. Un defect latent este un defect care a apărut în sistem, dar nu a produs
încă o eroare, adică nu a apărut înc ă efectul lui .
Latența erorii este timpul scurs de la apariția e rorii până la manifestarea căderii sistemului.
13
Folosind modelul celor trei universuri, se deduce că timpul total între momentul apariției
defectului și momentul căderii sistemului este egal cu latența defectului însumată cu latența erorii.
4.2.1 Cauzele defectelor
Defectele se datorează cauzelor interne (defecte în interiorul dispozitivului electronic) și a celor
externe (radiații, interfață electromagnetică).
Posibilele cauze ale defectelor :
a) Specificații de proiectare greșite : algoritmi, arhitecturi incorecte, specifica ții hardware sau
software greșite sau incomplete. De exemplu, se poate estima greșit diagrama de timp
pentru un anumit circuit digital.
b) Implementări greșite : se intr oduc erori datorate proiectării inițiale, datorită utilizării
componentelor cu parametrii sub cei standard, greșeli de cablare pe placa cu circuitul
imprimat, scurtcircuite cauzate de lipire defectuoasă, coduri software greșite.
c) Componente defecte : imperfec țiuni aleatoare sau tehnologice în structura
semiconductoarelor, terminale desprinse. De exemplu, contactele de aluminiu din interiorul
circuitului integrat se subțiază în timp și se pot rupe datorita migrării electronilor sau
coroziunii. Factorii de mediu, precum: te mperatura, umiditatea, vibrațiile, accelerează
îmbătrânirea componentelor.
d) Perturbații exterioare sistemului : radiații, interferență electromagnetică, greșeli de operare
datorate factorului uman, factori de mediu.
4.2.2 Tehnici de protecție pentru eliminarea defectelor
Există trei tehnici esențiale pentru menținerea funcționării normale sau îmbunătățirea
funcționării sistemului în condițiile în care există probabilitatea apariției defectelor :
a) Evitarea defectului
b) Mascarea defectului
c) Tolerarea defectului
Tehnicile de evitare a defectului se refer ă la revizuirea proiectului înainte de a fi lansat în
execuție, inspectarea și testarea componentelor, plăcilor, ecranarea electromagnetică a sistemului
și alte m etode de control al calității.
Tehnicile de mascare a defectului sunt cele care , la apariția acestuia preînt âmpină introducerea
de erori în structura informațională a sistemului. De exemplu, tehnicile de corectare a erorilor din
memoria calculatoarelor îna inte ca sistemul să folosească datele respective. Un a lt exemplu este
tehnica votului majoritar, când dou ă sau mai multe module mascheaz ă efectul acelui defect.
Tolerarea defectului reprezintă capabilitatea sistemului de a continua s ă își îndeplinească
funcțiile pentru care a fost proiectat, după apariția defectului. Scopul final al toleranței la defecte
este să preîntâmpine căderea sistemului.
Toleranța la defecte poate fi obținută prin mai multe tehnici, una dintre ele este cea prin care
se detectează și localizează defectul, urmată de reconfigurarea sistemului pentru a îndepărta
componenta defectă. Tehnica de mascare a defectului este și ea o metodă de tolerare a defectelor.
Reconfigurarea este procesul de eliminare a unei entități defecte d in sistem și readucerea la
starea de funcționare inițială sau parțială .
14
Fig. 2.4 Tehnici de proiectare pentru a evita căderea sistemului
Dacă se folosesc tehnici de reconfigurare, proiectantul trebuie să aibă în vedere următoarele :
1. Detecția defectului – recunoașterea apariției unui defect.
2. Localizarea defectului – determinarea locului unde a apărut defectul astfel încât restabilirea
după defect să poată fi implementată.
3. Izolarea defectului – este procesul prevenirii propagării în sis tem a efectelor defectului.
Acest pas este absolut necesar în toate tehnicile de tolerare a defectului.
4. Restabilirea după/la defect – reprezintă procesul de revenire la starea operațională a
sistemului sau de restabilire a integrității sale prin reconfigur are.
În Fig. 2.4 se ilustrează schematic “domeni ile” în care acționează cele trei tehnici menționate
anterior pentru a preveni și combate funcționarea defectuoasă sau căderea sistemului.
4.3 Defecte logice
Această clasă de defecte modifică valorile variabilelor logice atașate semnalelor prezente în
diferite noduri ale circuitului testat. Cauza acestor defecte este de natură fizică : întreruperi,
scurtcircuite prezente at ât la nivelul plachetelor electronice, cât și în interiorul chipurilor. Sunt
preze ntate în continuare tipurile de defecte logice ce apar în sisteme, punându -se în evidență
problematica identificării lor.
15
4.3.1 Puneri pe “0” sau puneri pe “1”
Aceste tipuri de defecte, notate prescurtat PP0 și PP1, determin ă fixarea valorii logice dintr -un
anumit nod al circuitului la valoarea logică “0” sau “1”, aceasta indiferent de evoluția celorlalte
semnale logice din circuit. Să analizăm modul în care pot fi identificate aceste tipuri de defecte
pornind de la erorile d etectate în funcționarea structurii logice.
4.3.2 Defecte de tip scurtcircuit
Aceste defecte sunt generate de punți de legătură ce apar între trasee diferite de semnal. Acestea
se pot găsi fie pe placheta cu trasee de cablaj imprimat, fie în interiorul chi pului. În cazul în care
defectele sunt prezente la nivelul cablajului imprimat, ele sunt cauzate fie în procesul tehnologic
de realizare a cablajului, fie în procesul tehnologic de realizare a lipiturilor. Aceste scurtcircuite
pot apărea între mai multe ca tegorii de trasee :
1) Scurtcircuite între bare de alimentare diferite . Acest tip de scurtcircuit provoacă creșterea
excesivă curentului debitat de sursa de alimentare. Deci, echipamentul de test trebuie să
posede surse de alimentare cu limitarea curentului de bitat și semnalizare a procesului de
limitare. Acest tip de scurtcircuit nu implică nici un fel de tratare logică, deoarece circuitele
nu devin funcționale până la înlăturarea defectului.
2) Scurtcircuite între un traseu de semnal și una din barele de alimentare . Din punct de vedere
logic acest tip de defect se încadrează, fie în categoria PP0 (scurtcircuitul este la masă), fie
în categoria PP1 (scurtcircuitul este la bara de alimentare). Din punct de vedere electric
acest tip de defect are anumite part icularități care determină anumite consecințe în
executarea testelor.
Fig. 2.5 Scurtcircuitele la barele de alimentare a ieșirilor CMOS
3) Scurtcircuite între două trasee de semnal. Între traseele scurtcircuitate apare un conflict
numai atunci când ieșirile porților P1 și P3 sunt comandate în stări diferite. Trebuie să
vedem în ce nivel logic se poate detecta în această situație în cele două noduri. În funcție
de acesta se poate deduce dacă defectul este vizibil în nodurile care urmează spre ieșiri s au
este obligatorie investigarea directă a nodului defect. Nivelul logic stabilit în nodurile
scurtcircuitate este dependent de natura ieșirilor porților care comandă aceste noduri.
16
Fig. 2.6 Ilustrarea scurtcircuitului între două trasee de semnal
4.3.3 Defecte de tip întrerupere
Aceste defecte apar în urma întreruperii legăturilor dintre componentele de pe placă sau în
interiorul chipurilor. Dacă sunt întrerupte traseele de alimentare atunci când circuitele nealimentate
vor avea o comportare la ieși re de tip înaltă impedanță. Drept urmare, intrările comandate nu mai
primesc semnal de comandă, situație cunoscută și sub denumirea de intrări lăsate “în aer”.
În situația întreruperii traseelor de semnal de pe plachete, consecința funcțională este că unele
intrări nu mai primesc comandă :
1) Intrările fami liilor bipolare vor reacționa ca și cum ar avea o comandă de tip “1“.
2) Circuitele din famil iile CMOS vor reac ționa în funcție de modul în care se încearcă
capacitățile echivalente de la intrări, deci nivelul prezent la intrări va fi unul incert.
4.3.4 Defecte de tip impuls logic eronat
În această categorie de defecte considerăm următoarele tipuri de defecte :
1) Dispari ția unor impulsuri funcționale de scurtă durată .
2) Apariția unor impulsuri parazite de scurtă durată. Aceste impulsuri logice eronate mai sunt
cunoscute și sub denumirile : glitches, spikes.
3) Modificarea parametrilor temporali ai impulsului (întârzierea impulsului, modificarea
duratei lui).
Aceste tipuri de defecte au următoarea caracteristică: ele se manifestă pe perioade de timp mai
scurte decât durata pe care se aplică semnalele funcționale sau vectorii de test. Drept urmare,
pentru identificarea prez enței lor, echipamentul de test trebuie să fie capabil să disce arnă
impulsuri cu durată mai scurtă decât impulsurile de test aplicate. Defectele care conduc la acest
tip de manifestare sunt : proiectarea logică eronată, impulsuri eronate datorate parametrilor
dinamici diferiți ai semnalelor de comandă, stingerea impulsurilor de scurtă durată, impulsuri
eronate datorate transmisiei semnalelor pe linii lungi etc.
4.4 Generarea testelor aleatoare
4.4.1 Principiile testelor aleatoare
Un adevărat genera tor de numere aleato are hardware este un dispozitiv electronic care
generează cu adevărat numere binare aleatorii și imprevizibile .
17
RTG (Random Test Generator, în englez ă) nu este un proces aleator propriu -zis, el este un
proces pseudoaleator.
În cazul acestor teste aleatoare este posibil un regim de testare rezonabil satisfăcător. Acest
lucru este în contrast cu testarea generatoarelor de numere pseudo -aleato are în care procesul de
testare nu este niciodată într -adevăr satisfăcător.
Această metodă de generare a testelor a leatoare se bazează pe aplicarea unor secvențe de test
aleatoare, fiind importante proprietățile statistice ale acestor secvențe. Secvențele cu vectorii de
test se generează prin algoritmi dete rminiști dar proprietățile acestor secven țe sunt similare cu cele
ale unei secven țe aleatoare.
Avantajul major al RTG este u șurința generării vectorilor de test (ei sunt practic independen ți
de structura circuitului).
Dezavantajul principal constă în lungimea secven țelor de test aplicate (uneori de până la 10 ori
mai mari fa ță de generarea testelor deterministe) .
Vectorii de intrare sunt uniform distribui ți, acest lucru înseamnă că fiecare combina ție posibilă
la intrare (pentru n intrări 2n combina ții) este echiprobabilă. Condi ția anterioară este echivalentă cu
faptul ca la fiecare intrare probabilită țile de apari ție a valorilor 0 și 1 sunt egale.
Se consideră că vectorii de intrare sunt genera ți inde pendent, acest lucru înseamnă că acela și
vector de test poate a părea de mai multe ori într -o secven ță de test înainte ca toți ceilal ți vectori de
test să fi apărut . În majoritatea cazurilor în care se generează vectori de test pseudoaleatori un vector
de test nu este repetat în cadrul unei secven țe de test. Acest lucru determină ca acest mecanism de
generare a secven țelor pseudoaleatoare să impună o lungime mult mai m ică a secven ței de test față
de cazul în care vectorii ar fi într -adevăr independen ți.
La ieșirea circuitului testat este important de a se determina probabilitatea cu care poate să
apară o anumită valoare logică 0 sau 1. Pentru o determinare corectă a ac estei probabilități este
important ca dimensiunea secvenței de test să depășească o anumită lungime.
Un test aleatoriu ideal trebuie să testeze toate cazurile pentru care sunt specificate ieșirile și nu
trebuie să încerce să testeze niciun alt caz. Se poat e ca, un circuit fără defecte sa fie clasificat ca
fiind defect, deoarece două circuite fără defecte pot produce două răspunsuri diferite dacă stările
lor inițiale nu sunt aceleași pentru care nu este cunoscută ieșirea.
Principiul esen țial al testării alea toare constă în aplicarea unei secvențe de test aleatoare N pe
circuitul testat CST și verificarea dacă răspunsul R este cel a șteptat. Secvența de testare aplicată
CST este aleato are, dar nu este orice fel de combina ție: trebuie să verifice dacă circuitul se
comportă așa cum ar trebui să fie în conformitate cu comportamentul specificat. O proprietate
interesantă a testării aleatorii este aceea că, probabilitatea detectării unei defecțiuni este o funcție
crescândă a lungimii testului, având tendința de 1 pe ntru toate defec tele care nu sunt evazive și
imprecise. Dispozitivul aplică o secvență de intrare aleato are N la CST și răspunsul circuitului R
este observat pentru a decide dacă circuitul trece testul sau eșuează.
4.4.2 Calitatea testului
Această noțiune de test aleator ideal este calitativă, dar nu este cantitativă .
Calitatea unui test aleator, t N se exprimă prin gradul de încredere (level of confidence, notat cu
c) în rezultatele obținute. Concret, acest parametru reprezintă probabilitatea de a detecta fiecare
defect singular de tip PP x din circuit, sau cu alte cuvinte, probabilitatea ca, dacă un circuit rezultă
în urma testării că este fără defect, acesta să fie într -adevăr așa.
Se notează cu dNf probabilitatea ca defectul f să fie detectat prin aplicarea secvenței de test de
lungime N (probabilitatea de a detecta defectul f prin aplicarea a N vectori aleatori).
Probabilitatea de scăpare a defectului f, deci ca acesta să rămână nedetectabil, se notează cu eNf.
Deci:
𝑑𝑁𝑓 + 𝑒𝑁𝑓 = 1 (1)
18
Calitatea detecției, notată dN reprezintă cea mai mică probabilitate de a detecta un defect prin
aplicarea secvenței N (sau cu alte cuvinte, este probabilitatea de a detecta cel mai greu observabil
defect):
𝑑𝑁=𝑚𝑖𝑛 𝑓𝑑𝑁𝑓 (2)
Având în vedere că tN reprezintă probabilitatea de a detecta toate defectele din circuit, rezultă
că tN<dN.
4.4.3 Lungimea unui test aleator
Ne propunem să determinăm lungimea necesară pentru un test aleator, N, pentru a obține un
anumit grad de încredere mai mare sau egal cu c. De obicei gradul de încredere este pus în legătură
cu calitatea detecției, deci aceasta trebuie să satisfacă rela ția:
𝑑𝑁≥𝑐 (3)
Această abordare este justificată de faptul că dacă testul de lungime N detectează cel mai dificil
defect cu o probabilitate mai mare de c, atunci orice alt defect f va fi detectat cu o probabilitate :
𝑑𝑁𝑓≥𝑐 (4)
Fie Tf setul tuturor vectorilor de test care detectează defectul f dintr -un circuit cu n intrări.
Atunci probabilitatea ca un vector de test generat aleator să detecteze defectul f este:
𝑑1𝑓=𝑇𝑓
2𝑛 (5)
Aceasta reprezintă probabilitatea de a detecta defectul f atunci când se aplică aleator un singur
vector de test. Ea se numește probabilitatea de detecție a lui f. Probabilitatea ca defectul f să rămână
nedetectat după aplicarea unui singur vector de test (generat aleator) este:
𝑒1𝑓=1−𝑑1𝑓 (6)
Dacă aplicăm la intrare N vectori de test (generați aleator și independen t) atunci probabilitatea
ca defectul f să rămână nedetectat este:
𝑒𝑁𝑓=(1−𝑑1𝑓)𝑁 (7)
Fie dmin cea mai mică probabiliate de detecție a unui defect singular de tip PP x din circuitul
testat. Atunci pentru a obține gradul de încredere dorit trebuie ca:
1−(1−𝑑𝑚𝑖𝑛)𝑁≥𝑐 (8)
Cea mai mică valoare a lui N care satisface inegalitatea anterioară este:
𝑁𝑑 = [ln(1−c)
ln(1−𝑑𝑚𝑖𝑛 )] (9)
În ecuația (9), p entru dmin <<1 se poate aproxima ln (1−dmin) cu −dmin.
19
Dacă nivelul de încred ere se pune în legătură cu calitatea testului: tN c, atunci pentru N se
obține formula:
𝑁𝑡=[ln(1−c)−ln (k)
ln (1−𝑑𝑚𝑖𝑛 )] (10)
În cazul ecuației de mai sus (10) , k reprezintă numărul de defecte cu probabilitatea de detecție
cuprinsă în intervalul [dmin, 2dmin].
4.4.4 Determinarea probabilității de detectare
Pentru a determina lungimea unui test aleator este necesar să determinăm dmin probabilitatea
de detectare a celui mai dificil defect.
Se poate relativ ușor obține pentru acest parametru o valoare acoperitoare cu următoarea relație :
𝑑𝑚𝑖𝑛 ≥1
2𝑛𝑚𝑎𝑥 (11)
În ecuația (11), 𝑛𝑚𝑎𝑥 reprezintă numărul maxim de intrări care comandă o ieșire a circuitului.
Această metodă nu permite să se identifice și numărul total de defecte greu detectabile.
4.4.5 Probabilitatea semnalelor
Se poate constata că este mult mai ușor să se calculeze probabilitatea semnalului de ie șire în
prezen ța defectelor.
Putem folosi aceste probabilități pentru a determina probabilitatea semnalului de ieșire pentru
circuitul fără defecte. Fie Z ieșirea circuitului și M un nod în care am considerat prezența defectelor
PP0 și PP1. Probabilitatea de a obține 1 la ieșire în ab sența defectelor este:
𝑃𝑍1=𝑃𝑍1|𝑀=0∙𝑃𝑀0+𝑃𝑍1|𝑀=1∙𝑃𝑀1 (12)
4.4.6 Determinarea probabilit ății de detectare utilizând probabilitatea semnalelor
Se notează cu 𝑃𝑘1 probabilitatea ca în nodul de nivel k variabila logică să ia valoarea 1, respectiv
𝑃𝑘0 probabilitatea ca aceeași variabilă să ia valoarea 0. Considerăm nivelul nodurilor numerotate de
la intrare spre ieșire. Dacă nodul de nivel k este la ieșirea unei porți ȘI -NU cu n intrări, atunci cele
două probabilități pot fi exprimate în funcție de probabilitățile din nodurile anterioare :
𝑃𝑘0 = (𝑃𝑘−10)𝑛 = (1 − 𝑃𝑘−10)𝑛 (13)
𝑃𝑘1 = 1 − 𝑃𝑘0 =1 – (𝑃𝑘−10)𝑛 (14)
Fig. 2.8 Ilustrarea unei porți ȘI -NU
Pentru o poartă SAU -NU, în aceleași condiții se obține :
20
𝑃𝑘1 = (𝑃𝑘−10)𝑛 = (1 − 𝑃𝑘−11)𝑛 (15)
𝑃𝑘0 = 1 − 𝑃𝑘0 =1 – (𝑃𝑘−10)𝑛 (16)
Fig. 2.9 Ilustrarea porții SAU -NU
Pentru o poartă ȘI cu n intrări se obține :
𝑃𝑘0 = 1 − 𝑃𝑘1 =1 – (𝑃𝑘−11)𝑛 (17)
𝑃𝑘1 = (𝑃𝑘−11)𝑛 = (1 − 𝑃𝑘−10)𝑛 (18)
Fig. 2.10 Ilustrarea porții ȘI
Pentru o poartă SAU cu n intrări se obține :
𝑃𝑘0 = (𝑃𝑘−10)𝑛 = (1 − 𝑃𝑘−11)𝑛 (19)
𝑃𝑘1 = 1 − 𝑃𝑘0 =1 – (𝑃𝑘−10)𝑛 (20)
Fig. 2.11 Ilustrarea porții SAU
Combinând aceste relații se pot determina probabilitățile semnalelor din diferitele noduri ale
unui circuit , iar, cunoscând aceste probabilități se poate determina din măsurători probabilitatea
apariției valorilor binare atunci când se aplică la intrări secvențele aleatoare cu probabilitățile
specificate și apoi să fie comparate cu cele determinate prin calcul.
Evident, pentru ca determinarea experimentală să fie cât mai relevantă trebuie aplicate la intrare
o secvență de test cât mai lungă. Lungimea acestei secvențe crește odată cu creșterea lungimii L a
căii prin care se propagă semnalele. Rezultă că se poate determina și o probabilitate de detectare a
răspunsului corect în funcție de această lungime L și de numărul de vectori de test aplicați M.
Pentru a fi detectat un defect trebuie îndepli nite cele două condi ții:
21
1) Activarea defectului .
2) Activarea unei căi de propagare .
Dacă defectul se poate propaga pe mai multe căi se determină probabilitatea de detectare pentru
fiecare cale și se consideră pentru defectul respectiv valoarea cea mai mică obținută. Se procedează
similar pentru toate defectele din circuit și apoi se deter mină dmin. Pentru a nu parcurge toate
nodurile circuitului se poate folosi următoarea proprietate: defectul cu cea mai mică probabilitate
de detectare se găsește totdeauna în unul din nodurile de control ale circuitului (intrările primare și
nodurile inter ne cu fan out-ul cel mai mare).
Dacă semnalele se transmit spre o ieșire prin mai multe căi, atunci la intrările unor porți
semnalele nu sunt independente. Pentru a elimina corelarea lor se aplică următoarea procedură:
Probabilitatea nodului cu FAN OU T reconvergent se consideră ini țial în calcul ca o variabilă. De
câte ori ea apare în calcule cu o putere mai mare decât 1 se înlocuie ște această putere cu puterea 1.
Valoarea probabilității nodului cu FAN OUT reconvergent se introduce în calcul numai când ea
are puterea 1 .
Intrări independente :
Fig. 2.12 Reprezentarea intrărilor independente a unei porți
𝑃𝑧1 = 𝑃𝑥1 𝑃𝑦1 (21)
Intrări total corelate :
Fig. 2.13 Reprezentarea intrărilor corelate a unei porți
𝑃𝑧1 = 𝑃𝑥1 𝑃𝑥1 = (𝑃𝑥1)2 = 𝑃𝑥1 (22)
22
5. Implementarea solu ției adoptate
5.1 Descrierea și analizarea generală a temei
Pentru a realiza un genera tor de secvențe aleato are cu interfață PC, am pornit de la schema bloc
principală :
Fig. 3.1 Schema fundamentală a circuitului
Putem să dezvoltăm și s ă analizăm mai bine schema anterioară (Fig. 3.1) urmărind câțiva pași:
Fig. 3.2 Schema bloc detaliată a circuitului
23
La pasul 1 se află interfa ța PC (mediul de lucru Labview), cu ajutorul căreia se generează n
secvențe aleato are, cu lungimea de 16 biți. La pasul 2 observăm că există o conexiune între PC și
microcontroler. PC -ul este conectat serial la microc ontroler printr -un cablu cu mufă DB9 . Prin
recep ția serial ă de la pasul 3 , primim vectorii pe care i -am generat la pasul 1 cu lungimea de 16
biți. Din cauza capacității limitate (de 8 biți ) a unui port, pentru a putea recepționa toți cei 16 biți
am conectat circuitul sub test (DUT) de la pasul 4 la cele 2 porturi: P ort1 și Port2 , prin care se
recepționează serial vectorii genera ți de PC. În consecință, prin DUT se reflectă tot ce s -a generat
pe interfața Labview .
5.2 Prezentarea detaliată a interfeței PC
Interfața PC este realizată cu ajutorul mediului Labview, unde s -a realizat generarea secvențelor
(vectorilor) cu caracter aleator.
5.2.1 Panoul frontal
Panoul frontal este o interfață grafică, care permite utilizatorului:
3. Să seteze și să acționeze numeroase controale .
4. Să vizualizeze rezultatele aferente acțiunilor de la punctul anterior .
Această interfață grafică prezintă :
– Un buton “START”, care, prin apăsare va începe generarea vectorilor aleatori pe 16 biți.
Fig. 3.3 Butonul de start test din front panel
– O intrare de tip control numeric (Numeric Control) , în care utilizatorul poate să aleagă
numărul de iterații (Number of runs) care urmează să se efectueze, adică să selecteze câte
secvențe de test random vrea să aplice DUT -ului.
– Alături de controlul numărului de iterații se află și un indicator (Number of iterations) care
numără și afișează, după fiecare secvență, câte secvențe s -au generat,
– Un selector de tip enumerare care permite utilizatorului să selecteze cât de repede să se
ruleze testul (Choose time) , având următoarele posibilități de selecție : 100 milisecunde,
200 milisecunde, 300 milisecunde, 500 milisecunde, 1 secundă, 2 secunde și 5 secunde.
Aceste valori repre zintă intervalul la care se va genera fiecare test.
Fig. 3.3 Selec tarea intervalului de timp dintre teste
– Un indicator ce conține un număr aleator (Random seed). Acesta generează la fiecare
iterație o altă valoare cuprinsă între 0 și 1.
24
– Un indicator numeric, care se va schimba în mod aleator la fiecare iterație efectuată și va
afișa de fiecare dată un număr random (aleator) în format zecimal ( Decimal number) , de
câte ori a fost setat controlul numeric și la intervalul de timp specificat de u tilizator .
– Un alt indicator de tip numeric, care este echivalentul numărului zecimal, doar că este
reprezentat în format hexazecimal ( Hex integer string). Și acest număr se va schimba în
mod aleator la fiecare iterație efectuată , în același timp cu număru l zecimal.
Fig. 3. 4 Numărul aleator și setările privind modul de generare
– Un indicator de tip mulțime booleană (Leds ), ce conține 16 leduri , prin care se reprezintă
numărul zecimal aleator generat. Aceste leduri se aprind sau se sting în funcție de numărul
care a fost generat și la intervalul de timp specificat , prin conversia acestui număr în binar:
biți de 1 pentru leduri aprinse și biți de 0 pentru leduri le stinse. Ledurile sunt aranjate
începând cu MSB din partea stângă, până la LSB în partea dreaptă.
– Un indicator tip mulțime de numere care este reprezentat pe 16 biți (Binary numbers) , având
biți de 1 /0, în concordanță cu leduril e aprinse /stinse și conform numărului generat.
Fig. 3.5 Ledurile și rep rezentarea acestora în binar
– Un indicator numeric în care sunt numărați și afișați în fiecare iterație biții de 1 “Ones ”
prezenți în indicatorul de mai sus, “Binary numbers ”.
– Un indicator numeric în care este calculat procentul apariției biților de 1 “Ones % ” din
totalul biților generați , pentru fiecare iterație.
– Un indicator de tip numeric în care este afișat la fiecare iterație numărul biților de 0 “Zeros ”,
care sunt prezenți în indicatorul “Binary numbers ”.
– Un indicator numeric în care este ca lculat procentul apariției biților de 0 “Zeros % ” din
totalul biților generați , pentru fiecare iterație.
– Un indicator numeric care numără totalul biților de 1 “Total ones ” atunci când se efectuează
una sau mai multe operații și returnează suma biților de 1 a tuturor iterațiilor.
– Un indicator numeric în care se calculează procentul apariției biților de 1 “Total ones %”
din numărul total al biților “Total ones”.
25
– Un indicator numeric care numără totalul biților de 0 “Total zeros” atunci când se
efectuează una sau mai multe operații și returnează suma biților de 0 a tuturor iterațiilor.
– Un indicator numeric în care se calculează procentul apariției biților de 0 “Total zeros %”
din numărul total al biților “Total zeros ”.
Fig. 3.6 Calcularea biților de 1 și 0
Pentru realizarea comunicării serial e cu microcontroler ul și punerea pe portul serial a setul ui de biți
generați , pe interfa ță există un port virtual serial , care poate fi select at de către utilizator.
5.2.2 Diagrama bloc
Această diagramă bloc din Labview conține atât elementele din panoul frontal, reprezentate ca
și blocuri, dar și multe alte elemente care au la bază principiul de programare: bucle condi ționale,
repetitive, transformări și conversii etc. În această diagram ă se construiește un “cod” grafic, care
conține toate blocurile necesare pentru a ajunge la rezultatul dorit de utilizator, unde se face
controlul, calculul și conversiile a tot ceea ce urmează să fie afișat în panoul frontal .
Așadar, aceasta conține următ oarele :
– Blocul de comunicație serială (Visa Configure Serial Port) : transmite vectorul random care s –
a generat, spre microcontroler, care va fi mai apoi recepționat de DUT. Portul serial este configurat
cu rata de transmisie baud rate de 9600, având 8 bi ți de date, fără paritate și un bit de stop . Pe blocul
de configurare este conectat și un port de tip con trol, care este folosit pentru a trimite datele (biții)
spre microcontroler .
– Un buton START, care este afi șat și în panoul frontal. Butonul apăsat pornește gene rarea
seturilor de vectori de test. Acesta este conectat la selectorul unei buclei condiționale “CASE ”, care
determina care condiție să se execute. Aceasta conține 2 etichete , care identifică cazurile : True și
False, care corespund cu stările butonului ON și OFF. Atunci când butonul se află în starea ON,
structura CASE va executa conținutul subdiagramei Tr ue, iar atunci când e OFF se va executa
conținutul din False , care nu generează nici un vector de test până la apăsarea butonului.
Fig. 3.7 Configurarea portului serial și butonul de start
26
– În interiorul subdiagramei True se situează o buclă FOR , la care este conectat un bloc de
tip control, aflat și pe panoul frontal, în care utilizatorul poate să decidă câte iterații să se
execute . La fiecare iterație se va genera un vector random cu lungimea de 16 biți.
– În bucla FOR există o buclă CASE ce conține mai multe intervale de timp pentru generarea
setului de biți, a cărui selector este conectat la un control de tip enum erare . Iden tificatorii
sunt următorii : 100 milisecunde , 200 de milisecunde , 300 milisecunde , 500 milisecunde , 1
secundă , 2 secunde și 5 secunde . Pentru setarea acestui timp , în interiorul fiecărei
subdiagrame s-a folosit un bloc de așteptare (Wait (ms)) care este controlat de o constantă
numerică specifică fiecărui identificator.
Fig. 3.8 Bucla pentru selectarea timpului de generare a vectorilor de test
– Tot în interiorul buclei FOR există un numărător care numără, la fiecare iterație, câte iterații
s-au efectuat până la acel moment. Numărătoarea acestor iterații începe de la 0, iar din
această cauză a fost nevoie să se aplice incrementarea cu 1 pentru ca numărul de iterații să
înceapă cu valoarea 1. De asemenea este conectat și un indicator care să afișeze în front
panel numărul de efectuări al acestei bucle. Când numărul de efectu ări corespondent buclei
FOR devine egal cu numărul de efectuări pe care utilizatorul l -a setat pentru generarea
vectorilor, testul se oprește. Acest lucru a putut fi realizat prin egalarea numărului setat cu
numărul de efectuări și conectarea unui buton de stop.
Bucla FOR conține blocurile necesare generării de vectori random :
– Un număr real random cuprins între 0 și 1 (Random Number 0 -1). Numărul aleator trebuie
generat pe 16 biți , iar din această cauză, în continuare numărul va fi înmulțit cu 216−1,
adică 65535. Rezultatul înmulțirii va fi un număr zecimal de tip indicator, cuprins între
valorile 0 și 65535 , pe care l -am setat să fie de tip întreg . Acest rezultat este transformat
mai departe în număr hexazecimal prin conectarea rezultatului la un bloc care convertește
numărul într -un șir de cifre hexazecimale (Number to Hexadecimal String) , iar la ieșirea
acestuia este conectat un indicator al acestui număr hexazecimal . Această conversie din
zecimal în hexazecimal a fost făcută deoarece transmisia de d ate nu se poate efectua decât
în format ul șir (String) . Șirul de cifre returnat de către blocul de conversie este conectat la
bufferul blocului de scriere a datelor pe port (Visa Write). Intrarea acestui bloc de scriere
este conectat ă la portul seria l, folosit la scrierea numărului hexazecimal pe portul ales,
urmat de “Visa Open”, care deschide sesiunea de comunica ție serială și la “Visa Set I/O
Buffer Size Function” cu ajutorul c ăreia se setează mărimea de transmisie a bufferului .
Datorită configurării portului cu date pe 8 biți, cifrele hexazecimale se vor trimite pe rând
în perechi de câte două. După ce s-au terminat itera țiile, implicit generarea vectorilor și
toate datele au fost scrise pe port, blocul “Visa Close” conectat la ieșirea blocului de scr iere
va închide sesiunea de comunicație serială.
27
Fig. 3.9 Generarea numărului aleator
– Pentru a vedea secvența generată în binar pe 16 biți, numărul întreg zecimal, generat
anterior trebuie convertit. Acest lucru s -a realizat cu ajutorul blocului de conversie a
numărului zecimal într -un număr binar cu dimensiunea de 16 biți (To Unsigned Word
Integer) . În continuare s -a conectat un bloc (Number to Boolean Array) care convertește
numărul binar într -o mulțime în format boolean. Biții sunt afișați sub formă de leduri,
începând cu cel mai puțin semnificativ bit (LSB). Pentru ca array -ul să înceapă cu cel mai
semnificativ bit (MSB ), am folosit un bloc (Reverse 1D Array) care inversează ordinea
elementelor din acesta. Pentru afișar e am creat o mulțime boolean ă de tip indicator în care
sunt incluse toate cele 16 leduri corespunzătoare numărului aleator generat inițial. Ace astă
mulțime boolean ă a fost convertit ă într-o altă mulțime ce conține 16 valori întregi de 1 și
de 0 afișate printr -un array de tip indicator.
Fig. 3.10 Afișarea vectorilor generați în mulțimi booleene și binare
– Determinarea numărului de biți de 0 și 1 din fi ecare secvență de test generată este realizată
asemănător cu mici diferențe între ele :
1. Biții de 1 sunt determinați prin adunarea tuturor elementelor din fiecare secvență.
Pentru a realiza acest lucru a fost nevoie de folosirea blocului “Add Array
Elements” .
2. Pentru determinarea biților de 0 se compară fiecare element din fiecare secvență cu
valoarea 0 și se adună ori de câte ori acestea au fost egale , folosindu -se același bloc
“Add Array Elements” ca și la punctul anterior.
– Determinarea procentelor biților de 1 și de 0 din fiecare secvență de test se realizează în
mod identic : se folosește regula de trei simplă de transformare în procente, care presupune
28
înmulțirea cu 100 a numărului de zerouri/unu obținut și împărțirea rezultatului la lungimea
totală a vectorului de 16 biți.
Fig. 3.11 Determinarea numărului de 0 și 1
– Datorită numerelor cu caracter aleator, numărul de biți de 0 și 1 obținut pentru fiecare set
de vectori este diferit. Pentru a determina numărul total de biți de 0 și de 1 atunci când
utilizatorul setează un număr mai mare de iterații pentru generare a vec torilor, avem nevoie
să adunăm numărul total de 1/0 obținuți la fiecare iterație. În acest sens a fost folosită o
buclă FOR (for loop) în care se adună numărul actual de biți de 1/0 obținut cu numerele
anterio are obținute cu ajutorul blocului “Feedback Nod e”, care stochează rezultatul
iterațiilor precedente. La ieșirea din buclă se re turnează un rezultat numeric întreg de tip
indicator, în care este afișat numărul final după terminarea generării testului și calculul
apariției biților de 1 și 0.
– În urma stab ilirii totalului de biți de 1 și 0, se calculează procentajul din numărul rezultat,
cu ajutorul structurii CASE, care conține 2 etichete : True și False. Eticheta ce conține
identificatorul True se va efectua doar cu condiția ca numărul de iterații selectate de
utilizator să fie egal cu numărul de iterații efectuate. Atunci când această condiție este
îndeplinită, se va efectua conținutul din subdiagrama True. Mai intâi se calculează numărul
total de biți din iterațiile setate de către utilizator (16 biți * număr de iterații) , apoi se împarte
totalul de biți de 0 și 1 obținuți la punctul anterior la aceast număr . Rezultatul este înmulțit
cu 100 pentru a putea fi determinat procentul , iar ieșirea din buclă este conectată la
terminalul unui indicator în care se afișează rezultatul operațiilor de mai sus. Identificatorul
False afișează în indicator valoarea 0, iar acesta se execută până în momentul în care
numărul de iterații selectate de utilizator este egal cu numărul de iterații efectuate .
Fig. 3.12 Apariția de zero și de unu pentru mai multe iterații
29
5.3 Recepția datelor de către DUT utilizând microcontroler
Microcontrolerul recepționează vectorii de test generați pe interfața Labview, apoi îi
direcționează către DUT (Device Under Test).
Microcontrolerul folosit este ATMEGA 64. Pentru recepția datelor s -a folosit p ortul de
comunicare serială USART 0. Recepția datelor se face cu o frecvență de ceas ( Clock Frequency) de
8MHz , mod de operare asincron normal, cu rata baud de 9600, având cadrele formatate pe 8 biți
de date, un bit de stop și fără paritate.
Formula de calcul a ratei de baud este următoarea :
𝐵𝐴𝑈𝐷 =𝑓𝑂𝑆𝐶
16(𝑈𝐵𝑅𝑅 +1𝑛) (23)
Inițializarea portului de recepție este făcută astfel:
– Registrul UCSR0B în care s -a activat numai bitul de recepție RXEN0
Fig. 3.13 Registrul UCSR0B
– Registrul UCSR0C, în care s -au activat biții UCSZ01 și UCSZ00 pentru stabilirea
dimensiunii unui cuvânt de date pe 8 biți.
Fig. 3.14 Registrul UCSR0C
Fig. 3.15 Setarea biților din registrul UCSR0C
– Setarea biților UBRR0H și UBRR0L din registrul UBRR, care stabilește viteza de
comunicație serială, adică rata de baud.
Valoarea registrului UBRR poate fi calculată după următoarea formulă :
𝑈𝐵𝑅𝑅𝑛 =𝑓𝑂𝑆𝐶
16𝐵𝐴𝑈𝐷−1 (24)
30
– Valoarea bitului UBRR0H con ține cei mai semnificativi 4 biți calculați cu ajutorul ecuației
(24) pe care i -am setat în format hexazecimal “0x00”, iar valoarea bitului UBRR0L conține
cel mai puțin semnificativi 8 biți rezultați după calculul acestei ecuați i, adică numărul 51 în
zecimal, care înseamnă “0x33” în hexazecimal.
Fig. 3.16 Registrul UBRR
După inițializarea portului, datele s -au primit cu ajutorul funcției getchar. Din cauza faptului
că datele s -au primit ca și caractere ASCII, a fost nevoie de conversia acestora în numere
hexazecimale, prin scăderea din caracter ul ASCII cu “0x30”. Cifrele hexazecimale se vor primi
unul câte unul pe 4 biți. Pentru ca datele să fie primite pe port pe 8 biți a fost necesară deplasarea
cifrei la stânga cu încă 4 biți și adunarea acesteia cu următ oarea cifră de 4 biți. Pentru recepția
următoarel or cifre se vor parcurge aceleași etape.
Primirea fiecărui set de vectori, adică a cifrelor hexazecimale, a fost realizată prin setarea porturil or
B și C a microcontrolerului ca și ieșiri. Astfel, biții vectorului vor fi primiți pe cele două porturi,
unde sunt conectate 16 leduri care să reflecte cei 16 biți generați . Ledurile se aprind în funcție de
setul de biți primit, iar valoarea logică binară de “1” va fi reprezentată de ledul aprins care primește
5V și valoarea “0” de ledul stins , care primește 0V. Pentru limitarea curentului s -au conectat 16
rezistențe cu valoare de 330 ohm, in serie cu fiecare led , care mai apoi sunt conectate la masă.
Fig. 3.17 Conectarea ledurilor la porturile microcontrolerului
31
5.4 Simulări
1) Pe interfața Labview s -a generat un numărul aleator zecimal 21788 , reprezentat în hexazecimal
ca și 551C și s-a demonstrat comunicarea serială cu mediul de lucru Proteus, care recepționează
numărul hexazecimal 551C și îl afișează pe ledurile conectate la c ele 2 porturi C și B.
Fig. 3.18 Generarea unui vector aleator în Labview
32
Fig. 3.20 Recepția în Proteus a vectorului generat din Labview
2)
Fig. 3.21 Generarea a 4 numere random într -o singură rulare
33
Fig. 3.22 Afișarea în detaliu a ultimului număr din Fig. 3.21
Fig. 3.23 Recepția serială în Proteus a celor 4 numere și afișarea ultimului pe leduri
Din Fig. 3.21 de mai sus putem observa că s -a simulat generarea a 4 numere aleatoare în
Labview : 56029, 26567, 41134 și 11753, care în hexazecimal au fost afișate ca și : DADD, 67C7,
A0AE și 2DE9. Ultimul număr a fost reprezentat în binar și pe leduri (Fig. 3.22) și s -a calculat atât
numărul de biți de 0 și de 1, cât și procent din fiecare. Tot în ac eastă figură s -a afișa t numărul total
de biți de 1 și 0 pentru toate cele 4 numere și distribuția lor în procente. În Fig. 3.23 s -a demonstrat
recepția tuturor numerelor generate și afișarea pe cele 16 leduri (DUT) a ultimului număr.
3)
34
Fig. 3.24 Distribuția de 0 și de 1 la 64 de iterații
Fig. 3.25 Distribuția de 0 și de 1 la 128 de iterații
Fig. 3.2 6 Distribuția de 0 și de 1 la 256 de iterații
35
Fig. 3.2 7 Distribuția de 0 și de 1 la 512 iterații
S-au efectuat simulări pentru un număr dif erit de iterații, care se pot observa și în figurile de mai
sus. Pentru fiecare din iterațiile de mai sus, apariția biților de 0 și a biților de 1 au o distribuție din
ce în ce mai apropiată de 50% pe măsură ce numărul de iterații crește. Conform Tabelului 3.1, se
remarcă considerabil repartiția biților care se uniformizează , odată cu creșterea numărului de
efectuări :
Tabelul 3.1 Reparti ția biților de zero și unu pentru un număr diferit de iterații
Nr. iterații Nr. total de 1 Nr. total de 0 % biți de 1 % biți de 1 Diferența dintre
distribuții (%)
64 550 474 53,7109 46,2891 7,4218
128 1048 1000 51,1719 48,8281 2,3438
256 2077 2019 50,708 0 49,29 19 1,416 1
512 4101 4091 50,061 49,939 0,122
36
6. Rezultate experimentale
6.1 Recepția pe leduri a vectorilor generați
Pentru realizarea circuitului s -a folosit o placă breadboard, pe care s -au conectat 16 leduri și 16
rezistențe
Ledurile sunt conectate la ieșirea microcontrolerului ATMEGA64 , pe porturile C și B. În serie
cu fiecare led a fost conectată câte o rezistență de 330 ohm pentru limitarea curentului , care sunt
conectate la masa breadboardului .
Fig. 4.1 Conectarea ledurilor pe breadboard
S-au generat 4 teste la interval de 5 secunde și în figurile următoare se demo nstrează că se
recepționează toți vectorii generați în Labview:
37
Fig. 4.4 Generarea primului vector
Fig. 4.5 Recepția primului vector generat
Fig. 4.6 Generarea celui de -al doilea vector
38
Fig. 4.7 Recepția celui de -al doilea vector generat
Fig. 4.8 Generarea celui de -al treilea vector
Fig. 4.9 Recepția celui de -al treilea vector generat
39
Fig. 4.10 Generarea celui de -al patrulea vector
Fig. 4.11 Recepția celui de -al patrulea vector generat
6.2 Implementarea și testarea circuitului cu porți logice
Pentru realizarea circuitului DUT s -au folosit următoarele integrate ce conțin porți logice :
CD4073BE (ȘI), 2 por ți SN74AC32N (SAU), CD74HC00E (ȘI -NU) și SN74AC04N (NU).
Conectarea celor 16 pini ai microcontrolerul ui ATMEGA64 la pinii integratelor s-a realizat astfel :
– Pinii 7, 6 și 5 a portului C la pinii 1, 2 și 8 a lui CD4073BE , cu ieșirea pe pinul 9
– Pinii 4, 3 și 2 a portului C la pinii 3, 4 și 5 a lui CD4073BE, cu ieșirea pe pinul 6
– Pinii 1 și 0 a portului C la pinii 1 și 2 a lui SN74AC32N (1), cu ieșirea pe pinul 3
– Pinii 7 și 6 a portului B la pinii 4 și 5 a lui SN74AC32N (1), cu ieșirea pe pinul 6
40
– Pinii 5 și 4 a portului B la pinii 1 și 2 a lui CD74HC00E, cu ieșirea pe pinul 3
– Pinii 3 și 2 a portului B la pinii 9 și 10 a lui SN74AC32N (1), cu ieșirea pe pinul 8
– Pinii 1 și 0 a portului B la pinii 4 și 5 a lui CD74HC00E , cu ieșirea pe pinul 6
Din aces te integrate rezultă 7 ieșiri, care sunt c onectate cu alte integrat e:
– Pinul 9 a lui CD4073BE la pinul 1 a lui SN74AC04N, cu ieșirea pe pinul 2
– Pinul 6 a lui CD4073BE și pinul 3 a lui SN74AC32N (1) la pin ii 12 și 13 a lui
SN74AC32N(1) , cu ieșirea pe pinul 11
– Pinul 6 a lui SN74AC32N (1) la pinul 3 a lui SN74AC04N, cu ieșirea pe pinul 4
– Pinul 3 a lui CD74HC00E la pinul 5 a lui SN74AC04N, cu ieșirea pe pinul 6
– Pinul 8 al lui SN74AC32N (1) și pinul 6 a lui CD74HC00E la pinii 1 și 2 a lui
SN74AC32N(2), cu ieșirea pe pinul 3
Mai departe, cele 5 ieșiri au fost conectate la alte două integrate cu porți :
– Pinul 2 a lui SN74AC04N și pinul 11 a lui SN74AC32N ( 1) la pinii 9 și 10 a lui
SN74AC32N (2), cu ieșirea pe pinul 8
– Pinii 4 și 6 a lui SN74AC04N și pinul 3 a lui SN74AC32N (2) la pinii 13, 12 și 11 a lui
CD4073BE, cu ieșirea pe pinul 10
Pentru a rezulta o singur ă ieșire, ultimele două ieșiri au fost conectate la poarta SAU a
integratului SN74AC32N :
– Pinul 8 a lui SN74AC32N (2) și pinul 10 a lui CD4073BE la pinii 12 și 13 a porții
SN74AC32N (2) , având ieșirea pe pinul 11.
Toate aceste integrate au fost alimentate cu 5V de la pinul VCC a microcontrolerului pe pinul
14 a inte gratelor , iar pinul 7 dus la masă (la pinul GND a microcontrolerului) .
S-a conectat și un led pentru a vedea rezultatul acestui circuit cu an odul pe ieșirea circuitului
cu porți (pinul 11 a integratului SN74AC32N (2) ) și catodul la masă .
Fig. 4.12 Circuitul implementat cu porți logice
41
Fig. 4.13 Circuitul fără defect
În urma efectuării a 10 teste aleatoare, pe circuitul fără defect s -au obținut în Tabelul 4.1
următoarele rezultate :
Tabelul 4.1 Setu l de vectori testați pe circuitul cu porți logice fără defect
Nr. vectori Vectorii în hexazecimal Vectorii în binar Ieșire
1 355A 0011010101011010 1
2 6554 0110010101010100 1
3 3EA3 0011111010100011 1
4 6B1C 0110101100011100 1
5 69E2 0110100111100010 1
6 42D0 0100001011010000 1
7 E9D1 1110100111010001 1
8 F415 1111010000010101 0
9 7954 0111100101010100 1
10 5054 0101000001010100 1
În urma rezultatelor din Tabelul 4.1, pentru circuitul fără defect s -a determinat o probabilitate
de apariție a bitului de 1 de 90% la 10 teste efectuate .
42
Fig. 4.13 Circuitul cu defect PP0
S-au efectuat alte 10 teste aleatoare, pe circuitul cu defect PP0 la ieșirea penultimei porți logice
SAU , și s-au obținut următoarele rezultate conform Tabelului 4. 2:
Tabelul 4.2 Setul de vectori aleatori testați în prezența defectului de tip PP0
Nr. vectori Vectorii în hexazecimal Vectorii în binar Ieșire
1 CF1B 1100111100011011 0
2 4FEE 0100111111101110 0
3 4C02 0100110000000010 0
4 4C24 0100110000100100 0
5 7131 0111000100110001 1
6 370C 0011011100001100 0
7 1FE4 0001111111100100 0
8 86F8 1000011011111000 0
9 B43F 1011010000111111 0
10 CA50 1100101001010000 0
Pentru circuitul aflat în prezența defectului PP0, conform Tabelului 4.2 probabilitatea de apariție a
bitului de 1 este de 10%, deci defectul se poate observa.
43
Fig. 4.14 Circuitul aflat în prezența defectului PP1
Pentru alte 10 teste în care s -au generat vectori aleatori, pe circuitul cu defect PP 1 la ieșirea
penultimei porți logice SAU , au fost obținut e următoarele rezultate le conform Tabelului 4 .3:
Tabelul 4.3 Setul de vectori aleatori testați în prezența defectului de tip PP1
Nr. vectori Vectorii în hexazecimal Vectorii în binar Ieșire
1 2069 0010000001101001 1
2 5BC3 0101101111000011 1
3 FA4C 1111101001001100 1
4 2D2E 0010110100101110 1
5 251E 0010010100011110 1
6 28BE 0010100010111110 1
7 B0DE 1011000011011110 1
8 8768 1000011101101000 1
9 3719 0011011100011001 1
10 2C19 0010110000011001 1
În urma rezultatelor din Tabelul 4.3, se constată faptul că, în prezența unui defect de tip PP1 bitul
de 1 are o probabilitate de apariție de 100%. Făcând o comparație cu circuitul fără defect, în cazul
apariției unui defect PP1, acesta este observabil.
44
7. Concluzii
Testarea reprezintă o etapă foarte importantă în circuitele electronice, deoarece reduce timpul
de detecție a unui eventual defect și este imperios datorită evoluției și complexității circuitelor din
zilele de astăzi.
Generarea vectorilor aleatori este un subiect vast, cu care se pot testa multiple circuite pentru a
se vedea r ăspunsul acestora în urma generării vecto rilor aleatori. Aceștia se generează ușor și nu
depind de restul circuitului. O trăsătură importantă a vectorilor cu caracter aleator este existența
incertitudinii, deoarece, vectorul de test va fi diferi t aproape la fiecare generare și posibilitatea de
repetare a lui scade odată cu creșterea lungimii acestuia.
După generarea multiplelor teste, de lungimi diferite, s -a constatat faptul că, cu cât crește
numărul de vectori generați, cu atât distribuția biților de 0 și 1 este mai egală și mai apropiată de
procentul de 50% și, cu cât numărul de generări a vectorilor de test este mai scăzut, cu atât
posibilitatea de distribuție inegală a biților de 1 și de 0 este mai mare.
Pentru circuitul realizat cu porți logice, au fost generate teste fără defecte și cu defec te, iar prin
testarea lor s -a constatat că testele cu defecte pot fi ușor observabile. Pentru teste de lungimi mai
mici, defectul are o probabilitate de detecție mai m are, adică defectul este detectat destul de ușor .
Dacă se efectuează teste de lungimi mari, cu o complexitate mai mare, atunci probabilitatea de
detecție a defectului scade și poate fi mai greu de detectat , sau poate fi chiar nedetectabil ă. Detecția
defectelor care apar depinde și de construcția circuitului , adică de porțile logice folosite în
realizarea lui.
Avantajul apariției defectelor este că ieșirea se poate determina mai repede și mai ușor în
condițiile d e prezen ță a unui defect.
Un defect poate fi mult mai ușor observabil dacă este prezent cât mai aproape de porțile
conectate la ieșirea circuitului. În condițiile în car e un circuit este complex, are multe intrări și
multe porți logice, dacă defectul își face prezența la intrările primelor porți logice, atunci acel defect
devine foarte greu de detectat, sau chiar nedet ectabil.
45
8. Bibliografie
[1] Samiha Mourad, Yervant Zorian , Principles of Testing Electronic Systems , John Wiley & Sons,
2000
[3] Dan Pitic ă, Mihaela Radu, Elemente de testare pentru sistemele electronice , Cluj -Napoca:
Editura Albastr ă, 2001
[4] René David , Random Testing of Digital Circuits: Theory and Applications , New York, Basel,
Hong Kong: Marcel Dekker , 1998
[5] Rajmond Jano, Gabriel Chindri ș, Hardware and Software Testing Principles, Cluj-Napoca:
Mediamira, 2016
[6] John Essik, Hands -On Introduction to LabVIEW for Scientists and Engineers , Oxford
University Press, 2009
[7] “ATMEGA 64 data sheet ”, Microchip, 8 -bit AVR Microcontrollers
[8] “OSCF4L5111A data sheet ”, Optosupply Limited, Hong Kong
[9] “SN74AC04N data sheet”, Dallas, Texas, SUA
[10] “CD74HC00E data sheet”, Dallas, Texas, SUA
[11] “CD4073BE data sheet”, Dallas, Texas, SUA
[12] “SN74AC32N data sheet”, Dallas, Texas, SUA
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: 1. Rezumat în limba engleză ………………………….. ………………………….. ………………………….. ………… 1 1.1… [619480] (ID: 619480)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
