You are on page 1of 26

5.

CIRCUITE LOGICE SECVENłIALE

Circuitul logic secvenŃial (CLS) este un circuit logic la care funcŃia de ieşire depinde atât de valoarea
curentă a intrării cât şi de valorile ei anterioare. Efectul şi evoluŃia acestor valori sunt memorate în aşa
numitele mărimi de stare. Cu alte cuvinte, circuitele logice secvenŃiale sunt circuite logice la care ieşirea
depinde nu numai de valorile curente ale intrării ci şi de comportarea anterioară a circuitului. Ele conŃin
elemente de memorare a valorilor logice, care descriu comportarea circuitelor, numite stări. Astfel, evoluŃia
unui CLS este marcată prin schimbările de stare.
CLS se poate caracteriza prin două funcŃii: funcŃia de tranziŃie a stării f şi funcŃia de ieşire g (5.1).
Dacă X este spaŃiul intrărilor, Q este spaŃiul stărilor şi Y este spaŃiul ieşirilor, atunci expresiile celor două
funcŃii sunt următoarele:

f: X x Q → Q, g: X x Q → Y (5.1)

unde:

qn+1 = f(xn , qn), yn = g(xn , qn) (5.2)

SemnificaŃia notaŃiilor din relaŃia (5.2) este următoarea:


▪ xn - vectorul intrărilor la momentul curent (discretizat: t = nT) - x(nT),
▪ qn - vectorul stărilor la momentul curent q(nT),
▪ qn+1 - vectorul stărilor la momentul următor (discretizat:(n+1)T) - q[(n+1)T];
▪ yn - vectorul de ieşire la momentul curent y(nT).

ObservaŃie:
Uneori, g poate să nu depindă decât de stare (5.3):

g: Q→Y (5.3)

Dacă

f: X x Q → P(Q), (5.4)

unde P(Q) reprezintă mulŃimea părŃilor lui Q, atunci circuitul logic secvenŃial se numeşte nedeterminat.
Schema funcŃională a unui CLS este reprezentată în Fig. 5.1. Se observă o legătură de reacŃie la nivelul
stării prin care se realizează, de fapt, funcŃia f. Uneori, yn depinde doar de qn sau chiar yn = qn.

x(t)
x(t) f g
q(t) y(t)

Fig. 5.1. Schema funcŃională a unui CLS.

Pentru a determina răspunsul unui CLS la momentul t sunt necesare fie cunoaşterea intrării la
momentul t şi a stării la momentul anterior, fie cunoaşterea stării la momentul iniŃial t0 şi a valorilor intrării
de la momentul iniŃial până la momentul curent t (evoluŃia intrării). Astfel, evoluŃia unui CLS poate fi
descrisă cu ajutorul unui tabel de stări, tabel caracteristic, de forma:

124
Intrare curentă Stare curentă Stare viitoare Ieşire curentă

Dacă dimensiunea vectorului stărilor este n şi variabilele de stare iau valori binare, atunci vectorul
variabilelor de stare, (qn-1,qn-2,...,q1,q0) poate lua 2n valori, deci un număr finit. Din cauza structurii în reacŃie
şi a numărului finit de stări, aceste circuite se mai numesc şi automate cu stări finite sau automate finite.
ReacŃia asigură capacitatea de memorare a evoluŃiei circuitului.

ObservaŃie
Pentru ca reacŃia să fie efectivă, trebuie ca variaŃiile semnalelor logice să aibă paliere (0 sau 1)
suficient de mari. O durată foarte mică a semnalului de intrare şi/sau o înălŃime insuficientă a acestuia
(nivelul logic 1) pot face circuitul logic secvenŃial să fie insensibil la acel impuls.

5.1. CIRCUITE LOGICE ASTABILE

Dacă reacŃia se realizează peste un număr impar de inversoare (mai mare sau egal cu 3) atunci acel
CLS poate genera oscilaŃii şi se numeşte astabil. În Fig. 5.2 este prezentată schema unui oscilator logic cu
trei niveluri de inversare.

Fig. 5.2. Schema unui inversor cu trei niveluri de inversare.

Circuitul funcŃionează ca oscilator atunci când comutatorul K este pe poziŃia 2; pe poziŃia 1, circuitul
este blocat, fiind în starea stabilă (ieşirea, y = 1).
FuncŃionarea oscilatorului se bazează pe întârzierile introduse de porŃile logice şi pe reacŃie, conform
diagramei de semnale din Fig. 5.3. Se observă că perioada semnalului oscilatoriu dreptunghiular este 6T, T
fiind întârzierea introdusă de o poartă logică (considerată, în mod ideal, constantă pentru toate porŃile logice).
Amorsarea oscilaŃiilor s-a făcut prin trecerea comutatorului K de pe poziŃia 1 pe poziŃia 2.
Perioada de oscilaŃie TO este dată, teoretic, de numărul de circuite inversoare (n), considerat număr
impar, mai mare sau egal cu 3, şi de întârzierea medie (T):

TO = 2nT (5.5)

125
K

v t

w t

y t

t0 t0+T t0+4T t0+7T

Fig. 5.3. Diagrama de semnale pentru oscilatorul din Fig. 5.2.

5.2. CIRCUITE LOGICE MONOSTABILE

