Logica digitala (ASDN)

200

Click here to load reader

Transcript of Logica digitala (ASDN)

Page 1: Logica digitala (ASDN)

Introducere

Lucrarea de faţă „Logică digitală – principii si aplicaţii” este realizata in scopul cunoaşterii si experimentării diferitelor aspecte din problematica proiectării structurilor logice combinaţionale si secvenţiale.

Cartea cuprinde aplicaţii privind studiul unor metode de analiza si sinteza a dispozitivelor numerice, precum si modalităţi de testare si realizare cu circuite integrate a acestor dispozitive, creând astfel o baza teoretica si practica pentru dezvoltarea unor dispozitive si aplicatii numerice mai complexe .

Conţinutul lucrării are un caracter aplicativ, este conceputa sub forma unei secvenţe de experimente reţinând in cadrul prezentării bazele teoretice precum si metodele practice de sinteza si implementare a dispozitivelor numerice si se adresează atât studenţilor cat si inginerilor si cadrelor tehnice care lucrează in acest domeniu.

Anexele de la sfârşitul cărţii cuprind etapele si instrumentele utilizate in realizarea unor experimente si configuraţia terminalelor circuitelor integrate folosite in decursul lucrării.

In final mulţumesc studenţilor Nemeti Andrei-Nicolae, Petrişor Radu, Petruţa Cristian, Petrici Nicolae pentru aportul adus la editarea lucrării si dedic aceasta carte fiului meu, Radu Casian.Modul de abordare si prezentare al lucrarii , precum si problematica studiata , lasa deschisa inevitabil ,posibilitatea aparitiei unor erori de forma si continut si care daca vor fi sezizate de cititori , rugam sa ne fie transmise pentru afi eliminate

Autorul

Page 2: Logica digitala (ASDN)

Specificatii tehnice

Pe placa de încercări va fi reprodusa schema logica a structurii proiectate, utilizând circuitele integrate corespunzătoare si fire de conexiuni.

Osciloscopul permite vizualizarea unor semnale electrice cu o frecventa maxima de 40 MHz si este utilizat in principal la vizualizarea formelor de unda a iesirilor privind aparatura utilizata in abordarea experimentelor si modul general de realizare al obiectivelor fiecărui experiment.

Un stand de experimentări are in componenta sa o placa de încercări cu socluri de circuite integrate, osciloscop de 40 MHz – HM404-2, sistem de calcul ,sursa dubla de tensiune de 0-15V, analizor logic digital ELV cu 12 canal de intrare si 12 canale de ieşire si programator pentru dispozitive de memorare, LEAPER-10.

Placa de încercări permite utilizarea circuitelor integrate de orice mărime, alimentarea plăcii permiţând aplicarea simultana a trei valori de tensiuni distincte. In aplicaţiile din lucrare fiind utilizate circuite integrate TTL, tensiunea de alimentare utilizata este de 5V, si va fi generata si preluata de la analizorul logic.

CI – Circuit integrat introdus in socluSe observa in fig 1 ca fiecare terminal al circuitului integrat, prin conexiunile din interiorul plăcii(liniile punctate), are la dispoziţie încă 4 contacte (găuri) prin intermediul cărora se pot realiza conexiunile externe

(cu fire) la terminalele aceluiaşi circuit , sau al altor circuite de pe placa. Alimentările circuitului sunt realizate de asemenea de către utilizator prin conexiune la şirul de contacte + si – al plăcii de încercări.circuitelor proiectate , raportate la stimulii de comanda , măsurarea fronturilor semnalelor logice si a timpilor de propagare a circuitelor digitale utilizate, caracteristici care nu pot fi puse in evidenta de analizorul logic.

Sistemul de calcul rulează programele specifice analizorului logic si permite prin intermediul acestuia prestabilirea si introducerea secvenţei de stimuli de intrare in montajul ce urmează a fi testat si apoi afişarea rezultatelor experimentului pe monitor

Analizorul logic digital ELV este un dispozitiv electronic care permite analiza si testarea structurilor logice. Acesta se cuplează la portul paralel al calculatorului (portul de imprimanta) si prin softul cu care este dotat, permite generarea si recepţionarea de semnale digitale programabile.

Dispozitivul are un număr de 12 intrări si 12 ieşiri digitale (compatibile TTL/CMOS) precum si o ieşire de alimentare a montajului (+5V).

Cu ajutorul lor se pot analiza dispozitive numerice cu maxim 12 variabile de intrare, respectiv 12 variabile de ieşire.

1. Instalarea softuluiKitul are in componenta sa o discheta care contine softul dispozitivului. Pentru a

instala programul, se accesează discheta, se caută fişierul „Install.exe” si se rulează programul. Se vor urma paşii afişaţi pe ecran.

Cerinţe minime de sistem 2 MB spaţiu pe hard-disc

2

Page 3: Logica digitala (ASDN)

8 MB RAM Procesor < 500 MHz Port Paralel Norton Commander V5.0 sau Windows ’95

2. Utilizarea programului

Programul fiind instalat, se caută fişierul executabil (de obicei c:\ELV\Da) „da.exe” si apoi se rulează. La rularea programului dispozitivul trebuie sa fie alimentat si activata comanda de pornire ON ( semnalat prin aprinderea ledului verde). Interfaţa grafica a programului este prezenta in figura 2 si permite utilizarea facila a programului.

Funcţionarea butoanelor:Start: Iniţializează interfaţa (dispozitivul) Se poate seta poziţia (pasul) de pornire/oprire Perioada unui ciclu (ms) Modul de lucru – manual (Einzelachritt); - automat (Automatik)Edit: Se selectează canalul (Kanal) Se editează semnalul (forma semnalului) pentru fiecare canal de ieşire Numele canalului (Namen) Secvenţa de ieşire a biţilor (Ex: 101100011010010101...) (Generator) Trecerea semnalului (ieşire) pe Hight/Low ( 5V / 0V ) Selectarea pasului de pornire (Anf.) respectiv de oprire (Ende) pentru secvenţa de

ieşireKanal: selectează canalele vizibile pe grafic (Ausgange – ieşiri si Eingange -

intrări)Laden: încarcă o înregistrare anterioaraSpeicheren: salvează secvenţa de ieşireOptionen: Opţiunile programului – legate de adresa portului paralel,prin funcţiile lui, se

recomanda sa NU fie modificate (eventualele modificări pot duce la blocarea/nefuncţionarea programului)

Culoarea cu care apare pe grafic (Farben) Export – creează un fişier cu toate datele de intrare si ieşire care poate fi folosit

pentru o analiza ulterioara a datelor Import – încarcă fişierele salvate anterior

Hilfe: un mic ghid de ajutor in limba germanaBenden: Ieşirea din programZuruck: Înapoi (revenire la meniul anterior)

3. Mod de conectare a intrărilor/ieşirilor

3

Page 4: Logica digitala (ASDN)

Dispozitivul are 12 ieşiri (numerotate de la 1 la 12) identificabile prin conectorii de culoare galbena si 12 intrări (numerotate de la 1 la 12) identificabile prin conectori de culoare alba. In plus mai exista 2 conectori de alimentare a montajului: Negru – masa (GND), Roşu - +5V.

Circuitele logice vor fi alimentate numai prin intermediul acestor conectori respectându-se polaritatea. Analizorul de semnal digital ELV se alimentează de la o sursa externa (alimentator) care debitează o tensiune continua (bine filtrata) cuprinsa intre 8-15 V.

Nu se va depăşi valoarea de 15 V deoarece acest lucru ar duce la defectarea dispozitivului precum si a calculatorului la care acesta este conectat.

4

Page 5: Logica digitala (ASDN)

Fig. 2 Afişarea opţiunilor analizorului ELV

PROGRAMATORUL LEAPER-10

LEAPER-10 este un dispozitiv general de programare/testare caracterizat prin manevrabilitate, consum de energie redus si exactitate.

Se poate conecta si la portul paralel al PC-ului si, de asemenea, se poate folosi alături de un laptop, daca este alimentat de baterii. Folosirea programului este deosebit de facila, îndeosebi datorita softului performant împreuna cu care este livrat. Cu ajutorul programatorului LP10 se pot realiza: citirea, scrierea, ştergerea si verificarea diferitelor dispozitive de memorare. De asemenea, cu ajutorul programului se pot crea si rula proiecte, care sunt de fapt lanţuri de instrucţiuni pentru programator.

Dispozitivele programabile cu LEAPER-10 sunt următoarele: EPROM, EEPROM, Flash EPROM, BPROM, Nonvolatile RAM, Serial EEPROM, Micro Chip PLD, PLA, GAL, PPL, EPLD.

Operarea cu ajutorul lui LEAPER-10

Punerea in funcţiunePentru a pune in funcţiune programatorull, este necesar sa se efectueze următorii

paşi:a. Oprirea PC-uluib. Eliberarea portului paralel de eventuale dispozitive perifericec. Conectarea la portul paralel a mufei de date de la cablul programatoruluid. Conectarea mufei de alimentare (de la transformator) la programatore. Punerea sub tensiune a transformatoruluif. Pornirea calculatoruluig. Pornirea programului

ATENTIE!!! Nu se va conecta mufa la portul paralel al calculatorului cat timp acesta este sub tensiune!După efectuarea acestor paşi si după bootarea sistemului se porneşte programul „lp10.exe” din directorul in care acesta a fost instalat. In cazul in care nu este ales portul corect, se alege din Option – Parallel Port No.

5

Fig. 3 Programatorul LEAPER-10

Page 6: Logica digitala (ASDN)

Pentru a putea opera cu un anumit dispozitiv, trebuie mai întâi ales tipul dispozitivului. Acest lucru se realizează din meniul Device. De aici se poate alege dispozitivul folosit in funcţie de categoria din care face parte (Trademark, Category), in funcţie de fabricant (Manufacturer), direct după serie (Type number) sau din lista ultimelor dispozitive folosite (History). Categoria selectata din lista Category va influenta lista din Manufacturer, iar aceasta pe cea din Type number. După aceasta selecţie se poate opera cu dispozitivul.

Programarea dispozitivului de memorare

Programarea dispozitivului înseamnă de fapt înscrierea unei informaţii binare, conţinute intre anumite adrese din buffer. Programarea se realizează din Process-Program. Pentru a modifica parametrii standard (aceşti parametrii sunt fixaţi automat in momentul selectării dispozitivului) se va apăsa Set Parameter. Aici se pot stabili: timpul de citire/verificare, tensiunea de alimentare, amplitudinea impulsului, durata impulsului, precum si metoda de programare.

Ştergerea dispozitivului de memorare

Ştergerea dispozitivului se face din Process – Erase. Pentru a putea efectua aceasta operaţie, dispozitivul trebuie sa suporte ştergerea electrica. După ştergere, dispozitivul este imediat pregătit pentru o noua scriere.

Protejarea dispozitivului de memorare

In cazul in care dispozitivul suporta aceasta opţiune, acesta poate fi protejat la eventuale modificări. Acest lucru se realizează din Process – Protect.

Etapele realizării unui experiment sunt:1. Stabilirea temei si a protocolului de funcţionare a unei structuri logice

combinaţionale sau/si secvenţiale.2. Analiza si sinteza structurilor logice, utilizând tabele de adevăr, forme de

unda a semnalelor de intrare si metode de sinteza a circuitelor combinaţionale si secvenţiale.

3. Reprezentarea schemelor logice rezultate utilizând tipurile de circuite integrate propuse pentru experiment, in concordanta cu datele de catalog aferente acestor circuite (schema logica, numerotare pini, încărcare ieşiri).

4. Estimarea teoretica a rezultatelor experimentului.5. Realizarea practica, pe placa de încercări a structurii obţinute la punctul 3.6. Alimentarea analizorului logic, si implicit a montajului, pornirea

programului de testare, prestabilirea secvenţei valorilor semnalelor de intrare si vizualizarea rezultatelor funcţionarii montajului.

7. Compararea acestor rezultate cu cele estimate teoretic la punctul 4 si depanarea defectelor in cazul apariţiei unei erori.

6

Page 7: Logica digitala (ASDN)

1. Axiome şi Teoreme ale Algebrei Booleene; aplicaţii

În literatura de specialitate, algebra booleană este prezentată ca având la bază diferite grupe de axiome. Alegerea unui anumit grup de axiome este arbitrară cu condiţia ca axiomele grupului să fie independente (nici una să nu fie dedusă din celelalte) şi să nu fie contradictorii.

În cele ce urmează, se va alege un grup de axiome, definindu-se şi evidenţiindu-se particularităţile algebrei booleene.

Fie mulţimea B cu cel puţin 2 elemente distincte, în care se definesc două operaţii

binare, operaţia SAU(cu operatorul "+"), respectiv ŞI (cu operatorul ” .” şi o relaţie de echivalenţă între elementele mulţimii B (având simbolul "=").În mulţimea B există două constante caracteristice: constanta 0 si constanta 1.Mulţimea B considerată astfel este o algebră booleană, notată <B,=,+, ,0,1> dacă sunt satisfăcute următoarele axiome:

A1. Operaţia SAU este asociativăoricare ar fi A,B,C din B,

A2. Operaţia ŞI este asociativăoricare ar fi A,B,C din B,

A3. Operaţia SAU este comutativăoricare ar fi A,B din B,

A4. Operaţia ŞI este comutativaoricare ar fi A,B din B

A5. Există un singur element neutru cu efect nul faţă de operaţia SAU, elementul 0, astfel încât oricare ar fi A din mulţimea B A6. Există un singur element neutru cu efect nul faţă de operaţia ŞI, elementul 1, astfel încât oricare ar fi A din mulţimea B A7. Operaţia SAU este distributivă faţă de operaţia ŞI

oricare ar fi A,B,C din B A8. Operaţia ŞI este distributivă faţă de operaţia SAU

oricare ar fi A,B,C din B A9. Orice element A din mulţimea B are un complement, notat astfel încât

şi Pe baza axiomelor de mai sus se pot demonstra o serie de teoreme fundamentale,

dintre care amintim cele mai importante: 1. Idempotenţa elementelor mulţimii B pentru operaţiile SAU, ŞI :

7

Page 8: Logica digitala (ASDN)

Teorema 1.1 A+A=ATeorema 1.2 2. Elemente absorbante pentru operaţiile SAU, ŞITeorema 2.1 A+1=1Teorema 2.2 3. Legile absorbţieiTeorema 3.1 Teorema 3.2 Teorema 3.3

Teorema 3.4

Teorema 3.5

Teorema 3.6 4. Unicitatea complementuluiTeorema 4.1 Orice element din mulţimea B are un singur complement in B5. Complementarea este o operaţie involutivă =Teorema 5. A =A6. Legile lui DE MORGANTeorema 6.1 Teorema 6.2

În teoria comutaţiei se aplică o algebră în care mulţimea B are numai două elemente, corespunzătoare celor două stări stabile ale elementelor de comutaţie, respectiv B={0,1}Algebra comutaţiei este identică cu algebra booleană folosită în logică, în care cele două elemente ale mulţimii B sunt constantele logice "fals" şi "adevărat".Din acest motiv, algebra comutaţiei este denumită şi algebra logicii, operaţia SAU fiind denumită sumă logică, operaţia ŞI produs logic, complementarea este denumită negare, iar funcţiile de transfer, funcţii logice.

Funcţia de comutaţie este o noţiune fundamentală în teoria circuitelor de comutaţie. O funcţie de comutaţie de n variabile f(X0,X1 ,.......,Xn-1) unde variabilele Xi pentru i=0,1.....,n-1 iau valorile 0 şi 1, se defineşte ca o aplicaţie a mulţimii în

mulţimea {0,1}. Prin s-a notat produsul cartezian al mulţimii {0,1} cu ea însăşi de n ori. Domeniul de definiţie al funcţiei f ( X0 ,X1 ,......Xn-1 ) este prin urmare mulţimea X= = ale cărei elemente

sunt n de 1 şi 0 Exemple de funcţii de comutaţii:

Obiectivul experimentului: studiul, cunoaşterea axiomelor şi teoremelor algebrei booleene şi utilizarea acestora la reducerea funcţiilor logiceExemplu: fie funcţia logică

8

Page 9: Logica digitala (ASDN)

Utilizând axiome şi teoreme ale algebrei booleene, funcţia f(A,B,C,D) poate fi redusă la o formă mai simplă, cu un număr mai mic de terminaţii variabile şi care să aibă aceeaşi comportare din punct de vedere logic.Rezultă:

S-au folosit pentru reducere (minimizare) axiomele A6 şi A9.Observaţie: un termen al funcţiei poate fi grupat de mai multe ori cu alţi termeni,

din suma logica ca efect al teoremei 1.1: A+A=ADesfăşurarea experimentului: 1. Să se demonstreze teoremele algebrei booleene utilizând cele nouă axiome ce o

definesc2. Să se reducă la o formă mai simplă funcţiile:

3. Să se aplice teoremele DE MORGAN funcţiilor:

2.Reprezentarea funcţiilor de comutaţie; aplicaţii

Comportarea unui circuit de comutaţie combinaţional cu n intrări este descrisă de sistemul de funcţii de comutaţie:

9

Page 10: Logica digitala (ASDN)

Fig 2.1 Modelul unui circuit de comutaţie combinaţional

Specificarea funcţiilor de comutaţie se poate realiza prin:

2.1 Tabele de adevăr

Tabelul de adevăr reprezintă o modalitate tabelară de reprezentare a unei funcţii de comutaţie şi conţine pe de o parte toate combinaţiile posibile şi distincte de valori binare ale variabilelor de intrare, n-uplurile şi apoi toate valorile funcţiei pentru fiecare combinaţie binară, atribuită celor n variabile ale funcției.

Exemplu:

Fig 2.2 Reprezentarea funcţiei f(X0 , X1 , X2) prin tabel

Coloana Ez din figură reprezintă echivalentul zecimal al fiecărei combinaţii binare din tabel, interpretată ca un număr binar pe 3 biţi, bit-ul X0 fiind cel mai puţin semnificativ.

2.2 Sumă logică de mintermi

Un minterm este o funcţie elementară de n variabile notată unde n indică numărul de variabile ale funcţiei iar i este echivalentul zecimal al n-uplului funcţiei aplicat în 1, interpretat ca număr binar cu n poziţii.

Funcţiei minterm îi corespunde o expresie din mulţimea expresiilor generate de n variabile în formă directă sau negată (produs logic), care în urma evaluării pentru toate n-uplurile, ia aceeaşi valoare ca şi funcţia .

10

Page 11: Logica digitala (ASDN)

Ez X2 X1 X0

0 0 0 0 1 0 0 0 0 0 0 0

1 0 0 1 0 1 0 0 0 0 0 0

2 0 1 0 0 0 1 0 0 0 0 0

3 0 1 1 0 0 0 1 0 0 0 0

4 1 0 0 0 0 0 0 1 0 0 0

5 1 0 1 0 0 0 0 0 1 0 0

6 1 1 0 0 0 0 0 0 0 1 0

7 1 1 1 0 0 0 0 0 0 0 1

Fig. 2.3 Tabelul funcţiilor minterm de 3 variabile

Se observă din tabel, de exemplu, că funcţia minterm are expresia

, 1 doar dacă X2 = 0, X1 =1 şi X0 =0, si valoarea

0 pentru celelalte atribuiri.

Având în vedere modul de definire al funcţiilor minterm rezultă că orice funcţie de comutaţie de n variabile poate fi reprezentată ca sumă logică de funcţii minterm

unde reprezintă suma logică iar

mulţimea indicilor echivalentului zecimal corespunzător n-uplurilor interpretate ca număr binar, pentru care funcţia are valoarea „1”.

Funcţia reprezentată în fig. 2.2 poate fi scrisă: ; utilizând o notaţie simplificată în care se păstrează doar indicii inferiori se poate scrie:

Asociind fiecărei funcţii minterm, expresia logică corespunzătoare, rezultă:

ceea ce reprezintă forma canonică

disjunctivă a funcţiei. Prin forma canonică se înţelege faptul că termenii produs logic ai funcţiei conţin toate variabilele funcţiei, între termeni realizându-se operaţia SAU (disjunctie).

2.3 Produs logic de maxtermi

Funcţia maxterm este o functie elementară de n variabile notate unde i este echivalentul zecimal al n-uplului funcţiei, aplicat in „0”, interpretat ca un număr binar cu n poziţii. Functiei maxterm îi corespunde o expresie generată de n variabile în formă directă sau negată, (sumă logică) care în urma evoluării pentru toate n-uplurile, ia aceeasi valoare ca si .

11

Page 12: Logica digitala (ASDN)

Ez X2 X1 X0

0 0 0 0 0 1 1 1 1 1 1 1

1 0 0 1 1 0 1 1 1 1 1 1

2 0 1 0 1 1 0 1 1 1 1 1

3 0 1 1 1 1 1 0 1 1 1 1

4 1 0 0 1 1 1 1 0 1 1 1

5 1 0 1 1 1 1 1 1 0 1 1

6 1 1 0 1 1 1 1 1 1 0 1

7 1 1 1 1 1 1 1 1 1 1 0

Fig. 2.4 Funcţiile maxterm de 3 variabile

Funcţia maxterm de exemplu are expresia ; =0 pentru X2 = 0, X1 =1 şi X0 =1, pentru celelalte atribuiri având valoarea „1”. O funcţie de comutaţie de n variabile poate fi reprezentată printr-un produs de maxtermi:

unde este mulţimea indicilor echivalentului zecimal al

n-uplurilor interpretate ca număr binar pentru care funcţia ia valoarea „0”.Funcţia de comutaţie din Fig. 2.2 poate fi specificată astfel:

sau intr-o forma simplificata,

Înlocuind expresiile logice ale funcţiilor maxtermi se obţine:

ceea ce reprezintă forma canonică disjunctivă a funcţiei f

2.4 Diagrama Veitch-Karnaugh

Diagrama V-K este o reprezentare grafică matriceală a tabelului de adevăr care cuprinde 2n compartimente, n reprezentând numărul variabilelor de intrare ale funcţiei. În colţul din stânga sus pe diagonală sunt indicate variabilele de intrare, iar pe marginea fiecărui rând şi coloană, valorile binare atribuite variabilelor funcţiei. În fiecare compartiment se înscrie valoarea funcţiei pentru n-uplul corespunzător acelui compartiment atribuit variabilelor funcţiei. Compartimentele diagramei V-K sunt astfel distribuite încât celor alăturate pe linie sau coloană să le corespundă n-upluri adiacente (să difere printr-un singur bit pe aceeaşi poziţie binară).

Astfel funcţia de comutare din fig. 2.2 are următoarea reprezentare:

12

Page 13: Logica digitala (ASDN)

Fig. 2.5 Reprezentarea funcţiei din fig 2.2 pe o diagrama V-K

În colţul din dreapta jos al fiecărui compartiment este util să se înscrie echivalentul zecimal al n-uplului aplicat, pentru a facilita reprezentarea funcţiei de comutaţie pe diagrama V-K

Funcţii de comutaţie incomplet specificate

Adesea funcţiile de comutaţie pe care trebuie să le realizeze un circuit de comutaţie nu sunt definite pentru toate combinaţiile posibile de valori ale variabilelor de intrare, fie pentru ca anumite combinaţii de valori nu pot să apară în practică pentru circuitul dat, fie că valorile funcţiei pentru anumite combinaţii de valori sunt indiferente în funcţionare.

În tabelul de adevăr al unei funcţii de comutaţie incomplet specificată, se înscrie în dreptul n-uplurilor pentru care valoarea funcţiei nu este precizată, notaţia X (redundanta).

Exemplu:Ez X2 X1 X0 f(X0, X1, X2)

0 0 0 0 0

1 0 0 1 0

2 0 1 0 1

3 0 1 1 1

4 1 0 0 X

5 1 0 1 1

6 1 1 0 0

7 1 1 1 X

Fig 2.6 Tabelul de adevăr al unei funcţii de trei variabile incomplect specificatăObiectivul experimentului: studiul şi aplicarea diferitelor forme de reprezentare a

funcţiilor de comutaţieAplicaţie rezolvată: se dă funcţia de comutaţie f1(X0,X1,X2)=

Se cere reprezentarea funcţiei prin tabel de adevăr, diagrama V-K, în formă canonică disjunctivă şi formă canonică conjunctivă.

În forma prezentată, funcţia conţine termeni care nu au toate variabilele funcţiei (formă normal disjunctivă) şi folosind axiome şi teoreme din algebra booleană, va fi reprezentată în formă canonică disjunctivă:

13

Page 14: Logica digitala (ASDN)

- formă canonică

disjunctivă (f.c.d.)

Reprezentarea funcţiei prin tabel de adevăr:

Ez X2 X1 X0 f(X0, X1, X2)

0 0 0 0 0

1 0 0 1 1

2 0 1 0 0

3 0 1 1 1

4 1 0 0 0

5 1 0 1 1

6 1 1 0 0

7 1 1 1 1

Reprezentarea funcţiei prin diagrama V-K:

Reprezentarea funcţiei în formă canonică conjunctivă:

Desfăşurarea experimentului: Să se reprezinte funcţiile de mai jos în: forma canonică disjunctivă, forma canonică conjunctivă, tabel de adevăr şi diagrame V-K.

1.

2.

Ez X3 X2 X1 X0 f(X0, X1, X2,X3)

0 0 0 0 0 0

1 0 0 0 1 0

2 0 0 1 0 0

14

Page 15: Logica digitala (ASDN)

3 0 0 1 1 0

4 0 1 0 0 1

5 0 1 0 1 1

6 0 1 1 0 X

7 0 1 1 1 1

8 1 0 0 0 1

9 1 0 0 1 1

10 1 0 1 0 X

11 1 0 1 1 0

12 1 1 0 0 0

13 1 1 0 1 0

14 1 1 1 0 0

15 1 1 1 1 0

3. :

4.

3. Minimizarea funcţiilor booleene; aplicaţii

O formă minimă normal disjunctivă a unei funcţii booleene este rezultatul aplicării axiomelor si teoremelor algebrei booleene , obţinând astfel o funcţie cu număr mai mic de variabile a termenilor şi un număr mai mic de termeni, prin procedeul denumit minimizare.

Utilizarea diagramelor V-K este una din metodele de minimizare a funcţiilor booleene.Un termen produs T1, acoperă un termen produs T2 notat T1 T2

dacă T2 conţine pe fiecare din variabilele care apar in T1 în aceeaşi formă ( complementate sau necomplementate ). Exemplu :

15

Page 16: Logica digitala (ASDN)

Dacă un termen produs T1 acoperă un termen produs T2 atunci T2 implică pe T1 , deoarece când T2 ia valoarea ,, 1 ” T1 care conţine o parte din variabilele din T2 , ia şi el valoarea „1” . În consecinţa dacă T1 T2 atunci T1 + T2 = T1 .

Un implicant prim al unei expresii logice E, este un termen produs T care implică expresia E şi nu este acoperit de alţi termeni produs care implica expresia E.

Un implicant prim esenţial al unei expresii logice este acel implicant prim care acoperă cel puţin un termen produs al expresiei, neacoperit de alţi implicanţi primi.

Obţinerea formei minime normal disjunctive a unei funcţii prin utilizarea diagramelor V-K , presupune parcurgerea următoarelor etape :

a) reprezentarea funcţiilor booleene pe diagrame V-K b) determinarea implicanţilor primi ai funcţiei prin realizarea de grupări maxime de 2n

