cn_c7

11
1 3.6 Circuite combinaţionale Circuitele combinaţionale sunt realizate numai din porţi logice, ieşirile sunt determinate de valorile prezente ale intrărilor şi operaţiile pot fi specificate printr-un set de funcţii Booleane. Fiecare intrare şi ieşire este un semnal binar, reprezentat logic prin 1 sau 0. Pentru n variabile de intrare sunt 2 n combinaţii, pentru fiecare dintre acestea fiind posibilă numai o ieşire. Corespondenţa dintre combinaţia de la intrare şi valoarea ieşirii se poate specifica prin tabelul de adevăr al circuitului. Pentru fiecare variabilă de ieşire poate fi descrisă o funcţie care are ca argumente variabilele de intrare. 3.6.1 Decodificatoare/demultiplexoare Decodificatorul este un circuit logic combinaţional, care permite identificarea unui cod de intrare prin activarea unei singure linii la ieşire, corespunzător acestui cod. Circuitul poate fi utilizat pentru operaţii de selecţie sau conversia dintr-un sistem de numeraţie, în cod zecimal. Numărul maxim de linii distincte de ieşire n, corespunde numărului de combinaţii posibile ale celor m variabile de intrare (n=2 m ). În figura 3.18a este prezentată schema unui decodificator complet cu trei intrări (m=3) şi 8 ieşiri (n=8). Decodificatorul se compune dintr-un număr de porţi NAND egal cu numărul de ieşiri, fiecare poartă având un număr de intrări egal cu cel al variabilelor de intrare (x 1 , x 2 , x 3 ). Porţile sunt conectate astfel încât la ieşirea lor să se obţină complementul tuturor celor 8 termeni distincţi corespunzători celor trei variabile de intrare. Trei din inversoarele de la intrare, (U1, U3, U5), complementează variabilele de intrare, iar celelalte trei, (U2, U4, U6), asigură ca semnalele x 1 , x 2 , x 3 să fie încărcate cu o singură unitate de sarcină. Decodificatorul zecimal este deseori folosit ca demultiplexor pe opt căi. Figura 3.18 Schema unui decodificator (a), demultiplexor (b), complet pe 3 biţi Demultiplexorul este circuitul care permite transmiterea datelor de pe o cale de intrare ( 0 E sau 1 E ) pe una din mai multe căi de ieşire, figura 3.18b. Selectarea căii de ieşire se face prin combinaţia de intrare x 1 , x 2 , x 3 . Demultiplexorul poate fi utilizat ca decodificator, prin punerea intrărilor 0 E şi 1 E la masă. Principalele tipuri de decodificatoare/demultiplexoare sunt: Exemple de circuite integrate decodificator/demultiplexor decodificatoare binar/zecimal (7442, 7445, 74141, 74145) decodificatoare exces 3/zecimal (7443) decodificatoare Gray exces 3/zecimal (7444) decodificator/demultiplexor dublu cu 2 intrări şi 4 ieşiri (74155) sau 16 ieşiri (74154) a) b) DRAFT MANUSCRIPT

Upload: colotin-stefan

Post on 11-Feb-2016

212 views

Category:

Documents


0 download

DESCRIPTION

Curs 7 CN

TRANSCRIPT

Page 1: CN_C7

1

3.6 Circuite combinaţionale

Circuitele combinaţionale sunt realizate numai din porţi logice, ieşirile sunt determinate de valorile prezente ale intrărilor şi operaţiile pot fi specificate printr-un set de funcţii Booleane. Fiecare intrare şi ieşire este un semnal binar, reprezentat logic prin 1 sau 0. Pentru n variabile de intrare sunt 2n combinaţii, pentru fiecare dintre acestea fiind posibilă numai o ieşire. Corespondenţa dintre combinaţia de la intrare şi valoarea ieşirii se poate specifica prin tabelul de adevăr al circuitului. Pentru fiecare variabilă de ieşire poate fi descrisă o funcţie care are ca argumente variabilele de intrare.

3.6.1 Decodificatoare/demultiplexoare