Circuitul logic monostabil este circuitul care are o singură stare stabilă (de exemplu, 0). El rămâne în
această stare până când primeşte un impuls pe intrarea de comandă (CLK). Atunci, ieşirea monostabilului
(OUT) generează un impuls unic având durata T (lungimea palierului de valoare logică 1) reglabilă cu
ajutorul unor componente externe Rext, Cext, după care revine în starea iniŃială stabilă (Fig. 5.4). Dacă
repetarea comenzii în interiorul duratei impulsului de ieşire conduce la prelungirea corespunzătoare a
acestuia, atunci monostabilul se numeşte monostabil retrigger-abil (Fig. 5.5).

CLK

t
OUT

t
T T
Fig. 5.4. FuncŃionarea circuitului monostabil.

126
CLK

t
OUT

t
OUTR T

t
T
Fig. 5.5. Exemplificarea comportării monostabilului (OUT) şi a comportării monostabilului retrigger-abil (OUTR).

Există circuite monostabile integrate (de exemplu, 74x122, 74x123) care au circuite bistabile în
structura de bază. În acest caz, durata impulsului T este dată de relaŃia:

0,7
T = KRext Cext (1 + ),
Rext

unde K = 0,32, pentru 74x122 şi K = 0,38, pentru 74x123.


În Fig. 5.6 este prezentat un circuit monostabil derivat dintr-un bistabil de tip D cu intrări R,S, în
tehnologie CMOS.

VCC
D S Q OUT

CK
R Rext
IN

Cext

Fig. 5.6. Monostabil derivat dintr-un bistabil de tip D.

Se observă că apare o nouă reacŃie de la Q la R printr-un circuit Rext, Cext. Presupunând că ieşirea Q a
bistabilului este 0 şi condensatorul Cext este descărcat, atât intrarea R cât şi intrarea S sunt în 0, deci bistabilul
Q rămâne în 0, atât timp cât nu se modifică intrarea de date IN (a se vedea funcŃionarea bistabilului D). Dacă
se aplică un impuls pe intrarea IN, D fiind 1, pe frontul pozitiv, Q trece în 1 şi condensatorul Cext începe să se
încarce, fiind legat prin rezistenŃa Rext la 1. Când tensiunea V atinge pragul inferior al nivelului 1, datorită
intrării R = 1, ieşirea Q revine în 0.
Utilizând două monostabile care se comandă unul pe altul, se poate obŃine un astabil comandat
(generator de semnal comandat).

127
5.3. AUTOMATE ELEMENTARE. CIRCUITE BASCULANTE
BISTABILE ŞI CIRCUITE LATCH

Circuitele logice secvenŃiale cu două stări stabile, la care trecerea dintr-o stare în alta se poate face prin
intermediul comenzilor externe (semnal de tact), se numesc circuite basculante bistabile (CBB).
Circuitele logice secvenŃiale cu două stări stabile, folosite doar pentru preluarea şi memorarea
semnalelor de intrare se numesc circuite latch. Uneori, aceste circuite sunt denumite tot circuite bistabile.

5.3.1. Circuite latch de tip RS

Cel mai simplu circuit latch este bistabilul R S (R’S’), alcătuite din două NAND-uri, având două intrări R
şi S (R – reset sau punere pe 0, S – set sau punere pe 1) şi două ieşiri Q şi Q’. Din Fig. 5.7 se observă
reacŃiile circuitului R S sunt pe două niveluri.

Fig. 5.7. Bistabil R S cu NAND-uri.

Analog, se poate construi un bistabil RS cu porŃi de tip NOR (Fig. 5.8).


Tabelele caracteristice pentru bistabilul R S şi pentru bistabilul RS sunt comasate în Tabelul 5.1, unde
Qn reprezintă starea curentă sau ultima stare, iar Qn+1 reprezintă starea viitoare. Cu semnul ▬ s-a marcat o
combinaŃie de intrare interzisă.

Fig. 5.8. Bistabil RS cu porŃi de tip NOR.

Tabelul 5.1. Descrierea funcŃionării bistabilelor R S şi RS

Intrări Latch R S Latch RS

R S Qn+1 Qn+1

0 0 ▬ Qn

0 1 0 1

1 0 1 0

1 1 Qn ▬

128
Bistabilul RS cu intrare de activare, spre deosebire de bistabilul elementar RS, îşi poate modifica
starea doar când intrarea de activare CLK = 1 (Tabelul 5.2). În tabel, X marchează o valoare logică
indiferentă.

Tabelul 5.2. Descrierea funcŃionării bistabilului RS cu intrare de


activare
R S CLK Qn+1

X X 0 Qn

0 0 1 Qn

0 1 1 1

1 0 1 0

1 1 1 ▬

5.3.2. Circuite latch de tip D (de date)

Circuitul latch de tip D este asemănător circuitului latch de tip RS cu intrare de activare, cu
deosebirea că cele două intrări de date R şi S funcŃionează complementar, prin introducerea unui inversor.
Acest lucru permite considerarea unei singure intrări D (de date) şi eliminarea situaŃiei neacceptate R = 1, S
= 1. Ieşirile sunt identice cu intrările atât timp cât CLK = 1 (latch deschis) şi păstrează ultima valoare (din
cazul CLK = 1) atât timp cât CLK = 0 (Tabelul 5.3). În Fig. 5.10 sunt prezentate simbolul şi modul de
implementare cu porŃi logice.

Tabelul 5.3. Tabelul funcŃiei de ieşire pentru latch-ul de tip D

D CLK Qn+1

X 0 Qn

0 1 0

1 1 1