compartimente alăturate în care funcţia ia valoarea „1” . Observaţie : pentru a se obţine o grupare maximă in cazul funcţiilor incomplet specificate ,

se includ în grupări şi compartimentele notate cu X ( nedefinită ) , dar numai dacă prin adăugarea acestor compartimente (termeni redundanţi) se obţine o maximizare a grupărilor reprezentând implicanţii primi. c) forma minimă disjunctivă a funcţiei va conţine suma logica a implicanţilor primi esenţiali ( obligatoriu ) şi a acelor implicanţi primi care au cea mai mare acoperire şi includ ceilalţi termeni canonici ai funcţiei neacoperiţi de implicanţii primi esenţiali.

Observaţie : se pot obţine mai multe forme minime disjunctived) expresia logică a implicanţilor primi este reprezentată de produsul logic al variabilelor

funcţiei, care nu îşi modifică valoarea pe suprafaţa acoperită de implicant, in formă negată sau directă , după cum iau valoarea „0” sau „1” in n-uplurile binare asociate compartimentelor grupate.

e) în cazul minimizării funcţiilor booleene cu mai mult de patru variabile se procedează astfel: se delimitează printr-o linie distinctă diagramele V-K de patru variabile , se realizează grupările maxime în cadrul acestora şi apoi dacă este posibil se grupează suprafeţe identice între diagrame de 4 variabile alăturate .

Exemplu: Să se minimizeze funcţiile booleene reprezentate in diagramele V-K de mai jos:

fminimă = 0 2 + X0 X2 = X0 X2 (funcţia coincidentă)

16

Page 17: Logica digitala (ASDN)

fminimă =

Observaţie importantă: obţinerea expresiilor logice a implicanţilor primi realizaţi prin gruparea a 2n compartimente adiacente (alăturate) în care funcţia reprezentată ia valoarea „1” se bazează pe teorema : A B + A = A (B + ) = A unde B + = 1

Obiectivul experimentului : studiul şi aplicarea metodei de minimizare a funcţiilor booleene, utilizând diagrama V-K .

Desfăşurarea experimentului :Aplicaţii : Să se minimizeze funcţiile logice de mai jos , utilizând diagramele V-K :

1. f1 ( ) = 0 1 2 3+ 0 X1 2 3 + 0 1 2 X3 + + 0 X1

2 X3 + X0 1 X2 3 + X0 X1 X2 X3 +X0 X1 X2 3+ X0 1 X2 X3

2. f2 ( = ∑ (0,1,4,5,6,7,13,15) şi N (3,10)

3. f3 ( ) = ∑ (0,2,4,5,10,13,15)

4. f4 ( ) = ∑ (0,1,2,3,4,6,8,9,10,11,12,14)

5. f5 ( ) = ∑ (0,1,2,4,5,6,9,10,11,12) şi N (3,7,8,13,14,15)

Observaţie : În cadrul diagramelor V-K cu mai mult de patru variabile pot fi abordate doua variante de notare a valorilor binare atribuite variabilelor si anume : a)

b)

17

Page 18: Logica digitala (ASDN)

6. f6( )=∑(0,2,4,6,8,10,12,14,16,18,19,20,21,24,26,30,34,35,36,37,50, 51, 52, 53) şi N ( 22 , 28)7. f7 ( ) = ∑ (0,3,4,7,10,11,14,15,16,18,19,23,26,27,30,31,32,36,38,42, 43,46,50,51,52,54,55,58,59,62) şi N (2,6,20,22,34,35,39,47,48,63)8. f8 ( ) = 0 1 X2 + X1 X2

4. Sinteza funcţiilor logice combinaţionale utilizând circuite elementare - porţi logice – de tip

ŞI-NU, ŞI-SAU-NU, scheme logice, aplicaţii

Pentru realizarea unei funcţii de comutaţie se pot utiliza circuite de comutaţie elementare, care realizează funcţiile elementare, ca de pildă porţile logice ŞI-NU, SAU, NU, ŞI etc.

Reprezentarea modului de realizare a funcţiei de comutaţie a unui circuit combinaţional folosind porţi logice se realizează sub forma unui graf orientat numit schemă logică. In nodurile acestui graf sunt reprezentate simbolic porţile logice care realizează funcţiile elementare asupra variabilelor de intrare, respectiv asupra ieşirilor altor porţi logice, reprezentate de arcele grafului.

Simbolurile folosite pentru reprezentarea circuitelor de comutaţie elementare şi a funcţiilor realizate de acestea sunt prezentate mai jos:

18

Page 19: Logica digitala (ASDN)

SAU Exclusiv

Funcţiile de comutaţie realizate de un circuit combinaţional pot fi reprezentate printr-o schema logică. Finalitatea analizei unui circuit combinaţional creează posibilitatea descrierii funcţionale formale a circuitului respectiv. Aplicaţiile acestei descrieri se refera la:

Determinarea comportamentului circuitului pentru diverse combinaţii ale intrărilor

Dezvoltarea unor structuri logice distincte, cu acelaşi comportament logic Adoptarea descrierii logice a circuitului dat, in vederea implementării cu alte

tipuri standardizate de circuite logice. Utilizarea descrierii funcţionale la analiza unor sisteme logice de o mai mare

complexitate, care includ circuitul dat Fiind dată schema logică a unui circuit combinaţional se poate obţine descrierea

formală a acestui circuit în mai multe moduri, unul fiind acela în care pornind de la intrări spre ieşire se construiesc inductiv expresiile logice care descriu funcţional fiecare circuit elementar. Complexitatea soluţiei este proporţională cu dimensiunea circuitului analizat.

Exemplu: Se da schema logică a circuitului combinaţional din figura 4.1 şi se cere reprezentarea funcţiei sale de transfer.

Fig. 4.1 Circuit logic combinaţional

Aplicând metoda menţionată, rezultă:

19

Page 20: Logica digitala (ASDN)

Sinteza unei funcţii logice combinaţionale cu porţi logice presupune ca o primă etapă, minimizarea funcţiei astfel încât circuitul combinaţional obţinut să fie de o complexitate cât mai redusă.

In cazul sintezei funcţiei combinaţionale cu porţi ŞI-NU se aplică o dublă complementare funcţiei date (nu îşi schimbă valoarea ) şi se utilizează teoremele De Morgan, obţinându-se o expresie care conţine numai operatii ŞI-NU; fiecărei astfel de operaţie îi va corespunde în schema logică câte o poartă ŞI-NU având atâtea intrări câte variabile are fiecare termen produs logic din expresia logică obţinută.

Exemplu: Să se realizeze sinteza cu porţi ŞI-NU a funcţiei :

Rezultă următoarea schemă logică a circuitului combinaţional:

Fig. 4.2 Circuit combinaţional realizat cu porţi ŞI-NU

Pentru implementarea hardware a unui astfel de circuit se pot folosi circuite integrate TTL ( Tranzistor –Tranzistor Logic) care pot fi identificate prin înscrisul de pe capsulă, care conţine un grup de litere ce reprezintă (prescurtat) numele firmei producătoare şi un grup de cifre, care indică tipul circuitului integrat ai cărui parametri se regăsesc în cataloagele de circuite integrate ale firmelor producătoare.

Tipurile de circuite integrate ce conţin porţi ŞI-NU sunt: 404 – 6 porţi inversoare cu o intrare

20

Page 21: Logica digitala (ASDN)

400 – 4 porţi „ŞI-NU” cu 2 intrări 410 – 3 porţi „ŞI-NU” cu 3 intrări 420 (440) – 2 porţi „ŞI-NU” cu 4 intrări 430 – o poartă „ŞI-NU” cu 8 intrări

Un parametru electric al ieşirii unei porţi logice integrate, care trebuie luat în considerare la implementarea unui circuit combinaţional este factorul de încărcare la ieşire (FE) care exprimă numărul de intrări pe care le poate comanda o ieşire a unei porţi. Definirea factorului de încărcare la intrarea unei porţi (FI) şi la ieşirea unei porţi (FE) se face plecând de la valorile curenţilor corespunzători tensiunilor limită admişi la intrare respectiv tensiunilor limită garantate la ieşire pentru cazul cel mai defavorabil.

In cazul porţilor ŞI-NU standard, factorul de încărcare la ieşire este 10 (circuitul 420) şi 20 dacă poarta este de putere (circuitul 440).

Intrările porţilor logice TTL nefolosite nu se recomandă să fie menţinute neconectate, deoarece pot colecta tensiuni de zgomot. Aceste intrări pot fi conectate la un potenţial neutru, care să nu influenţeze logica funcţiei de ieşire, la masă – „0”, la +5V tensiunea de alimentare a circuitului prin intermediul unei rezistenţe de 1kΩ, sau la o intrare folosită dacă factorul de încărcare la ieşire (FE) a porţii permite acest lucru:

Fig 4.3 Moduri de conectare a intrărilor neutilizate a unui circuit integrat TTL

Porţile TTL nu admit conectare în scurtcircuit a două sau mai multe ieşiri, motivul fiind apariţia posibilităţii ca o singură poartă să aibă ieşirea la „0” şi toate celelalte la „1”. In acest caz poarta care are la ieşire „0” preia curenţii de sarcină (Is) ai celorlalte porţi (fig 4.4) ceea ce conduce la creşterea nivelului de tensiune, pentru „0”, existând şi posibilitatea distrugerii tranzistoarelor etajului de ieşire (T11) datorită curenţilor mari: (n-1)Is.

21

Page 22: Logica digitala (ASDN)

Fig 4.4 Conectarea în scurtcircuit a ieşirilor a n porţi TTL

Conectarea în scurtcircuit a ieşirilor porţilor logice este admisă în cazul utilizării circuitelor cu colector deschis (când rezistenţa de colector, Rn, a etajului de ieşire este calculată şi adăugată de utilizator), sau a circuitelor de tip trei stări (fig 4.5) : Circuit 4125 – 4 porţi neinversoare trei stări

A I E0 0 0 0 1 11 0 înaltă impedanţă1 1 înaltă impedanţă

Circuit 4126 – 4 porţi neinversoare trei stări

A I E0 0 înaltă impedanţă0 1 înaltă impedanţă1 0 01 1 1

Fig 4.5 Porţi logice trei stări

Se observă din tabelul de funcţionare al acestor circuite că funcţie de valoarea binară a semnalului de autorizare A, ieşirea este identică cu intrarea sau trece in starea de înalta impedanţa. Necesitatea realizării funcţiei logice cablate prin legarea in scurtcircuit a ieşirilor porţilor, apare frecvent în sistemele de calcul în care circulaţia informaţiei se realizează prin magistrale de informaţie (BUS), fig 4.5.

22

Page 23: Logica digitala (ASDN)

Di – date transmise pe magistrală Oi – date recepţionate de pe magistrală DIEN- comandă de transmisie/recepţie date

Fig 4.5 Utilizarea circuitelor trei stări pentru conectarea la magistrala de informaţie

Sinteza funcţiilor combinaţionale cu porţi „ŞI-SAU-NU”, presupune obţinerea formei minime a negatei funcţiei, se complementează, şi apoi fiecărei operaţii de tip „ŞI-SAU-NU” îi corespunde un grup de porţi „ŞI-SAU-NU” în schema logică.

Exemplu: Să se realizeze sinteza funcţiei : f ( ) = Σ(2,3,4,5)Minimizăm negata funcţiei cu diagrama V-K, grupând compartimentele pentru

care funcţia ia valoarea „0”:

complementăm:

şi implementând cu porţi ŞI-SAU-NU se obţine schema logică:

23

Page 24: Logica digitala (ASDN)

Tipuri de circuite TTL cu porţi ŞI-SAU-NU:

Circuitul 451 – 2 grupuri în capsulă Circuitul 454 – un grup în capsulă

Obiectivele experimentului: Studiul şi implementarea funcţiilor combinaţionale utilizând porţi logice de tip ŞI-NU, ŞI-SAU-NU.

Desfăşurarea experimentului: Să se implementeze cu porţi ŞI-NU, porţi ŞI-SAU-NU funcţiile de mai jos precizând tipul şi numărul de circuite integrate TTL necesare.

Aplicaţie rezolvată:

Sinteza funcţiei cu porţi ŞI-NU:

Schema logică cu porţi ŞI-NU:

24

Page 25: Logica digitala (ASDN)

Dacă variabilele de la intrarea circuitului nu sunt disponibile în forma negată se poate obţine următoarea implementare posibilă:

Sinteza funcţiei cu porţi ŞI-SAU-NU:

Schema logică cu porţi ŞI-SAU-NU:

Nedispunând de variabile complementate, se poate obţine circuitul:

25

Page 26: Logica digitala (ASDN)

şi

Utilizarea diferitelor tipuri de circuite integrate TTL la implementarea unui circuit

combinaţional necesită informaţii de catalog referitoare la schema logică integrată, numărul şi semnificaţia terminalelor circuitului, tensiuni de alimentare, etc.

Spre exemplu, circuitul 400, (4 porţi ŞI-NU cu 2 intrări) are următoarea reprezentare:

Fig. 4.6 Circuitul logic integrat TTL 400 (Privire de deasupra circuitului – se vede înscrisul pe circuit)

a, b, c, d – porţi ŞI-NU cu 2 intrări e – cheia circuitului (o adâncitură), pe o latură mică a capsulei f- terminalele circuitului VCC – Tensiunea de alimentare (curent continuu)

26

Page 27: Logica digitala (ASDN)

GND – Masa (electrica)

Numerotarea terminalelor circuitului se face, ca în figura 4.6 considerând privită capsula de deasupra, cu circuitul poziţionat cu cheia în stânga.

Utilizarea terminalelor circuitului se face în concordanţă cu conexiunile interne reprezentate în schema logică a acestuia (fig 4.6).Astfel pentru porţi ŞI-NU (a), terminalele (pinii) 1,2 sunt intrări iar 3 este ieşire. Prin intermediul pinului 7 (ground) şi 14 (tensiune curent continuu), circuitul se alimentează la tensiunea de +5V.

Verificarea funcţionarii circuitelor a căror funcţii de transfer sunt funcţiile f1,f2,f3 se face generând la intrările circuitului toate combinaţiile binare distincte şi comparând valorile rezultate ale ieşirilor cu cele date prin specificarea funcţiilor logice f1,f2 şi f3.

5. Sinteza funcţiilor combinaţionale utilizând porţi logice SAU – EXCLUSIV

Structuri logice combinaţionale: codificator, decodificator, aplicaţii

Operaţia SAU–EXCLUSIV este comutativă, asociativă şi distributivă faţă de operaţia ŞI.

A B = B A comutativitateaA (B C)=(A B) C asociativitatea

A (B C)=A B A C distributivitatea faţă de ŞI

Sunt de asemenea valabile relaţiile : A A=0A 0=AA 1=A =1

Există anumite funcţii combinaţionale care nu se pot minimiza, în a căror reprezentare pe diagrama V-K unu-rile şi zero-urile sunt plasate „în tablă de şah” şi care pot fi realizate cu porţi logice SAU – EXCLUSIV .

Exemplu : să se realizeze cu porţi logice SAU-EXCLUSIV sinteza funcţiei f(A,B,C) = A B C + A + B + C

Fig. 5.1 Reprezentarea pe diagrama V-K a funcţieif(A,B,C) – „tabla de şah”

27

Page 28: Logica digitala (ASDN)

A B C + A + B + C = A (B C + ) + (B + C) = = A ( ) + (B C) = A (B C)

Schema logică :

circuitul 486 cu 4 porţi SAU – EXCLUSIV cu 2 intrări

Codificatorul este un circuit de comutatie combinaţional având in cazul general 2n

intrări si n ieşiri. Fiecărei intrări îi corespunde un anumit cod binar de n cifre generat la ieşirea circuitului.

Fig. 5.2 Circuitul decodificatorCondiţia de funcţionare corectă presupune ca la un moment dat o singură intrare să fie

activă . Deoarece această condiţie nu este respectată întotdeauna , în practică se utilizează codificatoare cu intrări prioritare la care intrărilor li se atribuie o anumită prioritate astfel încât atunci când sunt active mai multe intrări în acelaşi moment, la ieşire este generat codul intrării celei mai prioritare.

Sinteza circuitului codificator cu porţi logice ŞI-NU. Se propune realizarea unui codificator prioritar cu trei intrări , codificând şi starea când

nici un semnal nu este activ la intrare.

Fig. 5.3 Codificator prioritar cu trei intrări

Funcţionare circuitului este descrisă printr-un tabel de adevăr. Se consideră o intrare activă atunci când are valoarea „1”. Se atribuie intrări D0 prioritatea cea mai mică şi intrări D2

prioritatea cea mai mare, iar codurile corespunzătoare intrărilor sunt de asemenea alese de proiectant.

28

Page 29: Logica digitala (ASDN)

D2 D1 D0 C1 C0

0001

001x

01xx

0 0 – nici o intrare activă0 1 – codul intrării D0

1 0 – codul intrării D1

1 1 – codul intrării D2

Practic acum sinteza circuitului codificator se reduce la sinteza cu porţi logice ŞI-NU a funcţiilor C0(D0,D1,D2) , C1(D0,D1,D2)

Decodificatorul este un circuit de comutaţie combinaţional care în cazul general are n intrări reprezentând biţii codului de la intrarea circuitului şi 2n ieşiri , din care la un moment dat una singură este activă , cea corespunzătoare codului prezent în acel moment la intrări.

Fig. 5.4 Decodificator 2 intrări / 4 ieşiri

Când toate codurile de la intrarea circuitului sunt decodificate, se obţine un decodificator complet.

29

Page 30: Logica digitala (ASDN)

Sinteza circuitului decodificator cu porţi logice ŞI-NUSe va realiza un circuit decodificator cu 2 intrări şi 4 ieşiri considerând o ieşire activă

când are valoarea „0” .

Tabel de funcţionare:

C1 C00 0 1 1 1 00 1 1 1 0 11 0 1 0 1 11 1 0 1 1 1

Implementând cu porţi logice ŞI-NU, funcţiile de ieşire 0(C0,C1) , 1(C0,C1) , 2(C0,C1) 3(C0,C1) se obţine schema logică a circuitului decodificator.

Fig. 5.5 Schema logică cu porţi logice ŞI-NU a unui decodificator 2/4

Obiectivul experimentului : realizarea functiilor combinaţionale cu porţi SAU–EXCLUSIV , studiul funcţionarii şi implementarea structurilor de tip codificator şi decodificator , cu porţi logice ŞI–NU .

Desfăşurarea experimentului :

1. Se va realiza şi verifica funcţionarea unui circuit combinaţional realizat cu porţi SAU-EXCLUSIV (486) a cărui funcţie de transfer este :

30

Page 31: Logica digitala (ASDN)

f( ) = ∑(1,2,4,7,8,11,13,14)2. Să se realizeze sinteza cu porţi ŞI-NU a unui codificator prioritar cu trei intrări D0,D1,D2

intrarea D0 având prioritatea cea mai mare iar intrarea D2 prioritatea cea mai mică.3. Se va realiza un circuit combinaţional care să detecteze prezenţa unui singur bit egal cu „0” într-un cuvânt de 8 biţi utilizând 2 codificatoare prioritare cu 8 intrări şi 3 ieşiri (74148) şi porţi logice.4. Folosind un circuit decodificator binar-zecimal, 4 intrări şi 10 ieşiri (442) şi porţi logice, să se obţină o extensie a decodificatorului, la 12 iesiri :

Fig. 5.7 Decodificator BCD 442

Observaţie: Se fabrică sub forma de circuite integrate TTL decodificatoare complete cu 4 ,8 ,16 ieşiri. Tabelul de functionare al circuitelor decodificator, indica existenta unei corespondente între echivalentul zecimal al codului de la intrare, interpretat ca număr binar şi activarea acelei ieşiri notate cu acelaşi indice zecimal (vezi tabela de adevăr a circuitelor decodificatoare utilizate)

6. Sinteza cu porţi SI-NU a structurilor combinaţionale de tip multiplexor si

demultiplexor.