Decodificatorul este un circuit logic combinaţional, care permite identificarea unui cod de intrare prin activarea unei singure linii la ieşire, corespunzător acestui cod. Circuitul poate fi utilizat pentru operaţii de selecţie sau conversia dintr-un sistem de numeraţie, în cod zecimal. Numărul maxim de linii distincte de ieşire n, corespunde numărului de combinaţii posibile ale celor m variabile de intrare (n=2m). În figura 3.18a este prezentată schema unui decodificator complet cu trei intrări (m=3) şi 8 ieşiri (n=8). Decodificatorul se compune dintr-un număr de porţi NAND egal cu numărul de ieşiri, fiecare poartă având un număr de intrări egal cu cel al variabilelor de intrare (x1, x2, x3). Porţile sunt conectate astfel încât la ieşirea lor să se obţină complementul tuturor celor 8 termeni distincţi corespunzători celor trei variabile de intrare. Trei din inversoarele de la intrare, (U1, U3, U5), complementează variabilele de intrare, iar celelalte trei, (U2, U4, U6), asigură ca semnalele x1, x2, x3 să fie încărcate cu o singură unitate de sarcină. Decodificatorul zecimal este deseori folosit ca demultiplexor pe opt căi.

Figura 3.18 Schema unui decodificator (a), demultiplexor (b), complet pe 3 biţi Demultiplexorul este circuitul care permite transmiterea datelor de pe o cale de intrare ( 0E sau

1E ) pe una din mai multe căi de ieşire, figura 3.18b. Selectarea căii de ieşire se face prin combinaţia de intrare x1, x2, x3. Demultiplexorul poate fi utilizat ca decodificator, prin punerea intrărilor 0E şi 1E la masă. Principalele tipuri de decodificatoare/demultiplexoare sunt:

Exemple de circuite integrate decodificator/demultiplexor

• decodificatoare binar/zecimal (7442, 7445, 74141, 74145) • decodificatoare exces 3/zecimal (7443) • decodificatoare Gray exces 3/zecimal (7444) • decodificator/demultiplexor dublu cu 2 intrări şi 4 ieşiri (74155) sau 16 ieşiri (74154)

a) b)

DR

AFT

MA

NU

SC

RIP

T

Page 2: CN_C7

2

Diagrama şi simbolizarea logică a circuitului

a) 74LS138 - Decodificator/demultiplexor 1 din 8 b) 74LS139 – Decodificator/demultiplexor 1 din 4 c) 74LS145 – Decodificator driver 1 din 10, cu collector în gol d) 74LS155 - Decodificator/demultiplexor 1 din 4

DR

AFT

MA

NU

SC

RIP

T

Page 3: CN_C7

3

Expandarea numărului de ieşiri a circuitelor decodificator/demultiplexor

În aplicaţii apare necesitatea extinderii capacităţii circuitelor de decodificare/demultiplexare. Principiul utilizat pentru cazul decodificatoarelor este prezentat în figura 2.3. În acest exemplu, din două decodificatoare 3x8 se obţine un decodificator 4x16. Extensia a fost posibilă prin utilizarea celei de-a patra intrări ca semnal de validare a unuia din cele două decodificatoare 3x8. Schema circuitului este prezentată în figura 3.19.

Fig. 3.19 Exemplu de expandare decodificatoarelor 3x8 la 4x16

În figura 3.20 este exemplificată metoda de extindere a numărului de ieşiri ale circuitului

demultiplexor 74154 (4 linii de intrare şi 16 de ieşire), la 162 linii de ieşire. În funcţionarea ca decodificator intrarea D se pune la masă.

Figura 3.20 Exemplu de extindere a capacităţii de ieşire a demultiplexoarelor

3.6.2 Codificatoare/multiplexoare

Codificatorul este circuitul combinaţional care generează la ieşire un cuvânt binar de n biţi atunci când numai una din cele m intrări ale sale este activă, figura 3.21a.

Figura 3.21 Schema bloc a unui codificator (a), multiplexor (b)