Fig. 5.9. Circuitul latch tip D: a) simbolul; b) implementarea cu porŃi logice.

129
În Fig. 5.10 este prezentată o diagramă de semnale pentru ilustrarea modului de funcŃionare
dinamică a circuitului latch de tip D punând în evidenŃă întârzierile reale la comutarea ieşirii.

CLK

t
D

t
Q

t
Tp1 Tp2 Tp3 Tp4
Fig. 5.10. Diagrama de semnale pentru ilustrarea circuitului latch de tip D.

SemnificaŃia timpilor de propagare (întârziere) Tp ce apar în diagrama din Fig. 5.10 este următoarea:
Tp1– timp de propagare între CLK şi Q la comutarea din L în H;
Tp2 – timp de propagare între D şi Q la comutarea din H în L;
Tp3 – timp de propagare între D şi Q la comutarea din L în H;
Tp4 – timp de propagare între CLK şi Q la comutarea din H în L.

5.3.3. Structuri de bistabili master – slave

Se observă că bistabilii prezentaŃi oferă posibilitatea modificării ieşirii pe toată durata palierului 1 al
impulsului de ceas, în funcŃie de datele de la intrare. În majoritatea aplicaŃiilor, acest lucru nu este de dorit,
impunându-se schimbarea ieşirii doar la anumite momente, la comanda unui ceas, pe frontul crescător sau pe
frontul descrescător al impulsului de ceas.
Un astfel de circuit bistabil, care comută sincronizat cu un front (pozitiv sau negativ) al impulsului
de ceas conŃine două latch-uri (circuite de memorie), numite master şi, respectiv, slave, inseriate şi
comandate prin semnale complementare. Dacă cele două latch-uri sunt de tip RS, atunci circuitul se numeşte
bistabil RS master – slave sau CBB de tip RS (Fig. 5.11), iar dacă ele sunt de tip D, atunci circuitul se
numeşte bistabil D master – slave sau CBB de tip D (Fig. 5.12).

Fig. 5.11. Circuit bistabil RS master – slave.

SemnificaŃia notaŃiilor din Fig. 5.11 şi Fig. 5.12 sunt următoarele: M – circuit master; S – circuit slave;
R, S, D şi CLK – intrări pentru circuitele master – slave; Q si Q – ieşiri pentru circuitele master – slave; Ri,
Si, Di, CLKi, Qi şi Qi , i = 1,2 – intrări şi ieşiri pentru circuitele latch master şi, respectiv, slave.
Complementarea semnalului de ceas pentru circuitul latch S se face cu ajutorul unui inversor.

130
Cele două circuite master – slave prezentate mai sus sunt active pe frontul negativ al impulsului de
ceas. Pentru aceasta, semnalele pe intrările R, S şi D trebuie să fie stabile în jurul acestui front, adică să nu se
modifice în intervalul [t0 – ∆ts, t0 + ∆th], unde t0 este momentul frontului negativ, ts este timpul de set-up
(pregătire), iar th este timpul de hold (menŃinere).

Fig. 5.12. Circuit bistabil D master – slave.

CLK

t
R,S,D ∆ts ∆th

t
t0

Fig. 5.13. CerinŃa ca intrările să fie stabile în intervalul [t0 – ts, t0 + th].

Tabelele caracteristice ale celor două circuite bistabile master – slave sunt prezentate în Tabelul 5.4
şi, respectiv, Tabelul 5.5.

131
Tabelul 5.4. Tabelul caracteristic al bistabilului master – slave RS

R S CLK Qn+1

X X 0 Qn

0 0 Qn

0 1 1

1 0 0

1 1 ~

Tabelul 5.5. Tabelul caracteristic al bistabilului master – slave D

D CLK Qn+1

X 0 Qn

X 1 Qn

0 0

1 1

Spre deosebire de CBB master – slave de tip D, la care ieşirea depinde de valoarea lui D din
intervalul [t0 – ts, t0 + th], la CBB master – slave de tip RS, ieşirea depinde de evoluŃia intrărilor R şi S pe
întreg palierul de nivel 1 al impulsului de ceas, reŃinând ultima modificare a lui Q1 înainte de frontul negativ
(Fig.5.14 şi Fig. 5.15).
Simbolurile circuitelor master – slave RS şi D sunt prezentate în Fig. 5.16.a şi, respectiv, în Fig.
5.16.b. Semnul > din dreptul intrării de ceas CLK semnifică faptul că intrarea este activă pe front. Dacă este
precedat de cerculeŃ, atunci intrarea este activă pe frontul negativ, altfel este activă pe frontul pozitiv.

132
CLK

R t

S t

Q t

t
Fig. 5.14.Diagrama de semnale pentru circuitul bistabil master – slave RS

CLK

t
D

t
Q

Fig. 5.15. Diagrama de semnale pentru circuitul bistabil master – slave D activ pe frontul negativ

Fig. 5.16. Simbolurile circuitelor bistabile master – slave: RS (a) şi D (b)

Există circuite bistabile master – slave de tip D, cu intrări asincrone (ce nu Ńin seama de impulsurile
de ceas), pentru punere pe 1 (preset – PR) şi pentru ştergere sau punere pe 0 (clear – CLR), Fig. 5.17.

133
Fig. 5.17. Circuit bistabil master – slave D cu intrări de presetare şi ştergere.

