You are on page 1of 6

Proiectarea Logic

Proiectarea circuitelor secveniale sincrone


Note suplimentare de curs Conf. Dr. ing. mat. Ion I. Bucur Exemple
Exemplul 1. S se proiectaeze un circuit care detecteaz secvena 1011, pe linia de intrare I, iar

secvenele se pot suprapune. Un astfel de circuit produce o valoare nenul la ieirea sa, Z, ori de cte ori detecteaz secvena respectiv. Deoarece este admis suprapunerea, atunci ultima unitate dintr-o secven detectat poate fi prima unitate a secvenei urmtoare. Astfel, dup detecia unei secvene 1011 este suficient s se produc la intrarea circuitului nc o secven 011 pentru ca la ieire s se produc nc o unitate. Cu alte cuvinte, secvena de intrare 1011011 constituie dou secvene suprapuse producnd la ieirea circuitului respectiv valorile 0001001.
0/0 1/0 1/0 0/0 C 1/0 0/0 D Figura 1.1. Diagrama de stri a automatului din Exemplul 1. 1/1 B

A 0/0

Secvena ce trebuie detectat ncepe cu o unitate. Presupunnd c automatul pornte din starea A, atunci automatul va continua s stea n aceast stare ct timp la intrare vor ajunge doar valori zero. n consecin, automatul va produce valori zero pe linia de ieire atta timp ct va staiona n starea A. Prima unitate sosit pe linia de intrare va trimite, cu ieirea n continuare zero, n starea B. Dac n starea B vor continua s soseasc valori unu ale liniei de intrare, atunci automatul va rmne n aceast stare producnd valori nule ale ieirii. Starea B este asociat recunoaterii valorii 1 n secvena de intrare. Prima valoare zero pe linia de intrare, n timp ce automatul se afl n starea B va produce trecerea n starea C, a automatului, cu valoare nul a ieirii.

Proiectarea Logic

Automatul aflat n starea C a detectat pn atunci o secven 10 a liniei de intrare i a meninut linia de ieire n zero, n tot acest timp. Sosirea pe linia de intrare a unei valori nenule, automatul aflndu-se n starea C, va cauza tranziia n starea D cu valoare nul a ieirii. Atunci cnd automatul a ajuns n starea D, a fost recunoscut secvena 101. Receptarea, n starea D, a unei valori 0 pe linia de intrare va rentoarce automatul n starea C, cu valoare nul a ieirii. Se poate remarca faptul c starea C este, ntotdeauna, asociat recunoaterii secvenei 10, n timp ce starea D este asociat recunoaterii secevenei 101. Dar, dac n starea D automatul recepioneaz o valoare nenul, pe linia de intrare, are loc tranziia n starea B dar cu valoare nenul a liniei de ieire a fost recunoscut secvena specificat i automatul reia recunoaterea secvenei utiliznd suprapunerea secvenelor recunoscute. Corespunztor diagramei de stri din figura 1.1 se alctuiete, direct, tabelul de tranziii al strilor automatului (figura 1.2 (a)). Fiind doar patru stri, rezult c automatul se va implementa cu doar dou bistabile. Adoptnd, spre exemplu, codificarea natural a strilor se poate deduce tabelul de tranziii al automatului din figura 1.2 (b). Aceast tabel exprim, succint, modul de tranzitare al automatului atunci cnd se utilizeaz codificarea strilor menionat anterior. Diagrama Karnaugh din figura 1.2 (c) arat dependena linei de ieire n raport cu starea curent i linia de intrare. I A B C D 0 A/0 C/0 A/0 C/0 (a) 1 B/0 B/0 D/0 B/1 00 Q1Q2 01 10 11 0 00/0 10/0 00/0 10/0 (b)
Figura 1.2.

I 1 01/0 01/0 11/0 01/1 00 Q1Q2 01 11 10 (c) 0 0 0 0 0

I 1 0 0 1 0

Utiliznd diagrama Karnaugh din figura 1.2 (c) se poate deduce c linia de ieire a automatului satiface relaia: Z = Q1Q2I Automatul se va implementa utiliznd un bistabil de tip T i un bistabil de tip D. Implementarea automatelor se face, de regul, utiliznd acelai tip de bistabili. n cazul de fa s-a ales s se implementeze utiliznd bistabile diferite, un bistabil de un tip iar cellalt bistabil de alt tip, doar din raiuni demonstrative. .....

Proiectarea Logic

Se consider un automat care are dou linii de intrare U i V, i o linie de ieire Z. Automatul detecteaz secvena de perechi de valori: {(U, V)} = {(0, 0), (0, 1), (1, 0)}, aa cum se arat n figura 1.3.
Exemplul 2.
U V Z t1 0 0 0 t2 0 1 0 t3 1 0 1 t4 1 1 0 t5 0 0 0 t6 0 1 0 t7 1 0 1

Figura 1.3. Secevenele de intrare recunoscute de automatul din exemplul 2.