Numărul cuvintelor generate la ieşirea codificatorului este egal cu numărul intrărilor (liniilor de cuvânt). Cele m cuvinte de ieşire (codificate pe n biţi) sunt în general, dar nu necesar, distincte. Notând cu x variabilele de intrare şi cu y funcţiile de ieşire, se pot scrie următoarele expresii logice:

x1 y1

yn xm Codificator

y

d1

x2 xn x1

d2 dm

Multiplexor

E

a) b)

DR

AFT

MA

NU

SC

RIP

T

Page 4: CN_C7

4

∑=

=m

iik xay1i

(3.13)

în care k= 1, 2,…, n, iar ai este un factor ce poate lua valorile 0 sau 1. Relaţia indică posibilitatea realizării fizice a codificatorului folosind porţi SAU. De exemplu, pentru cazul decodificatorului zecimal/exces corespondenţa dintre intrările şi ieşirile circuitului se reprezintă sub forma tabelulului de adevăr 3.5. Pe baza acestuia se determină funcţiile logice de ieşire, (3.14), care în general dacă este cazul se minimizează înainte de implementare. Tabelul 3.5 Tabelul de adevăr al codificatorului zecimal/exces 3

y4 y3 y2 y1 y4 y3 y2 y1

x1 0 0 1 1 x6 1 0 0 0 x2 0 1 0 0 x7 1 0 0 1 x3 0 1 0 1 x8 1 0 1 0 x4 0 1 1 0 x9 1 0 1 1 x5 0 1 1 1 x10 1 1 0 0

1098764

1054323

985412

975311

xxxxxyxxxxxyxxxxxyxxxxxy

++++=++++=++++=++++=

(3.14)

Pe lângă modalitatea clasică de implementare a circuitului cu porţi logice, schema prezentată în

figura 3.22, doreşte evidenţieze şi alte variante posibile precum implementarea codificatoarelor utilizând matrice de diode. Metoda este simplă, conducînd spre un circuit compact şi ieftin. Implementarea cu diode este folosită la comutatoarele decadice.

Figura 3.22 Implementarea codificatorului cu diode

Multiplexorul (MultipleXor) este circuitul care selectează una din cele m căi de intrare la o cale de ieşire unică. Selectarea căii de intrare se face prin intermediul unui cuvânt binar de selecţie cu n biţi. În figura 3.21b este prezentată schema bloc a unui multiplexor. Între numerele m şi n există relaţia m=2n.

Pentru n=3, ieşirea y are următoarea expresie:

DR

AFT

MA

NU

SC

RIP

T

Page 5: CN_C7

5

)

(

8321732163215321

4321332123211321dxxxdxxxdxxxdxxx

dxxxdxxxdxxxdxxxEy++++

+++= (3.15)

Principalele tipuri de multiplexoare sunt: circuitul 74150 (16 intrări), 74151 (8 intrări), 74153 (4

intrări) şi 74157 multiplexor cuadruplu, cu câte 2 intrări de date. Diagramele şi simbolurile logice ale circuitelor sunt prezentate în continuare.

a) 74LS151 – Multiplexor cu 8 intrări b) 74LS153 - Multiplexor dual cu 4 intrări b) 74LS153 – Multiplexor dual cu 4 intrări

c) 74LS157 – Patru multiplexoare cu 2 intrări

DR

AFT

MA

NU

SC

RIP

T

Page 6: CN_C7

6

Multiplexoarele sunt utilizate în aplicaţii de selecţie secvenţială a datelor, conversie paralel-serie, în sistemele de transmisii de date. Deasemenea, o aplicaţia tipică a circuitelor de multiplexare/demultiplexare este în structura unităţilor aritmetico-logice, figura 3.23. Schema bloc a unei astfel de aplicaţii este:

Figura 3.23 Schema bloc a unei unitaţi aritmetico-logice