Un circuit bistabil derivat din circuitul bistabil master-slave D este circuitul bistabil de tip T (Fig.
5.18). Tabelul caracteristic al acestui bistabil este prezentat în Tabelul 5.6. Se observă că ieşirea se schimbă
în forma complementară dacă, pe frontul crescător al impulsului de ceas, intrarea T este egală cu 1. În rest,
ieşirea nu se modifică.
Intrarea D1 din Fig 5.18.b are expresia logică:

D1=T ⊕ Q

a)
b)

Tabelul 5.6. Tabelul caracteristic pentru un bistabil de tip T

T CLK Qn+1

X 0 Qn
X 1 Qn
0 Qn
1 Qn
c)

Un alt circuit bistabil important, ce derivă dintr-un circuit master-slave de tip D, este bistabilul JK.
Structura bistabilului JK este prezentată în Fig. 5.19, iar simbolul, în Fig. 5.20.
Atât circuitul bistabil T cât şi circuitul bistabil JK au, în plus faŃă de bistabilul master-slave D, reacŃii
pe mai multe niveluri (Fig. 5.19). Se observă că:
D1 = J· Q + K ·Q

134
CLK

t
T

t
Q

Fig. 5.18. Bistabilul de tip T: a) simbolul; b) structura derivata din bistabilul D;


c) diagrama de semnale.

Fig.5.19 Bistabil JK – Structura derivată din bistabilul D.

Fig. 5.20. Simbolul circuitului bistabil JK.

Tabelul caracteristic al bistabilului JK este prezentat în Tabelul 5.7.


Se observă că, spre deosebire de bistabilul RS, bistabilul JK nu are nici o intrare nepermisă. Bistabilul
JK poate avea şi intrări de presetare PR şi ştergere CLR. În acest caz, PR şi CLR nu pot fi simultan 1 (sau 0,
dacă sunt negate).

135
Tabelul 5.7. Tabelul caracteristic pentru bistabilul JK

J K CLK Qn+1

X X 0 Qn

X X 1 Qn

0 0 Qn

0 1 0

1 0 1

1 1 Qn

5.4. REGISTRE

Un bistabil înmagazinează doar un bit de informaŃie. Putem utiliza n bistabili, simultan, pentru a
înmagazina o informaŃie pe n biŃi. Aceşti bistabili sunt comandaŃi de un ceas comun şi alcătuiesc o structură
numită registru. De cele mai multe ori, registrele sunt standardizate şi înglobate în circuite integrate.
După destinaŃie, registrele se clasifică astfel: registre de deplasare, numărătoare, registre tampon,
registre de adrese etc.

5.4.1. Registre de deplasare (serie)

În multe aplicaŃii este necesară deplasarea biŃilor de informaŃie la stânga, la dreapta sau ciclic. De
exemplu, o împarŃire cu 2 se face prin deplasarea informaŃiei cu un bit la dreapta şi prin introducerea unui 0
în bitul cel mai semnificativ. De asemenea, înmulŃirea cu 2 se face prin deplasarea informaŃiei cu un bit la
stânga şi prin introducerea unui 0 în bitul cel mai puŃin semnificativ.
Pentru implementarea registrelor de deplasare se pot folosi, de exemplu, bistabili master-slave de tip D
(Fig. 5.21), legaŃi în serie, ieşirea Q de la unul cu intrarea D al bistabilului următor. Bistabilii sunt comandaŃi
sincron, cu acelaşi semnal de ceas.

Fig. 5.21. Registru de deplasare pe patru biŃi, încărcat serial.

136
Tabelul 5.8. EvoluŃia unei secvenŃe într-un registru de deplasare.
Nr. de Intrare Stare Stare Stare Stare Ieşire
ordine Q1 Q2 Q3 Q4
impuls
de ceas
0 0 0 0 0 0 0

1 1 1 0 0 0 0

2 1 1 1 0 0 0

3 1 1 1 1 0 0

4 0 0 1 1 1 1

5 1 1 0 1 1 1

6 0 0 1 0 1 1

7 1 1 0 1 0 0

8 1 1 1 0 1 1

Presupunând că registrul este în starea Q1 Q2 Q3 Q4 = 0000, şi la intrare se aplică secvenŃa 11101011,


atunci evoluŃia stărilor şi evoluŃia ieşirii sunt prezentate în Tabelul 5.8. Se observă că, secvenŃa de ieşire
reprezintă, de fapt, secvenŃa de intrare întârziată cu patru tacte.
Registrele de deplasare se construiesc sub forma unor circuite integrate standard ce conŃin în interiorul
lor mai multe elemente de memorare (circuite bistabile). Circuitele bistabile pot fi de tip D, JK sau RS.
Dacă numărul de circuite bistabile este relativ mare, atunci registrul de deplasare are doar
intrări/ieşiri seriale. Dacă numărul de circuite bistabile este mic (de exemplu patru), atunci registrul de
deplasare poate avea atât intrări/ieşiri seriale cât şi intrări/ieşiri paralele (Fig. 5.22).

Fig. 5.22. Structura unui registru de deplasare pe patru biŃi cu intrări/ieşiri seriale şi paralele.

Registrul de deplasare din Fig. 5.22 poate prelua date în paralel de la una dintre cele două surse: A1,
B1, C1, D1 sau A2, B2, C2, D2, prin aplicarea semnalului de selectare SEL1 sau SEL2.

137
5.4.2. Registre de memorare