Diagrama de stri este prezentat n figura 1.4. Starea iniial a automatului este starea A. Pentru fiecare stare a automatului pot fi posibili patru vectori de intrare. Automatul ateapt n starea A pn cnd pe liniile de intrare se aplic (UV) = (00) vectorul de intrare care determin tranziia n starea B, marcnd apariia primului vector de intrare din secvena care trebuie detectat. Circuitul trece, apoi, n starea C dup recepionarea vectorului de intrare (UV) = (01) i va trece din nou n starea A atunci cnd (UV) = (10) producnd, n fine, o valoare nenul a liniei de ieire. Se cerceteaz, n continuare, diagrama de stri a acestui automat, n vederea unei posibile micorri a numrului de stri. Se compar, pentru nceput, strile A i B. Dac se aplic, automatului, acelai vector al intrrilor se poate remarca producerea unei valori identice a liniei de ieire, fie c acesta se afl n starea A, fie c acesta se afla n starea B, oricare ar fi acel vector al intrrilor. Automatul ajunge n aceleai stri, plecnd din strile A sau B, dac pe liniile de intrare apar vectorii (00), (10) i (11). Excepie face aplicarea vectorului (01) pentru care automatul nu prsete starea A, n timp ce din starea B trece n starea C. Aceast remarc conduce la concluzia c starea A este echivalent strii B dac i numai dac starea A este echivalent strii C, situaie n care aceste stri sunt nlocuite printr-o singur stare. Compararea strii A cu starea C relev faptul c valorile ieirii, pentru cele dou stri, sunt identice pentru trei dintre cele patru combinaii de intrare i difer n cazul celei dea patra combinaii de intrare, 10. n consecin, cele trei stri considerate (A, B i C) nu sunt identice. Se stabilete, asemntor, c strile B i C nu sunt identice deoarece valorile liniei de ieire difer. n concluzie numrul de stri al automatului nu poate fi redus.

Proiectarea Logic

11/0, 01/0, 10/0

A 11/0, 10/0 11/0, 01/0, 10/1 00/0 00/0 C 01/0 B

00/0 Figura 1.4. Diagrama de stri a automatului din Exemplul 2.

Sunt necesare patru bistabile pentru implementarea acestui automat. n acest caz se prefer bistabilele tip D. Pentru cele patru stri se alege o codificare de forma: A = 00, B = 01 i C = 11. Se noteaz, n continuare, prin Q1 i Q2 i respectiv prin D1 i D2, strile i liniile de intrare ale celor dou bistabile D utilizate pentru implementarea acestui automat. n figura 1.5 (a) este prezentat tabelul de tranziie al strilor automatului aa cum rezult acesta din diagrama din figura 1.4. Codul de stare 10, aa cum se poate remarca, nu este utilizat n aceast codificare a strilor automatului. Pentru acest motiv att n tabelul de tranziie ct i n diagramele Karnaugh ale liniilor Z, D1 i D2 apar linii de valori neprecizate. Diagrama Karnaugh a liniei de ieire Z, figura 1.5(b), conduce la expresia: Z = Q1U V De remarcat faptul c, din cauza utilizrii bistabilelor D pentru acest automat, diagramele Karnaugh ale liniilor D1 i D2 se alctuiesc foarte simplu pentru c D1 i D2 sunt chiar Q1(t + 1), respectiv Q2(t + 1). Expresiile celor dou linii de intrare D1 i D2 ale bistabilelor automatului se deduc din cele dou diagrame Karnaugh din figurile 1.5(c) i 1.5 (d): D1 = Q1Q2U V D2 = U V + Q1Q2U 4

Proiectarea Logic

UV 00 01 11 10 00 01 00 00 00 01 01 11 00 00 11 01 00 00 00 10 XX XX XX XX (a) UV 00 01 11 10 0 0 0 0 0 1 0 0 0 0 0 0 X X X X (c)

Q1Q2

Q1Q2

UV 00 01 11 10 00 0 0 0 0 01 0 0 0 0 11 0 0 0 1 10 X X X X (b) UV 00 01 10 11 1 0 0 0 1 1 0 0 1 0 0 0 X X X X (d)

Q1Q2

00 01 11 10

Q1Q2

00 01 11 10

Figura 1.5. Utiliznd codificarea strilor A = 00, B = 01 i C = 11. (a) Tabelul de tranziie al strilor; (b) Diagrama Karnaugh pentru linia Z; (c) Diagrama Karnaugh pentru linia D1; (d) Diagrama Karnaugh pentru linia D2.

Numrul total de literali este 12 (ca funcie cost) pentru aceast implementare a automatului, utiliznd codificarea strilor anterior menionat. n figura 1.6 este rezumat implementarea acestui automat dar cu o alt codificare: A = 00, B = 01 i C = 10. Se utilizeaz pentru aceast implementare tot bistabile D. Un calcul al costului implementrii (figura 1.6) arat doar opt literali. n concluzie, alegerea judicioas a codificrii strilor poate conduce la modificri de substan ale costului implementrii unui automat cu stri. Stabilirea codificrii optime care s conduc la circuite cu complexitate mic se poate aborda prin ncercarea tuturor combinaiilor posibile ale atribuirii codurilor strilor dar, numai pentru automate cu un numr redus de stri. Exist aplicaii dedicate, proiectate s fie utilizate n vederea stabilirii codificrii optime.

Proiectarea Logic

Q1Q2

00 01 11 10

UV 00 01 11 10 01 00 00 00 01 10 00 00 XX XX XX XX 01 00 00 00 (a)

Q1Q2

00 01 11 10

UV 00 01 11 10 0 0 0 0 0 0 0 0 X X X X 0 0 0 1 (b)

Q1Q2

UV 00 01 11 10 00 0 0 0 0 01 0 1 0 0 11 X X X X 10 0 0 0 0 (c)

Q1Q2

UV 00 01 10 11 00 1 0 0 0 01 1 0 0 0 11 X X X X 10 1 0 0 0 (d)

Figura 1.6. A = 00, B = 01 i C = 10. (a) Tabelul de tranziie al strilor; (b) Diagrama Karnaugh pentru linia Z; (c) Diagrama Karnaugh pentru linia D1; (d) Diagrama Karnaugh pentru linia D2.