O altă aplicaţie a multiplexoarele este în implementarea circuitelor logice combinaţionale, prin implemetarea funcţiilor logice. Aplicaţia se bazează pe teorema de expansiune a funcţiilor logice a lui Shannon care afirmă că: ),...,,1(),...,,0('),...,,( 212121 nnn xxfxxxfxxxxf += (3.16)

În consecinţă funcţia f poate fi implementată de următorul circuit cu multiplexor cu două intrări:

Fig. 3.24 Implementarea funcţiilor cu ajutorul multiplexoarelor De exemplu funcţia: )''()''('''''' yzzyxzyxxyzzxyzyxf ++=++= şi implementarea cu multiplexoare cu 2 intrări, prezentată în figura 3.25.

Fig. 3.25 Implementarea funcţiei cu multiplexoare cu două căi

La fel ca în cazul decodificatoarelor/demultuiplexoarelor în aplicaţii poate apare necesitatea extinderii capacităţii multiplexoarelor. Metoda principială de extindere a capacităţii este prezentată în figura 3.26.

DR

AFT

MA

NU

SC

RIP

T

Page 7: CN_C7

7

Figura 3.26 Schema principială pentru extinderea capacităţii multiplexoarelor

3.6.3 Convertoare de cod Prin convertoare de cod se înţeleg acele dispozitive care transformă codul de reprezentare a unei

informaţii numerice. Pentru sinteza acestora, se determină, pe baza tabelului de corespondenţă intrări/ieşiri, funcţiile logice de ieşire şi apoi aceste funcţii se minimizează. Metoda este exemplificată pentru proiectarea unui convertor din cod binar în cod Exces 3. În tabelul 3.6 este indicată corespondenţa dintre intrări şi ieşiri. Tabelul 3.6 Corespondenţa intrări/ieşiri a unui codificator binar/exces 3

Intrări Ieşiri x4 x3 x2 x1 y4 y3 y2 y1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 0 0 1 1 1 0 1 0 1 1 0 0 0 0 1 1 0 1 0 0 1 0 1 1 1 1 0 1 0 1 0 0 0 1 0 1 1 1 0 0 1 1 1 0 0

Din tabelul 3.6 se determină funcţiile logice de ieşire, (3.17), care se minimizează cu ajutorul

diagramelor Veitch-Karnaugh, figura 3.27.

432143214321432143214

432143214321432143213

432143214321432143212

432143214321432143211

xxxxxxxx xxx xxxxx xxxxyxxxxx.xxx xxx xxxxxxxxxyxxxxxxx xxxxx xxxxxxxxyxxxxxxxx xxxx xxxx xxxxy

++++=++++=++++=++++=

(3.17)

413211 xxxxx y += 4214213212 xxxxxxxxxy ++=

x1

1 0 0 1

0 0 0 1

0 0 0 0

1 0 0 1

x3x4 x4

1 0 1 0

0001

0 0 0 0

0101x3

x2 x2x1

___________ny yyy ⋅…⋅⋅= 21

Multiplexor 1

Decodificator

Multiplexor 2

Multiplexor 8

D0-D15 D112-D128 D16-D31

y1 yn y21E nE2E

x1-x3

x4-x7

DR

AFT

MA

NU

SC

RIP

T

Page 8: CN_C7

8

4321

3214324313xxxx

xxxxxxxx xy+

++=

4324314324 xxxxxxxxx y ++=

Figura 3.27 Diagramele Veitch-Karnaugh şi funcţiile logice minimizate

Pentru implementarea cu circuite NAND, funcţiile logice minimizate se neagă de două ori,

obţinându-se expresiile (3.18).

(3.18) În figura 3.28, se prezintă schema circuitului şi diagrama de semnale obţinută prin simularea funcţionării acestuia.

Figura 3.28 Schema convertorului de cod binar/exces 3 şi diagrama de semnale

BCD – 7 segmente (74LS247, 74LS248, 74LS249)

În multe aplicaţii afişarea informaţiei numerice se face cu afişoare cu 7 segmente. Pentru comanda acestora se utilizează circuite care transformă a codul BCD într-un cod ce permite reprezentarea vizuală a digitului corespunzător. Există mai multe tipuri de circuite, atât în tehnologia TTL cât şi CMOS care rezolvă această problemă. În continuare se va prezenta unul din aceste circuite şi

0 0 0 0

0011

0 0 0 0

1110x3

x1

x4

x2

0 1 1 1

00 1 0

0 0 0 0

00 0 1

x3

x1

x4

x2

a) b)