Un registru de memorare pe n biŃi reprezintă o structură de n bistabili (de regulă, bistabili master-slave
de tip D) care funcŃionează în paralel şi sunt comandaŃi sincron de acelaşi impuls de ceas. În Fig. 5.23 este
prezentat un registru de memorare pe patru biŃi, având intrările de date I0, I1, I2, I3 şi ieşirile, respectiv, Q0,
Q1, Q2, Q3.
De asemenea, se pot realiza convertoare serie-paralel şi convertoare paralel-serie utilizând registre de
deplasare cu intrări/ieşiri serie şi paralel.

Fig. 5.23. Registru de memorare pe patru biŃi.

5.4.3. Numărătoare

Numărătoarele sunt circuite logice care permit creşterea (incrementarea) sau scăderea (decrementarea)
unui număr cu 1, la fiecare impuls.
Numărătoarele pot fi implementate utilizând sumatoare/circuite de scădere sau registre alcătuite din
bistabili de tip T sau D. Dacă registrele utilizează un ceas pentru sincronizarea schimbărilor de stare ale
tuturor bistabililor, atunci numărătorul este de tip sincron, iar dacă utilizează ceasul doar pentru primul
bistabil, atunci numărătorul este de tip asincron. În acest ultim caz, celelalte circuite bistabile se comandă
unul pe celalalt.
Cel mai simplu este numărătorul asincron cu bistabili de tip T (Fig. 5.24).
Numărătoarele asincrone, deşi sunt simple, au două dezavantaje importante: cumulează întârzieri în
schimbarea stărilor (Fig.5.25) şi nu sunt rapide. Numărătoarele se pot realiza şi în varianta decrementală,
conectând bistabilii cu ieşirile Q legate la intrările CLK ale bistabililor următori (Fig. 5.26).

Fig 5.24. Numărător asincron pe trei biŃi, incremental.

138
Ceas

t
Q0

t
Q1

t
Q2

t
Stare 1 2 3 4 5 6 7
Fig. 5.25. Diagrama de semnal pentru numărătorul asincron
pe trei biŃi.

Fig. 5.26. Numărător asincron pe trei biŃi decremental.

Numărătoarele sincrone se caracterizează prin faptul că fiecare bistabil primeşte comanda pe CLK de
la un ceas comun. Din această cauză, întârzierile nu se mai cumulează. Pentru fiecare modificare a biŃilor, se
consideră o întârziere tipică, pe un singur bistabil. Se poate realiza un numărător sincron cu bistabili T,
observând că bitul Qi se modifică doar atunci când biŃii anteriori (Q0, Q1,..., Qi-1) sunt în starea logică 1.
Atunci, intrările T ale bistabililor vor avea următoarele expresii:

T0 = 1; T1 = Q0; T2 = Q0·Q1; ...; Tn = Q0·Q1·...Qn-1

Fig. 5.27. Numărător sincron pe trei biŃi, incremental.

În Fig. 5.27 este prezentat un numărător sincron pe trei biŃi, incremental, implementat cu bistabili de
tip T.
Există posibilitatea de a îngloba funcŃiile de numărare directă, numărare inversă, încărcare paralelă şi
ştergere în acelaşi registru de numărare, alcătuind un numărator reversibil presetabil (Fig. 5.28 şi Fig. 5.29).

139
Fig. 5.28. Simbolul numărătorului reversibil presetabil pe patru biŃi.

SemnificaŃia notaŃiilor din figură este următoarea: CLK – ceas; LD (load) – comanda de încărcare
paralelă; U/D (up/down) – comanda de numărare directă (1) / inversă (0); I0, I1, I2, I3 – intrări paralele;
CARRY – transport la depăşire, în celula de rang superior; BORROW – transport la depăşire, în celula de
rang inferior; Q0, Q1, Q2, Q3 – ieşiri (stări).
În schema numărătorului reversibil intervin trei tipuri de celule de bază: bistabilul de tip D, celula
elementară de adunare / scădere S (Fig. 5.30 şi tabelul 5.9) şi multiplexorul elementar cu două intrări M
(Fig. 5.31 şi tabelul 5.10). Dacă intrarea de comandă pentru numărare directă/inversă (Up/Down) este egală
cu 0, atunci pentru celula S se stabileşte funcŃia de semisumator iar numărătorul funcŃionează ca numărător
direct (incremental). Dacă intrarea de comandă pentru numărare directă/inversă (Up/Down) este egală cu 1,
atunci pentru celula S se stabileşte funcŃia de semiscăzător iar numărătorul funcŃionează ca numărător invers
(decremental). Tabela de adevăr pentru celula elementară S este dată în Tabelul 5.9 şi constă din alipirea a
două tabele de adevăr, cea a unui semisumator şi cea a unui semiscăzător.
În ceea ce priveşte funŃionarea celulei M, dacă intrarea de comandă Load (încărcare) este 1, atunci se
selectează intrările de date I0, I1, I2, I3 şi numărătorul este încărcat paralel cu datele de pe intrările respective
la următorul impuls de ceas; dacă intrarea Load este 0, atunci se selectează ieşirile s ale
sumatoarelor/scăzătoarelor, iar numărătorul funcŃionează în regim de numărare directă sau inversă, în funcŃie
de comanda Up/Down.
Comenzile pentru configurarea numărătorului reversibil sunt prezentate în tabelul 5.11.

Fig. 5.29. Schema internă a numărătorului reversibil sincron pe patru biŃi.