Multiplexor (selector)Circuitul combinaţional multiplexor in cazul general are 2n intrări de date, n

intrări de selecţie si o singura ieşire.Funcţionarea sa se caracterizează prin aceea ca in corelaţie cu configuraţia binara

generata de intrările de selecţie (codul de selecţie) o anumita intrare de date se transfera la ieşire cu valoarea binara corespunzătoare.Starea ieşirii multiplexorului la un moment dat este E=Di unde i este echivalentul zecimal al numărului binar generat la intrările de selecţie (adresa)

31

Page 32: Logica digitala (ASDN)

Sinteza cu porţi SI-NU a unui circuit multiplexor se realizează descriind funcţionarea circuitului prin tabel de valori care cuprinde toate combinaţiile binare distincte ale celor n intrări de selecţie si valoarea ieşirii corespunzătoare fiecare combinaţii. Se va realiza apoi sinteza cu porţi SI-NU a funcţiei de ieşire obţinând astfel un circuit multiplexor realizat cu porţi SI-NU.Fig. 6.1 Circuit multiplexor

Exemplu: Sa se implementeze un circuit multiplexor cu 2 intrări de selecţie, cu porţi SI-NU.

Tabelul de funcţionare a multiplexorului cu 2 intrări de selecţie:

Fig. 6.2 Schema bloc a unui multiplexor cu 2 intrări de selecţie

Fig. 6.3 Schema logica cu porţi Si-Nu a circuitului multiplexor cu 2 intrări de selecţie

Demultiplexorul

Circuitul combinaţional demultiplexor are in forma sa generala o intrare de date, n intrări de selecţie si 2n ieşiri. Codul binar generat de cele n intrări de selecţie transfera intrarea ca valoare binara la ieşirea corespondenta codului de selecţie generat.

Starea circuitului la un moment dat este caracterizată de valoarea iesirii Ei=I, unde i este echivalentul zecimal al numărului binar generat la intrările de selecţie a demultiplexorului.

S1 S0 E0011

0101

D0

D1

D2

D3

32

Page 33: Logica digitala (ASDN)

Fig. 6.4 Schema bloc a unui demultiplexor cu n intrări de selectie

Pentru a realiza sinteza unui circuit demultiplexor cu porţi SI-NU, se descrie funcţionarea circuitului printr-un tabel de adevăr, ce cuprinde combinaţiile binare distincte ale celor n intrări de selecţie si valorile ieşirilor pentru aceste combinaţii. Implementând cu porţi SI-NU cele 2n funcţii se obţine circuitul demultiplexor.

Exemplu: Sa se realizeze sinteza cu porţi SI-NU a unui circuit demultiplexor cu 2 intrări de selecţie.Tabelul de funcţionare al circuitului demultiplexor cu 2 intrări de selecţie:

Fig. 6.5 Schema bloc a circuitului demultiplexor cu 2 intrări de selecţie

Expresiile logice ale funcţiilor de ieşire sunt:

Schema logica cu porţi SI-NU:

33

S1 S0 E3 E2 E1 E0

0 0 0 0 0 I0 1 0 0 I 01 0 0 I 0 01 1 I 0 0 0

Page 34: Logica digitala (ASDN)

Obiectivul experimentului: Studiul funcţionarii structurilor combinaţionale, multiplexor si demultiplexor si implementarea acestora cu porţi logice elementare SI-NU

Desfăşurarea experimentului: Sa se realizeze cu porţi SI-NU si sa se verifice funcţionarea circuitelor:

1. Multiplexor cu o intrare de selecţie2. Demultiplexor cu o intrare de selecţie3. Sa se conecteze circuitele de la punctele 1 si 2 conform schemei de mai jos, si sa

se verifice funcţionarea lor

Observaţie: pentru ca la ieşirea unui multiplexor sa se obtină corect intrarea selectată, este necesar ca selecţia sa se facă după stabilizarea intrărilor de adresă. De aceea multiplexoarele integrate sunt prevăzute cu o intrare de autorizare care condiţionează selecţia fiecărei intrări, aceasta intrare suplimentara facilitând, prin conectarea mai multor circuite multiplexoare, pentru extensia numărului de intrări.

4. Utilizând un circuit dublu selector cu cate 4 intrări de date (74153), sa se realizeze un circuit multiplexor cu 8 intrări,de date.

34

Page 35: Logica digitala (ASDN)

Fig. 6.6 Schema bloc a unui circuit dublu multiplexor (4153)

7. Sinteza funcţiilor combinaţionale utilizând circuite decodificator si circuite multiplexorSinteza funcţiilor combinaţionale cu circuite

decodificator

Expresiile logice ale funcţiilor de ieşire a unui circuit decodificator sunt identice cu funcţiile minterm ale acesteia având ca variabile, semnalele generate la intrările circuitului.

Aceste considerente permit sinteza unei funcţii combinaţionale cu circuit decodificator, prin generarea la intrările decodificatorului a variabilelor funcţiei si realizând o logică combinaţională (SAU-logic), a acelor ieşiri care reprezintă termenii canonici ai funcţiei de implementat

Observaţie: numărul intrărilor decodificatorului trebuie sa fie mai mare sau egal cu numărul variabilelor funcţiilor implementate.

Pentru a se elimina decodificarea unor stări nedorite ale variabilelor de intrare, circuitele integrate TTL decodificatoare, sunt prevăzute cu o intrare suplimentara de eşantionare S, care se activează de utilizator când toate intrările sunt stabile si o intrare de autorizare G, care autorizează funcţionarea circuitului si care poate fi folosita la extensia numărului de ieşiri al decodificatoarelor.

Când ieşirile circuitelor decodificator sunt negate, implementarea funcţiilor combinaţionale se realizează prin utilizarea alături de circuite decodificator, porţi ŞI-NU.

Exemplu: Sa se realizeze cu ajutorul decodificatorului 3 intrari/8 ieşiri negate si

porţi ŞI-NU, sinteza funcţiei:

Se reprezintă funcţia pe diagrama V-K pentru a se obţine forma canonica disjunctiva

35

Page 36: Logica digitala (ASDN)

(f.c.d.)

Schema logica a funcţiei realizata cu decodificator 3 intrari/8 ieşiri negate si porţi ŞI-NU este:

Observaţie: se considera variabila corespunzătoare bitului cel mai puţin semnificativ al configuraţiei binare generata la intrările decodificatorului.

Sinteza funcţiilor combinaţionale cu circuite multiplexor

Expresia logica a funcţiei de ieşire a unui circuit multiplexor, conţine toţi termenii canonici ai unei funcţii având ca variabile, semnalele generate la intrările de selecţie ale multiplexorului, înmulţiţi logic cu intrările de date Di.

Deci la ieşirea unui circuit multiplexor se poate obţine forma canonica a unei funcţii combinaţionale având un număr de variabile egal cu numărul intrărilor de selecţie daca se generează “1” la intrările de date Di corespunzătoare termenilor canonici existenţi in funcţia de implementat si “0” la celelalte intrări.

Aplicaţie rezolvată: sa se realizeze cu circuit multiplexor cu 3 intrări de selecţie, sinteza funcţiei:

Reprezentarea funcţiei pe o diagrama V-K:

36

Page 37: Logica digitala (ASDN)

(f.c.d.) rel 7.1

Daca la intrările de selecţie (3 intrări) generam variabilele reprezentând bitul cel mai puţin semnificativ al combinației binare de la intrările de adresa, la ieşirea multiplexorului se obţine funcţia:

rel. 7.2Ca relaţiile 7.1 si 7.2 sa fie identice trebuie ca =”0”, , , si

, , ,Rezulta schema logica realizata cu circuite multiplexor cu 3 intrări de selecţie a funcţiei f:

Atunci când numărul variabilelor funcţiei de implementat, depăşeşte numărul intrărilor de selecţie al circuitului multiplexor utilizat, se reprezintă funcţia pe diagrama V-K si se condensează de atâtea ori (daca este posibil) pină se obţine o reprezentare cu numărul de variabile egal cu cel al intrărilor de adresa al multiplexorului dat.

Aplicaţie rezolvată: Sa se realizeze cu circuit multiplexor cu 2 intrări de adresa , sinteza funcţiei:

; reprezentam funcţia pe diagrama V-K:

37

Page 38: Logica digitala (ASDN)

Condensăm după variabila :

Condensăm după variabila :

Obţinem schema logica a funcţiei f, realizata cu circuit multiplexor cu 2 intrări de selecţie.

Obiectivul experimentului: Studiul implementării funcţiilor combinaţionale utilizând circuite decodificator si multiplexor.

Desfăşurarea experimentului:

1. Să se realizeze sinteza functiei: cu circuitele:

a) decodificator 2 intrări / 4 iesiri negateb) multiplexor cu 2 intrări de selectie

2. Utilizând circuite decodificator 3 intrari/8 ieşiri negate sa se realizeze schema logica a unui decodificator complet cu 6 intrari/64 ieşiri negate.

38

Page 39: Logica digitala (ASDN)

Fig. 7.1 Schema bloc a unui circuit decodificator 3 intrări/8 ieşiri negate

8. Sinteza funcţiilor de comutaţie cu matrici logice programabile

Matricile logice programabile sunt circuite integrate capabile sa realizeze funcţii combinaţionale in forma normal disjunctiva.

Se produc circuite PLA (Programable Logic Array) programabile de producător si circuite FPLA (Field Programabile Logic Array) programabile de utilizator prin întreruperea unor conexiuni (arderea fuzibilului), conforme cu funcţiile implementate.

Vom prezenta principial modul de utilizare a unui circuit FPLA la sinteza funcţiilor de comutaţie, prin intermediul matricei logice programabile 82S100 produsa de firma Signetics.

Ca structura logica (fig. 8.1), circuitul cuprinde :a) Matricea cu porţi ŞI (48 porţi ŞI) ce permite formarea a 48 produse logice având

maximum 16 variabile (directe sau negate), porţile ŞI conectate in matrice, având 32 de intrări

b) Matricea cu porţi logice SAU, care permite realizarea a 8 sume logice, cu maxim 48 termeni produs logic, care reprezintă ieşirile porţilor din matricea ŞI

c) Circuite realizate cu porţi SAU-Exclusiv, la ieşirea cărora se obţin funcţiile dorite, directe sau negate, după cum fuzibilul celei de a doua intrări a porţii SAU-Exclusiv este menţinut sau întrerupt (ars)

Ieşirile porţilor din matricea SAU sunt conectate la circuite de tip 3 stări ce permit prin comanda , dezactivarea si comutarea ieşirilor matricei logice programabile in starea de impedanţa ridicata.

Realizarea unui sistem de funcţii de comutaţie utilizând circuitul 82S100 presupune ca numărul maxim al variabilelor funcţiilor sa fie 16 (directe sau negate) si sa fie realizata o minimizare corelata a funcţiilor sistemului astfel încât numărul termenilor distincţi ai funcţiilor sa fie cat mai mic si sa nu depăşească numărătorul 48.

39

Page 40: Logica digitala (ASDN)

Fig. 8.1

Programarea circuitului in vederea realizării unei funcţii de comutaţie, consta in parcurgerea următoarelor etape:

a) Fiecărei variabile din forma minima disjunctiva a funcţiei i se atribuie cate o intrare Im (m=0,1,...,15)

b) Termenul Pi al funcţiei minimizate se va obţine la iesirea Pk a matricei ŞI; daca termenul Pi conţine variabila (m=0,1,...,15); se arde fuzibilul care conectează linia la poarta ŞI ( ); daca termenul Pi conţine variabila , se arde fuzibilul care conectează linia la poarta ŞI ( ); daca exista intrări nefolosite pentru termenul Pi, se ard conexiunile liniilor si (toate intrările nefolosite) la intrările porţii ŞI (Pk) (k=0,1,...47)

c) Daca exista porţi ŞI ( ) nefolosite, numărul termenilor funcţiei fiind mai mic decât numărul porţilor ŞI din matrice, conexiunile intrărilor acestor porţi la liniile si

se lasă intacte, astfel încât ieşirile porţilor ŞI neprogramate sunt „0”, neutre pentru intrările matricii SAU

d) Daca termenul (k=0,1 ... 47) este programat in matricea ŞI, şi nu face parte din termenii funcţiei Fj (de realizat j=0,1 ... 7) se arde fuzibilul de conexiune a coloanei la linia Sj (o intrare a porţii SAU, aleasa ca la ieşirea acesteia sa se obţină funcţia Fj, j=0,1...47); daca termenul este programat in matricea ŞI, si face parte din termenii funcţiei Fj, respectiv daca termenul este „0” (nefolosit), fuzibilul care conectează coloana la linia Sj, rămâne intact.

40

Page 41: Logica digitala (ASDN)

Aplicaţie rezolvată: Folosind circuitul matrice programabila 82S100, sa se realizeze sinteza funcţiei:

Minimizam funcţia F cu diagrama V-K:

Parcurgând etapele a,b,c,d, de programare a circuitului, se obţine schema logica de mai jos:

Dacă dorim ca la ieşirea circuitului sa se obţină negata funcţiei, se arde fuzibilul intrării SAU-Exclusiv, aceasta devenind astfel „1” („in vânt”) si conform operaţiei

, obţinem funcţia complementată. Firma Xilinx este leader in productia de arii logice programabile, FPGA, prin continua îmbunătăţire a circuitelor si prin oferta soluţiilor de proiectare completa.

Abundenta de porţi logice, registre, interfeţe I/O, cu o viteza de răspuns mare, sunt doar câteva caracteristici ale circuitelor logice reprogramabile FPGA. Seria

41

Page 42: Logica digitala (ASDN)

circuitelor cu o arie de configurare de tip SRAM include următoarele familii de produse: XC2000, XC3000, XC4000, XC5200, XC6200

Programul descriptor hardware ABEL, permite proiectarea unui circuit digital cu ajutorul ecuaţiilor logice, tabelelor de adevăr, diagramelor de stare, optimizând minimizând si simulând proiectul astfel descris chiar si fără specificarea unui circuit programabil anume.

Fişierul produs de mediul ABEL este in format standard JEDEC, ce poate fi preluat de alte medii de dezvoltare sau transmis direct la un programator PROM pentru a configura circuitul programabil.

Versiunea mediului easyABEL cuprinde modulele:1. Mediul de compilare (COMPILE): verifica din punct de vedere sintactic

programul sursa si traduce/compilează programul2. Modulul de simulare a ecuaţiilor (PLAŞIM): simulează funcţional proiectul pe

baza ecuaţiilor logice cu ajutorul vectorilor de test 3. Modulul de optimizare (OPTIMIZE): executa optimizarea / minimizarea

programului4. Modulul de partiţionare (PARTMAP): creează aşa numitul fişier JEDEC,

verificând înainte daca circuitul ales corespunde proiectului; se alege circuitul logic programabil înaintea lansării in execuţie a acestui modul

5. Simularea fişierului JEDEC (JEDŞIM): simulează funcţional programul pe baza fişierului JEDEC creat si compara rezultatul cu vectorii de test specificaţi

6. Modulul SMARTPART conţine doua opţiuni:6.1 Programul selector de circuit (DEVICE SELECTOR): selectează din

biblioteca de circuite acele circuite PLD care îndeplinesc condiţiile cerute (reprogramabilitate, consum putere, compatibilitate TTL/CMOS, firma producătoare, timpi de propagare, etc.)

6.2 Programul interfaţa PLD (DEVICE FILTER): executa implementarea proiectului pentru circuitul specificat si executa alocarea semnalelor la terminalele fizice ale circuitelor integrate PLDObiectivul experimentului: Studiul utilizării ariilor logice programabile FPLA la sinteza funcţiilor de comutaţie.Desfăşurarea lucrării:

1. Sa se realizeze cu circuite 82S100, sinteza funcţiilor combinaţionale

2. Sa se studieze utilizarea programatorului LEAPER 10, la reconfigurarea unei arii logice programabile selectata din biblioteca circuite a dispozitivului

9. Memorii PROM si utilizarea lor in sinteza funcţiilor de comutaţie

42

Page 43: Logica digitala (ASDN)

Memorii ROM (read only memory) sunt acele memorii utilizate numai pentru citirea informaţiei înscrisa de producător. O caracteristica importanta a acestor memorii este faptul ca îşi păstrează nealterata informaţia înscrisa, la întreruperea alimentarii circuitelor, si de aceea se numesc memorii nevolatile.

Memoriile PROM păstrează caracteristicile memoriilor ROM, cu deosebirea ca pot fi programate si reprogramate de utilizator. Exista o categorie de memorii PROM (U.V. EPROM) la care ştergerea informaţiei se realizează cu radiaţii ultraviolete. Aceste memorii se pot recunoaşte după fereastra practicata in capsula modulului. Fereastra este acoperita cu un cuarţ transparent la raze ultraviolete. Pentru operaţia de ştergere a informaţiei din capsula de memorie, se supune unei emisii de radiaţii ultraviolete cu lungimea de unda nanometrii si a intensităţii de 5500 , intr-un interval de 15-60 minute.

O alta categorie de memorii PROM este cea la care ştergerea informaţiei se realizează electric, prin aplicarea unor impulsuri de tensiune.

Înscrierea unei informaţii binare (programarea) in memoriile PROM se realizează prin intermediul unor dispozitive specializate – programatoare memorii PROM.

Structural, indiferent de tehnologia utilizata, o memorie PROM este organizata in locaţii de memorie numite adrese de memorie, fiecare adresa având memorate un anumit număr de cifre binare. Capacitatea memoriei este calculata prin produsul: nr. adrese x nr/ biti/adresa.

Din punct de vedere logic, citirea unei informaţii binare dintr-o adresa a memoriei PROM presupune generarea codului adresei, decodificarea si selectarea astfel, a adresei al cărui conţinut binar se va regăsi la ieşirile memoriei.

43

Page 44: Logica digitala (ASDN)

Fig.9.1 Modelul unei memorii PROM organizată bidimensional, de capacitate 2n x b biti

Ca exemplu de organizare vom prezenta realizarea unei memorii PROM de 32k x 8 biţi utilizând capsule de memorie de 512 x 64 biţi, fig. 9.2

Se vor utiliza 8 capsule de memorie 512 x 64 biţi, obţinând o memorie cu 512 rânduri si 64x8 coloane. Pentru a citi conţinutul unei locaţii de memorie, se generează codul adresei, biţii , din care: biţii decodificaţi, selectează rândul, iar biţii comanda cele 8 multiplexoare cu 64 intrari/1 ieşire, selectând aceeaşi coloana din fiecare grupa de 64 coloane. Astfel la ieşirile memoriei ( ) se pot citi cei 8 biţi memoraţi la adresa selectata.

44

Page 45: Logica digitala (ASDN)

Fig.2.9 Memorie PROM 32k x 8 biti realizată cu circuite de memorie de 512 x 64 biti

Memoriile PROM pot fi utilizate in mod facil la implementarea funcţiilor de comutaţie si anume: se reprezintă funcţiile in tabele de adevăr sau diagrame V-K si se înscrie iniţial in memorie valorile acestora, corespunzătoare fiecărei combinaţii binare a variabilelor funcţiilor, devenite cod de adresa pentru selectarea adreselor memoriei. De fiecare data când se doresc citite valorile funcţiilor, se generează la intrările de adresa a memoriei, prin intermediul variabilelor funcţiilor, toate combinaţiile binare distincte, selectând astfel toate adresele ce conţin valorile acestor functii.

Aplicaţie rezolvată: Sa se realizeze sinteza funcţiilor combinaţionale, utilizând o memorie de 8 adrese x 4 biti/adresa

Specificăm funcţiile în tabel de adevăr si acesta va reprezenta de fapt si conţinutul memoriei utilizate la realizarea funcţiilor

COD ADRESA

45

Page 46: Logica digitala (ASDN)

ADRESAMEMORIE

(CONTINUT)A2 A1 A0 D3 D2 D1 D0

EZ X2 X1 X0 F1 F2 F3 F4

0 0 0 0 1 1 0 x1 0 0 1 1 0 0 x2 0 1 0 0 0 1 x3 0 1 1 0 1 1 x4 1 0 0 0 1 1 x5 1 0 1 1 0 0 x6 1 1 0 0 0 0 x7 1 1 1 1 1 0 x

Se observa ca bitul al fiecărei adrese nu a fost utilizatObiectivul experimentului: Studiul memoriilor PROM si realizarea sintezei

funcţiilor de comutaţie utilizând aceste memoriiDesfăşurarea experimentului:Se va realiza implementarea funcţiilor de mai jos utilizând programarea unei

memorii PROM de tipul ELECTRICALLY ALTERABLE ROM cu dispozitivul LEAPER 10

10. Analiza si sinteza structurilor combinaţionale: convertor de cod, comparator,

sumator

Coduri numerice, convertoare de codIn sistemele de calcul codificarea datelor se face in scopul memorării, prelucrării

sau transmiterii acestora.Considerând m poziţii intr-un sistem de numeraţie poziţional cu baza b, cu

ajutorul acestora se pot reprezenta numere diferite si anume numerele naturale cuprinse in domeniul (0, -1)

Fiecare număr este reprezentat prin m cifre ale sistemului de numeraţie cu baza b, formând un cuvânt sau vector al codului.

In dispozitivele numerice se folosesc codurile binare (b=2). Un cod binar continuu sau progresiv se caracterizează prin faptul ca doua

numere naturale succesive sunt codificate prin cuvinte de cod adiacente (codurile diferă printr-un singur bit, pe aceeaşi poziţie). Daca un cod continuu are ultimul cuvânt de cod adiacent cu primul, se numeşte cod continuu închis, sau cod GRAY.

46

Page 47: Logica digitala (ASDN)

Un cod continuu închis, utilizat in dispozitivele numerice este codul binar reflectat, fig. 10.1

Nr. Br2 Br1 Br0

01234567

00001111

0011

0110

1100

0110

Fig. 10.1 Codul binar reflectat

Coduri zecimal-binare ponderateLa aceste coduri, o cifra zecimala d este codificata prin n cifre binare ( )

iar valoarea lui d se obţine prin relaţia unde

unde j=0,1,...,n-1 si este ponderea cifrei si poate fi pozitiva sau negativa.

PjNr

2 4 2 1 8 4 -2 -1

0123456789

0000011111

0000101111

0011010011

0101010101

0000011111

0111100001

0110011001

0101010101

Fig. 10.2 Coduri zecimal-binare ponderate

Coduri detectoare si corectoarea de erori simple – Coduri HammingPrincipiul codurilor Hamming, consta in adăugarea la fiecare cuvânt binar de date

un număr de biţi de control distribuiţi printre poziţiile binare ale acestuia.Un exemplu de cod Hamming care permite corectarea unei singure erori apărute

in cuvântul de cod este prezentat in fig. 10.3

47

Page 48: Logica digitala (ASDN)

Nr0123456789101112131415

0101101010100101

0110011010011001

0000000011111111

0110100101101001

0000111100001111

0011001100110011

0101010101010101

Fig. 10.3 Cod Hamming

Cifrele de control se calculează cu relaţiile liniare:

La recepţie se calculează cifrele de control:

Daca nu a apărut o eroare detectabila atunci iar daca a apărut o

singura eroare, poziţia binara eronata este data de echivalentul zecimal al numărului binar

:

Convertoarele de cod sunt circuite combinaţionale care realizează conversia codului binar al unui număr, intr-un alt cod binar. Intr-o forma generala, un convertor de cod are n intrări, reprezentând biţii cuvântului de cod ce urmează a fi convertit si m ieşiri, reprezentând biţii cuvântului de cod in care se converteşte. Fiecare din cele m poziţii binare ale cuvântului de cod in care se face conversia sunt funcţii de comutaţie a celor n poziţii binare ale cuvântului de cod care trebuie convertit.

