Sunteți pe pagina 1din 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:

 

q n+1 = f(x n ,

q n ),

y n = g(x n ,

q n )

(5.2)

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

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

 

ObservaŃie:

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

 

g: QY

(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, y n depinde doar de q n sau chiar y n = q n .

x(t) f g x(t) q(t) y(t) Fig. 5.1. Schema funcŃională a unui CLS.
x(t)
f
g
x(t)
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 t 0 ş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, (q n-1 ,q n-2 ,

,q

1 ,q 0 ) poate lua 2 n 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.

Intrare curent ă Stare curent ă Stare viitoare Ie ş ire curent ă Dac ă dimensiunea

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 T O 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):

T O = 2nT

(5.5)

125

K v t w t y t t t 0 t 0 +T t 0 +4T
K
v
t
w
t
y
t
t
t 0
t 0 +T
t 0 +4T
t 0 +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 R ext , C ext , 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.
CLK
t
OUT
T
t
T
Fig. 5.4. FuncŃionarea circuitului monostabil.

126

CLK OUT OUT R T
CLK
OUT
OUT R
T

t

t

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

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:

T = KR

ext

C

ext

(1

+

0,7

R

ext

)

,

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.

V CC D S Q OUT CK R ext IN R C ext
V
CC
D
S
Q
OUT
CK
R ext
IN
R
C
ext

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 R ext , C ext . Presupunând că ieşirea Q a bistabilului este 0 şi condensatorul C ext 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 C ext începe să se încarce, fiind legat prin rezistenŃa R ext 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 RS (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 RS sunt pe două niveluri.

5.3. AUTOMATE ELEMENTARE. CIRCUITE BASCULANTE BISTABILE Ş I CIRCUITE LATCH Circuitele logice secven Ń iale cu

Fig. 5.7. Bistabil RS cu NAND-uri.

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

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

5.3. AUTOMATE ELEMENTARE. CIRCUITE BASCULANTE BISTABILE Ş I CIRCUITE LATCH Circuitele logice secven Ń iale cu

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

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

Intrări

Latch RS

Latch RS

R

S

Q n+1

Q n+1

0

0

Q n

0

1

0

1

1

0

1

0

1

1

Q n

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

Q n+1

X

X

0

Q n

0

0

1

Q n

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

Q n+1

X

0

Q n

0

1

0

1

1

1

Bistabilul RS cu intrare de activare , spre deosebire de bistabilul elementar RS, î ş i

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 D Q T p1 T p2 T p3 T p4
CLK
D
Q
T p1
T p2
T p3
T p4

t

t

t

Fig. 5.10. Diagrama de semnale pentru ilustrarea circuitului latch de tip D.

SemnificaŃia timpilor de propagare (întârziere) T p ce apar în diagrama din Fig. 5.10 este următoarea:

T p1 – timp de propagare între CLK şi Q la comutarea din L în H; T p2 – timp de propagare între D şi Q la comutarea din H în L; T p3 – timp de propagare între D şi Q la comutarea din L în H; T p4 – 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).

În Fig. 5.10 este prezentat ă o diagram ă de semnale pentru ilustrarea modului de func

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; R i ,

S i ,

D i ,

CLK i ,

Q i

ş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 [t 0 t s , t 0 + t h ], unde t 0 este momentul frontului negativ, t s este timpul de set-up (pregătire), iar t h este timpul de hold (menŃinere).

Cele dou ă circuite master – slave prezentate mai sus sunt active pe frontul negativ al

Fig. 5.12. Circuit bistabil D master – slave.

CLK R,S,D ∆t s ∆t h
CLK
R,S,D
∆t s
∆t h

t

t t 0 Fig. 5.13. CerinŃa ca intrările să fie stabile în intervalul [t 0 – t s , t 0 + t h ].

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 Q n+1 X X 0 Q n 0 0 Q n 0 1
R
S
CLK
Q n+1
X
X
0
Q
n
0
0
Q
n
0
1
1
1
0
0
1
1
~

Tabelul 5.5. Tabelul caracteristic al bistabilului master – slave D

