CIRCUITE LOGICE SECVENTIALE
Circuitele logice secventiale, CLS, sunt automate de ordinul 1. Se obtin din automatele de ordinul 0 (CLC) prin introducerea unor reactii (legaturi inverse). Sunt alcatuite din circuite logice combinationale si elemente de memorare binara.
Semnalele de iesire ale CLS depind atat de combinatia semnalelor aplicate pe intrari cat si de starea circuitului. Un CLS este caracterizat printr-o secventa a semnalelor de iesire si o secventa a starilor elementelor de memorie, pentru fiecare secventa a semnalelor aplicate pe intrarile circuitului.
Dupa modul de functionare (modul de transmitere a semnalelor) exista 2 categorii principale de CLS:
asincrone - comportarea este determinata de aplicarea pe intrari a semnalelor in momente oarecare; starea circuitului depinde de ordinea in care se schimba semnalele;
sincrone - comportarea este determinata de aplicarea pe intrari a semnalelor in momente discrete, bine determinate in timp; sincronizarea se realizeaza cu ajutorul unor impulsuri date de un generator de tact (ceas).
Exemple de CLS: bistabili, numaratoare, registre, memorii RAM.
3.1. Circuite basculante bistabile
Definitie. Circuitele basculante bistabile (CBB sau bistabil) sunt circuite logice secventiale care au doua stari stabile distincte. Trecerea dintr-o stare in alta se face la aplicarea unei comenzi din exterior.
Caracteristica principala a CBB este ca sunt sisteme cu memorie (elemente de memorie binara). Un bistabil poate pastra un timp nedefinit informatia binara si in acelasi timp starea sa poate fi citita in orice moment. Se asociaza uneia dintre cele 2 stari ale bistabilului functia de memorare a cifrei binare 1 si celei de a doua stari functia de memorare a cifrei binare 0. Bistabilul are 2 iesiri, una care pune in evidenta cifra binara memorata, numita iesire adevarata si a doua, care pune in evidenta valoarea negata a cifrei binare memorate, denumita iesire negata.
3.1.1. Bistabilul RS asincron (latch)
Bistabilul RS asincron are 2 intrari de comanda (de date): S (Set) si R (Reset) si doua iesiri Q si Q (complementare).
Simbolul bistabilului RS asincron este:
S Q
R Q
Tabelul de adevar al bistabilului RS asincron este:
tn tn+1
Sn Rn Qt+1
0 0 Qt
1 0 1
0 1 0
1 1
Din punct de vedere logic nu are sens sa se faca simultan inscrierea si stergerea informatiei, ca urmare Sn = 1 si Rn = 1 va fi o situatie interzisa (de nedeterminare, pentru ca nu se poate prevedea starea finala). Conditia de buna functionare care se pune este Sn Rn = 0.
Pentru a face sinteza circuitului vom considera semnalul de iesire Qt+1 la momentul tn+1, semnal care depinde de starea intrarilor Sn si Rn si de starea Qt, la momentul tn. Vom scrie Qt+1 ca o functie de 3 variabile:
Qt Sn Rn Qt+1
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1
Diagramele Karnaugh pentru Qt+1 si Qt+1 sunt urmatoarele:
Qt+1
Qt SnRn |
|
|
|
|
|
|
|
x |
|
|
|
|
x |
|
Qt+1
Qt SnRn |
|
|
|
|
|
|
|
x |
|
|
|
|
x |
|
Daca minimizam functiile in FCC obtinem:
Qt+1 = Rn (Sn + Qt)
Qt+1 = Sn (Rn + Qt)
Deducem functiile pentru schema cu porti de tip SAU-NU:
Qt+1 = Qt+1 = Rn (Sn + Qt) = Rn + (Sn + Qt)
Qt+1 = Qt+1 = Sn (Rn + Qt) = Sn + (Rn + Qt)
R Q
S Q
Schema bistabilului RS asincron realizat cu porti de tip SI-NU se bazeaza pe functiile in forma FCD obtinute din diagramele Karnaugh:
Qt+1 = Sn + (Qt Rn)
Qt+1 = Rn + (Qt Sn)
Qt+1 = Sn + (Qt Rn) = Sn (Qt Rn)
Qt+1 = Rn + (Qt Sn) = Rn (Qt Sn)
S Q
R Q
Pentru Sn = Rn = 1 rezulta Q = 0 si Q = 0, cele doua iesiri nefiind complementare. Circuitul isi pierde in acest caz caracterul de circuit bistabil, cu doua stari distincte stabile.
Bistabilul RS asincron este cel mai simplu element de memorare care poate fi realizat cu circuite logice elementare.
Observatie. O aplicatie tipica a bistabilului RS asincron este utilizarea acestuia la eliminarea oscilatiilor ce apar la contactele mecanice.
3.1.2. Bistabilul RS sincron (latch cu ceas)
Bistabilul RS sincron se obtine din bistabilul RS asincron prin adaugarea unor porti logice suplimentare cu scopul de a raspunde la semnalele de intrare R si S numai sub actiunea unui semnal de comanda numit impuls de tact (ceas).
Sa
S Q
CLK
R Q
Ra
Iesirile bistabilului RS sincron se modifica doar cand semnalul de tact (ceas) CLK este activ. Simbolul bistabilului RS sincron este:
S Q
CLK
R Q
Diagrama de timp pentru bistabilul RS sincron este:
CLK
R
S
Q
Functionarea este descrisa de functiile:
Qt+1 = S + R Qt
Qt+1 = R + S Qt
S R = 0
Si la acest bistabil situatia intrarilor in care S = R = 1 introduce o nedeterminare, de aceea ea trebuie evitata.
Cat timp CLK este 0, intrarile de date nu influenteaza bistabilul. Cand CLK = 1 bistabilul urmareste modificarile intrarilor de date. Cand CLK redevine 0 bistabilul se zavoraste (de aceea se numeste latch), pastreaza informatia avuta anterior pe iesire.
Introducem notiunea de functie de excitatie, caracteristica pentru fiecare bistabil. Ea pune in evidenta cum trebuie sa fie intrarile bistabilului (ce stare trebuie sa aiba) pentru a se realiza o tranzitie specifica.
Tabelul de excitatie pentru bistabilul RS sincron este:
Qt Qt+1 R S
0 0 x 0
0 1 0 1
1 0 1 0
1 1 0 x
Observatie. In afara intrarilor sincrone, la bistabilul RS sincron se introduc si intrari asincrone, Ra si Sa, la nivelul bistabilului RS asincron (portile SI-NU). Aceste intrari sunt utilizate cu scopul fortarii la 0, prin Ra, sau la 1, prin Sa, a iesirii bistabilului. Aparitia unor comenzi pe aceste intrari se executa independent de prezenta sau absenta tactului. Din acest motiv intrarile asincrone ale unui bistabil sunt prioritare in raport cu intrarile sincrone.
3.1.3. Bistabilul D sincron (delay)
Bistabilul D sincron are o singura intrare, D si cele 2 iesiri complementare, Q si Q. Starea urmatoare a bistabilului D este determinata de modificarea intrarii D. El intarzie cu un tact informatia pe care o primeste pe intrare (circuit elementar de intarziere). Sunt cele mai raspandite bistabile in registrele de date. Simbolul bistabilului D sincron:
S
D Q
CLK
Q
R
Bistabilul D se obtine din bistabilul RS sincron:
D Q
CLK
Q
Functiile bistabilului D sunt:
Qt+1 = D
Qt+1 = D
Tabelul de adevar al bistabilului D este:
D Q
Tabelul de excitatie al bistabilului D este:
Qt Qt+1 D
0 0 0
0 1 1
1 0 0
1 1 1
Starea urmatoare a bistabilului de tip D sincron este dependenta doar de semnalul aplicat pe intrare, ea fiind independenta de starea actuala a bistabilului.
Exista doua tipuri de bistabile de tip D sincron, unele care comuta pe front (atunci cand se schimba tactul) si altele care comuta pe nivel (atunci cand tactul este pe nivel).
3.1.4. Bistabilul JK sincron
Bistabilul JK sincron elimina situatia de nedeterminare pe iesiri, prezenta la bistabilul RS sincron, la combinatia S = R = 1 pe intrari. Se folosesc reactii (legaturi inverse) suplimentare.
Tabelul de adevar al bistabilului JK sincron este:
J K Qt+1
0 0 Qt
0 1 0
1 0 1
1 1 Qt
Tabelul de excitatie al bistabilului JK sincron este:
Qt Qt+1 J K
0 0 0 x
0 1 1 x
1 0 x 1
1 1 x 0
Functiile pentru bistabilul de tip JK se determina din diagrama Karnaugh, pe baza tabelului de adevar in forma detaliata:
Qt J K Qt+1
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 0
Qt+1
Qt JK |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Qt+1 = J Qt + K Qt
Qt+1 = J Qt + K Qt
Un bistabil de tip JK sincron se obtine din bistabilul RS sincron prin efectuarea legaturilor care permit eliminarea conditiei R S = 0.
R = K Qt
S = J Qt
Q
J
CLK sau
K Q
S
J Q
CLK
K Q
R
Intrarile S si R sunt intrarile asincrone, care actioneaza la ultimul nivel de porti logice, nu depind de semnalul de tact si sunt prioritare fata de intrarile sincrone J si K (adica in momentul in care una dintre ele se activeaza, bistabilul va functiona in regim asincron).
Simbolul utilizat pentru bistabilul JK sincron este:
S
J Q
CLK
K Q
R
O analiza mai atenta a bistabilului JK sincron arata ca atat timp cat intrarea de tact (CLK) ramane pe 1 logic dupa stabilirea noii stari, bistabilul intra in oscilatie (isi tot schimba starea). Pentru a exista o singura comutare, durata impulsului pe CLK trebuie sa fie mai mare decat timpul de propagare a semnalului printr-o poarta logica si mai mica decat timpul de propagare a semnalului prin doua porti logice.
3.1.5. Bistabilul T sincron (Toggle)
Bistabilul T sincron se obtine din bistabilul JK sincron prin legarea intrarilor J si K impreuna. Bistabilul schimba starea (comuta) cand pe intrare are semnal logic 1.
S
T Q
CLK
Q
R
Tabelul de adevar al bistabilului T sincron este:
T Qt+1
Qt
1 Qt
Tabelul de excitatie al bistabilului T sincron este:
Qt Qt+1 T
0 0 0
0 1 1
1 0 1
1 1 0
Pentru determinarea functiilor bistabilului T sincron utilizam diagrama Karnaugh de 2 variabile:
Qt T |
|
|
|
|
|
|
|
|
Qt+1 = T Qt + T Qt = T + Qt
Qt+1 = T Qt + T Qt = T + Qt = T Qt
Bistabilul T sincron are aceleasi deficiente ca si bistabilul JK sincron, legate de durata impusa a semnalului de tact.
Bistabilul T sincron este util in aplicatiile de numaratoare binare.
Concluzie. Deficienta principala a structurilor de bistabile studiate este ca nu se poate face o distinctie neta intre intrarile care conditioneaza momentul comutarii si cele care determina modul comutarii (nu se face distinctie neta intre cand si cum
3.1.6. Bistabile master-slave MS
Bistabilele de tip master-slave introduc un tip de structura care permite rezolvarea comutarii bistabilelor. Acest principiul master-slave poate fi aplicat oricarui circuit bistabil.
Structura master-slave este compusa din 2 celule de memorie, una "master" si cealalta "slave".
Master Slave
S SM QM SS QS Q
CLK CLK
R RM QM RS QS Q
CLK
Impulsul de tact are doua fronturi, unul pozitiv (de urcare de la 0 la 1, in logica pozitiva) si unul negativ (de coborare de la 1 la 0, in logica pozitiva).
La bistabilele master-slave pe frontul crescator al semnalului de tact se face inscrierea informatiei in master, slave fiind practic deconectat. Pe frontul descrescator urmator se face transferul informatiei din master in slave si informatia va apare la iesiri dupa frontul descrescator al impulsului de tact. Se asigura astfel o buna separare intre intrarile de date si iesirile bistabilelor.
S 1 3 Q
2 4 Q
R
CLK
M S
2 3
CLK 1 4 5
Q
tS tH
tS este timpul de set-up = perioada in care datele trebuie sa fie pregatite inainte de impulsul de tact.
tH este timpul de holding.
Pe perioada 1 - 2 a impulsului de ceas, portile de la intrare nu sunt inca deschise, iar portile 3,4 se blocheaza si astfel izoleaza slave de master.
Pe zona 2 - 3 portile de intrare 1,2 se deschid si informatia trece in master. Portile 3,4 sunt inchise si slave isi pastreaza vechea informatie.
Pe zona 3 - 4 portile 1,2 se inchid si portile 3,4 nu se deschid inca: master este izolat de intrare si de slave.
Pe perioada 4 - 5 portile 3,4 se deschid, in timp ce portile 1,2 sunt blocate si informatia apare pe iesire.
Perioada critica este cea de mentinere a datelor la intrare, tH, pe perioada 4 - 5.
Memorarea se face pe frontul descrescator al impulsului de tact.