LAB_AC8

8
C 1 Circuite active pe palier Latch-SR Circuitele SR-latch prezentate pâna în acest moment sunt circuite asincrone (iesirea circuitului nu comuta sincron cu un semnal de ceas). Datorita conditiilor tranzitorii, circuitele secventiale asincrone pot deveni instabile. Adaugarea unei validari reprezinta primul stadiu al modificarilor aduse circuitului latch-SR pentru a depasi neajunsul amintit. Circuitele latch-SR cu validare sunt circuite SR ca cele prezentate în cursul 8, dar care au o intrare de validare si circuite suplimentare în structura lor. În fig. 1 se exemplifica un circuit latch-SR cu validare. Fig. 1 Circuit latch-SR cu validare - structura interna Starea bistabilului se va modifica în concordanta cu valorile aplicate la intrarile S si R, dar numai atunci când intrarea C este 1. Daca la intrarea C se aplica un semnal de ceas, iesirea circuitului îsi va modifica starea doar pe nivelul HIGH al semnalului de ceas. Se spune ca circuitul este activ pe palierul semnalului de ceas - circuit latch-SR activ pe palier. Verificati afirmatia de mai sus pe animatia din fig. 1. Va este permis sa modificati intrarile si nivelul semnalului de ceas. Tabelul de adevar alaturat, (tabelul 1), rezulta din tabelul de adevar al unui circuit latch-SR la care intrarile si iesirile sunt notate cu indicele n, reprezentând starea acestora dupa al n-lea puls de ceas. Tabelul 1 S n R n ceas Q n n Q 0 0 1 Q n-1 1 - n Q 0 1 1 0 1 1 0 1 1 0 1 1 1 ? ? x x 0 Q n-1 1 - n Q Diagrama de semnal pentru circuitul SR-latch activ pe nivel, prezentata în fig. 2, ilustreaza modul de functionare. Fig. 2 Diagrama de semnal pentru un circuit latch-SR activ pe palier

description

Automatica si Calculatoare