140
Tabelul 5.9. Tabela de adevăr pentru celula elementară de
adunare/ scădere
e b a d s

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 0 0

1 0 1 1 1

1 1 0 0 1

1 1 1 0 0

a e b
s d S

a) b)

Fig. 5.30. Celulă elementară de adunare/scădere: a) schema cu porŃi logice, b) simbolul.

SemnificaŃia notaŃiilor din Fig. 5.30 este următoarea: a = Cin, b = Qi, s – ieşire sumă/ diferenŃă, e =
1 pentru down (diferenŃă), e = 0 pentru up (sumă), d = Cout/borrow.

a) b)

Fig. 5.31. Multiplexor cu două intrări: a) schema, b) simbolul.

Tabelul 5.10. FuncŃionarea multiplexorului cu două intrări

S y

0 x0

1 x1

141
Tabelul 5.11. FuncŃionarea numărătorului reversibil.

CLR Count Up/Down ObservaŃie

1 X X Ştergere (punere pe 0)

0 0 X Inactiv

0 1 0 Numărare directă

0 1 1 Numărare inversă

Pentru a realiza numărătoare de capacitate mai mare decât cele standard (de exemplu, pe patru biŃi),
se conectează mai multe celule standard de tipul celor din Fig. 5.28 la acelaşi ceas şi ieşirea CARRY de la
unul cu intrarea COUNT de la cel de rang superior (la numărătoare directă).
De multe ori, interesează realizarea unor numărătoare modulo n, care să nu fie putere a lui 2 (de
exemplu, modulo 10, modulo 12, modulo 6 etc.). În acest caz, se poate folosi funcŃia de resetare - aducere în
zero – pentru a iniŃializa numărătorul, ori de câte ori se depăşeşte ultima stare permisă (Fig. 5.32).

Fig. 5.32. Numărător asincron modulo 5.

Tabelul 5.12. Tabel de stări pentru numărătorul asincron modulo 5.

Nr Q2 Q1 Q0
impuls
ceas
0 0 0 0
1 0 0 1

2 0 1 0

3 0 1 1

4 1 0 0

5 (1) (0) (1)


0 0 0

Schema bloc a unui numărător modulo m, m < (Fig. 5.33) este alcătuită dintr-un numărător binar
NUM, prevăzut cu intrare de ştergere (CLR) şi un circuit logic combinaŃional care sesizează atingerea stării
m şi comandă iniŃializarea numărătorului.

142
Fig. 5.33. Numărător modulo m, m < .

De remarcat faptul că la această schemă, numărătorul trece în starea m, nepermisă, pentru un timp
foarte scurt şi acest lucru trebuie avut în vedere.
În Fig. 5.34 este prezentată schema unui numărător sincron modulo 10 (BCD) la care reacŃia de la
CLC se aplică pe intrarea de încărcare paralelă LD (Load). Când numărătorul ajunge în starea 9, circuitul
logic combinaŃional pune LD pe 0 ceea ce face ca la următorul impuls de ceas, în numărător să fie înscris
cuvântul 0000.

Fig. 5.34. Numărător BCD sincron având o reacŃie globală.

În mod asemănător se pot proiecta numărătoare pe secvenŃe de numărare oarecare cum ar fi cel din
exemplul următor.

Exemplul 5.1
Să se proiecteze un numărător a cărui ieşire să numere în secvenŃă de numere prime între 0 şi 15:
2,3,5,7,11,13. Se va folosi un numărător sincron pe patru biŃi (standard) având ca reacŃie un circuit logic
combinaŃional. Structura numărătorului cu cele două blocuri este prezentată în Fig. 5.35, iar schema
detaliată, în Fig. 5.36. Tabelul pentru ieşire este tabelul 5.13. Schema din Fig. 5.36 s-a obŃinut prin
minimizarea funcŃiilor logice ale componentelor ieşirii.

143
Tabelul 5.13
Nr. Intrări Secv. Ieşire
impuls Q3 Q2 Q1 Q0 ieşire O3 O2 O1 O0
0 0 0 0 0 2 0 0 1 0
1 0 0 0 1 3 0 0 1 1
2 0 0 1 0 5 0 1 0 1
3 0 0 1 1 7 0 1 1 1
4 0 1 0 0 11 1 0 1 1
5 0 1 0 1 13 1 0 0 1

Fig. 5.35. Schema unui numărător pe patru biŃi pentru o secvenŃă oarecare.

Fig. 5.36. Schema detaliată a circuitului combinaŃional de reacŃie.

O reacŃie asemănătoare celei din Fig. 5.33 se poate realiza şi pentru un registru de deplasare, funcŃia f
aplicându-se intrării seriale SI (Fig. 5.37).

144
Fig 5.37. Registru de deplasare în reacŃie.

Exemple de registre de deplasare în reacŃie sunt: registrul de deplasare în inel (Johnson),


numărătorul de tip bandă şi generatorul de secvenŃe binare.
Pentru registrul de deplasare Johnson, funcŃia CLC este f = Qn-1, adică la fiecare impuls de ceas, în
prima celulă se înscrie conŃinutul ultimei celule (Fig. 5.38). IniŃial, în registrul de deplasare se încarcă paralel
(comanda LOAD) conŃinutul D0, D1, D2, D3. Apoi, se dau impulsuri de deplasare pe CLK şi conŃinutul
registrului este rotit pas cu pas.

Fig. 5.38. Registru de deplasare in inel (Johnson) pe 4 biŃi.

5.5. MEMORII