D CLK Q n+1 X 0 Q n X 1 Q n 0 0 1 1
D
CLK
Q n+1
X
0
Q
n
X
1
Q
n
0
0
1
1

Spre deosebire de CBB master – slave de tip D, la care ieşirea depinde de valoarea lui D din intervalul [t 0 – t s , t 0 + t h ], 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 Q 1 î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

S

Q

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

CLK

D

Q

CLK R S Q t t t t Fig. 5.14.Diagrama de semnale pentru circuitul bistabil master

t

t

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

CLK R S Q t t t t Fig. 5.14.Diagrama de semnale pentru circuitul bistabil master

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

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 D 1 din Fig 5.18.b are expresia logică:

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

b)

D 1 =T ≈ Q
D 1 =T ≈
Q

a)

Tabelul 5.6. Tabelul caracteristic pentru un bistabil de tip T

T

CLK

Q n+1

X

0

Q n

X

1

Q n

0

0 Q n
 

Q n

1

1 Q n
 

Q n

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ă:

134

D 1 = J·Q + K ·Q

CLK

t T t Q t
t
T
t
Q
t

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

CLK t T t Q t Fig. 5.18. Bistabilul de tip T: a) simbolul; b) structura

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

CLK t T t Q t Fig. 5.18. Bistabilul de tip T: a) simbolul; b) structura

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 Q n+1 X X 0 Q n X X 1 Q n 0
J
K
CLK
Q n+1
X
X
0
Q
n
X
X
1
Q
n
0
0
Q
n
0
1
0
1
0
1
1
1
Q n

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.

Tabelul 5.7. Tabelul caracteristic pentru bistabilul JK J K CLK Q n+1 X X 0 Q

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

Q 1

Q 2

Q 3

Q 4

impuls

 

de ceas

   
  • 0 0

    • 0 0

      • 0 0

0

   
  • 1 0

    • 1 0

      • 1 0

0

   
  • 2 1

    • 1 0

      • 1 0

0

   
  • 3 1

    • 1 1

      • 1 0

0

   
  • 4 1

    • 0 1

      • 0 1

1

   
  • 5 0

    • 1 1

      • 1 1

1

   
  • 6 1

    • 0 0

      • 0 1

1

   
  • 7 0

    • 1 1

      • 1 0

0

   
  • 8 1

    • 1 0

      • 1 1

1

Presupunând că registrul este în starea Q 1 Q 2 Q 3 Q 4 = 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).

Tabelul 5.8. Evolu Ń ia unei secven Ń e într-un registru de deplasare. Nr. de Intrare

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: A 1 , B 1 , C 1 , D 1 sau A 2 , B 2 , C 2 , D 2 , prin aplicarea semnalului de selectare SEL 1 sau SEL 2 .

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 I 0 , I 1 , I 2 , I 3 şi ieşirile, respectiv, Q 0 , Q 1 , Q 2 , Q 3 . 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.

5.4.2. Registre de memorare Un registru de memorare pe n bi Ń i reprezint ă o

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).

5.4.2. Registre de memorare Un registru de memorare pe n bi Ń i reprezint ă o

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

138

Ceas Q 0 Q 1 Q 2 Stare 1 2 3 4 5 6 7
Ceas
Q
0
Q
1
Q
2
Stare
1
2
3
4
5
6
7

t

t

t

t

Fig. 5.25. Diagrama de semnal pentru numărătorul asincron pe trei biŃi.

Ceas Q 0 Q 1 Q 2 Stare 1 2 3 4 5 6 7 t

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 Q i se modifică doar atunci când biŃii anteriori (Q 0 , Q
observând că bitul Q i se modifică doar atunci când biŃii anteriori (Q 0 , Q 1 , , ...
Atunci, intrările T ale bistabililor vor avea următoarele expresii:
T 0 = 1;
T 1 = Q 0 ;
T 2 = Q 0 ·Q 1 ; ...
;
T n = Q 0 ·Q 1 ·...Q

Q i-1 ) sunt în starea logică 1.

n-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

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); I 0 , I 1 , I 2 , I 3 – intrări paralele; CARRY – transport la depăşire, în celula de rang superior; BORROW – transport la depăşire, în celula de rang inferior; Q 0 , Q 1 , Q 2 , Q 3 – 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 I 0 , I 1 , I 2 , I 3 ş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.28. Simbolul num ă r ă torului reversibil presetabil pe patru bi Ń i. Semnifica

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 a) b)
a
e
b
s
d
a)
b)

