Sunteți pe pagina 1din 9

SM proiect – Orcad

Scopul acestei simulări este verificarea automatului finit propus. Se realizează, conform
cerinței, trecerile dintr-o stare în alta? Ce stări ne interesează să vizualizăm la ieșire? De câte
perioade este nevoie pentru a trece prin toate stările?
Pentru exemplificare, se folosește automatul finit prezentat prima dată (freza dentară
electrică).
Se creează un proiect nou (File→New→Project). Apoi, se obține o fereastră corespunzătoare
realizării unei scheme ce urmează a fi simulată; se bifează opțiunea “Analog or Mixed A/D” (această
alegere permite simularea în model PSpice a circuitelor).

Apoi, în fereastra următoare se alege opțiunea Create a blank project.


Apoi, se poate vedea aria de lucru. Se apasă pe butonul Add Library și se adaugă toate
bibliotecile (CTRL+A și Open). Pentru a putea încărca apoi componentele, din partea dreaptă se apasă
opțiunea Place part.
Apoi, se caută componentele necesare, și anume (se aleg componentele din librăriile care au
profil de simulare – pictograma cu PSpice):
• Poartă OR cu 2 intrări: 7432
• Poartă AND cu 2 intrări: 7408
• Poartă AND cu 3 intrări: 7411
• Poartă NOT: 7404
• CBB de tip D: 7474
• Clock: DIGCLOCK
• Stimul digital: STIM1
După ce s-au identificat toate componentele, se implementează ecuațiile, folosind porțile
logice și CBB D. Pentru a fi mai ușor de localizt intrările și ieșirile, se folosește Place net alias pentru
a denumi firele. După ce se apasă această opțiune (prin tasta n sau prin pictograma cu un fir și abc
din dreapta), se va deschide o fereastră unde se setează numele dorit. Apoi, se atribuie acest nume
̅̅̅0 ), Q1 și ~Q1(𝑄
firelor dorite (în acest caz, intrările A și B și ieșirile Q0, ~Q0 (𝑄 ̅̅̅1). Atunci când se
plasează un net alias, acesta trebuie plasat obligatoriu pe un fir, nu pe un pin al unei componente.

Ecuațiile implementate sunt:

Deoarece nu există porți cu mai multe intrări, ecuațiile se implementează descompus (de
exemplu, pentru o adunare de 3 termeni, se adună mai întâi primii 2, apoi suma acestora se adună cu
cel de-al treilea termen).
CBB D
Pentru cele 2 bistabile, înafară de ieșiri, mai trebuie conectate
următoarele:
• CLK: cele 2 CLK se leagă împreună la DIGCLOCK și se
plasează un net alias
• CLR și PRE se leagă împreună la un STIM1
• Se dă dublu click pe rând pe cele 2 componente și se fac
urmăatoarele setări:
o CLK (perioadă de 1µs, factor de umplere de 50%)

o STIM1 (pentru a nu se reseta)


Intrări
La fiecare intrare, se conectează un STIM1 și se setează astfel (se inițializează A și B cu 0):

Ieșiri
Se consideră că pentru fiecare stare, există câte un LED care indică starea respectivă:
Stare LED
̅̅̅̅𝟎 ̅̅̅̅
00 (𝑸 𝑸𝟏 ) LED 1 (roșu)
̅̅̅̅𝟎 𝑸𝟏 )
01 (𝑸 LED 2 (albastru)
10 (𝑸𝟎 𝑸 ̅̅̅̅𝟏 ) LED 3 (verde)
11 (𝑸𝟎 𝑸𝟏 ) LED 4 (galben)

LED-ul se aprinde atunci când are valoarea „1” la intrare; dat fiind faptul că se folosesc porți
AND, singura combinație de intrări care dă 1 la ieșire este 1 și 1 (1 × 1 = 1). Astfel, se leagă câte 2
ieșiri, pe rând, printr-o poartă AND, iar ieșirea porții reprezintă câte un LED. Pe fiecare fir de ieșire,
se plasează câte un net alias, în culoarea LED-ului corespunzător, conform tabelului de mai sus.
Crearea profilului de simulare

Pentru simulare, din meniul PSpice se apasă New Simulation Profile și se dă un nume (de
exemplu același nume ca al proiectului). Din fereastra care se deschide, Simulation Settings, din
Analysis type, se alege Time Domain (Transient). Pentru început, se alege un timp de simulare scurt
(3 perioade), astfel că, în căsuța Run to time, se setează 3µs. Apoi, se dă click pe Options, Gate-level
Simulation și, în căsuța Initialize all flip-flops to, se setează valoarea 0 (pentru a inițializa CBB D cu
valoarea 0). Apoi, se bifează OK.

Din bara de sus, se apasă butonul verde notat cu V, pentru a putea vedea pe circuit nivelele de
0 și 1 logic, și se plasează sondele astfel: CLK, A, B, Q0, Q1, LED1, LED2, LED3, LED4. Se șterg
aliasurile de pe ~Q0 și ~Q1, deoarece nu se folosesc în simulare. Apoi se apasă butonul verde Run
Spice și se obține un grafic cu cele 9 semnale de mai sus.
Interpretare grafic
Pentru a observa mai bine graficele, se dă click pe File, Print Preview.

CBB D este activ pe frontul crescător al semnalului de ceas (acolo își poate modifica starea),
marcat cu chenare negre. Din moment ce bistabilele pleacă din starea 00, iar intrările A și B au valorea
0, ieșirile Q0 și Q1 au valoarea 0, iar LED-ul 1, corespunzător stării 00, este aprins (are valoarea 1).
Acest lucru corespunde tabelului de tranziție astfel:

Pentru simularea mai multor tranziții, este necesară modificarea intrărilor, înainte de frontul
crescător al semnalului de ceas și de vizualizarea mai multor perioade de ceas. De exemplu, dacă
setăm 6 perioade de ceas - 6µs – de la Edit Simulation Profile și A și B în felul următor:
CLK:

A:

B:

se obține următorul grafic (se dă iar click pe File, Print Preview):

1 2 3 4 5 6 7
1. Automatul pornește din starea 00 (Q0=0, Q1=0), iar A și B sunt inițializate cu valoarea 0. Este
aprins LED1 (valoarea 1), celelalte sunt stinse. La 0.4 µs, valoarea lui B se modifică în 1.
2. La frontul crescător al semnalului de ceas (0.5 µs), A=0, B=1, iar starea anterioară este 00.
Automatul trece în starea 01(Q0=0, Q1=1) și se aprinde LED2. La 0.7 µs, valoarea lui A se modifică
în 1.
3. La frontul crescător al semnalului de ceas (1.5 µs), A=1, B=1, iar starea anterioară este 01.
Automatul rămâne în starea 01 (Q0=0, Q1=1), iar LED2 rămâne aprins. La 2 µs, valoarea lui A se
modifică în 0.
4. La frontul crescător al semnalului de ceas (2.5 µs), A=0, B=1, iar starea anterioară este 01.
Automatul trece în starea 10 (Q0=1, Q1=0) și se aprinde LED3.
5. La frontul crescător al semnalului de ceas (3.5 µs), A=0, B=1, iar starea anterioară este 10.
Automatul trece în starea 11 (Q0=1, Q1=1) și se aprinde LED4. La 4 µs, valoarea lui B se modifică
în 0, iar la 4.2 µs, valoarea lui A se modifică în 1.
6. La frontul crescător al semnalului de ceas (4.5 µs), A=1, B=0, iar starea anterioară este 11.
Automatul trece în starea 10 (Q0=1, Q1=0) și se aprinde LED3. La 5.1 µs, valoarea lui A se modifică
în 0.
7. La frontul crescător al semnalului de ceas (5.5 µs), A=0, B=0, iar starea anterioară este 10.
Automatul rămâne în starea 10 (Q0=1, Q1=0) iar LED3 rămâne aprins.

Se poate verifica conform tabelului de tranziție:

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