Transcript of LAB_AC8

  • C 1 Circuite active pe palier Latch-SR Circuitele SR-latch prezentate pna n acest moment sunt circuite asincrone (iesirea circuitului nu comuta sincron cu un semnal de ceas). Datorita conditiilor tranzitorii, circuitele secventiale asincrone pot deveni instabile. Adaugarea unei validari reprezinta primul stadiu al modificarilor aduse circuitului latch-SR pentru a depasi neajunsul amintit. Circuitele latch-SR cu validare sunt circuite SR ca cele prezentate n cursul 8, dar care au o intrare de validare si circuite suplimentare n structura lor. n fig. 1 se exemplifica un circuit latch-SR cu validare.

    Fig. 1 Circuit latch-SR cu validare - structura interna

    Starea bistabilului se va modifica n concordanta cu valorile aplicate la intrarile S si R, dar numai atunci cnd intrarea C este 1. Daca la intrarea C se aplica un semnal de ceas, iesirea circuitului si va modifica starea doar pe nivelul HIGH al semnalului de ceas. Se spune ca circuitul este activ pe palierul semnalului de ceas - circuit latch-SR activ pe palier. Verificati afirmatia de mai sus pe animatia din fig. 1. Va este permis sa modificati intrarile si nivelul semnalului de ceas. Tabelul de adevar alaturat, (tabelul 1), rezulta din tabelul de adevar al unui circuit latch-SR la care intrarile si iesirile sunt notate cu indicele n, reprezentnd starea acestora dupa al n-lea puls de ceas.

    Tabelul 1 Sn Rn ceas Qn nQ

    0 0 1 Qn-1 1nQ 0 1 1 0 1 1 0 1 1 0 1 1 1 ? ? x x 0 Qn-1 1nQ

    Diagrama de semnal pentru circuitul SR-latch activ pe nivel, prezentata n fig. 2, ilustreaza modul de functionare.

    Fig. 2 Diagrama de semnal pentru un circuit latch-SR activ pe palier

  • Este important de observat ca n intervalul dintre pulsurile semnalului de clcok starea iesirilor nu se modifica. De asemenea, este important de observat ca intrarile S si R trebuie sa fie stabile nainte ca semnalul de ceas sa devina 1 pna dupa ce semnalul de ceas va cobor n 0. n caz contrar, iesirea se poate modifica de mai multe ori pe durata unui nivel 1 al semnalului de ceas.

    Latch-D Un inconvenient n functionarea circuitelor latch-SR este faptul ca exista o combinatie nepermisa pentru valorile variabilelor aplicate la intrare (S=1, R=1). Aparitia acestei combinatii trebuie evitata prin proiectarea aplicatiei. Combinatiile S=1, R=0 si S=0, R=1 pot fi obtinute daca circuitul ar avea o singura intrare. Circuitul latch-SR modificat pentru a avea o singura intrare este prezentat n fig. 3; unica intrare a acestui circuit este numita D sau intrare de date. Circuitul modificat este numit latch-D.

    Fig. 3 Circuit latch-D

    Tabelul de adevar al uni circuit latch-D este redat n tabelul 2

    Tabelul 2 Dn ceas Qn nQ 0 1 0 1 1 1 1 0 x 0 Qn-1 1nQ

    Circuitul latch-D este obtinut prin modificarea circuitului latch-SR astfel nct intrarile S si R sa fie permanent una complementul celeilalte. C 2 Circuite flip-flop D Circuitele flip-flop sunt circuite secventiale sincrone bistabile capabile sa stocheze un bit de informatie. n cazul acestor circuite, sincron are urmatoarea semnificatie: starea la iesire se modifica doar n momente bine definite de o intrare de declansare (trigger) numita intrare de ceas si notata cu CLK. Aceasta nseamna ca schimbarile la iesire sunt sincrone cu un semnal de ceas. Principala diferenta ntre circuitele latch si circuitele flip-flop este metoda folosita pentru a determina modificari de stare la iesire. Circuitele latch sunt active pe palier; iesirile circuitului sunt senzitive la nivel de tensiune (palier)

    si nu la o tranzitie de semnal. Circuitele flip-flop sunt active pe front; iesirile circuitului sunt senzitive la tranzitia semnalului,

    fie din 1 n 0 (front negativ) fie din 0 n 1 (front pozitiv). n simbolul logic, circuitele active pe front sunt reprezentate cu un triunghi mic, n interiorul blocului, la intrarea de ceas. Prezenta sau absenta unui cerculet n afara blocului, la intrarea de ceas indica tipul frontului activ (front negativ, respectiv front pozitiv).

  • Structura circuitului flip- flop D se bazeaza pe circuitul latch-D. n fig. 4 este prezentata structura unui circuit flip-flop D si simbolul logic al acestuia.

    Fig. 4 Flip-flop D: (a) structura interna; (b) simbol

    Modul n care opereaza un flip-flop D este definit de tabelul 3.

    Tabelul 3 Dn CLK Qn nQ Operatie 0 0 1 Reset memoreaza 0 1 1 0 Set - memoreaza 1 x 0 Qn-1 1nQ Pastreaza starea

    x 1 Qn-1 1nQ Pastreaza starea

    Modul n care opereaza un flip-flop D este ilustrat, de asemenea, prin diagrama de semnal din fig. 5. Circuitul flip- flop D are o singura intrare, numita D. Functionarea circuitului este simpla: valoarea variabilei aplicate la intrarea D este transferata la iesire atunci cnd pe intrarea de ceas se aplica o tranzitie activa (fie un front pozitiv, fie un front negativ).

    Fig. 5 Diagrama de semnal pentru un circuit flip-flop D

  • Printre circuitele flip-flop de utilizate exista versiuni: flip- flop D cu validare sau flip-flop D cu scanare. Structura interna si simbolurile logice folosite pentru acestea sunt prezentate n fig. 6, respectiv fig. 7

    Fig. 6 Flip-flop D cu validare: (a) structura interna; (b) simbol logic

    Fig. 7 Flip-flop D cu scanare: (a) structura interna; (b) simbol logic

    C 3 Circuite flip-flop JK si T Cel mai folosit tip de circuite bistabile active pe front sunt circuitele flip-flop JK. Functionarea acestora este identica cu a circuitelor SR pentru starile de setare, resetare si mentinere. Intrarea J opereaza ca intrarea S, iar intrarea K opereaza ca intrarea R. Diferenta ntre ele este faptul ca circuitele JK nu au stare nepermisa la intrare. Structura si simbolul unui circuit flip-flop JK sunt redate n fig. 8.

    Fig. 8 Flip-flop JK: (a) structura interna; (b) simbol logic

    Tabelul de adevar care defineste functionarea circuitului flip- flop JK este tabelul 4.

  • Tabelul 4 JnKn CLK Qn nQ Operatie

    00 Qn-1 1nQ Pastreaza starea

    01 0 1 Reset 10 1 0 Set 11 1nQ Qn-1 Basculeaza ntre stari

    xx 0 Qn-1 1nQ Pastreaza starea

    xx 1 Qn-1 1nQ Pastreaza starea Flip-flop T Circuitul flip- flop T este derivat din circuitul flip- flop JK n modul prezentat n fig. 9.

    Fig. 9 Flip-flop T: (a) structura interna

    Functionarea circuitului este urmatoarea: ct timp intrarea T este 1, la fiecare front activ, iesirea circuitului va bascula n starea opusa si cnd intrarea T este 0, la iesire nu are loc nici o modificare pe frontul activ. Tabelul de adevar al unui circuit flip-flop T este redat alaturat (tabelul 5).

    Tabelul 5 Tn CLK Qn nQ Operatie

    0 Qn-1 1nQ Pastreaza starea

    1 1nQ Qn-1 Basculeaza ntre stari

    x 0 Qn-1 1nQ Pastreaza starea

    x 1 Qn-1 1nQ Pastreaza starea

    Circuitele flip-flop T sunt utilizate pentru a construi circuite numaratoare. Circuite flip-flop cu intrari asincrone Circuitele flip-flop prezentate pna n acest punct sunt circuite ale caror intrari actioneaza sincron cu un front activ al semnalului aplicat la intrarea ceas. Cele mai multe circuite flip-flop integrate au si intrari asincrone, pastrate; acestea influenteaza starea circuitului independent de semnalul de ceas. Intrarile sunt numite de catre fabricanti nscriere (preset) si stergere (clear). Intrarile asincrone sunt de obicei active n 0; un zero aplicat la intrarea de nscriere va determina comutarea imediata a iesirii n 1 (Q=1), si un 0 aplicat la intrarea de stergere va determina comutarea imediata a iesirii n 0 (Q=0). Cnd intrarile sunt active pe 0, acestea sunt notate PRE si CLR .

  • C 4 Circuite master-slave O alta clasa de circuite flip-flop sunt circuitele master-slave. Acestea sunt construite din circuite flip-flop distincte; specific acestor circuite este faptul ca datele aplicate la intrare sunt considerate atunci cnd semnalul de ceas creste n 1, iar rezultatul este reflectat la iesire abia cnd semnalul de ceas devine 0. Datorita acestei particularitati, semnalele la intrare trebuie sa fie stabile naintea aparitiei frontului pozitiv si starea intrarii nu trebuie sa se schimbe nainte de aparitia frontului negativ al pulsului. Daca nu se respecta aceasta restrictie pot aparea raspunsuri necontrolate. Tabele de adevar ce definesc functionarea circuitelor master-slave sunt identice cu cele ale circuitelor flip-flop, exceptia o constituie doar modul n care este declansata actiunea intrarilor asupra iesirilor. Numele master-slave al acestor circuite este dat de structura interna care este divizata n doua sectiuni: o sectiune numita master si o sectiune numita slave. Cele doua sectiuni sunt n principiu identice, difera componenta activa a semnalului de ceas. Sectiune slave este sincronizata cu semnalul de ceas al celulei master, dar inversat. Intrarile sectiunii slave sunt stabilite de iesirile sectiunii master. Structura interna a unui circuit master-slave SR este prezentata n fig. 10.

    Fig. 10 Master-slave SR - structura interna

    Exista versiuni de circuite master-slave cu ceas dinamic; semnalul ceas dinamic comanda preluarea datelor de la intrarea celulei master pe frontul pozitiv, dupa care datele la intrare pot fi modificate, fara a influenta functionarea restului circuitului. n aceasta versiune nu mai este necesar ca datele sa fie mentinute constante pe toata durata ct semnalul de ceas este 1. Sectiune master a acestor circuite este un bistabil activ pe front si sectiune slave este un bistabil activ pe nivel. Se produce astfel la iesire un efect ntrziat, ntrzierea este de durata pulsului de ceas. Tabele de adevar ce definesc functionarea circuitelor master-slave cu ceas dinamic sunt identice cu cele ale circuitelor active pe front corespondente. C 5 Utilizarea starilor de WAIT n proiectarea automatelor asincrone

    Asa dupa cum rezulta din simularea masinii pentru vnzarea unor produse cu doua monede din lucrarea anterioara, daca impulsurile asociate introducerii unor monede depasesc o anumita durata, atunci automatul poate tranzita, depinznd de lungimea impulsului, chiar pna n starea finala. Pentru a evita aceasta functionare defectuoasa si pentru a face masina sa functioneze corect se introduc starile de wait. O stare de wait este o stare temporara n care trece automatul atunci cnd una din varibilele de intrare. L sau C, trece n 1 si n care sta atta timp ct valoarea logica 1 nu se modifica. Observatii : 1. Daca prin activarea unei variabile de intrare se ajunge ntr-o stare care, prin functionarea

    automatului, este ea nsasi o stare de wait, nu se mai introduce o stare suplimentara.

  • 2. Daca prin activarea unei variabile se ajunge ntr-o stare n care se ajunge si prin activarea unei alte variabile, atunci acele doua variabile activate vor trece prin aceeasi stare de wait.

    Sa aplicam regulile de mai sus, aplicnd mai nti observatia numarul doi si apoi observatia numarul unu. Graful de fluenta rezultat n urma aplicarii observatiei numarul doi este cel din figura 11.

    Fig. 11 Graf de fluenta rezultat prin introducerea starilor de wait

    n figura 11, S0L, S0C,L, S1C,L sunt stari de wait, cele care au doi indici referindu-se la

    starile din observatia unu. Starile S0, S1, S2, S3, sunt starile normale de functionare ale automatului din lucrarea anterioara. Aplicnd observatia unu, remarcam faptul ca S0C,L S3, S3 fiind ea nsasi o stare de wait a automatului asa dupa cum a fost definit n lucrare anterioara. n aceste conditii graful de fluenta se modifica, noua forma fiind prezentata n figura 12

    Fig. 12 Graf de fluenta rezultat prin

    eliminarea unei stari de "wait" Codificarea starilor Este evident ca n acest caz avem nevoie de trei CBB n loc de doua. Mai mult, este de dorit ca la trecerea dintr-o stare n alta sa se modifice un singur bit, adica toate starile sa fie adiacente.

    O posibila alegere a starilor este: S0=000; S0L=010; S0C,L=001; S1=011; S2=101; S3=111. Starile 110 si 100 sunt nefolosite si, din punct de vedere al sigurantei n functionare, ele trebuie sa tranziteze fie amndoua n starea S0 (dar nu s-ar respecta regula de codificare anterioara) fie sa tranziteze ca n figura 13.

    Fig. 13 Exemplu de tranzitie din starile nefolosite

    Notnd ordinea bitilor care definesc starile Q1Q2Q3 se poate stabili, utiliznd tabela de tranzitie a CBB RS, urmatoarea tabela de adevar prezentata n tabelul 6. Tema 1. Sa se sintetizeze si sa se simuleze circuitul cu tabela de adevar prezentata n tabelul 6, punnd n evidenta starile de wait. Tema 2. Sa se gaseasca cel putin o alta codificare a starilor conform celor dicutate mai sus si sa se refaca sinteza, utiliznd de aceasta data bistabile de tip D.

  • L C (Q1Q2Q3)t (Q1Q2Q3)t+1 R1

    S1

    R2S2 R3S3 Z

    0 0 000 000 * *0 *0 0 0 1 000 010 * 01 *0 0 1 0 000 001 * *0 01 0 1 1 000 000 * *0 *0 0 0 0 010 010 * 0* *0 0 0 1 010 010 * 0* *0 0 1 0 010 011 * 0* 01 0 1 1 010 010 * 0* *0 0 0 0 001 101 0 *0 0* 0 0 1 001 001 * *0 0* 0 1 0 001 001 * *0 0* 0 1 1 001 001 * *0 0* * 0 0 011 011 * 0* 0* 0 0 1 011 001 * 10 0* 0 1 0 011 111 * 0* 0* 1 1 1 011 011 * 0* 0* 0 0 0 101 101 0 *0 0* 0 0 1 101 111 0 01 0* 1 1 0 101 111 0 01 0* 1 1 1 101 101 * 0* 0* 0 0 0 111 111 0 0* 0* 0 0 1 111 111 0 0* 0* 0 1 0 111 111 0 0* 0* 0 1 1 111 111 0 0* 0* 0 0 0 110 100 0 10 *0 0 0 1 110 100 0 10 *0 0 1 0 110 100 0 10 *0 0 1 1 110 100 0 10 *0 0 0 0 100 000 1 *0 *0 0 0 1 100 000 1 *0 *0 0 1 0 100 000 1 *0 *0 0 1 1 100 000 1 *0 *0 0

    Tab. 6 Tabela de adevar pentru implementarea cu circuite R-S