48

Page 49: Logica digitala (ASDN)

Fig. 10.4 Schema bloc a unui convertor de cod

Pentru a realiza sinteza unui convertor de cod cu porţi logice, se reprezintă intr-un tabel cuvintele codului de convertit si al celui in care se converteşte, problema reducându-se la sinteza cu porţi logice a m funcţii de n variabile.

Aplicaţie rezolvata: Sa se realizeze cu porţi logice sinteza unui convertor de cod din codul binar natural in cod binar reflectat, reprezentat prin tabelul:

Binar natural Binar reflectatNr b2 b1 b0 Br2 Br1 Br0

01234567

00001111

00110011

01010101

00001111

00111100

01100110

Minimizam funcţiile

schema logica a convertorului de cod cu porţi SAU-Exclusiv este:

Comparatorul este un circuit de comutaţie destinat stabilirii relaţiei intre doua numere cu mai multe cifre binare si se realizează prin compararea in paralel (simultan) a cifrelor binare corespondente ale celor doua numere, intr-un circuit combinaţional.

49

Page 50: Logica digitala (ASDN)

Considerând un bit de rang i al celor doua numere de comparat, se

realizează funcţia auxiliara cu ajutorul căreia se pot scrie expresiile

funcţiilor de ieşire a comparatorului când

Fig. 10.5 Schema bloc a unui circuit comparator

De exemplu, daca numerele A si B au cate doua cifre binare, avem: (A=B)

, (A>B) si

Aceste expresii se obţin prin reprezentarea funcţionarii comparatorului printr-un tabel de adevăr, din care rezulta forma normal disjunctiva a funcţiilor

A1 B1 A0 B0F0

(A=B)F1

(A>B)F2

(A<B)0000000011111111

0000111100001111

0011001100110011

0101010101010101

1001000000001001

0010000011110010

0100111100000100

Se obţine

50

Page 51: Logica digitala (ASDN)

Implementând aceste funcţii cu porţi logice se obţine schema logica a circuitului comparator:

51

Page 52: Logica digitala (ASDN)

Sumatorul binar paralel este un circuit combinaţional care realizează suma algebrica a doua numere binare cu n cifre binare, . ţinând

cont si de un eventual transport iniţial . La ieşirea circuitului se generează un număr

binar de n cifre binare ( ) reprezentând rezultatul însumării si cifra

transportului .

Fig. 10.6 Schema bloc a unui circuit sumator

De obicei sumatorul se realizează sub forma unui circuit iterativ.Principial, sumatoarele elementare pentru n ranguri binare se pot realiza cu

propagarea transportului in serie, cu propagarea transportului in paralel sau cu anticiparea transportului.

52

Page 53: Logica digitala (ASDN)

Sumatoarele cu propagarea transportului in paralel presupun ca transportul pentru toate rangurile sa se obţină pe cat posibil in acelaşi timp, reducând astfel durata operaţiei de adunare.

Pentru un sumator de patru ranguri binare funcţiile transport sunt:

Expresia transportului pentru un rang este: in care funcţiile auxiliare Gi reprezintă transportul generat in rangul i si Pi condiţia de propagare a transportului generat in rangurile inferioare lui i, peste rangul i. Cu aceste notaţii rezulta:

Obiectivul experimentului: Studiul, utilizarea si proiectarea structurilor combinaţionale: convertoare de cod, sumatoare, comparatoare

Desfăşurarea experimentului:1.Sa se realizeze conversia Binar natural – BCD (zecimal codificat binar)

utilizând circuitul integrat SN74184, a cuvintelor de cod 11001 si 010112.Sa se implementeze un comparator a doua numere cu cate doua cifre binare cu:a. Un decodificator cu ieşiri negate si porţi ŞI-NUb. Multiplexoare3. Sa se studieze funcţionarea sumatorului binar de 4 biţi, circuitul 483, si sa se

calculeze durata de adunării a doua numere binare (de 8 cifre binare), folosind aceste circuite

4. Sa se experimenteze funcţionarea circuitului generator de paritate para/impara SN74180

11. Hazardul circuitelor combinaţionale

Întârzierile introduse de firele de conexiune si componentele electronice ale circuitelor de comutaţie, fac ca la un moment dat starea ieşirii circuitelor sa nu fie in concordanta cu funcţia de transfer si intrările circuitelor la momentul considerat.

Comportarea incorecta a circuitului de comutaţie generata de cauzele menţionate, produce o funcţionare de tip hazard.

La circuitele combinaţionale hazardul se poate manifesta in doua moduri diferite:a) Hazard static: in urma modificării intrărilor, se modifica ieşirea, nefiind

justificata din punct de vedere logic, după care revine la valoarea iniţial corecta.

53

Page 54: Logica digitala (ASDN)

b) Hazard dinamic: ca urmare a modificării intrărilor, ieşirea trebuie sa-si modifice starea, dar se va realiza după un număr de oscilaţii intre noua si vechea stare.

Vom evidenţia apariţia hazardului static si dinamic la doua circuite de comutaţie, cu porţi ŞI-NU si porţi ŞI, SAU, fig. 11.1, fig. 11.2, utilizând descrierea funcţionarii

circuitelor prin reprezentarea formelor de unda a funcţiei de ieşire, raportata la anumite variaţii ale valorilor binare de la intrările circuitului.

Se da schema logica din fig. 11.1

Fig. 11. 1 Schema logica a unui circuit de comutaţie care evidenţiază

apariţia hazardului static.

Consideram iniţial ca variabilele de intrare au valorile: A=0, B=0, C=1, pentru care funcţia F(A,B,C)= „1” si apoi valorile A=1, B=0, C=1, pentru care deasemenea, funcţia F(A,B,C)= „1”Se considera timpi de propagare diferiţi ai porţilor logice: 1, 2 si 3, cu

relaţia

DIAGRAMA DE TIMP

După ce variabila de intrare A, comuta din „0” in „1”, ieşirea circuitului datorita timpilor de propagare diferiţi ai porţilor logice, devine pentru o scurta perioada de timp „0” (incorect din punct de vedere logic), generând apariţia hazardului static.

Se da circuitul logic din figura 11.2

54

Page 55: Logica digitala (ASDN)

Fig. 11.2 Schema logica a unui circuit de comutaţie care evidenţiază apariţia hazardului

dinamic.

Iniţial se considera intrările circuitului având valorile: A=0, B=1, C=1, D=0, E=1 iar la momentul următor A=1, B=0, C=1, D=0, E=1.

Intre timpii de propagare diferiţi ai porţilor logice se considera următoarele corelări:

DIAGRAMA DE TIMP

55

Page 56: Logica digitala (ASDN)

Comutarea variabilelor de intrare A, din „0” in „1” si a variabilei de intrare B din „1” in „0”, precum si timpii de propagare diferiţi ai porţilor logice cu corelările menţionate, au ca efect apariţia hazardului dinamic respectiv a oscilaţiilor generate la ieşirea circuitului intre valoarea iniţială si cea finala (cea corecta din punct de vedere logic).

Un circuit de comutaţie căruia ii corespunde o schema logica cu doua niveluri de porţi logice ŞI-NU, respectiv ŞI, SAU, nu permit hazard daca fiecare pereche de combinaţii de valori adiacente ale intrărilor pentru care funcţia de comutaţie realizata are valoarea logica „1”, este acoperita de cel puţin unul din termenii prezenţi in expresia disjunctiva a funcţiei asociata schemei logice a circuitului dat.

O combinaţie a valorilor variabilelor notata unde

pentru i=0,1,...,n-1 este acoperita de către un termen din forma disjunctiva a

funcţiei notat cu T daca termenul canonic Pj al funcţiei corespondent

combinaţiei este inclus in termenul T,

Exemplu: Pentru schema logica din fig. 11.1 avem si reprezentata pe diagrama V-K

Fig. 11.3 Reprezentarea funcţiei F(A,B,C) pe o diagrama V-K

Perechile de valori adiacente ale variabilelor de intrare A,B,C sunt: (000) si (001), (101)si(111), (001)si (101). Perechea (000) si (001) este acoperita de termenul deoarece , perechea (101) si (111) este acoperita de termenul AC deoarece

, perechea (101)si(001) nu este acoperita de nici un termen, deci circuitul poate avea hazard.

Pornind de la o schema logica cu porţi ŞI-NU, respectiv ŞI-SAU, a unui circuit combinaţional, se poate obţine schema logica fără hazard, prin parcurgerea următoarelor etape:

a) Se obţine forma disjunctiva a funcţiei asociata schemei logice a circuituluib) Se reprezintă funcţia de comutaţie pe o diagrama V-K si se minimizeazăc) Daca contururile corespunzătoare formei minime sunt disjuncte (nu se

intersectează), se adaugă acele contururi (implicanţii primi redundanţi) care elimina disjuncţia contururilor, rezultând astfel o funcţie de comutaţie care realizata cu porţi ŞI-NU, nu are hazard

Pentru funcţia F(A,B,C), fig. 11.3 se adaugă implicantul prim corespunzător

conturului punctat si rezulta funcţia căruia ii corespunde schema logica cu porţi ŞI-NU:

56

Page 57: Logica digitala (ASDN)

Schema logica cu hazard din fig. 11.2 ii corespunde funcţia si reprezentata in diagrama V-K:

Se include in expresia funcţiei de ieşire si implicantul prim si rezulta

, căreia ii corespunde circuitul

Obiectivul experimentului: Studiul hazardului la circuite combinaţionale si realizarea circuitelor de comutaţie cu porţi ŞI-NU in a căror funcţionare sa nu apară hazard.

Desfăşurarea experimentului:

57

Page 58: Logica digitala (ASDN)

1. Se va implementa cu circuite integrate SN7400, schema logica din fig. 11.1. Se vor utiliza linii de întârziere pentru diferenţierea timpilor de propagare ai porţilor si se va vizualiza funcţia sa de ieşire

2. Se va analiza apariţia hazardului la circuitul de mai jos, datorat asincronismului comutării semnalelor A si B

Observaţie: Decalajul dintre semnalele A si B nu se datorează întârzierilor diferite, ci asincronismului celor doua semnale de intrare, a căror comutare ar trebui sa fie sincrona

12. Aplicaţii rezolvate – circuite combinaţionale

1) Se da circuitul combinaţional de mai jos:

58

Page 59: Logica digitala (ASDN)

Considerând timpii de propagare al porţii SAU-Exclusiv, , sa se reprezinte formele de unda a semnalelor B si C si sa se evidenţieze utilitatea acestui circuit.

Observaţie: =timpul de propagare al circuitului când tensiunea de ieşire

comuta din „0” in „1” logic si =timpul de propagare când tensiunea la ieşire comuta din „1” in „0” logic.

Rezolvare:DIAGRAMA DE TIMP

Fiecare front crescător sau descrescător al semnalului de intrare A, este detectat, generând la ieşirea circuitului cate un impuls

2) Sa se realizeze un codificator prioritar cu 10 intrări , utilizând un codificator prioritar cu 8 intrări, circuitul integrat 74148 si porţi logice.

59

Page 60: Logica digitala (ASDN)

Intrarea de autorizare este activa la „0” si autorizează funcţionarea

codificatorului prioritar, astfel încât are prioritatea maxima. Când este „1”,

indiferent de valorile intrărilor circuitului, ieşirile sunt „1” logic.

Rezolvare: Extensia la 10 intrări a codificatorului prioritar se poate realiza

utilizând intrarea de autorizare care devine bitul al codului generat la ieşire.

Se obţine schema logica:

60

Page 61: Logica digitala (ASDN)

Prin aceasta extensie se realizează codificarea „BCD (zecimal codificat binar)” a numerelor zecimale de la 0 la 9 in ordinea priorităţii. De exemplu, daca la intrare este generat vectorul 101110100, la ieşire se transmite codul numărului 9 (1001)

3) Sa se realizeze o schema de semnalizare a egalităţii a doua numere binare de cate patru cifre binare, cu circuite Multiplexor, si Decodificator.

Rezolvare: Se conectează ieşirile unui decodificator, 4 intrari/16 ieşiri la intrările unui multiplexor cu 16 intrări de date; unul din numere este adus la intrările decodificatorului, iar celalalt număr, la intrările de adresa (selecţie) al multiplexorului. Când cele 2 numere sunt egale ieşirea MUX este „1” logic, iar când sunt diferite, ieşirea este „0”.

Observaţie: S-a considerat pentru simplificare, ca ieşirile decodificatorului nu sunt negate.

4) a) Sa se exprime in kilobiti capacitatea unor memorii ROM, organizate astfel: 256x4, 512x8, 1024x4, 2048x8, si sa se precizeze numărul biţilor de adresa in fiecare caz;

Soluţie: 1 kilobit- 8 biţi (adresa), 4k-9 biţi, 8k-10 biţi, 16k – 11 biţi. b) Sa se proiecteze o memorie ROM de 64x16 biţi, utilizând circuite integrate

de memorie ROM de 256 biţi (32 cuvinte x 8 biţi)Rezolvare: Sunt necesare patru circuite ROM de 32x8 biţi; cu cinci biţi de adresa , se selectează cate un cuvânt de 8 biţi din fiecare circuit de memorie, iar cu al 6-

lea bit de adresa, , prin intermediul intrării de autorizare , se selectează cate un grup

61

Page 62: Logica digitala (ASDN)

de 2 circuite de memorie ROM pentru a se obţine extensia de 16 biţi a cuvântului de memorie si anume: când = „0” se selectează ROM1 si ROM2, iar când = „1” se selectează circuitele ROM3 si ROM4.

13. Circuite secvenţiale, clasificări, modalităţi de specificare a comportării funcţionale a unui

circuit secvenţial

Spre deosebire de circuitele combinaţionale, la care valoarea binară a funcţiilor de ieşire într-un anumit moment depinde doar de valoarea binară a intrărilor în acel moment, circuitele secvenţiale conţin şi un element de memorare în care se memorează stările următoare ale circuitului care devin apoi stări prezente.

Funcţiile de ieşire la acest circuit depinde de intrări şi de starea circuitului în momentul inspecţiei. Schema logică a unui circuit secvenţial este caracterizată de prezenţa legăturilor inverse de la ieşire spre intrarea circuitului.

Elementele de memorie folosite în circuitele secvenţiale pentru memorarea stării curente sunt principial de două tipuri:

a) elemente de memorie de tip linie de întârziereb) elemente de memorie comandate

Elementele de memorie tip linie de întârziere pot fi constituite din elementele circuitului: porţi logice şi firele de conexiune. La circuitele secvenţiale cu elemente de memorie tip linie de întârziere, starea următoare a circuitului a circuitului, apărută ca urmare a modificării variabilelor de intrare si introdusă la intrarea liniei de întârziere,

62

Page 63: Logica digitala (ASDN)

devine automat stare prezentă la ieşirea liniei, după un timp t, determinat de caracteristica liniei de întârziere.

Acest mod de funcţionare se numeşte fundamental sau asincron. La aceste circuite, intervalele de timp în care se pot modifica valorile intrărilor este arbitrară iar legăturile inverse între ieşirea şi intrarea circuitului sunt permanente. Frecventa de modificare a intrarilor nu trebuie sa depaseasca o limita superioara impusa de timpul de intarziere al elementelor de memorie. Modelul unui circuit secvenţial asincron este reprezentat în fig. 13.1

Fig. 13.1 Circuit secvenţial asincron

Expresiile funcţiilor de ieşire si a stării următoare sunt:

În care reprezintă cele n intrări principale iar reprezintă p intrări secundare.

Dacă elementul de memorie folosit este astfel construit încât memorarea stării următoare, care va deveni stare prezentă să se realizeze sub comanda unui tren de impulsuri de sincronizare, circuitul secvenţial funcţionează în modul sincron

În cazul circuitelor secvenţiale sincrone, frecvenţa impulsurilor de sincronizare trebuie corelată cu timpul de răspuns al circuitului, momentul inspecţiei poate fi

63

Page 64: Logica digitala (ASDN)

identificat cu al n-lea impuls de sincronizare, iar legăturile inverse sunt active doar pe durata impulsului de sincronizare (tact)

Modelul unui astfel de circuit este reprezentat in fig. 13.2

Fig 13.2

Expresiile funcţiilor de ieşire şi ale stărilor următoare sunt:

Modelul matematic al circuitului secvenţialUn circuit secvenţial cu n intrări binare X1, X2,...Xn, m ieşiri binare Z1, Z2.....Zm si

p variabile binare de stare Y1, Y2.....Yp, poate avea o mulţime a intrărilor ={X1, X2....X2

n} o mulţime a ieşirilor ={Z1, Z2....Z2m} şi o mulţime a stărilor ={Y1,

Y2....Y2p} unde Xi pentru i=1 până la 2n sunt n-uplurile de valori ale variabilelor de intrare

X1, X2....Xn, Zj pentru j=1 până la 2m sunt m-uplurile de valori ale variabilelor de ieşire Z1, Z2....Zm, iar Yk pentru k=1 până la 2p sunt p-uplurile de valori ale variabilelor de stare Y1, Y2....Yp

Comportarea unui circuit secvenţial respectiv obţinerea secvenţei de ieşiri corespondentă unei anumite secvenţe de intrări este dată de starea iniţială a circuitului , Y0, de funcţia ieşirii :{ × }→ şi funcţia stării următoare (a tranziţiilor) :{ ×

}→ .Daca funcţiile şi sunt complet definite, circuitul secvenţial se numeşte

complet definit, iar dacă funcţiile sau sau ambele sunt incomplet definite, circuitul este incomplet definit

64

Page 65: Logica digitala (ASDN)

Circuitele secvenţiale MEALY sunt caracterizate prin faptul că starea următoare şi ieşirea la un moment dat depind de starea prezentă si de intrarea prezentă; mulţimile , , , starea iniţială Y0, funcţiile şi reprezintă modelul matematic al circuitului Mealy

Circuitele secvenţiale MOORE sunt caracterizate prin faptul că ieşirea depinde numai de starea circuitului. Funcţia ieşirii *: → este definită în mulţimea stărilor

cu valori în mulţimea ieşirilor .Modelele matematice ale circuitelor secvenţiale se numesc in teoria comutaţiilor

automate finite.Modelele Mealy şi Moore sunt utilizate atât pentru circuitele secvenţiale

asincrone cât şi sincrone dar cu unele particularităţi în funcţionare şi anume:-în cazul circuitelor asincrone, deoarece timpul de răspuns al circuitului

combinaţional este mai mic decât timpul de întârziere al elementului de memorie, ieşirea circuitelor de tip Mealy se obţine odată cu modificarea intrărilor principale şi este corectă până la modificarea intrărilor secundare (variabilele de stare) în timp ce la circuitele de tip Moore ieşirea corespondentă unor intrări se obţine după timpul de întârziere al elementelor de memorie, odată cu starea următoare şi se păstrează pe durata acestei întârzieri

-la circuitele sincrone ieşirea circuitelor Mealy este corectă numai pe durata impulsului de sincronizare, în timp ce la circuitele de tip Moore ieşirea se obţine după impulsul de tact, menţinându-se până la impulsul de tact următor.

Un alt mod de descriere a comportării unui circuit secvenţial îl reprezintă diagrama stărilor

Diagrama stărilor este un graf orientat având numărul de noduri mai mic sau egal cu numărul elementelor din mulţimea stărilor , iar dintr-un nod pleacă un număr de arce mai mic sau egal cu cel al elementelor mulţimii intrărilor,

Pentru circuite de tip Mealy, în diagrama stărilor, fiecare nod se notează cu simbolul stării pe care o reprezintă, iar pe arcul care pleacă din nod se notează un raport care la numărător indică intrarea care a generat tranziţia circuitului indicată de săgeata arcului, iar la numitor ieşirea generată în timpul tranziţiei.

Starea iniţială se marchează printr-o săgeată aplicată nodului corespondent

Exemplu:

65

Page 66: Logica digitala (ASDN)

La circuitele secvenţiale de tip Moore în nodurile diagramei de stări se notează simbolul stării corespondente şi ieşirile (sub simbolul stării) iar pe arcele care pleacă din nod se notează intrarea care a generat tranziţia

Exemplu:

Tabelul tranziţiilor reprezintă un alt mijloc de descriere al comportării unui circuit secvenţial.

Pentru modelul Mealy tabelul tranziţiilor conţine la începutul rândurilor, stările prezente ale circuitului iar la începutul coloanelor intrările circuitului. Elementele din tabel aflate la intersecţia unei linii cu o coloană sunt reprezentate printr-un raport având la numărător starea următoare iar la numitor, ieşirea

Exemplu:Stare

prezentăStare următoare/ieşire

X0 X1

Y0 Y0/1 Y1/0

Y1 Y1/0 Y0/1

Comportarea circuitelor de tip Moore se descrie printr-un tabel al tranziţiilor care are în cap de rând, stările prezente ale circuitului iar la început de coloană, intrările circuitului şi o coloană cu ieşirile corespunzătoare stărilor; elementele din tabel conţin starea următoare.

Exemplu:Stare

prezentăStare următoare

IeşireX0 X1

Y0 Y0 Y1 1Y1 Y1 Y0 0

66

Page 67: Logica digitala (ASDN)

Aplicaţie rezolvată: să se reprezinte prin diagrama stărilor circuitele Mealy si Moore descrise prin tabelul tranziţiilor de mai jos:

1. Circuit MealyStare

prezentăStare următoare/ieşire

X0 X1 X2 X3

Y0 Y0/0 Y0/1 Y1/0 Y2/0

Y1 Y2/1 Y0/1 Y1/0 Y1/1

Y2 Y0/0 Y1/1 Y2/0 Y2/1

3. Circuit Moore

Soluţie:

1.

2.

Stare prezentă

Stare următoareIeşire

X0 X1

Y0 Y2 Y1 0Y1 Y0 Y1 0Y2 Y2 Y1 1

67

Page 68: Logica digitala (ASDN)

Transformarea diagramei de stări a modelului Moore în diagramă de stări a modelului Mealy se realizează transferând ieşirile din nodurile modelului Moore pe arcele ce conduc spre nodul respectiv.

Exemplu:

Transformarea diagramei de stări a modelului Mealy în diagramă de stări a modelului Moore impune ca fiecărei stări din modelul Mealy să îi corespundă atâtea stări în modelul Moore echivalent, câte ieşiri diferite generează modelul Mealy în timpul tranziţiei spre starea respectivă, ieşirile fiind generate in noile stări ale modelului MOORE.

68

Page 69: Logica digitala (ASDN)

Exemplu:

Obiectivul experimentului: Studiul circuitelor secvenţiale si a modalităţilor de descriere a comportamentului acestor circuite

Desfăşurarea experimentului: 1. Să se descrie prin tabelul tranziţiilor comportarea circuitelor secvenţiale:

a)

b)

69

Page 70: Logica digitala (ASDN)

2. Să se experimenteze funcţionarea în modul fundamental şi sincron a circuitelor secvenţiale:

a) b)

utilizând circuite integrate SN7400 (porţi ŞI-NU cu 2 intrări)

14. Circuite basculante bistabile

Circuitele basculante bistabile sunt circuite secvenţiale şi constituie totodată un element de memorie, de bază pentru alte circuite secvenţiale. Ele se caracterizează prin existenţa a două stări stabile, bascularea(comutarea) dintr-o stare in cealaltă realizându-se sub acţiunea unor impulsuri de comanda şi a intrărilor circuitului. Un circuit bistabil are două ieşiri complementare iar funcţionarea sa poate fi descrisă prin tabelul caracteristic, tabelul excitaţiilor sau ecuaţia de stare.

Circuite basculante bistabile asincrone

Bistabilul R-S asincron realizat din porţi logice are schema logică din fig. 14.1a şi 14.1b

