Circuitul logic secvenial (CLS) este un circuit logic la care funcia de ieire depinde att de valoarea curent a intrrii ct i de valorile ei anterioare. Efectul i evoluia acestor valori sunt memorate n aa numitele mrimi de stare. Cu alte cuvinte, circuitele logice secveniale sunt circuite logice la care ieirea depinde nu numai de valorile curente ale intrrii ci i de comportarea anterioar a circuitului. Ele conin elemente de memorare a valorilor logice, care descriu comportarea circuitelor, numite stri. Astfel, evoluia unui CLS este marcat prin schimbrile de stare. CLS se poate caracteriza prin dou funcii: funcia de tranziie a strii f i funcia de ieire g (5.1). Dac X este spaiul intrrilor, Q este spaiul strilor i Y este spaiul ieirilor, atunci expresiile celor dou funcii sunt urmtoarele:
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)
Semnificaia notaiilor din relaia (5.2) este urmtoarea: x n - vectorul intrrilor la momentul curent (discretizat: t = nT) - x(nT), q n - vectorul strilor la momentul curent q(nT), q n+1 - vectorul strilor la momentul urmtor (discretizat:(n+1)T) - q[(n+1)T]; y n - vectorul de ieire la momentul curent y(nT).
Observaie: Uneori, g poate s nu depind dect de stare (5.3):
g: QY (5.3)
Dac
f: X x Q P(Q), (5.4)
unde P(Q) reprezint mulimea prilor lui Q, atunci circuitul logic secvenial se numete nedeterminat. Schema funcional a unui CLS este reprezentat n Fig. 5.1. Se observ o legtur de reacie la nivelul strii prin care se realizeaz, de fapt, funcia f. Uneori, y n depinde doar de q n sau chiar y n = q n .
Fig. 5.1. Schema funcional a unui CLS.
Pentru a determina rspunsul unui CLS la momentul t sunt necesare fie cunoaterea intrrii la momentul t i a strii la momentul anterior, fie cunoaterea strii la momentul iniial t 0 i a valorilor intrrii de la momentul iniial pn la momentul curent t (evoluia intrrii). Astfel, evoluia unui CLS poate fi descris cu ajutorul unui tabel de stri, tabel caracteristic, de forma:
f g x(t) q(t) x(t) y(t) 125
Dac dimensiunea vectorului strilor 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 numr finit. Din cauza structurii n reacie i a numrului finit de stri, aceste circuite se mai numesc i automate cu stri finite sau automate finite. Reacia asigur capacitatea de memorare a evoluiei circuitului.
Observaie Pentru ca reacia s fie efectiv, trebuie ca variaiile semnalelor logice s aib paliere (0 sau 1) suficient de mari. O durat foarte mic a semnalului de intrare i/sau o nlime insuficient a acestuia (nivelul logic 1) pot face circuitul logic secvenial s fie insensibil la acel impuls.
5.1. CIRCUITE LOGICE ASTABILE
Dac reacia se realizeaz peste un numr impar de inversoare (mai mare sau egal cu 3) atunci acel CLS poate genera oscilaii i se numete 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 funcioneaz ca oscilator atunci cnd comutatorul K este pe poziia 2; pe poziia 1, circuitul este blocat, fiind n starea stabil (ieirea, y = 1). Funcionarea oscilatorului se bazeaz pe ntrzierile introduse de porile logice i pe reacie, conform diagramei de semnale din Fig. 5.3. Se observ c perioada semnalului oscilatoriu dreptunghiular este 6T, T fiind ntrzierea introdus de o poart logic (considerat, n mod ideal, constant pentru toate porile logice). Amorsarea oscilaiilor s-a fcut prin trecerea comutatorului K de pe poziia 1 pe poziia 2. Perioada de oscilaie T O este dat, teoretic, de numrul de circuite inversoare (n), considerat numr impar, mai mare sau egal cu 3, i de ntrzierea medie (T):
T O = 2nT (5.5)
Intrare curent Stare curent Stare viitoare Ieire curent
126
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 rmne n aceast stare pn cnd primete un impuls pe intrarea de comand (CLK). Atunci, ieirea monostabilului (OUT) genereaz un impuls unic avnd durata T (lungimea palierului de valoare logic 1) reglabil cu ajutorul unor componente externe R ext , C ext , dup care revine n starea iniial stabil (Fig. 5.4). Dac repetarea comenzii n interiorul duratei impulsului de ieire conduce la prelungirea corespunztoare a acestuia, atunci monostabilul se numete monostabil retrigger-abil (Fig. 5.5).
Fig. 5.4. Funcionarea circuitului monostabil.
K t v t w t y t t 0 t 0 +T t 0 +4T t 0 +7T t CLK t OUT T T 127
Fig. 5.5. Exemplificarea comportrii monostabilului (OUT) i a comportrii 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 relaia:
) 7 , 0 1 ( ext ext ext R C KR T + = ,
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 intrri R,S, n tehnologie CMOS.
Fig. 5.6. Monostabil derivat dintr-un bistabil de tip D.
Se observ c apare o nou reacie de la Q la R printr-un circuit R ext ,
C ext . Presupunnd c ieirea Q a bistabilului este 0 i condensatorul C ext este descrcat, att intrarea R ct i intrarea S sunt n 0, deci bistabilul Q rmne n 0, att timp ct nu se modific intrarea de date IN (a se vedea funcionarea 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 rezistena R ext la 1. Cnd tensiunea V atinge pragul inferior al nivelului 1, datorit intrrii R = 1, ieirea Q revine n 0. Utiliznd dou monostabile care se comand unul pe altul, se poate obine un astabil comandat (generator de semnal comandat).
t OUT t OUT R t CLK T T C ext
R ext OUT
IN
V CC D S Q
CK R
128
5.3. AUTOMATE ELEMENTARE. CIRCUITE BASCULANTE BISTABILE I CIRCUITE LATCH
Circuitele logice secveniale cu dou stri 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 secveniale cu dou stri 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 S R (RS), alctuite din dou NAND-uri, avnd dou intrri R i S (R reset sau punere pe 0, S set sau punere pe 1) i dou ieiri Q i Q. Din Fig. 5.7 se observ reaciile circuitului S R sunt pe dou niveluri.
Fig. 5.7. Bistabil S R cu NAND-uri.
Analog, se poate construi un bistabil RS cu pori de tip NOR (Fig. 5.8). Tabelele caracteristice pentru bistabilul S R 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 combinaie de intrare interzis.
Fig. 5.8. Bistabil RS cu pori de tip NOR.
Tabelul 5.1. Descrierea funcionrii bistabilelor S R i RS
Intrri Latch S R 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
129 Bistabilul RS cu intrare de activare, spre deosebire de bistabilul elementar RS, i poate modifica starea doar cnd intrarea de activare CLK = 1 (Tabelul 5.2). n tabel, X marcheaz o valoare logic indiferent.
Tabelul 5.2. Descrierea funcionrii 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 asemntor circuitului latch de tip RS cu intrare de activare, cu deosebirea c cele dou intrri de date R i S funcioneaz complementar, prin introducerea unui inversor. Acest lucru permite considerarea unei singure intrri D (de date) i eliminarea situaiei neacceptate R = 1, S = 1. Ieirile sunt identice cu intrrile att timp ct CLK = 1 (latch deschis) i pstreaz ultima valoare (din cazul CLK = 1) att timp ct CLK = 0 (Tabelul 5.3). n Fig. 5.10 sunt prezentate simbolul i modul de implementare cu pori logice.
Tabelul 5.3. Tabelul funciei de ieire pentru latch-ul de tip D
D CLK Q n+1
X 0 Q n
0 1 0 1 1 1
Fig. 5.9. Circuitul latch tip D: a) simbolul; b) implementarea cu pori logice.
130 n Fig. 5.10 este prezentat o diagram de semnale pentru ilustrarea modului de funcionare dinamic a circuitului latch de tip D punnd n eviden ntrzierile reale la comutarea ieirii.
Fig. 5.10. Diagrama de semnale pentru ilustrarea circuitului latch de tip D.
Semnificaia timpilor de propagare (ntrziere) T p ce apar n diagrama din Fig. 5.10 este urmtoarea: 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 prezentai ofer posibilitatea modificrii ieirii pe toat durata palierului 1 al impulsului de ceas, n funcie de datele de la intrare. n majoritatea aplicaiilor, acest lucru nu este de dorit, impunndu-se schimbarea ieirii doar la anumite momente, la comanda unui ceas, pe frontul cresctor sau pe frontul descresctor al impulsului de ceas. Un astfel de circuit bistabil, care comut sincronizat cu un front (pozitiv sau negativ) al impulsului de ceas conine 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 numete bistabil RS master slave sau CBB de tip RS (Fig. 5.11), iar dac ele sunt de tip D, atunci circuitul se numete bistabil D master slave sau CBB de tip D (Fig. 5.12).
Fig. 5.11. Circuit bistabil RS master slave.
Semnificaia notaiilor din Fig. 5.11 i Fig. 5.12 sunt urmtoarele: M circuit master; S circuit slave; R, S, D i CLK intrri pentru circuitele master slave; Q si Q ieiri pentru circuitele master slave; R i , S i , D i , CLK i , Q i i i Q , i = 1,2 intrri i ieiri pentru circuitele latch master i, respectiv, slave. Complementarea semnalului de ceas pentru circuitul latch S se face cu ajutorul unui inversor. t CLK t D t Q T p4 T p3 T p2 T p1 131 Cele dou circuite master slave prezentate mai sus sunt active pe frontul negativ al impulsului de ceas. Pentru aceasta, semnalele pe intrrile 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 (pregtire), iar t h este timpul de hold (meninere).
Fig. 5.12. Circuit bistabil D master slave.
Fig. 5.13. Cerina ca intrrile 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.
t CLK t R,S,D t s t h t 0 132
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
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
Spre deosebire de CBB master slave de tip D, la care ieirea depinde de valoarea lui D din intervalul [t 0 t s , t 0 + t h ], la CBB master slave de tip RS, ieirea depinde de evoluia intrrilor R i S pe ntreg palierul de nivel 1 al impulsului de ceas, reinnd 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 intrrii 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.
133
Fig. 5.14.Diagrama de semnale pentru circuitul bistabil master slave RS
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 intrri 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.
t CLK t R t S t Q CLK t Q t D t 134
Fig. 5.17. Circuit bistabil master slave D cu intrri 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 ieirea se schimb n forma complementar dac, pe frontul cresctor al impulsului de ceas, intrarea T este egal cu 1. n rest, ieirea nu se modific. Intrarea D 1 din Fig 5.18.b are expresia logic:
D 1 =T Q
a) b)
Tabelul 5.6. Tabelul caracteristic pentru un bistabil de tip T
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. Att circuitul bistabil T ct i circuitul bistabil JK au, n plus fa de bistabilul master-slave D, reacii pe mai multe niveluri (Fig. 5.19). Se observ c: D 1 = J Q+ K Q
T CLK Q n+1 X 0 Q n X 1 Q n 0
Q n
1
Q n
135
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 intrri de presetare PR i tergere CLR. n acest caz, PR i CLR nu pot fi simultan 1 (sau 0, dac sunt negate).
t
Q t
T t CLK 136
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 0
Q n
0 1
0 1 0
1 1 1
Q n
5.4. REGISTRE
Un bistabil nmagazineaz doar un bit de informaie. Putem utiliza n bistabili, simultan, pentru a nmagazina o informaie pe n bii. Aceti bistabili sunt comandai de un ceas comun i alctuiesc o structur numit registru. De cele mai multe ori, registrele sunt standardizate i nglobate n circuite integrate. Dup destinaie, registrele se clasific astfel: registre de deplasare, numrtoare, registre tampon, registre de adrese etc.
5.4.1. Registre de deplasare (serie)
n multe aplicaii este necesar deplasarea biilor de informaie la stnga, la dreapta sau ciclic. De exemplu, o mparire cu 2 se face prin deplasarea informaiei cu un bit la dreapta i prin introducerea unui 0 n bitul cel mai semnificativ. De asemenea, nmulirea cu 2 se face prin deplasarea informaiei cu un bit la stnga i prin introducerea unui 0 n bitul cel mai puin semnificativ. Pentru implementarea registrelor de deplasare se pot folosi, de exemplu, bistabili master-slave de tip D (Fig. 5.21), legai n serie, ieirea Q de la unul cu intrarea D al bistabilului urmtor. Bistabilii sunt comandai sincron, cu acelai semnal de ceas.
Fig. 5.21. Registru de deplasare pe patru bii, ncrcat serial.
137
Tabelul 5.8. Evoluia unei secvene ntr-un registru de deplasare. Nr. de ordine impuls de ceas Intrare Stare Q 1
Presupunnd c registrul este n starea Q 1 Q 2 Q 3 Q 4 = 0000, i la intrare se aplic secvena 11101011, atunci evoluia strilor i evoluia ieirii sunt prezentate n Tabelul 5.8. Se observ c, secvena de ieire reprezint, de fapt, secvena de intrare ntrziat cu patru tacte. Registrele de deplasare se construiesc sub forma unor circuite integrate standard ce conin n interiorul lor mai multe elemente de memorare (circuite bistabile). Circuitele bistabile pot fi de tip D, JK sau RS. Dac numrul de circuite bistabile este relativ mare, atunci registrul de deplasare are doar intrri/ieiri seriale. Dac numrul de circuite bistabile este mic (de exemplu patru), atunci registrul de deplasare poate avea att intrri/ieiri seriale ct i intrri/ieiri paralele (Fig. 5.22).
Fig. 5.22. Structura unui registru de deplasare pe patru bii cu intrri/ieiri 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 .
138
5.4.2. Registre de memorare
Un registru de memorare pe n bii reprezint o structur de n bistabili (de regul, bistabili master-slave de tip D) care funcioneaz n paralel i sunt comandai sincron de acelai impuls de ceas. n Fig. 5.23 este prezentat un registru de memorare pe patru bii, avnd intrrile de date I 0 , I 1 , I 2 , I 3 i ieirile, respectiv, Q 0 , Q 1 , Q 2 , Q 3 . De asemenea, se pot realiza convertoare serie-paralel i convertoare paralel-serie utiliznd registre de deplasare cu intrri/ieiri serie i paralel.
Fig. 5.23. Registru de memorare pe patru bii.
5.4.3. Numrtoare
Numrtoarele sunt circuite logice care permit creterea (incrementarea) sau scderea (decrementarea) unui numr cu 1, la fiecare impuls. Numrtoarele pot fi implementate utiliznd sumatoare/circuite de scdere sau registre alctuite din bistabili de tip T sau D. Dac registrele utilizeaz un ceas pentru sincronizarea schimbrilor de stare ale tuturor bistabililor, atunci numrtorul este de tip sincron, iar dac utilizeaz ceasul doar pentru primul bistabil, atunci numrtorul este de tip asincron. n acest ultim caz, celelalte circuite bistabile se comand unul pe celalalt. Cel mai simplu este numrtorul asincron cu bistabili de tip T (Fig. 5.24). Numrtoarele asincrone, dei sunt simple, au dou dezavantaje importante: cumuleaz ntrzieri n schimbarea strilor (Fig.5.25) i nu sunt rapide. Numrtoarele se pot realiza i n varianta decremental, conectnd bistabilii cu ieirile Q legate la intrrile CLK ale bistabililor urmtori (Fig. 5.26).
Fig 5.24. Numrtor asincron pe trei bii, incremental.
139
Fig. 5.26. Numrtor asincron pe trei bii decremental.
Numrtoarele sincrone se caracterizeaz prin faptul c fiecare bistabil primete comanda pe CLK de la un ceas comun. Din aceast cauz, ntrzierile nu se mai cumuleaz. Pentru fiecare modificare a biilor, se consider o ntrziere tipic, pe un singur bistabil. Se poate realiza un numrtor sincron cu bistabili T, observnd c bitul Q i se modific doar atunci cnd biii anteriori (Q 0 , Q 1 ,..., Q i-1 ) sunt n starea logic 1. Atunci, intrrile T ale bistabililor vor avea urmtoarele expresii:
T 0 = 1; T 1 = Q 0 ; T 2 = Q 0 Q 1 ; ...; T n = Q 0 Q 1 ...Q n-1
Fig. 5.27. Numrtor sincron pe trei bii, incremental.
n Fig. 5.27 este prezentat un numrtor sincron pe trei bii, incremental, implementat cu bistabili de tip T. Exist posibilitatea de a ngloba funciile de numrare direct, numrare invers, ncrcare paralel i tergere n acelai registru de numrare, alctuind un numrator reversibil presetabil (Fig. 5.28 i Fig. 5.29). Ceas t Q 0 t Q 1 t Q 2 t Stare 1 2 3 4 5 6 7 Fig. 5.25. Diagrama de semnal pentru numrtorul asincron pe trei bii. 140
Fig. 5.28. Simbolul numrtorului reversibil presetabil pe patru bii.
Semnificaia notaiilor din figur este urmtoarea: CLK ceas; LD (load) comanda de ncrcare paralel; U/D (up/down) comanda de numrare direct (1) / invers (0); I 0 , I 1 , I 2 , I 3 intrri paralele; CARRY transport la depire, n celula de rang superior; BORROW transport la depire, n celula de rang inferior; Q 0 , Q 1 , Q 2 , Q 3 ieiri (stri). n schema numrtorului reversibil intervin trei tipuri de celule de baz: bistabilul de tip D, celula elementar de adunare / scdere S (Fig. 5.30 i tabelul 5.9) i multiplexorul elementar cu dou intrri M (Fig. 5.31 i tabelul 5.10). Dac intrarea de comand pentru numrare direct/invers (Up/Down) este egal cu 0, atunci pentru celula S se stabilete funcia de semisumator iar numrtorul funcioneaz ca numrtor direct (incremental). Dac intrarea de comand pentru numrare direct/invers (Up/Down) este egal cu 1, atunci pentru celula S se stabilete funcia de semiscztor iar numrtorul funcioneaz ca numrtor invers (decremental). Tabela de adevr pentru celula elementar S este dat n Tabelul 5.9 i const din alipirea a dou tabele de adevr, cea a unui semisumator i cea a unui semiscztor. n ceea ce privete funionarea celulei M, dac intrarea de comand Load (ncrcare) este 1, atunci se selecteaz intrrile de date I 0 , I 1 , I 2 , I 3 i numrtorul este ncrcat paralel cu datele de pe intrrile respective la urmtorul impuls de ceas; dac intrarea Load este 0, atunci se selecteaz ieirile s ale sumatoarelor/scztoarelor, iar numrtorul funcioneaz n regim de numrare direct sau invers, n funcie de comanda Up/Down. Comenzile pentru configurarea numrtorului reversibil sunt prezentate n tabelul 5.11.
Fig. 5.29. Schema intern a numrtorului reversibil sincron pe patru bii.
141 Tabelul 5.9. Tabela de adevr pentru celula elementar de adunare/ scdere 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) b)
Fig. 5.30. Celul elementar de adunare/scdere: a) schema cu pori logice, b) simbolul.
Semnificaia notaiilor din Fig. 5.30 este urmtoarea: a = C in , b = Q i , s ieire sum/ diferen, e = 1 pentru down (diferen), e = 0 pentru up (sum), d = C out /borrow.
a) b)
Fig. 5.31. Multiplexor cu dou intrri: a) schema, b) simbolul.
Tabelul 5.10. Funcionarea multiplexorului cu dou intrri
S y 0 x 0 1 x 1 a e b s d
S 142 Tabelul 5.11. Funcionarea numrtorului reversibil.
CLR Count Up/Down Observaie 1 X X tergere (punere pe 0) 0 0 X Inactiv 0 1 0 Numrare direct 0 1 1 Numrare invers
Pentru a realiza numrtoare de capacitate mai mare dect cele standard (de exemplu, pe patru bii), se conecteaz mai multe celule standard de tipul celor din Fig. 5.28 la acelai ceas i ieirea CARRY de la unul cu intrarea COUNT de la cel de rang superior (la numrtoare direct). De multe ori, intereseaz realizarea unor numrtoare 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 funcia de resetare - aducere n zero pentru a iniializa numrtorul, ori de cte ori se depete ultima stare permis (Fig. 5.32).
Fig. 5.32. Numrtor asincron modulo 5.
Tabelul 5.12. Tabel de stri pentru numrtorul asincron modulo 5.
Schema bloc a unui numrtor modulo m, m < (Fig. 5.33) este alctuit dintr-un numrtor binar NUM, prevzut cu intrare de tergere (CLR) i un circuit logic combinaional care sesizeaz atingerea strii m i comand iniializarea numrtorului.
143
Fig. 5.33. Numrtor modulo m, m < .
De remarcat faptul c la aceast schem, numrtorul 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 numrtor sincron modulo 10 (BCD) la care reacia de la CLC se aplic pe intrarea de ncrcare paralel LD (Load). Cnd numrtorul ajunge n starea 9, circuitul logic combinaional pune LD pe 0 ceea ce face ca la urmtorul impuls de ceas, n numrtor s fie nscris cuvntul 0000.
Fig. 5.34. Numrtor BCD sincron avnd o reacie global.
n mod asemntor se pot proiecta numrtoare pe secvene de numrare oarecare cum ar fi cel din exemplul urmtor.
Exemplul 5.1 S se proiecteze un numrtor a crui ieire s numere n secven de numere prime ntre 0 i 15: 2,3,5,7,11,13. Se va folosi un numrtor sincron pe patru bii (standard) avnd ca reacie un circuit logic combinaional. Structura numrtorului cu cele dou blocuri este prezentat n Fig. 5.35, iar schema detaliat, n Fig. 5.36. Tabelul pentru ieire este tabelul 5.13. Schema din Fig. 5.36 s-a obinut prin minimizarea funciilor logice ale componentelor ieirii.
Fig. 5.35. Schema unui numrtor pe patru bii pentru o secven oarecare.
Fig. 5.36. Schema detaliat a circuitului combinaional de reacie.
O reacie asemntoare celei din Fig. 5.33 se poate realiza i pentru un registru de deplasare, funcia f aplicndu-se intrrii seriale SI (Fig. 5.37).
145
Fig 5.37. Registru de deplasare n reacie.
Exemple de registre de deplasare n reacie sunt: registrul de deplasare n inel (Johnson), numrtorul de tip band i generatorul de secvene binare. Pentru registrul de deplasare Johnson, funcia CLC este f = Qn-1, adic la fiecare impuls de ceas, n prima celul se nscrie coninutul ultimei celule (Fig. 5.38). Iniial, n registrul de deplasare se ncarc paralel (comanda LOAD) coninutul D 0 , D 1 , D 2 , D 3 . Apoi, se dau impulsuri de deplasare pe CLK i coninutul registrului este rotit pas cu pas.
Fig. 5.38. Registru de deplasare in inel (Johnson) pe 4 bii.
5.5. MEMORII
Dup cum s-a menionat, circuitele secveniale se caracterizeaz prin faptul c au memorie. Astfel, CLS elementare de tip latch pot fi folosite pentru memorarea unui bit de informaie. Pentru memorarea unui cuvnt de informaie de m bii poate fi folosit un registru de memorare alctuit din m bistabili. De asemenea, pentru memorarea a n cuvinte binare de m bii pot fi folosite n registre de m bii, alctuind, 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, mrimea memoriei, viteza de acces. Dup posibilitile de stocare i de utilizare a informaiei, memoriile digitale se clasific n dou categorii: memorii folosite doar pentru citirea curent a informaiei i memorii folosite att pentru nscrierea curent ct i pentru citirea curent a informaiei.
5.5.1. Memorii cu acces pentru citire
Aceste memorii, cunoscute i sub denumirea de ROM (Read Only Memory), sunt de fapt circuite logice combinaionale, sub forma unor circuite integrate independente. Informaia coninut n memorie este introdus n procesul de fabricaie sau aprioric utilizrii efective, printr-un procedeu special de nscriere. Pe durata utilizrii curente informaia memorat nu se poate modifica. De asemenea, informaia se pstreaz i la ntreruperea alimentrii cu tensiune. Din aceast cauz ele se mai numesc i memorii nevolatile. Dup modul de nscriere a informaiei memorate deosebim mai multe tipuri de ROM: 146 ROM programabile cu masc, pentru o singur nscriere, de ctre fabricant; costul unei astfel de memorii este sczut doar dac exist o producie de serie care s utilizeze masca respectiv; PROM (Programmable Read Only Memory), pentru o singur nscriere, care poate fi fcut i direct de ctre utilizator, prin intermediul unui programator de PROM; EPROM (Erasable Programmable Read Only Memory), memorie reutilizabil i pentru nscriere. Memoria se poate terge aducnd toi biii n 1 logic, prin expunere la radiaii ultraviolete. Pentru a programa o memorie de tip EPROM se utilizez un programator ce aplic o tensiune mai mare locaiilor unde trebuie nscris 0. EEPROM (Electrically Erasable Programmable Read Only Memory) memorie reutilizabil cu tergere electric. n general, memoriile EPROM comerciale prezint urmtoarele conexiuni: ieiri de date (O 0 , O 1 , O 2 ,...) pe 8, 16, 32 de bii, intrri de adrese (A 0 , A 1 , A 2 ,...) pe 13,14,15,... bii, 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, ieirile 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: t AA timpul de acces de la adresare este timpul de ntrziere de la momentul adresrii (adrese stabile) pn la momentul validrii ieirilor; t ACS timpul de acces de la selectarea cipului este intervalul de timp de la selectarea cipului pn la momentul validrii ieirilor; t OE timpul de activare a ieirilor este intervalul de timp dintre momentul n care CS i OE sunt activate i momentul n care ieirile prsesc starea de nalt impedan; t OH timpul de meninere a ieirilor este timpul ct ieirile rmn valide dup schimbarea adresei sau dezactivarea uneia dintre intrrile CS sau OE; n multe aplicaii, 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 oricrei locaii de memorie ntr-un mod echivalent ca timp. De regul, aceste memorii sunt volatile, pierzndu-i informaia la ntreruperea alimentrii (excepie fac RAM fero electrice). Memoriile de tip RAM pot fi de dou feluri: RAM statice (SRAM) i RAM dinamice (DRAM). n cazul SRAM informaia nscris n memorie rmne nealterat att timp ct memoria este alimentat cu energie. n cazul DRAM informaia nscris n memorie trebuie mprosptat periodic, altfel ea se pierde. Improsptarea se face prin citirea informaiei pe cale de dispariie, la un nivel sczut, i renscrierea ei, la un nivel normal, n aceeai locaie.
147 5.5.2.1. RAM statice
Spre deosebire de ROM, memoriile de tip RAM au n plus intrri de date (DIN 0 , DIN 1 ,...,DIN m-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 combinaional a adreselor i comenzilor CS, OE i WE din Fig. 5.41.
Fig. 5.41. Memorie RAM 2 n x m bii.
nscrierea informaiei de m bii ntr-una dintre cele 2 n locaii se face prin stabilirea adresei i prin activarea intrrilor CS, OE i WE. Operaia de citire a informaiei se face prin stabilirea adresei i prin activarea intrrilor 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 urmtorii: t AS (timp de pregtire 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 puin acest interval. t AH (timp de meninere a adreselor dup nscriere). Adresele trebuie meninute cel puin acest interval de timp nainte ca una dintre intrrile de comand CS sau WE s fie dezactivate. t CSW (timp de pregtire a CS nainte de ncheierea operaiei 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 meninere a datelor nainte de ncheierea operaiei de nscriere); t DH (timp de meninere a datelor dup ncheierea operaiei de nscriere). 148 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 aa fel nct matricea s rezulte aproximativ ptrat. Memoriile avnd 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 interfee 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 informaie. De menionat c, prin citirea informaiei de pe condensator, acesta se descarc n timp, fiind necesar o nou ncrcare. 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 mprosptarea periodica (perioada fiind de cteva ms) a coninutului informaional al condensatoarelor memoriei. Acest lucru se efectueaz automat prin baleierea ciclic a elementelor de memorie, citirea informaiei ntr-un latch de tip D i renscrierea n acceai locaie. 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. mprosptarea ciclic a elementului de memorie.
Semnificaia notaiilor din Fig. 5.44 este urmtoarea: 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 bii de adres i a ultimilor opt bii de adres; WE (write enable) activare scriere. 149
Fig. 5.44. Memorie DRAM 64 k x 1.
Observaii mprosptarea se face pe o ntreag linie a matricei. Funcionarea unei DRAM este mai complicat dect funcionarea unei SRAM. DRAM sunt, n general, mai lente dect SRAM. Exist i DRAM sincrone.
Aplicaii
i) S se implementeze (direct) un numrtor modulo 3 sincron, cu ajutorul bistabililor de tip D. ii) Se d secvena w = 10101111, care se aplic, ncepnd cu bitul din dreapta, pe intrarea serial a unui registru de deplasare de patru bii. Dac iniial registrul este resetat, care este evoluia ieirii seriale pe opt tacte? iii) S se proiecteze circuitul logic combinaional de ieire pentru un numrtor sincron de trei bii care s numere n secven de numere prime ntre 0 i 7. iv) S se implementeze circuitul logic combinaional de reacie pentru un numrtor sincron modulo 12. v) Pentru secvena 1010, s se configureze un registru de deplasare i apoi, dup introducerea secvenei, s se aplice patru impulsuri de ceas notndu-se strile la fiecare tact.