S

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 = C in , 1 pentru down (diferenŃă), e = 0 pentru up (sumă), d = C out /borrow.

b = Q i , s – ieşire sumă/ diferenŃă, e =

a) b)
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 x 0 1 x 1
S
y
0
x
0
1
x
1

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 Inactiv

X

 
  • 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).

Tabelul 5.11. Func Ń ionarea num ă r ă torului reversibil. CLR Count Up/Down Observa Ń

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

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

Nr

Q 2

Q 1

Q 0

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 <

Tabelul 5.11. Func Ń ionarea num ă r ă torului reversibil. CLR Count Up/Down Observa Ń

(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

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.33. Num ă r ă tor modulo m, m < . De remarcat faptul c

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

Q 3

Q 2

Q 1

Q 0

ieşire

O 3

O 2

O 1

O 0

  • 0 0

 
  • 0 0

  • 0 2

     
  • 0 0

    • 0 1

   
  • 1 1

 
  • 0 0

  • 0 3

     
  • 0 1

    • 0 1

   
  • 2 0

 
  • 0 1

  • 0 5

     
  • 0 1

    • 1 0

   
  • 3 1

 
  • 0 1

  • 0 7

     
  • 0 1

    • 1 1

   
  • 4 0

 
  • 0 0

  • 1 11

     
  • 1 1

    • 0 1

   
  • 5 1

 
  • 0 0

  • 1 13

     
  • 1 1

    • 0 0

   
Tabelul 5.13 Nr. Intr ă ri Secv. Ie ş ire impuls Q 3 Q 2 Q

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

Tabelul 5.13 Nr. Intr ă ri Secv. Ie ş ire impuls Q 3 Q 2 Q

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

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 D 0 , D 1 , D 2 , D 3 . Apoi, se dau impulsuri de deplasare pe CLK şi conŃinutul registrului este rotit pas cu pas.

Fig 5.37. Registru de deplasare în reac Ń ie. Exemple de registre de deplasare în reac

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 (O 0 , O 1 ,

O 2 ,

...

)

pe 8, 16, 32 de biŃi, intrări de adrese (A 0 , A 1 , A 2 ,

...

)

pe 13,14,15,

...

biŃi, o intrare de tensiune pentru

programare (V PP ) ş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.

► ROM programabile cu masc ă , pentru o singur ă înscriere, de c ă tre

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:

t AA – 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; t ACS – timpul de acces de la selectarea cipului este intervalul de timp de la selectarea cipului până la momentul validării ieşirilor; t OE – 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Ńă; t OH – 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, t OH 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 (DIN 0 , DIN 1 , intrare de scriere/citire (WE – write enable) – Fig. 5.41.

5.5.2.1. RAM statice Spre deosebire de ROM, memoriile de tip RAM au în plus intr ă
5.5.2.1. RAM statice Spre deosebire de ROM, memoriile de tip RAM au în plus intr ă

...

,DIN m-1 ) şi o

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.

5.5.2.1. RAM statice Spre deosebire de ROM, memoriile de tip RAM au în plus intr ă

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

Înscrierea informaŃiei de m biŃi într-una dintre cele 2 n 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: t AA , t ACS , t OE ,t OZ , t OH . La scriere parametrii temporali ai SRAM sunt următorii:

t AS (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. t AH (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. t CSW (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. t WP (durata minimă a impulsurilor de înscriere); t DS (timp de menŃinere a datelor înainte de încheierea operaŃiei de înscriere); t DH (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.

Se observ ă c ă înscrierea poate fi comandat ă fie de WE, fie de CS.

Fig. 5.42. Element de memorare pentru DRAM.

Se observ ă c ă înscrierea poate fi comandat ă fie de WE, fie de CS.

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

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