Fig 14.1 Bistabil R-S asincron

70

Page 71: Logica digitala (ASDN)

Tabelul Caracteristic cuprinde valorile binare ale stării următoare a circuitului, corespunzătoare tuturor combinaţiilor binare distincte a intrărilor. Pentru circuitele din fig 14.1a şi 14.1b avem :

Pentru funcţionarea corectă a acestor bistabile R-S asincrone, se impune restricţia ca ambele intrări R şi S respectiv şi să nu fie active în acelaşi moment.Tabelul excitaţiilor indică valorile intrărilor circuitului pentru fiecare tranziţie posibilă a circuitului. Pentru bistabilele R-S asincrone Fig. 14.1a şi 14.1b, tabelele excitaţiilor sunt :

Dacă detaliem tabelul caracteristic al bistabilului R-S asincron din Fig 14.1b obţinem :

R S Qt Qt+1

0 0 0 00 0 1 10 1 0 10 1 1 11 0 0 01 0 1 01 1 0 -1 1 1 -

Minimizăm funcţia Qt+1(R,S,Qt) şi obţinem : Qt+1 = Qt + S

Circuite basculante bistabile sincrone

Qt+1

0 0 interzis0 1 01 0 11 1 Qt

R S Qt+1

0 0 Qt

0 1 11 0 01 1 interzis

Qt Qt+1

0 0 x 10 1 1 01 0 0 11 1 1 x

Qt Qt+1 R S0 0 x 00 1 0 11 0 1 01 1 0 x

71

Page 72: Logica digitala (ASDN)

Ca orice circuit secvenţial sincron, circuitele bistabile sincrone îşi pot schimba starea doar pe durata impulsului de sincronizare, starea lor rămânând neschimbată între două impulsuri de tact consecutive.

Bistabilul R-S sincron se comportă din punct de vedere logic ca cel asincron şi realizat din porţi logice ŞI-NU are schema logică din fig 14.2 :

Fig 14.2 Bistabil R-S sincronRestricţia ca intrările R şi S ale circuitului să nu fie active în acelaşi moment se păstrează şi

la bistabilele R-S sincrone dar poate fi evitată prin proiectarea unor bistabile R-S sincrone fară restricţii şi anume : R-S-Q , R-S-R şi R-S-S .

Bistabilul R-S-Q Tabel Caracteristic

Bistabilul R-S-R Tabel Caracteristic

Bistabilul R-S-S Tabel Caracteristic

Circuitele basculante bistabile J-K master –slave sincrone

R S Qn+1

0 0 Qn

0 1 11 0 01 1 Qn

R S Qn+1

0 0 Qn

0 1 11 0 01 1 0

R S Qn+1

0 0 Qn

0 1 11 0 01 1 1

72

Page 73: Logica digitala (ASDN)

Deoarece în literatură, respectiv în cataloagele de circuite integrate, impulsurile de sincronizare sunt denumite impulsuri de clock (ceas) vom utiliza această notaţie (clk) în schemele logice ale circuitelor secvenţiale sincrone abordate în continuare.

Bistabilul J-K-M-S Fig 14.3 este realizat din două bistabile, unul considerat master(M) conectat la intrările J-K şi unul slave(S) conectat cu bistabilul master şi la ieşirile circuitului. Prin structura realizată se înlătură restricţiile în funcţionarea bistabilului J-K , privind durata impulsului de sincronizare.

Fig 14.3 Schema bloc a bistabilului j-k master-slave

Pe durata unui impuls de clock există patru momente caracteristice ale funcţionarii bistabilului J-K M-S , fig 14.4

Fig 14.4 Funcţionarea bistabilului J-K M-S

1. Bistabilul Master se deconectează de bistabilul Slave2. Bistabilul Master se conectează la intrările j-k a circuitului3. Bistabilul Master se deconectează de intrări4. Bistabilul Master se conectează cu bistabilul Slave, starea memorată în bistabilul Master se transferă în bistabilul Slave şi o avem disponibilă la ieşirile Q, ale bistabilului J-K M-S.

Funcţionarea sa poate fi descrisă prin tabelul caracteristic tabelul excitaţiilor şi ecuaţia de stare.

Tabelul caracteristic Tabelul excitaţiilor

Qn Qn+1 J K0 0 0 X0 1 1 X1 0 x 11 1 x 0

73

Page 74: Logica digitala (ASDN)

Ca bistabilul J-K M-S să funcţioneze fără erori se impune ca valoarea binară a intrărilor j, k să fie stabilă înainte de apariţia frontului crescător al impulsului de clock şi pe toată durata acestuia. Circuitul basculant bistabil D sincron are o singură intrare de date D şi valoarea binară a acestei intrări este memorată în bistabil odată cu apariţia impulsului de clock.

Fig 14.5 Bistabilul D sincron

Tabelul caracteristic Tabelul excitaţiilor Ecuaţia de stare :

Circuitul basculant bistabil T sincron are o intrare de date T şi atunci când T=,,0” starea bistabilului rămâne neschimbată, iar când T=,,1” , bistabilul comută într-o valoare binară complementară stării anterioare.

Fig 14.6 Bistabilul T sincron

Tabelul caracteristic Tabelul excitaţiilor Ecuaţia de stare :

Circuitele basculante bistabile sincrone integrate au atât intrări sincrone (cele care pot realiza comutarea bistabilului dacă există impuls de clock) cat şi intrări asincrone, de forţare în ,,0” sau ,,1” a bistabilului, independent de existenţa impulsului de clock.

Aceste intrări sunt utilizate şi activate de obicei la iniţializarea sistemului când este necesară cunoaşterea la începutul funcţionării, a valorilor binare memorate în bistabile. Evident,

J K Qn+1

0 0 Qn

0 1 01 0 11 1

D Qn+1

0 01 1

Qn Qn+1 D0 0 00 1 11 0 01 1 1

T0 0 00 1 11 0 11 1 0

T

0

1

74

Qn+1=D

n+1= n + T n

Page 75: Logica digitala (ASDN)

intrarea care comandă bascularea bistabilului în starea ,,0” şi cea care comandă bascularea bistabilului in starea ,,1” nu pot fi active in acelaşi moment şi ambele (dacă există) vor fi dezactivate pentru utilizarea intrărilor sincrone.

Observaţie : La reprezentarea în catalog a circuitelor de comutaţie ca scheme bloc, cercul de la intrările şi ieşirile circuitelor , asociate cu scrierea negată a semnalului corespondent, indică faptul că semnalul este activ la ,,0” când este de tip nivel logic sau că este activ frontul descrescător, când ne referim la impulsurile de clock.

Funcţionarea unui circuit basculant bistabil sincron poate fi evidenţiată si prin reprezentarea formei de undă a semnalului de la ieşire, raportat la momentele şi valorile binare a semnalelor de la intrări şi a impulsurilor de clock.Aplicaţie rezolvata: Să se reprezinte forma de undă a semnalului de la ieşirea unui circuit bistabil integrat J-K M-S sincron, dacă semnalele la intrări au următoarele variaţii:

Fig 14.7 Circuit integrat bistabil J-K M-S

Intrările şi sunt asincrone şi dacă devin active (,,0”) , basculează bistabilul în ,,0” respectiv în ,,1” logic.

Observaţie : La reprezentarea semnalului de ieşire Q, nu s-a ţinut cont de timpul de întârziere introdus de bistabil.

Obiectivul experimentului : Studiul funcţionării şi utilizării circuitelor basculante bistabile.

75

Page 76: Logica digitala (ASDN)

Desfăşurarea experimentului : 1. Să se verifice utilizând circuitele SN7474 şi SN7476 funcţionarea bistabilului D şi J-K M-S având la bază tabelul caracteristic.2. Să se realizeze un bistabil sincron de tip T şi D , folosind bistabile sincrone J-K M-S şi porţi logice. 3. Reprezentaţi formele de undă a semnalelor Q1 şi Q2 din schema logica de mai jos, ştiind ca iniţial Q1=Q2=,,0”

15. Numărătoare asincrone

Numărătoarele sunt circuite secvenţiale sincrone autonome (mulţimea intrărilor vidă) şi sunt realizate din celule binare (bistabile), care memorează secvenţa de stări parcursa de numărător.

Un numărător este iniţializat de obicei in starea ,,0” , după care la fiecare impuls de numărare, comuta într-o nouă stare, corespunzătoare secvenţei de stări impuse prin proiectare. Caracterul asincron al unui numărător este dat de faptul că impulsul de numărare nu comandă simultan, prin intrările de clock, toate bistabilele numărătorului.

Sensul de parcurgere al secvenţei de numărare indică tipul numărătorului: numărător în sens crescător, numărător în sens descrescător sau numărător reversibil (ambele sensuri).

Numărător asincron modulo M=23 realizat cu bistabile T, sens crescător

Un astfel de numărător se realizează de obicei cu bistabile T (în număr de 3), conectate în cascadă, astfel încât ieşirea unui bistabil să devină intrarea de clock pentru bistabilul următor:

76

Page 77: Logica digitala (ASDN)

Fig 15.1 Numărător asincron sens crescător modulo M=23

Observaţie: Dacă intrările j=k=,,1” , bistabilul j-k , funcţionează ca un bistabil T cu intrarea T=,,1”

Iniţial prin activarea (,,0”) intrării asincrone , numărătorul se aduce în starea 0 iar apoi sub comanda impulsului de numărare parcurge secvenţa de stări :

StareaQ2 Q1 Q0

22 21 20

0 0 0 01 0 0 12 0 1 03 0 1 14 1 0 05 1 0 16 1 1 07 1 1 1

Dezavantajul acestui numărător se datorează întârzierilor introduse de bistabilele circuitului care la decodificarea stărilor poate genera impulsuri parazite şi prin comanda altor circuite se produc erori în funcţionarea sistemului.

Fig 15.2 Decodificarea stărilor unui numărător asincron M = 23

77

Page 78: Logica digitala (ASDN)

Fig 15.3 Formele de undă a ieşirilor numărătorului asincron M=23 şi a ieşirii ,,2” a decodificatorului ataşat numărătorului

Se observă din figura 15.3 , că realizând prin câte o poartă ŞI, operaţia ŞI logic între fiecare ieşire a decodificatorului şi impulsul de numărare IN ,impulsurile parazite sunt eliminate.

Numărător asincron sens crescător modulo M=5, cu memorarea semnalului de anulare

Circuitul de numărare este realizat cu 3 bistabile T şi un bistabil R-S asincron, pentru memorarea semnalului de anulare.

Fig 15.4 Numărător asincron sens crescător modulo M=5 cu memorarea semnalului de anulare

Numărătorul funcţionează astfel: se aduce numărătorul in starea 0 prin activarea (,,0”) intrării , prin comanda impulsurilor de numărare se parcurg cele 5 stări ale secvenţei de numărare, iar în următoarea stare, 5(101), se generează comanda de comutare in ,,0” a

78

Page 79: Logica digitala (ASDN)

bistabilului R-S, când semnalul devenind ,,0” prin intermediul intrărilor asincrone ale bistabilelor, aduce numărătorul în starea 0; în intervalul până la următorul impuls de numărare, semnalul IN , inversat comută bistabilul de memorare R-S în ,,1” şi dezactivează semnalul de anulare . Secvenţa de stări şi diagramele de timp a semnalelor de la ieşirile circuitului sunt reprezentate in fig 15.5.

StareaQ2 Q1 Q0

22 21 20

0 0 0 01 0 0 12 0 1 03 0 1 14 1 0 05 1/0 0/0 1/0

Fig 15.5 Funcţionarea numărătorului a sincron modulo M=5

La numărătoarele asincrone timpul de răspuns al numărătorului tN este dat de suma timpilor de propagare al bistabilelor componente. Un numărător asincron al cărui decodificator ataşat este autorizat pe durata impulsului de numărare funcţionează corect dacă tN<T-d , unde T este perioada impulsului de numărare iar d durata acestuia.

Obiectivul experimentului : Analiza şi sinteza numărătoarelor asincroneDesfăşurarea experimentului :

1. Să se realizeze un numărător asincron sens crescător modulo M=24 , cu circuite integrate SN7476 (bistabile j-k) şi sa se verifice funcţionarea, vizualizând ieşirile numărătorului

2. Să se proiecteze un numărător asincron sens crescător modulo M=6 fară memorare semnalului de anulare, să se reprezinte diagramele de timp ale ieşirilor circuitului, şi să se explice dezavantajul acestui tip de numărător.

3. Să se realizeze un circuit divizor de frecvenţă : fclk/4, cu bistabile T

79

Page 80: Logica digitala (ASDN)

16. Numărătoare sincrone , numărătoare compuse

Spre deosebire de numărătoarele asincrone, la cele sincrone impulsul de numărare comandă simultan bistabilele numărătorului.

Dacă nu se impune o anumită secvenţă de numărare, pentru evitarea unor erori la decodificarea stărilor, se alege o secvenţă de numărare continuă şi ciclică, deoarece astfel la fiecare impuls de numărare se modifică starea unui singur bistabil.

Sinteza unui numărător sincron folosind diferite tipuri de bistabile, se realizează determinând ecuaţiile intrărilor fiecărui bistabil din componenţa numărătorului pe baza modificării stării sale impuse prin secvenţa de numărare şi a tabelului excitaţiilor bistabilelor utilizate.

Două coduri succesive din secvenţa de numărare reprezintă starea prezentă şi respectiv starea următoare a numărătorului, determinate de starea bistabilelor componente. Aplicaţie rezolvată : Să se proiecteze un numărător sincron modulo M=6 cu bistabile J-K M-S. Nefiind impus doar numărul de stări, alegem pe diagrama V-K o secvenţă de numărare cu cuvinte de cod adiacente.

Descriem funcţionarea numărătorului printr-un tabel ce cuprinde secvenţe de stări parcurse de numărător şi valorile binare care trebuie generate la intrările sincrone ale fiecărui bistabil corespunzător tranziţiei acestuia din starea prezentă în starea următoare; aceste tranziţii rezultă din parcurgerea pas cu pas a secvenţei de numărare, începând cu starea iniţială 0 ca stare prezentă.

Starea Q2 Q1 Q0 J2 K2 J1 K1 J0 K0

0 0 0 0 0 x 1 x 0 x2 0 1 0 1 x x 0 0 x6 1 1 0 x 0 x 0 1 x7 1 1 1 x 0 x 1 x 0

80

Page 81: Logica digitala (ASDN)

5 1 0 1 x 0 0 x x 14 1 0 0 x 1 0 x 0 x0 0 0 0

La completarea tabelului de funcţionare al numărătorului sincronam utilizat tabelul excitaţiilor bistabilului J-K M-S :

Minimizăm funcţiile ji(Q0,Q1,Q2) şi ki(Q0,Q1,Q2) considerând indiferente valorile acestor funcţii pentru stările prin care nu trece numărătorul.

J0 K0

J0=Q2∙Q1 K0= 1

J1 K1

J1= 2 K1=Q0

J2 K2

J2=Q1 K2= 0∙ 1

Implementând numărătorul cu bistabile j-k M-S şi porţi logice ŞI obţinem schema logică :

Qn Qn+1 J K0 0 0 x0 1 1 x1 0 x 11 1 x 0

81

Page 82: Logica digitala (ASDN)

Diagramele de timp a semnalelor de la ieşirile numărătorului sunt :

Pentru a asigura o funcţionare fără erori se prevede generarea unui semnal de eroare, care să fie activat când numărătorul ajunge în una din stările nefolosite şi care să blocheze funcţionarea circuitului, blocând de exemplu comanda de numărare.

Semnalul de eroare :

Numărătoare compuse Prin conectarea în cascadă a unui numărător modulo M1 cu un numărător modulo M2 se realizează un numărător compus modulo M unde M=M1 x M2

Aplicaţie rezolvată : Să se realizeze un numărător compus modulo M=12 utilizând un numărător sincron modulo M1=3 şi un numărător sincron modulo M2=4 , implementat cu bistabile sincrone de tip D şi porţi logice. Impulsul de numărare, comandă numărătorul M2. Alegem secvenţa de numărare pentru numărătoarele M1 şi M2 :

Secvenţa de numărare pentru numărătorul compus fa fi :Stare M1 M2

82

Page 83: Logica digitala (ASDN)

A B C D0 0 0 0 01 0 0 0 12 0 0 1 03 0 0 1 14 0 1 0 05 0 1 0 16 0 1 1 07 0 1 1 18 1 0 0 09 1 0 0 110 1 0 1 011 1 0 1 10 0 0 0 0

Conectarea în cascadă a numărătoarelor M2 şi M1 presupune ca atunci când numărătorul modulo M2 a parcurs toată secvenţa sa de numărare (4 stări) să genereze un impuls de numărare spre numărătorul modulo M1 . Considerând că la intrările de sincronizare(clk) a bistabilelor D sunt active fronturile crescătoare ale impulsurilor de numărare, se obţine schema logică din Fig 16.1.

Fig 16.1 Numărător compus modulo M=4x3

Numărătorul reversibil SN74193 (Texas Instruments)

Numărătorul binar SN74193 Fig 16.2 este un numărător sincron de 4 biţi, secvenţa de numărare poate fi parcursă atât în sens crescător cât şi sens descrescător şi are posibilitatea preîncărcării în mod paralel(simultan) a unei configuraţii de patru cifre binare care să constituie starea iniţială de la care începe procesul de numărare.

83

Page 84: Logica digitala (ASDN)

Fig 16.2 Numărător binar reversibil de 4 biţi

Semnificaţia semnalelor de intrare şi ieşire a circuitului este următoarea :

CLEAR– semnal activ la ,,1” logic forţează numărătorul în starea 0(0000) - semnal activ la ,,0” logic comandă încărcarea paralelă a numărătorului

COUNT UP – impulsurile de numărare în sens crescător , activ fiind frontul crescătorCOUNT DOWN - impulsurile de numărare în sens descrescător, cu frontul crescător activ

A,B,C,D – intrările utilizate pentru încărcarea paralelăQA,QB,QC,QD - ieşirile celor patru celule binare a numărătorului

- semnal activ la ,,0”, este generat între 2 impulsuri de numărare, după ce numărătorul a ajuns în starea 0(0000), ca urmare a numărării în sens descrescător fig 16.3

- semnal activ la ,,0”, este generat între 2 impulsuri de numărare după ce numărătorul a tranzitat în starea 15(1111) , ca urmare a numărării în sens crescător fig 16.3

Fig 16.3 Formele de undă a semnalelor CARRY (Cy) şi BORROW (Br)

Obiectivul Experimentului : Analiza şi sinteza numărătoarelor sincrone utilizând circuite bistabile şi porţi logice.

84

Page 85: Logica digitala (ASDN)

Desfăşurarea experimentului : 1. Să se realizeze sinteza unui numărător compus modulo M = 15 , utilizând un numărător asincron modulo M1=3 şi un numărător sincron modulo M2=5 , cu circuite integrate SN7474 (bistabile D) şi porţi logice. Impulsul de numărare comandă numărătorul modulo M1=3.Se va verifica funcţionarea circuitului şi se vor reprezenta diagramele de timp a semnalelor de la ieşirile numărătorului.2. Se dă scheme logică a circuitului de mai jos:

Să se explice funcţionarea circuitului şi să se reprezinte diagramele de timp a semnalelor, , ,QA,QB,QC,QD,CD (impulsuri numărare sens descrescător)

17. Registre de deplasare

Un registru de deplasare este alcătuit dintr-un set de circuite basculante bistabile sincrone , conectate astfel încât la fiecare impuls de clock configuraţia binară , reprezentată prin starea circuitelor basculante componente , să se deplaseze cu o poziţie binară.

În cazul general un registru de deplasare cu n celule binare poate fi proiectat să realizeze următoarele funcţii :

a) deplasare stânga : Ain+1 =An

i-1 unde Ain+1 reprezintă starea bistabilului Ai la momentul

următor iar Ani-1 reprezintă starea bistabilului de rang imediat inferior la momentul precedent.

Pentru această funcţie se prevede şi o intrare serie la bistabilul de rang cel mai puţin semnificativ A0 .

b) deplasare dreapta : Ain+1 =An

i+1 unde Ani+1 reprezintă starea bistabilului de rang imediat

superior rangului Ai , la momentul precedent. În bistabilul de rang cel mai semnificativ An-1 se prevede de asemenea o intrare serie.

c) încărcare : se înscrie paralel (simultan) o configuraţie binară de n biţid) recirculare stânga : configuraţia binară deplasată spre stânga este readusă în registru

prin conectarea ieşirii bistabilului An-1 cu intrarea bistabilului A0 .e) recirculare dreapta : configuraţia binară deplasată spre dreapta revine în registru prin

conectarea ieşirii bistabilului A0 cu intrarea bistabilului An-1 .

85

Page 86: Logica digitala (ASDN)

Fig 17.1 Registru de deplasare de n biţi

Aplicaţie rezolvată: Să se proiecteze un registru de deplasare cu 4 celule binare folosind bistabile de tip D şi multiplexoare , care să realizeze funcţiile : deplasare stânga , deplasare dreapta , încărcare, recirculare stânga , recirculare dreapta. Selecţia modului de funcţionare a registrului este realizată prin combinaţiile binare a 3 semnale de comandă : I (încărcare) D (deplasare) R (recirculare) şi anume :

Ez I D R Funcţia0 0 0 0 Reciclare stânga1 0 0 1 Reciclare dreapta2 0 1 0 Deplasare stânga 3 0 1 1 Deplasare dreapta4 1 0 0 Încărcare

Intrările de date a circuitelor MUX sunt conectate la ieşirile acelor bistabile, astfel încât la generarea codului de adresă (semnalele I,D,R) ,registru de deplasare să realizeze funcţia corespunzătoare.

Ecuaţiile intrării Din+1 a unui rang tipic Ai pentru fiecare mod de funcţionare sunt :

Din+1=Ai

n-1 D - deplasare stânga

Din+1=Ai

n+1 D R - deplasare dreapta

Din+1=Pi I - încărcare, unde Pi sunt intrările de încărcare (paralelă) a

unei configuraţii binare de 4 biţi Di

n+1 = Ain-1

Şi - recirculare stângaD0

n+1 = A3n

Din+1 = Ai

n+1 R

Şi - recirculare dreaptaD3

n+1 = A0n R

Se obţine schema logică din fig. 17.2

86

Page 87: Logica digitala (ASDN)

Fig. 17.2 Registru de deplasare de 4 biţi

Numărătoare în inel

Numărătorul în inel este un registru de deplasare care deplasează ciclic (recirculează) un ,,1” sau un ,,0” logic. Avantajul principal al acestui numărător constă în faptul că stările sale sunt complet decodificate fără circuite suplimentare.Exemplu : Secvenţa de stări a unui numărător în inel de 4 biţi care deplasează ciclic un ,,1” logic este:

Starea A3 A2 A1 A0

8 1 0 0 04 0 1 0 02 0 0 1 01 0 0 0 18 1 0 0 0

Obiectivul experimentului : Studiul funcţionării şi proiectării registrului de deplasare.Desfăşurarea experimentului : 1) Utilizând informaţii de catalog, se va studia şi verifica funcţionarea registrului de

deplasare de 4 biţi integrat SN7495

87

Page 88: Logica digitala (ASDN)

2) Să se realizeze un numărător în inel de 8 biţi cu recircularea unui ,,1” logic cu circuite integrate SN7495 şi porţi logice

3) Se dă circuitul din Fig. 17.3. Care este conţinutul registrului de deplasare după 6 impulsuri de clock dacă iniţial este 0001?

Fig 17.3 Registru de deplasare de 4 biţi

18. Reducerea numărului stărilor automatelor finite