După cum s-a menŃionat, circuitele secvenŃiale se caracterizează prin faptul că au memorie. Astfel,
CLS elementare de tip latch pot fi folosite pentru memorarea unui bit de informaŃie. Pentru memorarea unui
cuvânt de informaŃie de m biŃi poate fi folosit un registru de memorare alcătuit din m bistabili. De asemenea,
pentru memorarea a n cuvinte binare de m biŃi pot fi folosite n registre de m biŃi, alcătuind, de fapt o matrice
de latch-uri de dimensiune n x m.
Putem spune că memoria este o componentă de bază a multor sisteme digitale sau hibride (sisteme de
calcul, de telefonie, aparatură audio-video etc.). Modul de organizare a memoriei depinde de o serie de
factori cum ar fi: tipul memoriei, mărimea memoriei, viteza de acces.
După posibilităŃile de stocare şi de utilizare a informaŃiei, memoriile digitale se clasifică în două
categorii: memorii folosite doar pentru citirea curentă a informaŃiei şi memorii folosite atât pentru înscrierea
curentă cât şi pentru citirea curentă a informaŃiei.

5.5.1. Memorii cu acces pentru citire

Aceste memorii, cunoscute şi sub denumirea de ROM (Read Only Memory), sunt de fapt circuite
logice combinaŃionale, sub forma unor circuite integrate independente. InformaŃia conŃinută în memorie este
introdusă în procesul de fabricaŃie sau aprioric utilizării efective, printr-un procedeu special de înscriere. Pe
durata utilizării curente informaŃia memorată nu se poate modifica. De asemenea, informaŃia se păstrează şi
la întreruperea alimentării cu tensiune. Din această cauză ele se mai numesc şi memorii nevolatile.
După modul de înscriere a informaŃiei memorate deosebim mai multe tipuri de ROM:

145
► ROM programabile cu mască, pentru o singură înscriere, de către fabricant; costul unei astfel de memorii
este scăzut doar dacă există o producŃie de serie care să utilizeze masca respectivă;
► PROM (Programmable Read Only Memory), pentru o singură înscriere, care poate fi făcută şi direct de
către utilizator, prin intermediul unui programator de PROM;
► EPROM (Erasable Programmable Read Only Memory), memorie reutilizabilă şi pentru înscriere.
Memoria se poate şterge aducând toŃi biŃii în 1 logic, prin expunere la radiaŃii ultraviolete. Pentru a programa
o memorie de tip EPROM se utilizeză un programator ce aplică o tensiune mai mare locaŃiilor unde trebuie
înscris 0.
► EEPROM (Electrically Erasable Programmable Read Only Memory) memorie reutilizabilă cu ştergere
electrică.
În general, memoriile EPROM comerciale prezintă următoarele conexiuni: ieşiri de date (O0, O1,
O2,...) pe 8, 16, 32 de biŃi, intrări de adrese (A0, A1, A2,...) pe 13,14,15,... biŃi, o intrare de tensiune pentru
programare (VPP ) şi o intrare de selectare a cip-ului (CS – chip select) – Fig. 5.39. Pentru a putea fi utilizate
pe magistralele microprocesoarelor, ieşirile acestor memorii sunt de tip tristate.

Fig. 5.39. Simbolul unei memorii EPROM 32K x 8.

Din punct de vedere dinamic se remarcă o serie de timpi caracteristici de care trebuie să se Ńină seama
în poiectare:
tAA – timpul de acces de la adresare este timpul de întârziere de la momentul adresării (adrese stabile)
până la momentul validării ieşirilor;
tACS – timpul de acces de la selectarea cipului este intervalul de timp de la selectarea cipului până la
momentul validării ieşirilor;
tOE – timpul de activare a ieşirilor este intervalul de timp dintre momentul în care CS şi OE sunt
activate şi momentul în care ieşirile părăsesc starea de înaltă impedanŃă;
tOH – timpul de menŃinere a ieşirilor este timpul cât ieşirile rămân valide după schimbarea adresei sau
dezactivarea uneia dintre intrările CS sau OE; în multe aplicaŃii, tOH se poate neglija.

5.5.2. Memorii cu acces pentru scriere şi citire

Cele mai cunoscute memorii cu acces pentru scriere şi citire, numite RWM (Read/Write Memory) sunt
memoriile cu acces aleator (RAM – Random Acces Memory). La memoriile de tip RAM este posibilă
adresarea oricărei locaŃii de memorie într-un mod echivalent ca timp. De regulă, aceste memorii sunt
volatile, pierzându-şi informaŃia la întreruperea alimentării (excepŃie fac RAM fero – electrice). Memoriile
de tip RAM pot fi de două feluri: RAM statice (SRAM) şi RAM dinamice (DRAM). În cazul SRAM
informaŃia înscrisă în memorie rămâne nealterată atât timp cât memoria este alimentată cu energie. În cazul
DRAM informaŃia înscrisă în memorie trebuie împrospătată periodic, altfel ea se pierde. Improspătarea se
face prin citirea informaŃiei pe cale de dispariŃie, la un nivel scăzut, şi reînscrierea ei, la un nivel normal, în
aceeaşi locaŃie.

146
5.5.2.1. RAM statice

Spre deosebire de ROM, memoriile de tip RAM au în plus intrări de date (DIN0, DIN1,...,DINm-1) şi o
intrare de scriere/citire (WE – write enable) – Fig. 5.41.