4324314324 xxxxxxxxx y ⋅⋅=

4214313211 xxxxxxxxx y ⋅⋅=

4214213212 xxxxxxxxxy ⋅⋅=

43214214324313 xxxxxxxxxxxx xy ⋅⋅⋅=

DR

AFT

MA

NU

SC

RIP

T

Page 9: CN_C7

9

anume circuitul 74LS247. Simbolul capsulei integratului şi diagrama logică sunt reprezentate în figura 3.29.

Figura 3.29 Schema bloc şi schema internă a circuitului BCD – 7 segmente Funcţionarea circitului rezultă din tabelul de adevăr, tabelul 3.7. Tabelul 3.7 Tabelul de adevăr al circuitului 74LS247

În figura 3.30 ete prezentat rezultatul afişarii şi modul de notare a segmentelor afişorului cu 7 segmente.

Figura 3.30 Rezultatul afişat şi notarea segmentelor afişorului

DR

AFT

MA

NU

SC

RIP

T

Page 10: CN_C7

10

3.6.4 Circuite de adunare

Operaţia aritmetică de bază este adunarea a doi biţi. Când ambii biţi sunt 1 logic atunci rezultatul este (1+1=10), 10, bitul cel mai semnificativ purtând numele de bitul de transport (carry). Circuitul combinaţional care realizează adunarea a doi biţi poartă numele de sumator pe jumătate (half adder). Tabelul 3.8 Tabelul de adevăr al circuitului sumator pe jumătate

Funcţiile logice corespunzătoare ieşirii şi respectiv semnalului de transport sunt: S= x’ y+x y’ Carry=x y (3.19) În figura 3.31 este prezentată implementarea celor două funcţii logice şi diagrama de semnale.

Fig. 3. 31 Schema sumatorului pe jumătate şi diagram de semnale Un sumator complet (full adder) realizează adunarea a doi biţi semnificativi ţinînd cont şi de bitul

de transport provenind de la celula anterioară. Funcţionarea sa este descrisă de tabelul de adevăr 3.9. Tabelul 3.9 Tabelul de adevăr al circuitului complet de sumare

Funcţiile logice şi diagramele Veitch-Karnaugh corespunzătoare sunt prezentate în figura 3.32 şi respective ecuaţiile (3.20).

Figura 3.20 Diagramele Veitch-Karnaugh ale sumatorului complet

x y S=x+y Carry 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1

X1 Y1 C0 S=X1+Y1 C1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1

Y1

0 1 0 1

010 1

X1

C0

0 0 1 0

1 110

X1

C0 Y1

DR

AFT

MA

NU

SC

RIP

T

Page 11: CN_C7

11

)(')''()''(')''()''(''''''

1100111101111

0111101111011011011011YXCCYXYXCYXYX

CYXYXCYXYXCYXCYXCYXCYXS⊕⊕=+++=

=+++=+++=

0101111 CYCXYXC ++= (3.20) Implementarea circuitului în două variante şi diagramele de semnale sunt prezentate în figura 3.21

Figura 3.21 Două variante de implementare a circuitului complet de sumare şi diagrama de semnale corespunzătoare

Pentru realizarea unui sumator pe mai mulţi biţi sunt conectate sumatoare complete în cascadă, figura 3.22.

Fig. 3.22 Schema unui sumator pe 4 biţi obţinut prin conectarea în cascadă a patru sumatoare complete

Cum în circuitele combinaţionale, semnalul trebuie să se propage prin porţi până la obţinerea sumei corecte, acest timp de propagare este egal cu suma timpilor de propagare a porţilor traversate de semnal. Timpul cel mai lung de propagare îl are semnalul de transport. Fiecare bit al ieşirii depinde de valoarea semnalului de transport de pe intrare, aşa încât valoarea sumei se va obţine correct la ieşire după ce Ci s-a propagate prin toate porţile. Timpul de propagare este un factor de lmitare a vitezei cu care două numere sunt adunate şi din acest motiv s-au imaginat diferite tehnici de reducere a timpului de propagare.

DR

AFT

MA

NU

SC

RIP

T