Complexitatea unui circuit secvenţial realizat cu un anumit tip de elemente de circuit, depinde de complexitatea modelului său (automatul cu număr finit de stări).

Structura unui circuit secvenţial este cu atât mai simplă cu cât numărul stărilor este mai redus, ieşirile şi intrările circuitului nefiind modificabile. Prin reducerea numărului de stări ale automatului, scade numărul de elemente de memorie, deci şi al variabilelor de intrare secundare şi se micşorează numărul ecuaţiilor excitaţiilor.

Pentru a micşora complexitatea circuitului secvenţial se impune reducerea la minim necesar a numărului de stări a automatului finit corespondent

Reducerea numărului de stări a automatelor finite complet specificate (definite)

Două stări Yi şi Yj ale aceluiaşi automat complet definit A, sau aparţinând la două automate complet definite A1 şi A2 se numesc echivalente, notat dacă pentru orice secvenţă de intrări arbitrară aplicată automatului A1 aflat în starea Yi se obţine aceeaşi secvenţă de ieşiri ca şi la aplicarea aceleiaşi secvenţe automatului A1 respectiv A2 aflat în starea Yj. Două automate A1 şi A2 sunt echivalente, notat dacă pentru fiecare stare Yj din A2 există o stare echivalentă Yi in A1 şi invers pentru fiecare stare Yi din A1 există o stare echivalentă Yj în A2.

Echivalenţa stărilor unui automat complet definit împarte mulţimea stărilor acestuia în clase de echivalenţă disjuncte. Relaţia de echivalenţă a stărilor automatului complet definit are proprietatea de tranzitivitate: dacă şi atunci

.Două stări ale unui automat complet definit sunt evident echivalente, dacă pentru orice au ieşiri identice: (Yk,Xi)=(Yi,Xi) şi succesori (stări următoare) identici:

88

Page 89: Logica digitala (ASDN)

(Yk,Xi)=(Yi,Xi). Dacă succesorii nu sunt identici, stările Yi şi Yk pot fi echivalente dacă succesorii sunt echivalenţi pentru orice intrări.

O metodă de determinare a claselor de stări echivalente pentru automatele complet definite este cea a tabelului implicaţiilor cunoscută şi sub numele de algoritmul PAULL-UNGER. Metoda se bazează pe construirea unui tabel de formă triunghiulară având început de linii, stările automatului fără prima stare şi început de coloane stările automatului fără ultima stare.

În compartimentul aflat la intersecţia unei linii cu o coloană se înscriu condiţiile ca perechea formată din starea de pe linia respectivă să fie echivalentă cu starea de pe coloana respectivă şi anume:

- X dacă stările din perechea respectivă sunt evident neechivalente (pentru aceeaşi intrare au ieşiri diferite)

- dacă stările din perechea respectivă sunt evident echivalente (pentru aceeaşi intrare au ieşiri şi succesori identici)

- implicaţiile privind echivalenţa succesorilor dacă stările din perechea respectivă au aceleaşi ieşiri pentru aceeaşi intrare (sunt 1 echivalente), dar succesori diferiţi

Automatul descris prin tabelul tranziţiilor se reprezintă în tabelul implicaţiilor înscriind în compartimentele acestuia condiţiile de echivalenţă a perechilor de stări a automatului complet definit.

La o primă inspecţie a tabelului implicaţiilor se urmăreşte fiecare pereche de stări neechivalentă (compartiment marcat cu X), se încercuieşte pentru a nu se mai reveni asupra ei şi se verifică dacă este implicată în echivalenţa unei alte perechi de stări. Dacă da, acea pereche devine neechivalentă şi se marchează cu X, dacă nu, se continuă procedeul. Dacă este necesar, se reia procedura până când toate compartimentele corespunzătoare perechilor de stări neechivalente (marcate cu X) sunt încercuite.

Procedura fiind terminată, se extrag din tabelul implicaţiilor toate perechile de stări echivalente şi a celor rămase neechivalente şi pe baza proprietăţii de tranzitivitate a relaţiei de echivalenţă se determină clasele de echivalenţă

Automatul finit complet definit cu un număr redus de stări şi echivalent cu cel dat iniţial se obţine înlocuind fiecare clasă de echivalenţă cu o stare a clasei respective (intrările şi ieşirile rămân aceleaşi)

Aplicaţie rezolvată Să se determine tabelul tranziţiilor automatului cu număr redus de stări, folosind metoda tabelului implicaţiilor, având dat iniţial automatul:

Stare prezentă

Intrări 1 2 3 4

1 1/0 3/0 4/0 6/12 4/1 2/0 5/0 7/13 2/0 5/1 3/0 4/14 2/1 4/0 5/0 8/15 5/1 2/0 4/0 7/16 4/0 2/1 5/0 6/17 1/0 6/1 7/1 4/08 1/0 6/1 7/1 4/0

89

Page 90: Logica digitala (ASDN)

Observaţie: în tabelul de mai sus s-au păstrat ca notaţii doar indicii stărilor şi intrărilor.

2 X3 X X4 X 87 X5 X X6 X X X X7 X X X X X X

8 X X X X X X

1 2 3 4 5 6 7

Stări echivalente: , , . Obţinem clasele echivalente: {1}, {2, 4, 5}, {3}, {6}, {7, 8}. Dacă înlocuim fiecare clasă de echivalenţă cu stările obţinem:

{1} Y1r {2, 4, 5} Y2r {3} Y3r {6} Y4r {7, 8} Y5r

Tabelul tranziţiilor automatului cu număr redus de stări devine:

Stare prezentă

Intrări 1 2 3 4

90

Page 91: Logica digitala (ASDN)

Y1r Y1r/0 Y3r/0 Y2r/0 Y4r/1Y2r Y2r/1 Y2r/0 Y2r/0 Y5r/1Y3r Y2r/0 Y2r/1 Y3r/0 Y2r/1Y4r Y2r/0 Y2r/1 Y2r/0 Y4r/1Y5r Y1r/0 Y4r/1 Y5r/1 Y2r/0

Reducerea numărului de stări al automatelor finite incomplet specificateCele mai multe automate finite intâlnite în practică sunt cele incomplet definite şi

stările lor pot să fie într-o relaţie de compatibilitate. Două stări Yi şi Yj ale unui automat incomplet definit se numesc stări

compatibile dacă respectă condiţiile de echivalenţă în toate cazurile când sunt specificate ieşirile şi stările următoare şi se notează Yi~Yj

Exemplu de stări compatibile: Y4~Y5

Stare prezentă

Stare următoare/ieşireX1 X2 X3 X4

Y4 Y1/0 -/- Y2/0 -/1Y5 Y1/0 Y4/- -/- Y4/1

Determinarea claselor de compatibilitate al unui automat incomplet definit prin metoda tabelului implicaţiilor se realizează în acelaşi mod ca în cazul determinării claselor de echivalenţă a automatelor complet definite, cu deosebirea că relaţia de compatibilitate nu are proprietatea de tranzitivitate, şi astfel dacă trei stări Yi, Yj şi Yk aparţin aceleiaşi clase de compatibilitate, fiecare stare trebuie să fie compatibilă cu celelalte: Yi~Yj, Yi~Yk şi Yj~Yk. Determinarea automatului incomplet definit cu număr minim de stări, presupune determinarea claselor de compatibilitate maximă şi selectarea acoperirii cu număr minim de clase de compatibilităţi maxime.

Dacă o clasă de compatibilităţi nu este o submulţime a unei alte clase de compatibilitate, ea este o clasă de compatibilitate maximă.

Pentru determinarea acoperirii minime se includ obligatoriu clasele de compatibilitate esenţiale, acele clase care conţin stări care nu sunt incluse în alte clase, apoi clasele implicate de acestea sau clasele care includ implicaţiile acestora.

Mulţimea de clase de compatibilităţi maxime selectată pentru acoperirea minimă trebuie să aiba proprietatea de inchidere tranzitivă, adică pentru oricare din clasele mulţimii, toţi succesorii stărilor din clasa respectivă pentru aceeasi intrăre să facă parte din aceeași clasă de compatibilităţi.

Aplicaţie rezolvată: Se dă automatul incomplet specificat de mai jos şi să se determine tabelul tranziţiilor automatului redus folosind metoda tabelului implicaţiilor

Stare prezentă

IntrăriX1 X2 X3 X4

Y1 Y3/0 -/- Y4/- Y2/-Y2 -/- Y2/1 Y6/- Y3/1

91

Page 92: Logica digitala (ASDN)

Y3 Y2/0 Y6/1 -/- -/-Y4 -/- Y3/- Y2/0 Y3/-Y5 Y1/0 Y6/1 Y4/- -/0Y6 Y3/1 Y2/- -/0 Y3/1Y7 Y2/0 Y4/- -/1 Y5/0

Tabelul implicaţiilor:

Clasele de compatibilitate maximă: {1, 2, 3}, {1, 3, 5}, {2, 4, 6}, {3, 5, 7}.În acoperirea minimă se includ clasele de compatibilitate esenţiale: {2, 4, 6}, {3,

5, 7} şi una din cele 2 clase rămase: {1, 2, 3}.Tabelul tranziţiilor automatului redus incomplet specificat este:

Stare prezentă

IntrăriX1 X2 X3 X4

Y1r Y1r/0 Y2r/1 Y2r/- Y1r/1Y2r Y1r/1 Y1r/1 Y2r/0 Y1r/1Y3r Y1r/0 Y2r/1 Y2r/1 Y3r/0

Unde:

Obiectivul experimentului: Studiul metodelor de determinare a unui număr redus de stări al automatelor finite complet şi incomplet definite

Desfăşurarea experimentului: 1. Să se reducă prin metoda tabelului implicaţiilor numărul de stări al automatelor:

a)Stare

prezentăIntrări

X1 X2 X3 X4

1 1/0 2/1 1/0 2/02 2/0 1/1 1/0 1/0

92

Page 93: Logica digitala (ASDN)

3 3/1 4/0 4/1 3/04 4/1 3/0 4/1 4/05 1/0 5/1 2/0 1/0

b)Stare

prezentăIntrări

X1 X2 X3 X4

1 2/- 5/0 5/0 2/-2 3/0 4/- -/- -/-3 -/- 5/- 1/0 2/04 1/- 2/1 -/- -/-5 2/1 -/- -/- 4/1

19.Codificarea stărilor automatelor finite. Sinteza automatelor secvenţiale sincrone descrise prin diagrama ASM. (Algorithms State Machine)

Sinteza unui circuit secvenţial sincron constă în determinarea schemei structurale a circuitului care permite implementarea cu elemente logice şi elemente de memorie, a tranziţiilor si ieşirilor impuse prin funcţiile şi . Determinarea expresiilor logice ale ieşirilor şi ale stărilor următoare presupune codificarea binară a acestora.

Fiecărei poziţii binare din codul atribuit stării îi corespunde o anumită variabilă de stare. Intrările şi ieşirile circuitului sunt notate de asemenea prin variabile binare.

N stări ale unui automat pot fi codificate prin p cifre binare astfel încât:

O codificare optimă asigură obţinerea unor expresii logice cât mai simple, a excitaţiilor şi o siguranţă cât mai ridicată în funcţionare. O funcţionare fără hazard a circuitului se realizează dacă stările între care există tranziţii directe primesc cuvinte de cod adiacente.

Utilizarea organigramei în sinteza automatelor secvenţiale sincrone realizate cu automate elementare: bistabile J-K, D

Descrierea funcţionării unui automat secvenţial sincron printr-o organigramă este o metodă ce permite transpunerea directă, rapidă şi intuitivă a modului şi condiţiilor de funcţionare a automatului printr-un graf logic de intrări, stări şi decizii.

Elementele componente de bază ale organigramei de funcţionare a oricărui automat secvenţial sunt:

- elementul de intrare (control sau decizie), fig. 19.1a- elementul de stare fig. 19.1b- elementul de ieşire fig. 19.1c

93

Page 94: Logica digitala (ASDN)

Fig. 19.1 Elementele unei organigrame

Pentru reprezentările din figura 19.1 există următoarele corespondenţe:a – simbolul elementului de intrareb – variabila de intrare care exercită controlulc – starea variabilei de intrare, pentru căile de ieşire din elementd – elementul de intrare este asincrone – cale de intrare în staref – simboluri pentru variabila de stareg – codul binar atribuit stăriih – denumirea stării stabilei – simbolul elementului de starej – calea de ieşire din starek – simbolul elementului de ieşirel – denumirea variabilei de ieşire activate

Se disting două tipuri de intrări şi decizii:- sincrone, care sunt stabile pe durata unei perioade a impulsului de sincronizare şi

apar numai odată cu acesta- asincrone, care se pot modifica în orice moment de timp, independent de

impulsul de sincronizare

Criterii de codificare a stărilor din organigrama unui automat secvenţial sincron

Evitarea curselor critice de tranziţie impune o codificare a stărilor astfel încât în orice stare, pentru toate combinaţiile posibile de intrări sincrone, să nu depindă mai mult decât o singură variabilă de stare de o intrare asincronă.

Practic, două stări rezultate din căile de ieşire a unei intrări asincrone trebuie să primească coduri adiacente.

Exemplu:

94

a) b) c)

Page 95: Logica digitala (ASDN)

Eliminarea impulsurilor false (parazite) în funcţiile de ieşire impun:a) adoptarea unei codificări în care toate tranziţiile implică modificarea unei singure

variabileb) creşterea numărului de stări prin forţarea tranziţiilor în stări suplimentare lipsite

de funcţii de ieşirec) creşterea numărului variabilelor de stared) sincronizarea funcţiilor de ieşirePentru obţinerea unei scheme minimale sub raportul necesarului de componente fizice

(hardware) se adoptă regulile:e) tranziţiile directe între stări se codifică adiacentf) tranziţiile de stări condiţionate se codifică în sensul dependenţei reduse de

variabilele de intrare adică un număr cât mai mic de variabile de stare să depindă de intrare.

Sinteza automatului secvenţial sincron utilizând metoda organigramei presupune parcurgerea următoarelor etape:

1. Expunerea protocolului de operare prin descrierea în cuvinte a condiţiilor de funcţionare

2. Elaborarea organigramei automatului corespunzătoare condiţiilor de funcţionare, cu o stare iniţială şi o ultimă stare a ciclului de funcţionare conectată la starea iniţială

3. Codificarea stărilor automatului astfel încât pentru n stări stabile sunt necesare p variabile astfel încât

4. Se reprezintă diagrama stărilor la momentul t, variabilele diagramei V-K fiind cele p variabile de stare.

95

Page 96: Logica digitala (ASDN)

5. Utilizând diagrama stărilor la momentul t şi a analizei tranziţiilor în organigramă se determină pentru fiecare variabilă de stare cele p diagrame ale stării următoare (momentul t+1)

Diagrama V-K a unei variabile de stare Qi la momentul t+1 se obţine astfel:- se utilizează diagrama stărilor la momentul t şi presupunem că automatul se află

în starea Yi, considerată stare prezentă- se urmăreşte valoarea binară a variabilei Qi dobândită în urma tranziţiei

automatului din starea Yi în starea următoare, condiţionată de variabila de intrare, directă sau negată, dacă există şi se înscrie în compartimentul stării prezente Yi din diagrama la momentul t.

Expresiile logice ale funcţiilor de ieşire se determină din diagrama stărilor la momentul t înscriind „1” logic asociat cu condiţia directă sau negată, dacă există, în compartimentul corespunzător stării în care este generată funcţia de ieşire.

6. Determinarea expresiilor logice a intrărilor bistabilelor de stare J-K sau D din cele p diagrame a stărilor automatului la momentul t+1

7. Determinarea expresiilor logice a funcţiilor de ieşire8. Implementarea schemei logice obţinute a automatului secvenţial sincron cu

circuite integrateObservaţie: Deoarece în continuare se vor utiliza diagramele VID (variabile

înglobate), se exemplifică determinarea funcţiilor de ieşire: a) se consideră toate variabilele înglobate „0” şi se formează inele cu „1”-urile din

diagramăb) se consideră toate „1”-urile indiferente (X) şi se formează pe rând inele cu câte o

variabilă înglobată, celelalte fiind „0”c) se realizează disjuncţia termenilor obţinuţi la punctul a şi b

Exemplu:

= +

+ =

Structura unui automat secvenţial sincron realizat cu automate elementare: bistabile J-K, D are următoarea configuraţie:

96

Page 97: Logica digitala (ASDN)

Fig 19.2 Structura bloc a unui circuit secvenţialsincron cu bistabile J-K, D

Aplicaţie rezolvată: Să se realizeze cu bistabile J-K şi porţi logice sinteza automatului secvenţial sincron descris prin organigrama din figura 19.3

Fig 19.3 Organigrama de funcţionare a unui automat secvenţial sincronPAL, START, SIN, STOP – variabile de intrarePAS, CAS – funcţii de ieşire

97

Page 98: Logica digitala (ASDN)

Q0, Q1, Q2 – variabile de stare; fiecăreia îi va corespunde un bistabil J-K în registrul de stare

Diagrama stărilor la momentul t:

Observaţie: compartimentele corespunzătoare stărilor prin care automatul nu tranzitează se marchează indiferente (X)

Diagrama stărilor la momentul t+1:

Deoarece registrul de stare se implementează cu bistabile J-K, obtinerea expresiilor logice a intrărilor j si k se bazează pe ecuatia de stare Qt+1 = J • + • Qt,din care reiese că în diagramele stărilor următoare se marchează indiferent compartimentele ce corespund lui Qi=”1” si se determină expresia intrării ji, iar pentru determinarea expresiei intrării ki se marchează indiferent compartimentele corespunzătoare lui Qi=”0” şi conţinutul celorlalte se complementează.

98

Page 99: Logica digitala (ASDN)

Funcţiile de ieşire: PAS

CAS

Schema logica a automatului proiectat:

99

Page 100: Logica digitala (ASDN)

Dacă implementarea registrului de stare a automatului secvenţial sincron se realizează cu bistabile de tip D, expresiile logice ale intrărilor Di devin

Logica combinaţională poate fi deasemenea realizată cu circuite multiplexoare sau decodificatoare.

Utilizarea circuitelor decodificatoare la sinteza blocului combinaţional din structura automatului sincron are unele particularităţi:

1. starea prezentă Yi în care se găseşte automatul este evidenţiată printr-un semnal Si activat la ieşirea unui decodificator, având variabilele de stare conectate la intrările decodificatorului cu variabilele binare corespunzătoare codului atribuit stării yi

2. expresiile logice ale intrărilor registrului de stare al automatului se determină astfel:

a) pentru bistabilele D, intrările Di sunt „1” logic de fiecare dată când automatul se află într-o stare Yi (activat Si) şi indică prin codul său binar că variabila de stare Qi este „1”

b) pentru bistabile J-K intrările J,K sunt „1” logic (conform tabelului excitaţiilor bistabilului J-K) de fiecare dată când automatul fiind în starea Yi (activat Si), tranzitează într-o stare al cărei cod indică modificarea variabilei de stare respective Qi: pentru tranziţiile din „0” în „1” a variabilelor de stare Qi se obţin ecuaţiile Ji, iar pentru tranziţiile din „1” în „0” se obţin ecuaţiile Ki

Pentru automatul descris în fig. 19.3 avem de exemplu pentru bistabilul Q0 intrările:

-

-

Conectarea automatelor sincrone master, cu cele de tip slave

În cazul aplicaţiilor mai complexe există posibilitatea ca anumite bucle identice din programul de operare să se repete de mai multe ori şi de aceea ele pot fi implementate o singură dată şi apelate ca subprogram (automat slave) de câte ori este nevoie din programul principal (automat master) fig. 19.4

Se consideră că automatul master şi automatul slave funcţionează cu acelaşi impuls de sincronizare iar cuplarea lor se realizează prin intermediul unui bistabil de legătură Bi, asociat fiecărui automat slave.

Automatul slave testează în starea iniţială starea bistabilului Bi corespondent; dacă Bi=”0” automatul rămâne în starea iniţială, dacă este „1” atunci sunt parcurse toate stările automatului slave , în ultima sa stare fiind generată comanda de forţare în „0” a bistabilului Bi, pentru revenirea în automatul master.

În automatul master se dă o comandă de forţare in „1” a bistabilului Bi asociat automatului slave apelat şi în următoarea stare

100

Page 101: Logica digitala (ASDN)

se testează ieşirea bistabilului Bi; dacă este „1”, automatul master rămâne in aceeaşi stare, funcţionând automatul slave, iar dacă este „0” tranzitează în stările următoare, ale automatului master.

Fig 19.4 Cuplarea automatelor master şi slaveObiectivul experimentului: Analiza şi sinteza automatelor

secvenţiale sincrone prin metoda organigramei, cu bistabile J-K şi D, utilizând descrierea funcţionarii automatului prin organigrama stărilor.

Desfăşurarea experimentului: Să se realizeze ca automat secvenţial sincron un dispozitiv de sortare după dimensiune a unor bare metalice cu lungimea între 2 şi 4m care circulă pe o bandă transportoare, la distanţă mai mare de 1m intre ele. Se cere să se selecteze şi contorizeze separat barele mai mici de 3m şi cele mai mari de 3m ştiind că trec prin faţa a două fotocelule aşezate la distanta de 3m una de cealaltă si care emit semnalele T0 şi T1 (iniţial sunt „0”) şi care la sesizarea unei bare, semnalul emis de fotocelulă devine „1” logic.

101

Page 102: Logica digitala (ASDN)

Numărul barelor nu depăşeşte 15 şi se vor contoriza cu numărătoare binare.

Automatul va fi realizat:a) cu bistabile D şi porţi logiceb) cu bistabile D şi circuite multiplexoarec) cu bistabile D şi circuite decodificatoare

Se vor folosi bistabile SN7474 (D), multiplexor SN74151, decodificator SN74138, numărător binar SN74193

20. Sinteza automatelor secvenţiale utilizând metoda relaţiilor de transfer

Prin această metodă se pot implementa automatele secvenţiale sincrone descrise prin: tabelul tranziţiilor, graful tranziţiilor sau organigrama ASM.

Din punct de vedere al realizării registrului de stare, se pot aplica două variante ale acestei metode: registru de stare realizat cu bistabile, cu stări complet decodificate şi registru de stare realizat cu circuit numărător.

Registru de stare realizat cu bistabile si stări complect decodificate

O relaţie de transfer are următoarea sintaxă: Starea Condiţia : comenzi, ieşiriFiecărei stări ale automatului îi corespunde în registrul de stare câte un bistabil D.

Tranziţia automatului în starea Yi este indicată în relaţia de transfer prin înscrierea unui „1” în bistabilul Bi asociat stării respective şi a unui „0” în bistabilul Bi-1 asociat stării precedente.

Expresia logică a intrării Di a bistabilului de stare se obţine prin însumarea logică a termenilor Starea Condiţie pentru toate situaţiile în care se înscrie un „1” în

bistabilul de stare Bi:

Funcţiile de ieşire Zi se obţin la fel, prin suma logică a termenilor STARE Condiţie pentru cazurile în care se generează funcţia respectivă

(Zi = 1):

Aplicaţie rezolvată: Să se implementeze prin metoda relaţiilor de transfer cu registrul de stare realizat cu bistabile D cu stări complet decodificate, automatul secvenţial sincron descris prin organigramă:

102

Page 103: Logica digitala (ASDN)

Tabelul codurilor stărilor obţinut prin atribuirea fiecărei stări a unui bistabil D al registrului de stare

B0 B1 B2 B3 B4

Y0 1 0 0 0 0Y1 0 1 0 0 0Y2 0 0 1 0 0Y3 0 0 0 1 0Y4 0 0 0 0 1

Relaţiile de transfer:

Expresiile logice ale intrărilor bistabilelor:

103

Page 104: Logica digitala (ASDN)

Expresiile logice ale funcţiilor de ieşire:

Înlocuind stările yi cu ieşirea bistabilelor corespondente Bi se obţine schema logică a automatului:

CLC – circuit logic combinaţional

Registrul de stare realizat cu circuit numărătorRegistru de stare este implementat cu un circuit numărător, reversibil tip

SN74193. deoarece va fi utilizată atât funcţia de încărcare paralelă a numărătorului cât şi funcţia de incrementare; codificarea stărilor automatului trebuie astfel realizată încât generarea codului stării următoare să fie realizată în concordanţă cu funcţia de încărcare sau incrementare folosită.

Se implementează automatul din figura precedentă şi se obţine:

104

Page 105: Logica digitala (ASDN)

Relaţiile de transfer:

Expresia logică a semnalului de incrementare a registrului de stare este dată de suma logică a termenilor yi Condiţie când se generează semnalul +1RN:

+1RN=

Expresia logică a semnalului de încărcare paralelă LOAD se determină prin suma logică a termenilor Stare Condiţie când în relaţia de transfer este activată funcţia de

încărcare: cv

Semnalele yi se obţin prin decodificarea variabilelor de stare Q0, Q1 şi Q2 corespunzătoare codului fiecărei stări. Intrările de date de rang i, Di ale numărătorului se determină utilizând diagrama V-K a stărilor automatului la momentul t şi înscriind un „1” logic sau condiţia testată în compartimentul corespunzător stării in care starea următoare este generata prin încărcarea numărătorului, iar codul binar al acestei din urma stări, are bitul de rang i, egal cu „1”.

105

Page 106: Logica digitala (ASDN)

Observaţie: egalitatea dintre indicele simbolului stării şi echivalentul zecimal al codului binar atribuit stării este întâmplătoare.

Funcţiile de ieşire au aceeaşi expresie cu cele rezultate la implementarea precedentă, iar funcţia de încărcare LOAD este realizată cu circuit multiplexor.

Schema logică a circuitului secvenţial sincron obţinut:

106

Page 107: Logica digitala (ASDN)

CLC – circuit logic combinaţional

Obiectivul experimentului: studiul sintezei automatelor secvenţiale prin metoda relaţiilor de transfer

Desfăşurarea experimentului: Să se testeze funcţionarea automatului descris prin organigrama de mai jos realizat prin metoda relaţiilor de transfer folosind circuitele integrate: bistabile D, porţi logice ŞI-NU, multiplexoare şi decodificatoare.

21. Sinteza automatelor secvenţial sincrone cu memorii permanente programabile PROM

Memoriile PROM se pot utiliza la realizarea circuitelor secvenţiale sincrone atât pentru generarea stărilor următoare cât şi a ieşirilor. Pentru implementarea acestor funcţii, memoria trebuie programată iniţial în conformitate cu comportarea automatului secvenţial sincron proiectat. Astfel la o adresă specificată de intrările principale ale circuitului şi de starea prezentă a acestuia, memorată în registrul de stare, este înscrisă starea următoare a circuitului şi ieşirea corespunzătoare.

După modul de adresare, vor fi abordate trei variante ale sintezei automatelor sincrone descrise prin organigramă, cu memorie PROM:

1. Adresarea arcelor de legătură din organigrama ASM2. Adresarea perechilor de intrare-stare3. Adresarea cu format variabil

107

Page 108: Logica digitala (ASDN)

1. Adresarea arcelor de legăturăÎn cadrul acestei metode, conţinutul unei locaţii de memorie are două câmpuri:

LINK şi INSTRUCŢIE. În câmpul LINK este înscris codul binar al stării următoare iar în câmpul INSTRUCŢIE, toate ieşirile generate în starea prezentă sau în timpul tranziţiei spre starea următoare. Codul adresei selectate din memorie este parte constituit din codul binar al stării următoare, memorat în registrul de stare şi parte din valorile binare ale variabilelor de intrare, fig 21.1 .

Fig. 21.1 Automat sincron realizat prin metoda adresăriiarcelor de legătură

Descrierea conţinutului memoriei PROM, înscrisă în prealabil, redă de fapt, funcţionarea automatului sincron, conform organigramei

108

Page 109: Logica digitala (ASDN)

Aplicaţie rezolvată: Să se implementeze cu memorie PROM prin metoda adresării arcelor de legătură, automatul:

Organigrama se adaptează astfel încât să fie evidenţiate în mod grupat, toate ieşirile generate pe fiecare ramură a tranziţiilor în starea următoare.

109

Page 110: Logica digitala (ASDN)

Harta memoriei ROM

Stare prez. Intrări LINK Z6 Z5 Z4 Z3 Z2 Z1 Z0

Q1 Q0 X2 X1 X0 D8 D7 D6 D5 D4 D3 D2 D1 D0

0 0 0 0 0 0 0 0 0 0 1 1 1 10 0 0 0 1 0 1 0 0 1 0 0 1 10 0 0 1 0 1 1 0 1 0 0 1 0 10 0 0 1 1 0 1 1 0 0 0 0 1 10 0 1 0 0 0 0 0 0 1 1 1 0 10 0 1 0 1 0 1 0 1 1 0 0 1 10 0 1 1 0 1 1 0 0 0 1 1 1 10 0 1 1 1 0 1 0 1 0 0 0 1 10 1 x x x 1 1 0 0 0 0 0 0 01 1 x x x 0 0 0 0 0 0 0 0 0

Realizând registrul de stare cu bistabile D, se obţine schema logică a automatului secvenţial sincron:

110

Page 111: Logica digitala (ASDN)

2. Adresarea perechilor de intrare-stareAceastă metodă permite sinteza automatelor secvenţiale sincrone descrise printr-o

organigramă astfel încât într-o stare să fie testată o singură variabilă de intrare. Dacă pentru realizarea registrului de stare se folosesc bistabile D, codul stării următoare înscris în registru de stare selectează o adresă de memorie al cărei conţinut are următoarea structură, fig 21.2

TEST LINK TRUE (LT) LINK FALSE (LF) INSTRUCŢE

Fig 21.2 Conţinutul adresei de memorie PROM în cazul adresăriiperechilor intrare-stare

Informaţiile memorate în adresa de memorie au următoarele semnificaţii:TEST – codul atribuit variabilelor de intrareLINK TRUE – codul atribuit stării următoare, când variabila testată are valoarea „1”LINK FALSE – codul stării următoare dacă variabila testată are valoarea „0”INSTRUCŢIE – câmpul corespunzător funcţiilor de ieşire, fiecărei funcţii atribuindu-se câte un bit din acest câmp („0” dacă nu există funcţie de ieşire, „1” dacă se generează o funcţie de ieşire)

111

Page 112: Logica digitala (ASDN)

Fig 21.3 Schema bloc a unui automat sincron realizat prin metoda adresăriiperechilor de intrare-stare şi registru de stare cu bistabile

Utilizarea unui numărător reversibil ca registru de stare impune anumite particularităţi la realizarea sintezei automatului sincron:

a) Convenim ca atunci când variabila testată este „0” logic, codul stării următoare să se obţină prin incrementarea codului stării prezente, deci al conţinutului numărătorului

b) Informaţia înscrisă într-o adresă de memorie are următoarea structură:TEST LINK TRUE INSTRUCŢIE

iar schema bloc a circuitului secvenţial sincron are configuraţia:

112

Page 113: Logica digitala (ASDN)

Aplicaţie rezolvată: Să se realizeze cu memorie PROM, sinteza automatului secvenţial sincron prin metoda adresării perechilor de intrare-stare,

a) registrul de stare realizat cu bistabile D

Codificarea variabilelor de intrare x0, x1, x2:

INTRARE TESTX0 00X1 01X2 10salt

necondiţionat11

Harta memoriei PROM

Stare prezentă

TEST LT LFINSTRUCŢIE

Z4 Z3 Z2 Z1 Z0

Q2 Q1 Q0 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0

0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 10 0 1 1 1 0 1 1 0 1 1 0 0 0 1 00 1 0 0 1 1 1 0 1 0 1 0 0 1 0 00 1 1 1 0 1 1 0 1 1 1 0 0 1 0 01 1 0 1 1 0 0 0 0 0 0 0 1 0 0 01 0 1 1 1 0 0 0 0 0 0 1 0 0 0 01 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0

113

Page 114: Logica digitala (ASDN)

Schema circuitului secvenţial sincron realizat:

b) Registrul de stare realizat cu circuit numărător reversibil. Stările din organigramă vor fi necodificate:

114

Page 115: Logica digitala (ASDN)

Harta memoriei PROM

Stare prezentă TEST LTINSTRUCŢIE

Z4 Z3 Z2 Z1 Z0

Q2 Q1 Q0 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0

0 0 0 0 1 1 0 1 0 0 0 0 10 0 1 1 1 0 1 1 0 0 0 1 00 1 1 1 0 1 1 1 0 0 1 0 01 0 0 1 1 0 0 0 0 0 0 1 01 0 1 0 1 1 1 1 0 0 1 0 01 1 0 1 1 0 0 0 1 0 0 0 01 1 1 1 1 0 0 0 0 1 0 0 0

Schema logică a circuitului sincron obţinut:

3. Adresarea cu format variabilÎn rangul cel mai semnificativ al conţinutului unei adrese de memorie PROM se

înscrie un bit M care defineşte funcţiile celorlalte cifre binare înscrise în adresa respectivă: dacă M=”0” ceilalţi biţi de date corespund funcţiilor de ieşire, iar când M=”1”, informaţia înscrisă conţine câmpul TEST, codul variabilei de intrare testate şi câmpul LINK TRUE, codul stării următoare când variabila testată are valoarea „1” logic, fig. 21.4

115

Page 116: Logica digitala (ASDN)

0 INSTRUCŢIE1 TEST LINK TRUE

MFig. 21.4 Conţinutul unei adrese de memorie PROM

(adresare cu format variabil)

Organigrama care descrie funcţionarea automatului sincron se modifică, dacă este cazul, astfel încât în cadrul unei stări să se testeze o singură variabilă de intrare sau să se genereze funcţii de ieşire

Registrul de stare se implementează cu circuit numărător reversibil şi atribuirea de coduri binare stărilor din organigrama automatului , convenim sa se realizeze în următorul mod:

a) Se atribuie stării următoare un cod binar obţinut prin incrementarea codului stării prezente atunci când variabila testată are valoarea „0” logic sau când se generează funcţii de ieşire

b) Dacă variabila testată are valoarea „1” logic, codul stării următoare se încarcă (paralel) în registrul numărător.

Fig 21.5 Schema bloc a unui automat sincron realizat cu memoriePROM prin metoda adresării cu format variabil

Aplicaţie rezolvată: Utilizând memoria PROM prin metoda adresării cu format variabil, să se realizeze sinteza automatului sincron:

116

Page 117: Logica digitala (ASDN)

Organigrama automatului se modifică astfel:

Se codifică variabilele de intrare x0, x1:

INTRARE TESTX0 00X1 01

Salt necondiţionat 11

117

Page 118: Logica digitala (ASDN)

Harta memoriei PROM

Stare prezentă M

INSTRUCŢIEZ2 Z1 Z0

Q2 Q1 Q0TEST LT

D5 D4 D3 D2 D1 D0

0 0 0 0 X X 0 0 10 0 1 1 0 0 1 0 00 1 0 0 X X 0 1 00 1 1 1 1 1 0 0 01 0 0 1 0 1 1 1 01 0 1 1 1 1 0 1 11 1 0 0 X X 1 0 01 1 1 1 1 1 0 0 0

si schema logică a automatului secvenţial sincron:

Obiectivul experimentului: Studiul şi experimentarea metodelor de sinteză a automatelor secvenţiale sincrone implementate cu memorii PROM

Desfăşurarea experimentului: Să se proiecteze şi să se verifice funcţionarea automatului sincron descris prin organigrama de mai jos, si implementat cu memorii PROM prin metoda adresării cu format variabil

118

Page 119: Logica digitala (ASDN)

22. Sinteza automatelor secvenţiale asincrone

Circuitele secvenţiale asincrone se întâlnesc în practică ca circuite independente şi ca părţi componente ale circuitelor secvenţiale sincrone.

Aşa cum s-a mai explicat, modul de funcţionare asincron (fundamental) este caracterizat de faptul că starea următoare, după un timp Δt, devine automat stare prezentă.

Determinarea directă a tabelului tranziţiilor şi a ieşirilor pentru circuitul secvenţial asincron având comportarea dorită nu este posibilă doar în anumite cazuri particulare. De aceea se utilizează un model numit tabelul primar al tranziţiilor şi ieşirilor, care descrie evoluţia stărilor circuitului, determinată de intrările principale ale acestuia şi ieşirile corespunzătoare fiecărei stări stabile. Acest tabel corespunde modelului Moore, în care ieşirea depinde numai de stare, deosebirea constând în faptul că nu s-a trecut coloana corespunzătoare stării prezente.

Se consideră o stare stabilă a unui circuit secvenţial asincron, acea stare, când pentru o intrare dată starea următoare este identică cu stare prezentă.

In tabelul primar, fiecărei singure stări stabile (cea încercuită) i se rezervă un rând separat, pe o anumită coloană corespunzătoare unei anumite intrări. Schimbând valoarea intrărilor, circuitul aflat într-o anumită stare stabilă trece într-o altă stare (instabilă) pe coloana corespunzătoare noilor intrări care trebuie să fie stabilă pe un alt rând. Deoarece starea prezentă pentru un anumit rând este aceeaşi cu starea următoare stabilă, în tabelul primar al stărilor nu se mai scrie starea prezentă.

Pentru ca un circuit secvenţial să funcţioneze determinist trebuie ca fiecare stare a acestuia să fie stabilă.

119

Page 120: Logica digitala (ASDN)

Exemplu: Se consideră un circuit secvenţial cu două intrări x0 şi x1 şi o ieşire z . Circuitul funcţionează conform cronogramei din figura 22.1 şi anume: ieşire z comută în starea „1” atunci când valoarea intrărilor este x1=„1” şi x0=„0”după ce în momentul precedent valoarea intrărilor a fost x0=„1” şi x1=„1”

Fig 22.1.Cronograma intrarilor si ieşirilor unui circuit secvenţial asincron

In funcţionarea circuitului nu se admite decât secvenţa de intrări redată în cronograma din figura 22.1, iar poziţiile din tabel pentru care tranziţiile nu sunt definite se marchează cu o linie.

Tabelul primar al stărilor are configuraţia din figura 22.2.

Fig 22.2 Tabelul primar al stărilor

In primul rând din tabel se înscrie starea y0 , considerată stare iniţială. Ea este stabilă pentru valori ale intrărilor x0=„0” şi x1=„0”, dar modificând intrarea x1 din x1=„0” în x1=„1”, circuitul trece în starea y1 care devine apoi stabilă în rândul doi din tabel. Din starea stabilă y1, pentru x0=„1” şi x1=„1” circuitul trece în starea instabilă y2 care devine stabilă în rândul trei. Pentru x1=„1” şi x0=„0” circuitul trece în starea instabilă y3 ce devine stabilă în rândul patru şi apoi când x0=„0” şi x1=„0”, circuitul tranzitează în starea y0 iniţială (instabilă), care în rândul unu este stabilă. Fiecărei stări stabile introduse i se precizează în tabelul primar valoarea ieşirii.

Considerând că în functionarea circuitului secvential nu pot să apară decât situatiile din fig 22.1, compartimentele necompletate din diagrama stărilor se marchează indiferente (x).

Pentru completarea matricii iesirilor se analizează toate tranzitiile posibile dintre stările stabile, urmărind cele două situatii posibile:

120

Page 121: Logica digitala (ASDN)

1. Dacă o tranzitie din starea stabilă „i” în starea stabilă „j” : i → γ → j nu are ca efect modificarea valorii ieşirii „γ” faţă de „i”, ieşirea automatului trebuie menţinută neschimbată pe durata tranziţiei, altfel pe durata Δt a tranzitiei ar putea să apară un impuls fals care poate genera funcţionări greşite. 2. Dacă o tranziţie din starea stabiă „i” în starea stabiă „γ”: i → γ → j, modifică valoarea ieşirii pe durata tranziţiei ieşirea este indiferentă ( dacă se atribuie tranziţiei „γ” valoarea ieşirii din „i” , modificarea ieşirii are loc la sfârşitul tranziţiei „γ” i se atribuie valoarea ieşirii din „γ”, modificarea se produce la începutul tranziţiei.

Pentru automatul asincron cu număr redus de stări se obţine tabelul tranziţiilor şi ieşirilor din figura 22.3:

Fig 22.3 Tabelul primar al tranzitiilor si iesirilor automatului asincronPentru determinare automatului cu număr minim de stări, se aplică metoda

Tabelului implicatiilor.

Si se obtin clasele de compatibilitate maximă {0,1}, {2,3}.

Considerând: y1r {0,1}

y2r {2,3} obtinem tabelul redus al tranzitiilor si iesirilor:

121

Page 122: Logica digitala (ASDN)

Codificarea stărilor automatului sincron Reprezentarea tabelului binar al stărilor se realizează prin codificarea adiacentă a

stărilor între care există tranziţii discrete.Comutarea simultană a două sau mai multe variabile de stare poate genera hazard

de tranziţie. Numim cursă necritică, cursa care trece automatul în starea stabilă dorită dar

prin tranziţii diferite. Cursa critică este cea care are ca efect tranziţia automatului în stări stabile

diferite (unele nedorite).Se vor atribuie coduri adiacente, cu prioritate, perechilor de stări care corespund

unor tranziţii critice.Referindu-ne la Tabelul Tranziţiilor, dacă intr-o coloană există mai mult de o

singură stare stabilă, tranzitiile care conduc la stări stabile din această coloană generează curse critice. În cazul dat vom codifica adiacent stările y1r si y2r si obtinem următorul tabel:

Variabila de stare la momentul t+1 si functia de iesire Z au expresia logică:

Utilizând porti logice, se obtine schema logică a automatului secvential asincron:

122

Page 123: Logica digitala (ASDN)

Automatul secvential asincron poate fi realizat si cu automate elementare de tip bistabile R-S asincron. Variabilei de stare îi corespunde un bistabil R-S în expresiile logice a intrărilor bistabilului se determină dezvoltând diagramele V-K, elaborate pe baza următoarelor consideratii:a) Se va utiliza tabelul excitatiilor bistabilului R-S:

b) Se utilizează tabelul binar al tranzistiilor si urmărind fiecare tranzitie din starea prezentă in starea următoare pentru toate combinatiile binare ale intrărilor, pe baza tabelului excitatiilor bistabilului R-S, se determine diagramele V-C ale intrărilor si .

Funcția de ieșire Z are această valoare: Schemalogică a automatului asincron realizat cu bistabilele R-S are structura:

Sinteza automatelor secventiale asincroane poate fi abordată si utilizând descrierea automatului prin diagrama ASM si parcurgând etapele descrise la sinteza automatelor secventiale sincroane.

123

Page 124: Logica digitala (ASDN)

Pentru aplicatia dată, avem:

Pentru a realiza sinteza automatului asincron cu bistabile R-S asincroane, utilizăm tabelul excitatiilor corespondent:

Diagrama intrărilor si la momentul t+1:

124

Page 125: Logica digitala (ASDN)

Se obtine schema logică a automatului asincron cu bistabile R-S ansincrone:

125

Page 126: Logica digitala (ASDN)

23. Circuite secvenţiale – aplicaţii rezolvate

1.Se dă schema logică a circuitului secvenţial sincron:

Să se explice funcţionarea circuitului şi să se reprezinte cronograma semnalelor

şi raportată la impulsurile de clock, ştiind că numărătorul reversibil

SN74193 se încarcă (paralel) iniţial prin activarea semnalului („0”) cu informaţia binară 0101.

Rezolvare:

Funcţionarea circuitului secvenţial sincron este determinată de următoarele caracteristici:

a) In numărător este înscrisă iniţial informaţia binară 01012=510 b) Comanda de încărcare este activă la valoarea „0” şi este conectată la ieşirea

(Borrow), semnal generat la ieşirea numărătorului între două impulsuri de clock când numărătorul ajunge în starea „0”, după o numărare în sens descrescător.

c) Semnalul de numărare în sens descrescător, CD, este activ cu frontul crescător al impulsului şi este conectat printr-un inversor la intrarea de rang 23 a circuitului decodificator SN7442.

Circuitul funcţionează astfel: iniţial semnalul de clock fiind „0”, decodificatorul primeşte la intrare informaţia 11012=1310, stare care nu este decodificată (decodificatorul are 10 ieşiri negate) şi ca urmare toate ieşirile sunt la valoare „1”. La primul

126

Page 127: Logica digitala (ASDN)

impuls de numărare (CD) este activată („0”) ieşirea a circuitului decodificator. Procesul continuă până în starea 0 când între două impulsuri de clock, prin activarea ieşirii , („0”) se încarcă din nou numărătorul cu informaţia 0101 şi ciclul se repetă.

Cronogramă

2. Să se realizeze un numărător compus modulo M=12, prin conectarea în cascadă a două numărătoare, unul asincron modulo M1=3 cu reţinerea semnalului de anulare, realizat cu bistabile T şi unul sincron modulo M2=4 realizat cu bistabile J-K. Impulsul de numărare, activ cu frontul descrescător, comandă numărătorul M1=3.

Se va reprezenta cronograma semnalelor la ieşirea numărătorului şi a semnalului de anulare .

Rezolvare:

Numărătorul asincron cu reţinerea semnalului de anulare modulo M1=3, se va implementa cu bistabile J-K transformate în bistabile T.

Secvenţa de numărare a numărătorului compus generează următoarele stări:

Starea M2 M1

127

Page 128: Logica digitala (ASDN)

Q3 Q2 Q1 Q0

0 0 0 0 01 0 0 0 12 0 0 1 04 0 1 0 05 0 1 0 16 0 1 1 08 1 0 0 09 1 0 0 110 1 0 1 012 1 1 0 013 1 1 0 114 1 1 1 0

Tabelul de funcţionare al numărătorului sincron M2=4 realizat cu bistabile J-K se determină corespunzător tranziţiilor numărătorului în stare următoare ( iniţial starea 0 este stare prezentă) şi utilizând tabelul excitaţiilor bistabilului J-K.

J2 = „1” K2 = „1”

128

Page 129: Logica digitala (ASDN)

J3 K3

J3=Q2 K3=Q2

Schema logică a numărătorului compus modulo M=3x4, realizat:

Cronograma

3.Să se obţină prin metoda tabelului implicaţiilor automatul cu număr minim de stări redus, fiind dat tabelul tranziţiilor al automatului secvenţial sincron:

xy

x1 x2 x3 x4

129

Page 130: Logica digitala (ASDN)

y1 2/- 5/0 5/0 2/-

y2 3/0 4/- -/- -/-

y3 -/- 5/- 1/0 2/0

y4 1/- 2/1 -/- -/-

y5 2/1 -/- -/- 4/1

Rezolvare:

Tabelul implicaţiilor:

Se parcurge tabelul de la stânga la dreapta şi se obţin clasele de compatibilitate maximă: {1,5}, {1,2,3}, {2,4}, {4,5}.

Dacă s-ar selecta clasele {1,2,3} şi {4,5} pentru acoperirea minimă nu s-ar obţine o mulţime închisă ( succesorii stărilor claselor de compatibilitate selectate, aparţin şi altor clase de compatibilitate maximă, din cele neselectate pentru acoperirea minimă). O variantă ar fi scindarea clasei de compatibilitate {1,2,3} în doua clase de compatibilitate {1,2}şi {2,3} şi se obţine acoperirea minimă {1,2}, {2,3} şi {4,5}.Se înlocuieşte fiecare clasă cu stările , şi şi se determină tabelul tranziţiilor automatului cu număr redus de stări.