a) b)

Fig. 5.40. Element de memorie SRAM cu latch D: a) circuitul, b) simbolul.

Elementele matricei RAM statice sunt circuite latch (de exemplu, de tip D) – Fig. 5.40. Comenzile SEL şi
WR sunt interne, ele provenind din prelucrarea combinaŃională a adreselor şi comenzilor CS, OE şi WE din
Fig. 5.41.

Fig. 5.41. Memorie RAM 2n x m biŃi.

Înscrierea informaŃiei de m biŃi într-una dintre cele 2n locaŃii se face prin stabilirea adresei şi prin
activarea intrărilor CS, OE şi WE. OperaŃia de citire a informaŃiei se face prin stabilirea adresei şi prin
activarea intrărilor CS şi OE.
La citire, parametrii temporali ai memoriilor de tip SRAM sunt identici cu parametrii temporali pentru
ROM: tAA, tACS, tOE ,tOZ, tOH. La scriere parametrii temporali ai SRAM sunt următorii:
► tAS (timp de pregătire a adreselor înainte de înscriere). Acesta este intervalul de timp dintre stabilirea
adreselor şi activarea CS şi WE. Adresele trebuie să fie stabile înainte de activarea celor două comenzi cu cel
puŃin acest interval.
► tAH (timp de menŃinere a adreselor după înscriere). Adresele trebuie menŃinute cel puŃin acest interval de
timp înainte ca una dintre intrările de comandă CS sau WE să fie dezactivate.
► tCSW (timp de pregătire a CS înainte de încheierea operaŃiei de înscriere). Acesta este intervalul de timp
minim între activarea CS şi încheierea comenzii de înscriere.
► tWP (durata minimă a impulsurilor de înscriere);
► tDS (timp de menŃinere a datelor înainte de încheierea operaŃiei de înscriere);
► tDH (timp de menŃinere a datelor după încheierea operaŃiei de înscriere).

147
Se observă că înscrierea poate fi comandată fie de WE, fie de CS.
Ca şi în cazul memoriilor de tip ROM, repartizarea fizică a elementelor de memorare în cadrul
matricei se face în aşa fel încât matricea să rezulte aproximativ pătrată. Memoriile având elementele de
memorare ca cele din Fig. 5.40 sunt asincrone. Varianta SRAM sincronă presupune utilizarea unor registre
interne active pe front şi a unor interfeŃe sincrone pentru adrese, date şi comenzi.

5.5.2.2. RAM dinamice

Pentru realizarea unor RAM de dimensiuni mari s-au înlocuit elementele de memorie SRAM cu un
simplu condensator miniaturizat C, dublat de un tranzistor MOS pentru acces (Fig. 5.42). Condensatorul
memorează un bit de informaŃie. De menŃionat că, prin citirea informaŃiei de pe condensator, acesta se
descarcă în timp, fiind necesară o nouă încărcare. De fapt, chiar dacă nu este accesat, condensatorul se
descarcă în timp (Fig. 5.43), datorită schemei reale condesator – tranzistor MOS. Din această cauză este
necesară împrospătarea periodica (perioada fiind de câteva ms) a conŃinutului informaŃional al
condensatoarelor memoriei. Acest lucru se efectuează automat prin baleierea ciclică a elementelor de
memorie, citirea informaŃiei într-un latch de tip D şi reînscrierea în acceaşi locaŃie.
În Fig. 5.44 este prezentată schema bloc a unei memorii de tip DRAM 64 K x 1.

Fig. 5.42. Element de memorare pentru DRAM.

Fig. 5.43. Împrospătarea ciclică a elementului de memorie.

SemnificaŃia notaŃiilor din Fig. 5.44 este următoarea:


DL – decodificator de linii;
M – matrice de elemente de memorare;
AL – adresă linie;
AC – adresă coloană;
AD – linii adrese (opt linii);
CDA – circuit de comandă;
CC – circuite logice de coloană (multiplexor/demultiplexor şi circuite latch);
CD – comenzi;
RAS (row address strobe) şi CAS (column address strobe) – semnale pentru selectarea primilor opt biŃi de
adresă şi a ultimilor opt biŃi de adresă;
WE (write enable) – activare scriere.

148
Fig. 5.44. Memorie DRAM 64 k x 1.

ObservaŃii
► Împrospătarea se face pe o întreagă linie a matricei.
► FuncŃionarea unei DRAM este mai complicată decât funcŃionarea unei SRAM.
► DRAM sunt, în general, mai lente decât SRAM.
► Există şi DRAM sincrone.

AplicaŃii

i) Să se implementeze (direct) un numărător modulo 3 sincron, cu ajutorul bistabililor de tip D.

ii) Se dă secvenŃa w = 10101111, care se aplică, începând cu bitul din dreapta, pe intrarea serială a unui
registru de deplasare de patru biŃi. Dacă iniŃial registrul este resetat, care este evoluŃia ieşirii seriale pe opt
tacte?

iii) Să se proiecteze circuitul logic combinaŃional de ieşire pentru un numărător sincron de trei biŃi care să
numere în secvenŃă de numere prime între 0 şi 7.

iv) Să se implementeze circuitul logic combinaŃional de reacŃie pentru un numărător sincron modulo 12.

v) Pentru secvenŃa 1010, să se configureze un registru de deplasare şi apoi, după introducerea secvenŃei, să se
aplice patru impulsuri de ceas notându-se stările la fiecare tact.

149