4. Să se implementeze un automat secvenţial sincron care să genereze un semnal egal cu trei perioade ale impulsului de sincronizare (clk) şi care să funcţioneze conform cronogramei:

Cronograma

130

Page 131: Logica digitala (ASDN)

Se consideră intrarea X0 sincronă cu frontul descrescător al impulsului de tact (clk) şi se utilizează descrierea funcţionării automatului sincron, prin organigramă, iar pentru realizarea registrului de stare, bistabile D.

Rezolvare:

In cronograma de funcţionare a automatului sincron se indică faptul că ieşirea z comută la valoare „1”, sincron cu frontul crescător al impulsului de clock, atunci când intrarea X0 este „1” după ce a parcurs tranziţia „0”→„1”, iar ieşirea z avea valoarea „0”.

Organigrama de funcţionare a circuitului:

Diagrama V-K a automatului la momentul t:

Diagramele V-K ale variabilelor de stare Q0, Q1 la momentul t+1:

131

Page 132: Logica digitala (ASDN)

Diagrama V-K a funcţiei de ieşire z:

Schema logică a automatului secvenţial sincron implementat:

5. Se dă automatul secvenţial sincron:

132

Page 133: Logica digitala (ASDN)

Să se realizeze sinteza automatului secvenţial sincron ca memorie PROM prin metoda adresării cu format variabil şi registru de stare, numărător.

Rezolvare:

Pentru utilizarea metodei adresării cu format variabil organigrama automatului se modifică şi codifică astfel:

133

Page 134: Logica digitala (ASDN)

Conţinutul unei adrese de memorie:

0 INSTRUCŢIE

1 TEST LINK TRUE M

Încărcarea numărătorului cu codul stării următoare, se realizează când tranziţia în starea următoare se face necondiţionat fără să fie generată funcţie de ieşire, sau când intrarea testată este „1” logic.

Incrementarea numărătorului, pentru generarea stării următoare, este asociată cu generarea unei funcţii de ieşire, sau testarea unei condiţii de intrare când aceasta este „0” logic.

- funcţia de încărcare: - funcţia de incrementare:

unde X reprezintă variabila de intrare testată.

134

Page 135: Logica digitala (ASDN)

Codificăm intrările şi renotăm ieşirile:

Harta memoriei PROM

STARE PREZENTA(cod adresă memorie)

Conţinut adresă memorie

MZ2 Z1 Z0

C1 C0 LINK TRUE

Q2 Q1 Q0 D5 D4 D3 D2 D1 D0

A 0 0 0 1 0 0 0 0 0

B 0 0 1 0 × × 0 0 1

C 0 1 0 1 0 1 0 1 0

D 0 1 1 1 1 0 1 1 0

E 1 0 0 0 × × 0 1 0

G 1 0 1 1 1 1 0 0 0

F 1 1 0 0 × × 1 0 0

H 1 1 1 1 1 1 1 0 1

Schema logică a circuitului sincron obţinut:

135

Page 136: Logica digitala (ASDN)

6. Să se implementeze un dispozitiv aritmetic de patru cifre binare care să realizeze funcţiile : adunarea a două numere binare de patru cifre binare, scăderea a două numere binare prin adunarea scăzătorului exprimat în complement de 2 şi deplasarea spre dreapta a conţinutului dispozitivului, cu un număr de biţi indicat de utilizator.

Complementul de 2 al unui număr binar .Se folosesc două registre A, B şi anume: în registrul A se înscrie operandul 1

(OP1) şi rezultatul operaţiei efectuate (REZ), iar in registrul B se înscrie operandul 2 (OP2) şi contorul care indică numărul de deplasări ce trebuie efectuate de dispozitiv.

Operaţiile care trebuie efectuate de dispozitivul aritmetic sunt transmise acestuia prin intermediul unui cod de două cifre binare C0,C1:

C0 C1 Operaţia0 0 Adunare 0 1 Scădere

1 1Deplasare dreapta cu un bit

Dispozitivul aritmetic cuprinde o Unitate de execuţie şi o Unitate de comandă implementată ca un automat secvenţial sincron cu memorie PROM prin metoda adresării perechilor de intrare–stare

Se utilizează următoarele semnale de dialog:AD : comanda de adunare binară;INA : semnal care anunţă dispozitivul de comandă (UC) că registrul A s-a

încărcat cu informaţia dorită ;INB : semnal prin care UC este anunţată că în registrul B s-a înscris informaţia

dorită;

136

Page 137: Logica digitala (ASDN)

(B)=0 : contorul care indică numărul de deplasări spre dreapta are valoarea „0”;DDRA : comanda de deplasare dreapta a conţinutului registrului A;PmREZA: comanda de înscriere în registrul a rezultatului operaţiei efectuate de

sumator;C0,C1: cifrele binare ale codului care specifică tipul operaţiei realizate de

dispozitivul aritmetic;ACK: semnalul prin care utilizatorul anunţă dispozitivul aritmetic că poate realiza

o nouă operaţie;+1B: comandă de incrementare a conţinutului registrului B;-1B : comandă de decrementare a conţinutului registrului B;PmOP1A: comandă înscrierea OP1 în registrul A;PmOP2B: comandă înscrierea OP2 în registrul B;PmCB: comandă înscrierea contorului de deplasare în registrul B;PmOP2NB: comandă înscrierea în registrul B a operandului 2 negat ( );RDY: dispozitivul de comandă (UC) anunţă utilizatorul că rezultatul operaţiei

efectuate este disponibil în registrul A;

Operaţia de deplasare spre dreapta este asociată cu decrementarea contorului de deplasare şi este finalizată când valoarea contorului, (B)=0, este „0” logic.Structura bloc a dispozitivului aritmetic are următoarea configuraţie:

Rezolvare:

Unitatea de execuţie:

Registrul A este implementat cu un registru de deplasare SN7495 şi care este încărcat prin intermediul porţilor logice de tip trei stări:

137

Page 138: Logica digitala (ASDN)

Pentru a realiza funcţiile necesare, registrul B este implementat cu un circuit numărător reversibil SN74193.

138

Page 139: Logica digitala (ASDN)

Operaţia de însumare binară este implementată cu un circuit sumator SN7483.

Funcţionarea Unităţii de comandă (UC) a dispozitivului aritmetic, utilizează semnalele de dialog enunţate anterior şi este descris prin organigrama:

139

Page 140: Logica digitala (ASDN)

140

Page 141: Logica digitala (ASDN)

Codificarea variabilelor de intrare a automatului sincron:

IntrăriTEST

A2 A1 A0INA 0 0 0INB 0 0 1

0 1 0C0 0 1 1C1 1 0 0

ACK 1 0 1Salt

necondiţionat SN

1 1 1

Pentru ieşiri folosim notaţiile:

PmOP1A : Z0

PmOP2B : Z1

PmOP2NB : Z2

PmCB : Z3

DDRA (-1B) : Z4

+1B : Z5

AD : Z6

RDY : Z7

PmREZA : Z8

Harta memoriei PROM

Stare prezentă

TESTA0 A1 A2

LINK TRUE LINK FALSE

Q3 Q2 Q1 Q0 D19 D18 D17 D16 D15 D14D13 D12 D11 D10 D9

0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1

0 0 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0

0 0 1 1 0 0 1 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0

0 1 0 0 1 1 1 0 1 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0

0 1 0 1 0 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0

0 1 1 0 0 1 1 1 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0

0 1 1 1 0 0 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0

1 0 0 0 1 1 1 1 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0

1 0 0 1 1 1 1 1 1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0

1 0 1 0 0 0 1 1 0 1 1 1 0 1 0 0 0 0 0 0 0 1 0 0

1 0 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0

1 1 0 0 1 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0

Se obţine schema logică a unităţii de comandă a dispozitivului aritmetic proiectat.

141

Page 142: Logica digitala (ASDN)

Aplicaţii propuse:

1. Să se implementeze ca automat secvenţial sincron un controler pentru robot industrial. Poziţia braţului mecanic în cele trei axe de coordonate x,y,z este specificată prin câte 6 biţi pentru fiecare axă, secvenţele poziţiei braţelor fiind memorate într-o memorie PROM.

Braţul poate executa şase secvenţe, fiecare fiind selectată de operator şi fiecăreia fiindu-i alocate câte 64 de adrese de memorie.

O secvenţă cuprinde maximum 64 de poziţii, prima secvență fiind memorată la adresa 0, iar celelalte secvențe în continuare, la adrese multiplu de 64. Activarea sau oprirea unei secvenţe de mişcare a braţului se realizează şi printr-o comandă start-stop a operatorului.

Schema bloc a dispozitivului:

142

Page 143: Logica digitala (ASDN)

2. Să se realizeze un circuit secvenţial sincron care să genereze impulsurile de comandă la un motor pas cu pas cu 4 faze: x,y,z,w.

Cronogramă

3. Să se realizeze comanda deplasării unui pod rulant implementat ca automat secvenţial sincron ştiind că:

a) Există 3 comenzi manuale: pornit/oprit, deplasare dreapta şi deplasare stânga.b) Comanda pornit/oprit porneşte sau opreşte deplasarea podului rulant indiferent

de poziţia în care se aflăc) In timpul unei deplasări odată începute nu se mai poate schimba sensul

deplasării numai după comanda oprit.d) Se exclud comenzi simultane ale operatorului e) Semnalele contactoarelor de la extremităţile cursei, S0 pentru extrema dreaptă

şi S1 pentru extrema stângă întrerup deplasarea podului, care poate fi repornit prin acţionarea comenzii pornit însoţită cu a celei de deplasare în sens opus.

4. Să se proiecteze un dispozitiv de comandă a intrării unor vagonete într-o galerie, închisă printr-o poartă. Se consideră că atunci când vagonetul ajunge la intrare, sezizorul S0 comandă prin semnalul D0 deschiderea porţii galeriei şi vagonetul poate să treacă atunci când limitatorul L0 indică deschiderea completă a uşii.

După ce un vagonet a intrat în galerie, sesizorul L1 comandă închiderea porţii galeriei, dacă sesizorul L0 nu a detectat existenţa unui alt vagonet la intrare.

143

Page 144: Logica digitala (ASDN)

5. Să se realizeze comanda unui automat de cafea care să funcţioneze astfel: a) Automatul poate furniza „cafea”, „cacao”, cu opţiunile „zahăr+”, „zahăr-”,

„cu lapte”; b) Preţul unei livrări este 7000 lei în monede de 5000 lei şi monede de 1000 lei; c) Automatul sesizează prin intermediul unor fotocelule dacă moneda este de

5000 lei, F0, sau de 1000 lei, F1

d) Selectarea cererii de către client se face prin acţionarea comenzilor „zahăr+” sau „zahăr-” sau/şi „lapte”, însoţită de comenzile „cafea” sau „cacao”

e) După detectare sumei necesare cumpărării unui pahar de „cafea” sau „cacao”, se aşteaptă comanda, maximum 120 secunde, după care se livrează produsul, sau procesul se reiniţializează şi se reia, aşteptând noi comenzi;

f) Dacă se introduc accidental două monezi de 5000 lei se livrează produsul , dar nu se oferă rest;

g) Înainte de a se face comanda de către client se introduc monezile corespunzătoare preţului

6. Se va realiza un dispozitiv de comandă pentru tăierea unor buşteni la dimensiuni prestabilite.

Funcţionarea dispozitivului este determinată de următoarele condiţii:a) Operatorul poate să selecteze trei lungimi distincte de tăiere: 5m, L0, 10m, L1, 15m, L2; b) După ce buşteanul este aşezat pe banda transportoare, şi a fost selectată lungimea, se dă comanda PORNIT/OPRIT;c) Banda transportoare avansează până când buşteanul se încadrează în dispozitiv, şi această stare este sesizată de fotocelula F0;d) Se dă comanda de tăiere, T, atâta timp cât contactul C este deschis (semnalează sfârşitul operaţiei de tăiere)e) După ce buşteanul este tăiat, se aşteaptă o nouă selecţie a lungimii de tăiere şi banda avansează automat;f)Comanda OPRIT poate fi dată în orice moment şi acţionează atât procesul de tăiere cât şi avansul benzii transportoare;g) O comandă de repornire reia procedeul din stadiul în care a fost oprit.

7. Să se proiecteze un automat sincron de alimentare a unei benzi rulante cu pachete paralelipipedice de aceeaşi dimensiune situate într-o magazie deasupra benzii transportoare.

144

Page 145: Logica digitala (ASDN)

a) După ce se comandă pornirea benzii de operator, contactorul O va sesiza dacă există un pachet pe bandă; dacă nu, se comandă deschiderea sertarului S, pachetul va fi situat pe bandă, contactorul O sesizează existenţa pachetului, se închide sertarul S şi porneşte banda rulantă;

b) Când este sesizată apariţia pachetului de limitatorul L, se deschide sertarul S şi procedeul continuă;

c) Dacă după 60 secunde contactorul O nu sesizează un pachet, banda rulantă se opreşte automat;

d) Comanda OPRIT a operatorului are ca efect închiderea sertarului S şi oprirea benzii rulante.

8. Să se înregistreze într-o memorie ROM parametrii unei sudări automate, intensitatea curentului de sudare I, tensiunea U şi viteza căruciorului V şi să utilizeze secvenţa memorată la reproducerea sudurii.

Pentru fiecare parametru sunt alocaţi 8 biţi de date, comanda parametrilor realizându-se prin intermediul convertoarelor numeric analogic.

Începutul şi sfârşitul unui proces de sudare este înregistrat în bitul de rang 228 prin „0” respectiv „1” iar numărul sudurii în câmpul format din biţii 224-227. Pornirea, oprirea şi reproducerea sudării este iniţiată de operator, unei suduri fiindu-i alocate 256 adrese de memorie.

145

Page 146: Logica digitala (ASDN)

9.Sǎ se realizeze printr-un automat secvenţial sincron un sistem de comandǎ aunui lift care deserveşte accesul la 3 nivele.

Schema bloc şi modul de funcţionare ale liftului are urmǎtoarele caracteristici:

1. Situarea liftului la un anumit nivel, atât în timpul deplasǎrii cât şi în repaus este sesizatǎ de senzorii de nivel SNj (j = 0,1,2) nivelul fiind afişat de dispozitivul da afişaj N. 2. Apelarea liftului se poate realiza din interiorul cabinei liftului prin intermediulselectoarelor Ei sau din exterior prin intermediul selectoarelor Ai al fiecǎrui nivel (i = 0,1,2). 3. Senzorul uşii SU indicǎ dacǎ uşa este închisǎ sau deschisǎ. 4. Senzorul din podeaua liftului SP, sesizeazǎ prezenţa persoanelor din lift. 5. Oprirea deplasǎrii liftului se produce când acesta ajunge la nivelul apelat. 6. In funcţie de sensul de deplasare al liftului se aprind becurile Si sau Ij.

7.Pe durata deplasǎrii liftului uşa casei liftului este blocatǎ, iar în starea de repaus, deblocatǎ. 8. Se apeleazǎ liftul din exterior, în caz de acţionǎri simultane, are prioritate nivelul cel mai de jos.

146

Page 147: Logica digitala (ASDN)

10. Sǎ se realizeze un sistem automat de găurire a unor piese mecanice identice transportate de o bandǎ rulantǎ.

Piesa mecanicǎ este poziţionatǎ pe banda rulantǎ şi se acţioneazǎ comutatorul Pornit. Ca urmare banda rulantǎ deplaseazǎ piesa pânǎ în momentul sesizǎrii acesteia de senzorul LIMX2 . Sistemul de gǎurire aflat în stare de repaus şi poziţionat de senzorii LIMY1 şi LIMZ1 se va deplasa pe axa y pânǎ la limitatorul LIMY2, se produce gǎurirea pe axa z pânǎ la limitatorul LIMZ2, se revine în starea de repaus (LIMY1, LIMZ1), banda este repornitǎ şi sesizorul LIMX1 va opri apoi banda pentru aşezarea unei noi piese pe bandǎ pe durata a 2 minute, dupǎ care banda se deplaseazǎ din nou. Obs. Comanda OPRIT este asincronǎ şi are ca efect în caz de incidente oprirea benzii rulante şi a operaţiei de gǎurire.

24. Utilizarea limbajului VHDL la descrierea şi simularea comportării sistemelor digitale

Limbajul VHDL este un limbaj standardizat şi permite descrierea hardware-ului de la nivelul arhitectural cel mai înalt, până la nivelul de poartă logică, permiţând simularea unor structuri digitale la diferite nivele.

Definirea diferitelor blocuri constructive utilizează următorii termeni ai limbajului VHDL:

Entitate: - Bloc constructiv definit prin entităţi de diferite nivele.Arhitectură: - Descrie structura şi funcţionarea unei entităţi.Pachet: - Grup de tipuri de date şi programe utilizate în proiectare.Driver: - Denumirea sursei de semnal.Configuraţie: - Specifică descriere funcţională folosită pentru o entitate şi

corespondenţa entitate-arhitectură cu componentele utilizate.Atribute: - Date ataşate sau predefinite obiectelor VHDL.

147

Page 148: Logica digitala (ASDN)

Proces: - Defineşte unitatea de execuţie în VHDL operaţiile de simulare efectuate fiind compuse din procese.

Generic: - Parametrul care transmite o informaţie pentru o entitate.Un sistem digital descris în limbajul VHDL este văzut ca şi o entitate, al cărei

mod de comportare este descris prin arhitectura asociată entităţii. Comportamentul unui sistem este descris prin operaţiile realizate, denumite

procese, iar caile de transmitere a valorilor prin sistem sunt denumite semnale. O entitate cuprinde declaraţia entităţii, care defineşte intrările şi ieşirile

dispozitivului şi corpul arhitectural, care defineşte sistemul discret utilizat la modelarea dispozitivului.

Modelul temporal introduce elementul „timp” , timpul simulării, un ciclu de simulare parcurgând etape de transmitere a valorilor pe calea de date şi etapa de recepţie a informaţiei de către procese şi funcţionarea acestora până când vor fi suspendate. Dacă valoarea atribuită unui semnal este diferită de cea precedentă s-a produs un eveniment, iar dacă noua valoare este aceeaşi cu cea precedentă a avut loc o tranzaţie.

Modelul structural reflectă descompunerea modelului unui dispozitiv digital în secţiuni cu diferite funcţii, două sau mai multe subsisteme comunicând prin căi de date numite porturi.

Modelul comportamental poate interacţiona cu cel structural prin introducerea unor funcţii de conversie de tip în calea de date sau utilizarea semnalelor multisursă în care sunt definite mai multe drivere şi o funcţie de decizie care preia valorile emise de drivere şi generează o valoare unică.

In limbajul VHDL, se numeşte obiect, tot ce poate primi o valoare şi se clasifică în: constante, variabile şi semnale.

Constantele sunt obiecte care nu îşi pot schimba valoarea şi reprezintă nume atribuite unor valori de un anumit tip.

Sintaxa declaraţiei de constantă este următoarea: CONSTANT nume_constantă:tip_constantă(: =valoare);CONSTANT tun_size:integer: =4;Variabilele sunt obiecte a căror valoare poate fi schimbată în cadrul unui

subprogram şi declaraţia variabilelor este de forma: VARIABLE nume_variabilă : tip_variabilă (:= valoare iniţială);VARIABLE a,b,c : integer : = 0;Semnalele reprezintă mijloace de comunicare a datelor între entităţi şi au

declaraţia de forma: SIGNAL nume_semnal : tip semnal (: =valoare_iniţială);SIGNAL ground : std_logic :=’1’;Limbajul VHDL are predefinite o multitudine de tipuri de date dintre care

amintim tipul : bit, Boolean, integer, real, enumeration, caracter, bit vector, std_logic, std_logic vector, matrice etc.

Sintaxa declaraţiei de tip este:TYPE nume_tip.is specificator_tip

Operatorii predefiniţi în limbajul VHDL au simbolurile următoare:

148

Page 149: Logica digitala (ASDN)

Pentru a exemplifica descrierea comportamentului unui circuit combinaţional utilizând limbajul VHDL, vom detalia câteva din specificaţiile folosite:

PROCESS defineşte comportamentul procesului unde este activ şi are sintaxa:etichetă proces:

PROCESSdeclaraţii

BEGINspecificaţii

END PROCESSWAIT ON listă_semnale, indică semnalele care pot activa procesulWAIT UNTIL condiţie, specifică condiţiile care, dacă devin adevărate,

reactivează procesulWAIT FOR expresie_timp, indică timpul după care procesul se va activa automatIF decide execuţia unor specificaţii, funcţie de valoarea TRUE sau FALSE a unei

expresii logice şi are reprezentările:

CASE selectează execuţia unor specificaţii, funcţie de valoarea unei expresii date şi este de forma:

CASE expresie ISWHEN valoare =>

specificaţiiEND CASE

LOOP repetă execuţia unor specificaţii realizând o buclă simplă şi are sintaxa:

149

Page 150: Logica digitala (ASDN)

etichetă_ buclă: LOOPspecificaţii

END LOOP etichetă_buclă;

FOR determină ieşirea din buclă după un număr de iteraţii, şi este de forma:etichetă_buclă: FOR variabilă_index IN domeniu_discret LOOP

SpecificaţiiEND LOOP etichetă_buclă;

WHILE determină ieşirea din buclă când condiţia booleană testată este falsă, iar sintaxa este următoarea:

WHILE condiţii LOOPspecificaţii

END LOOP etichetă_buclă;NEXT controlează trecerea la următoarea iteraţie din buclă, şi are forma:

NEXT etichetă_buclă WHEN condiţieEXIT are ca efect ieşirea din buclă, forţat sau la realizarea unor condiţii, şi are

sintaxa:EXIT etichetă_buclă WHEN condiţie

AplicaţieSe dă circuitul logic combinaţional reprezentat pe o diagramă V-K:

BIBLIOGRAFIE

1. TEXAS INSTRUMENTS INCORPORATED – TTL DATA B001C – SECOND EDITION

2. Gh. TOACSE, D ICULA – ELECTRONICA DIGITALA, TEORA 1996

3. JOHN F WAKERLY – DIGITAL DEŞIGN, PRINCIPLES AND PRACTICES, PRENTICE HALL – 1990

4. HERBERT TAUB – CIRCUITS AND MICROPORCESORS – MCGRAW HILL BOOK – 1982

5. ZVI KOHAVI – SWITCHING AND FINITE AUTOMATA THEORY – MC GRAW HILL BOOK – 1970

6. CRISTOPHER R. CLARE – DEŞIGN LOGIC SYSTEMS UŞING STATE MACHINES – MC GRAW HILL BOOK – 1972

7. V. POP – CIRCUITE DE COMUTARE APLICATA IN CALCULATOARE ELECTRONICE – 1976

150

Page 151: Logica digitala (ASDN)

8. FREDERICK J HILL, G R. PETERSON – CALCULATOARE NUMERICE, HARDWARE, STRUCTURA ŞI PROIECTARE – ED. TEHNICA – 1978

9. SANDA MAICAN – ŞISTEME NUMERICE ŞI ŞISTEME DIGITALE – EDITURA TEHNICA – 1980

10. GHEORGHE STEFAN – CIRCUITE ŞI ŞISTEME DIGITALE – ED. TEHNICA – 2000

11. A.S. TANENBAUM – STRUCTURED COMPUTER ORGANISATION, PRENTICE HALL – 1990

12. JAH M. RABAEY – DIGITAL INTEGRATED CIRCUITS, A DEŞIGN PERSPECTIVE, PRENTICE HALL - 1996

151