4. circuite logice combinaŢionale -...

26
4. CIRCUITE LOGICE COMBINAŢIONALE Circuitele combinaţionale se caracterizează prin faptul că variabilele de ieşire depind numai de variabilele de intrare şi există doar în prezenţa acestora. Ecuaţia de funcţionare a unui circuit logic combinaţional este de forma (4.1). 1 m , 1 k ); x ,..., x ( f y 0 1 n k k = = (4.1) 4.1 Analiza circuitelor logice combinaţionale În analiza CLC (circuit logic combinaţional) se cunoaşte schema şi se determină funcţionarea (tabel de funcţionare, expresie analitică sau altă descriere echivalentă). Exemplu: Figura 4.1 Variabilele de intrare şi de ieşire ale unui circuit logic combinaţional 1 x 2 x 2 1 x x 2 1 x x 2 1 2 1 x x x x f + = 0 0 0 0 0 0 1 0 1 1 1 0 1 0 1 1 1 0 0 0 x n-1 CLC x 1 x 0 y 0 y 1 y n-1 1 x 2 x 2 1 x x 2 1 x x f x 2 x 1 ) XOR ( EXCLUSIV SAU x x x x x x f 2 1 2 1 2 1 = + = Figura 4.2 Exemplu de analiză a unui circuit logic combinaţional 31

Upload: others

Post on 16-Oct-2019

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 4. CIRCUITE LOGICE COMBINAŢIONALE - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/1pl/asdn/4.pdf · Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

4. CIRCUITE LOGICE COMBINAŢIONALE

Circuitele combinaţionale se caracterizează prin faptul că variabilele de ieşire depind numai de variabilele de intrare şi există doar în prezenţa acestora. Ecuaţia de funcţionare a unui circuit logic combinaţional este de forma (4.1).

1m,1k);x,...,x(fy 01nkk −== − (4.1)

4.1 Analiza circuitelor logice combinaţionale

În analiza CLC (circuit logic combinaţional) se cunoaşte schema şi se determină funcţionarea (tabel de funcţionare, expresie analitică sau altă descriere echivalentă).

Exemplu:

Figura 4.1 Variabilele de intrare şi de ieşire ale unui circuit logic combinaţional

1x 2x 21 xx ⋅ 21 xx ⋅ 2121 xxxxf ⋅+⋅=0 0 0 0 0 0 1 0 1 1 1 0 1 0 1 1 1 0 0 0

xn-1

CLC x1 x0 y0

y1

yn-1

1x

2x21 xx ⋅

21 xx ⋅

f x2 x1

)XOR(EXCLUSIVSAUxxxxxxf 12 →⊕=⋅+⋅=

Figur

2121

a 4.2 Exemplu de analiză a unui circuit logic combinaţional

31

Page 2: 4. CIRCUITE LOGICE COMBINAŢIONALE - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/1pl/asdn/4.pdf · Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

cap.4 Circuite logice combinaţionale

4.2 Sinteza circuitelor logice combinaţionale

În cazul sintezei se cunoaşte funcţia pe care trebuie să o realizeze circuitul şi trebuie determinată structura acestuia. Sinteza unui CLC presupune parcurgerea următoarelor etape:

- definirea funcţiei; - minimizarea funcţiei; - determinarea schemei circuitului.

Schema circuitului poate avea mai multe forme, în funcţie de expresia după care se implementează funcţia:

- cu circuite ŞI, SAU, NU ( AND, OR, NOT ); - cu circuite SAU, ŞI, NU ( OR, AND, NOT ); - cu circuite ŞI - NU ( NAND ); - cu circuite SAU - NU ( NOR ).

Exemplu

Circuitul de anticoincidenţă (exclusive-or, XOR)

x y x ⊕ y 0 0 0 0 1 1 1 0 1 1 1 0

x ⊕ y y

x x \ y 0 1 0 0 1 1 1 0

Figura 4.3 Circuitul SAU – EXCLUSIV (XOR) a) xyyx)y,x(f ⋅+⋅=

x ⊕ yy x

Figura 4.4 Implementarea XOR folosind porţi NOT, AND, OR

b) yyxyxxyxyxyxyx)y,x(f ⋅⋅⋅⋅⋅=⋅=+=

x

x ⊕ y y

Figura 4.5 Implementarea XOR folosind porţi NAND

32

Page 3: 4. CIRCUITE LOGICE COMBINAŢIONALE - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/1pl/asdn/4.pdf · Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

BAZELE PROIECTĂRII CIRCUITELOR NUMERICE

c) )yx()yx()y,x(f +⋅+=

d) yyxxyxyxyx)yx)(yx()y,x(f +++++=+++=++=

Figura 4.6 Implementarea XOR folosind porţi NOT, OR, AND

x

y x ⊕ y

x ⊕ y y

x

Figura 4.7 Implementarea XOR folosind porţi NOR

4.3 Exemple de structuri logice combinaţionale 4.3.1 Decodificatoare

Decodificatoarele sunt circuite logice combinaţionale care activează una sau mai multe ieşiri în funcţie de cuvântul de cod aplicat la intrare. Decodificarea este necesară la adresarea memoriei, la selecţia porturilor, la afişarea numerică, la multiplexarea datelor etc. 4.3.1.1 Decodificatoare de adresă

Decodificatoarele de adresă sunt CLC care activează ieşirea a cărei adresă este aplicată pe intrări. Un decodificator de adresă cu n intrări are 2n ieşiri. Tabela de adevăr pentru un decodificator cu 4 intrări este prezentată în figura 4.8.

Pentru cele 16 ieşiri trebuie construite 16 diagrame Karnaugh. Acestea pot fi sintetizate într-o singură diagramă, numită diagramă de referinţă, având în vedere că cele 16 diagrame Karnaugh conţin fiecare câte o valoare 1 în celula care indică numărul ieşirii.

33

Page 4: 4. CIRCUITE LOGICE COMBINAŢIONALE - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/1pl/asdn/4.pdf · Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

cap.4 Circuite logice combinaţionale

x3 x2 x1 x0 y15 y14 ... y1 y0 0 0 0 0 0 0 ... 0 1 0 0 0 1 0 0 ... 1 0

...

...

...

...

...

1 1 1 0 0 1 ... 0 0 1 1 1 1 1 0 ... 0 0

E

y0 x3

DEC

y14

x2

x1

x0

y1

y15

x3 x2 \x1x0 00 01 11 10 00 y0 y1 y3 y2 01 y4 y5 y7 y6 11 y12 y13 y15 y14 10 y8 y9 y11 y10

Figura 4.8 Tabela de adevăr, diagrama de referinţă şi simbolul logic al decodificatorului de adresă

Ecuaţiile decodorului vor fi:

01230

01231

012314

012315

xxxxy

xxxxy

xxxxy

xxxxy

=

=

=

=

M (4.2)

Implementarea acestor ecuaţii conduce la obţinerea decodorului rectangular

de adresă (figura 4.9). În general, decodificatoarele sunt prevăzute cu o intrare de validare E

(activă H) sau E (activă L). Ieşirile corespunzătoare adresei de pe intrări sunt activate numai dacă semnalul de validare este la rândul lui activ.

Costul pentru decodorul rectangular este: CDR4 = (4+1)16+(4+1)=85. În general, CDRn = (n+1)2n +(n+1) = (n+1)(2n+1) .

Ecuaţiile decodorului de adresă cu 4 intrări se pot scrie şi sub forma (4.3).

)xx)(xx(y

)xx)(xx(y

)xx)(xx(y

)xx)(xx(y

0123

0123

0123

0123

0

1

14

15

=

=

=

=

M (4.3)

34

Page 5: 4. CIRCUITE LOGICE COMBINAŢIONALE - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/1pl/asdn/4.pdf · Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

BAZELE PROIECTĂRII CIRCUITELOR NUMERICE

E

x3

x2

x1

x0

y7 y2 y5 y6 y4 y3 y1 y15 y14 y13 y12 y11 y10 y9 y8 y0

Figura 4.9 Decodificatorul rectangular de adresă 74154

Se observă că fiecare termen din paranteze (relaţiile 4.3) apare pentru câte 4 ieşiri. Dacă se implementează aceste relaţii se obţine decodorul dual piramidal de adresă (figura 4.10).

x0

x3

y15 y14 y13 y12

x2 x1

E

y9y10

y6 y5 y4

y8 y11

y7

y3 y2 y1 y0

Figura 4.10 Decodificator dual piramidal

35

Page 6: 4. CIRCUITE LOGICE COMBINAŢIONALE - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/1pl/asdn/4.pdf · Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

cap.4 Circuite logice combinaţionale

3n.pt,CC)parn(,2)12)(1n()1n()22()12n(22n2(C

57)14()216()3424(C

DRnDDPn

1n2nn2n2nDDPn

4DDP

≥<+++=++⋅++⋅+⋅=

=++⋅+⋅+⋅=+

(4.4) 4.3.1.2 Decodificatoare BCD - zecimal

Decodificatoarele de adresă realizează practic o decodificare din sistemul binar natural în sistem zecimal. Există şi cazuri în care trebuie realizată o decodificare din alt cod decât cel binar natural, de exemplu BCD8421. Tabelul de adevăr pentru un decodificator BCD8421 - zecimal este prezentat în continuare (figura 4.10).

x3 x2 x1 x0 9y 8y 7y 6y 5y 4y 3y 2y 1y 0y 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 0 1 0 0 1 1 1 1 1 0 1 1 1 1 0 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 0 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

x3 x2 \ x1 x0 00 01 11 10

00 0y 1y 3y 2y

01 4y 5y 7y 6y

11

1

1

1

1

10 8y 9y

1

1

01234

01233

01232

01231

01230

xxxxy

xxxxy

xxxxy

xxxxy

xxxxy

⋅⋅⋅=

⋅⋅⋅=

⋅⋅⋅=

⋅⋅⋅=

⋅⋅⋅=

01239

01238

01237

01236

01235

xxxxy

xxxxy

xxxxy

xxxxy

xxxxy

⋅⋅⋅=

⋅⋅⋅=

⋅⋅⋅=

⋅⋅⋅=

⋅⋅⋅=

(4.5)

Figura 4.11 Tabelul de adevăr, diagrama de referinţă şi ecuaţiile de funcţionare ale decodificatorului BCD-zecimal

36

Page 7: 4. CIRCUITE LOGICE COMBINAŢIONALE - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/1pl/asdn/4.pdf · Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

BAZELE PROIECTĂRII CIRCUITELOR NUMERICE

0y

x3

x2

x1

x0

C = 4⋅10 + 4 = 44

1y 2y 3y 4y 5y 6y 7y 8y 9y

0y

1y

2y3y4y

5y6y7y8y9y

DEC

x0 x1

x2 x3

Figura 4.12 Decodificatorul BCD-zecimal 7442

Stările 1010 - 1111 nu fac parte din codul NBCD8421 şi au fost considerate

false. Toate stările sunt decodificate explicit. Ca urmare, eventualele date false de pe intrări determină stabilirea tuturor ieşirilor în starea H (inactive). Din acest motiv decodificatorul se numeşte cu rejecţia datelor false.

Dacă pe intrările acestui decodificator nu se pot stabili date false, nu este necesară rejecţia datelor false. Renunţarea la această protecţie conduce la micşorarea costului (figura 4.13).

(4.6)

x3 x2 \ x1 x0 00 01 11 10

00 9y 9y 9y 9y

01 9y 9y 9y 9y

11

x

x

x

x

10 9y 9y

x

x

0124

0123

0122

01231

01230

xxxy

xxxy

xxxy

xxxxy

xxxxy

⋅⋅=

⋅⋅=

⋅⋅=

⋅⋅⋅=

⋅⋅⋅=

039

038

0127

0126

0125

xxy

xxy

xxxy

xxxy

xxxy

⋅=

⋅=

⋅⋅=

⋅⋅=

⋅⋅=

37

Page 8: 4. CIRCUITE LOGICE COMBINAŢIONALE - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/1pl/asdn/4.pdf · Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

cap.4 Circuite logice combinaţionale

0y 1y 2y 3y 4y 5y 6y 7y 8y 9y

x0

x1

x2

x3

C = 4⋅2 + 3⋅6 + 2⋅2 + 4 =34

Figura 4.13 Decodificator BCD-zecimal fără rejectarea datelor false

Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

cuvântul 1010 pe intrări determină activarea ieşirilor 2 şi 8 simultan. 4.3.2 Codificatoare

Codificatoarele sunt circuite logice combinaţionale la care activarea unei intrări conduce la apariţia unui cuvânt de cod pe ieşire. 4.3.2.1 Codificatoare de adresă

Codificatoarele de adresă furnizează pe ieşiri adresa intrării activate. Pentru un circuit cu 7 intrări şi 3 ieşiri, cu tabela de adevăr din figura 4.14,

ecuaţiile ieşirilor sunt cele prezentate alăturat.

I7

I6

I5

I3

I4

I2

I1

COD

I1 I2 I3 I4 I5 I6 I7 C2 C1 C0

0 0 0 0 0 0 0 0 0 0 1 x x x x x x 0 0 1 x 1 x x x x x 0 1 0 x x 1 x x x x 0 1 1 x x x 1 x x x 1 0 0 x x x x 1 x x 1 0 1 x x x x x 1 x 1 1 0 x x x x x x 1 1 1 1

C0 = I1 + I3 + I5 + I7 (4.7) C1 = I2 + I3 + I6 + I7 C2 = I4 + I5 + I6 + I7

C1 C2 C0

Figura 4.14 Codificator de adresă

38

Page 9: 4. CIRCUITE LOGICE COMBINAŢIONALE - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/1pl/asdn/4.pdf · Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

BAZELE PROIECTĂRII CIRCUITELOR NUMERICE

Schema circuitului va fi deci cea din figura 4.15. I1 I2 I3 I4 I5 I6 I7

C0

C2

C1

Figura 4.15 Structura logică a codificatorului de adresă

Dezavantajul acestei scheme este că la activarea simultană a mai multor

intrări, adresa furnizată la ieşire este eronată. De exemplu, I1 şi I4 active simultan determină la ieşire C2C1C0 = 101, ceea ce înseamnă I5 activă.

Dacă nu se poate evita activarea simultană a mai multor ieşiri, se folosesc codificatoare de adresă prioritare, care prezintă la ieşire adresa intrării active cu prioritatea cea mai mare. Vom considera intrarea I7 ca având prioritatea maximă, celelalte intrări având priorităţi descrescătoare. Intrările I7 - I0 sunt active pe nivel L. Circuitul este prevăzut şi cu o intrare de validare EI (enable input), o ieşire GS (group select) activă (pe L) când cel puţin o intrare este activată şi o ieşire EO (enable output), activă când toate intrările sunt inactive. Ieşirile circuitului sunt active tot pe L.

Tabela de adevăr, simbolul logic şi ecuaţiile de funcţionare sunt prezentate în continuare.

I

7 6I 5I 4I 3I 2I 1I 0I EI 2C 1C 0C GS EO

x x x x x x x x 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 x x x x x x x 0 0 0 0 0 1 1 0 x x x x x x 0 0 0 1 0 1 1 1 0 x x x x x 0 0 1 0 0 1 1 1 1 0 x x x x 0 0 1 1 0 1 1 1 1 1 0 x x x 0 1 0 0 0 1 1 1 1 1 1 0 x x 0 1 0 1 0 1 1 1 1 1 1 1 0 x 0 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1

39

Page 10: 4. CIRCUITE LOGICE COMBINAŢIONALE - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/1pl/asdn/4.pdf · Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

cap.4 Circuite logice combinaţionale

123456713456715671710

2345671345671671711

456715671671712

0110

012345671

IIIIIIIEIIIIIEIIIEIEC

IIIIIIEIIIIIEIIEIEC

IIIIEIIIEIIEIE

EEEEGS

)8.4(IIIIIIIIEEO

+++=

+++=

+++=

=+=

=

C

EI

0C

GSEO

1C2C

COD

I7

I6

I5

I4

I3

I2

I1 I0

Figura 4.16 Codificator de adresă prioritar

Structura codificatorului de adresă prioritar este prezentată în figura 4.17 şi se

regăseşte in circuitul 74148.

1I

2I

3I

4I

6I

7I

EI

0C

1C

2C

GS

EO

5I

0I

Figura 4.17 Structura codificatorului de adresă prioritar (74148)

40

Page 11: 4. CIRCUITE LOGICE COMBINAŢIONALE - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/1pl/asdn/4.pdf · Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

BAZELE PROIECTĂRII CIRCUITELOR NUMERICE

4.3.3 Convertoare de cod

Convertoarele de cod sunt circuite logice combinaţionale ce permit transformarea unui cuvânt de cod dintr-un cod binar în altul. 4.3.3.1 Convertor de cod BCD - Gray

Pentru cazul cuvintelor de 4 biţi, tabela de adevăr este prezentată în figura 4.18. Fiecărui cuvânt binar îi corespunde in cod Gray tot o succesiune de 4 biţi.

b3 b2 b1 b0 g3 g2 g1 g0

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

b3b2 \ b1b0 00 01 11 10

00

0

0

0

0 01

0

0

0

0 11 1 1 1 1 10 1 1 1 1

b3b2 \ b1b0 00 01 11 10

00

0

0

0

0 01 1 1 1 1 11

0

0

0

0 10 1 1 1 1

b3b2 \ b1b0 00 01 11 10

00

0

0

1

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

b3b2 \ b1b0 00 01 11 10

00

0

1

0

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

33 bg = 2323232 bbbbbbg ⊕=+=

2121211 bbbbbbg ⊕=+= 0101010 bbbbbbg ⊕=+=

Figura 4.18 Tabela de adevăr şi diagramele Karnaugh pentru convertorul BCD-Gray

41

Page 12: 4. CIRCUITE LOGICE COMBINAŢIONALE - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/1pl/asdn/4.pdf · Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

cap.4 Circuite logice combinaţionale

b3

b2

b1

b0 g0

g1

g2

g3

Figura 4.19 Structura convertorului de cod BCD-Gray

Aşa cum se observă (figura 4.19) convertorul binar natural – Gray are o structură simplă, constituită din porţi XOR. 4.3.3.2 Convertor de cod Gray - BCD

În cazul conversiei inverse, Gray – BCD, se poate aplica aceeaşi procedură, dar este mai simplă metoda analitică aplicată relaţiilor deja determinate. Mai jos este redat calculul care conduce la determinarea expresiilor analitice ale biţilor de ieşire ai convertorului Gray – BCD pornind de la ecuaţiile convertorului BCD – Gray (relaţiile 4.9 – 4.12).

(4.9)

32100

01122333210

010

121

232

33

321112233321

121

232

33

32223332

232

33

3333

ggggbbbbbbbbgggg

bbgbbgbbg

bg

gggbbbbbbggg

bbgbbg

bg

ggbbbbgg

bbg

bg

gbbg

⊕⊕⊕=⇒

⇒⊕⊕⊕⊕⊕⊕=⊕⊕⊕

⊕=⊕=

⊕=

=

⊕⊕=⇒⊕⊕⊕⊕=⊕⊕

⊕=

⊕=

=

⊕=⇒⊕⊕=⊕

⊕=

=

=⇒=

(4.10)

(4.11)

(4.12)

42

Page 13: 4. CIRCUITE LOGICE COMBINAŢIONALE - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/1pl/asdn/4.pdf · Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

BAZELE PROIECTĂRII CIRCUITELOR NUMERICE

b3

b2

b1

b0

g3 g2 g1

g0

Figura 4.19 Convertor de cod Gray – BCD

4.3.3.3 Convertor de cod NBCD - 7 segmente

Codul „7 segmente“ este folosit pentru sisteme de afişare numerice, unde un digit este de forma din figura 4.20, segmentele fiind becuri, LED-uri, cristale lichide etc.

DP

e

gf

d

c

b

a

Figura 4.20 Structura unui digit în cod „7 segmente”

Convertorul de cod va avea 4 intrări (cod NBCD8421) şi 7 ieşiri. Tabela de

adevăr, diagramele Karnaugh pentru sinteza funcţiilor asociate fiecărui segment şi funcţiile obţinute sunt prezentate în continuare.

x3 x2 x1 x0 a b c d e f g 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 0 0 1 1 1 1 1 1 0 0 1 0 1 0 0 0 1 1 0 0 1 1 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1

Figura 4.21 Tabela de adevăr pentru decodorul NBCD - 7 segmente

43

Page 14: 4. CIRCUITE LOGICE COMBINAŢIONALE - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/1pl/asdn/4.pdf · Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

cap.4 Circuite logice combinaţionale

x3 x2 \ x1 x0 00 01 11 10 00 1 0 1 1 01 0 1 1 1 11 x x x x 10 1 1 x x

x3 x2 \ x1 x0 00 01 11 10 00 1 1 1 1 01 1 0 1 0 11 x x x x 10 1 1 x x

x3 x2 \ x1 x0 00 01 11 10 00 1 0 1 1 01 0 1 1 1 11 x x x x 10 1 1 x x

x3 x2 \ x1 x0 00 01 11 10 00 1 0 1 1 01 0 1 0 1 11 x x x x 10 1 1 x x

x3 x2 \ x1 x0 00 01 11 10 00 1 0 0 1 01 0 0 0 1 11 x x x x 10 1 0 x x

x3 x2 \ x1 x0 00 01 11 10 00 1 0 0 0 01 1 1 0 1 11 x x x x 10 1 1 x x

x3 x2 \ x1 x0 00 01 11 10 00 0 0 1 1 01 1 1 0 1 11 x x x x 10 1 1 x x

1212013 xxxxxxxg +++=

1201023 xxxxxxxf +++=0102 xxxxe +=

12012230102 xxxxxxxxxxxd ++++=201 xxxc ++=

01012 xxxxxb ++=020231 xxxxxxa +++=

Figura 4.22 Sinteza funcţiilor de segment pentru decodorul NBCD - 7 segmente

44

Page 15: 4. CIRCUITE LOGICE COMBINAŢIONALE - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/1pl/asdn/4.pdf · Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

BAZELE PROIECTĂRII CIRCUITELOR NUMERICE

a

c

b

d

e

f

g

*

*

*

*

*

*

*

x3

x2 x1 x0

Figura 4.23 Structura convertorului de cod NBCD - 7 segmente

(7446, 7447) 4.3.4 Multiplexoare

Circuitele de multiplexare sunt CLC care permit trecerea datelor de la una din intrări, selectată de cuvântul de pe intrarea de adresă, către o ieşire unică. Uneori, circuitele de multiplexare sunt prevăzute şi cu o intrare de validare.

Tabela de adevăr pentru un multiplexor cu 8 intrări este prezentată în figura 4.24. Ecuaţia de funcţionare este 4.13.

)IAAAIAAAIAAAIAAA

IAAAIAAAIAAAIAAA(EY

7012601250124012

3012201210120012

++++

++++⋅= (4.13)

45

Page 16: 4. CIRCUITE LOGICE COMBINAŢIONALE - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/1pl/asdn/4.pdf · Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

cap.4 Circuite logice combinaţionale

E A2 A1 A0 Y 1 x x x 0 0 0 0 0 I0 0 0 0 1 I1 0 0 1 0 I2 0 0 1 1 I3 0 1 0 0 I4 0 1 0 1 I5 0 1 1 0 I6 0 1 1 1 I7

E

Y Y

A2

A1

A0

I1 I0 I2 I3 I4 I6 I5 I7

MUX

E

yy

A2

A1

A0

I7 I6 I5 I4 I3 I2 I1 I0

Figura 4.24 Tabela de adevăr, simbolul grafic şi structura de principiu a unui multiplexor -- 74151 (8:1); [74153 (2x4:1); 74157 (4x2:1)]

46

Page 17: 4. CIRCUITE LOGICE COMBINAŢIONALE - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/1pl/asdn/4.pdf · Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

BAZELE PROIECTĂRII CIRCUITELOR NUMERICE

4.3.5 Demultiplexoare

Demultiplexoarele sunt CLC care permit trecerea datelor de pe o intrare comună către una din ieşiri, selectată prin cuvântul de pe intrările de adresă.

Tabela de adevăr pentru un demultiplexor cu 8 ieşiri şi sinteza sa sunt prezentate în continuare (figura 4.25).

E A2 A1 A0 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

0 0 0 0 D 0 0 0 0 0 0 0 0 0 0 1 0 D 0 0 0 0 0 0 0 0 1 0 0 0 D 0 0 0 0 0 0 0 1 1 0 0 0 D 0 0 0 0 0 1 0 0 0 0 0 0 D 0 0 0 0 1 0 1 0 0 0 0 0 D 0 0 0 1 1 0 0 0 0 0 0 0 D 0 0 1 1 1 0 0 0 0 0 0 D 1 x x x 0 0 0 0 0 0 0 0

DAAAEY

DAAAEY

DAAAEY

0127

0121

0120

=

=

=

M

(4.9)0

E

Y4

A2

A1 A0

Y0Y1Y2Y3

D

Y5Y6Y7

DMUX

ED

A2

A1

A0

Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0

Figura 4.25 Demultiplexor cu 8 ieşiri

47

Page 18: 4. CIRCUITE LOGICE COMBINAŢIONALE - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/1pl/asdn/4.pdf · Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

cap.4 Circuite logice combinaţionale

4.3.6 Comparatoare numerice

Comparatoarele sunt circuite logice combinaţionale care permit compararea a două numere.

Comparatoarele de un bit permit compararea a două numere de câte un bit, indicând la ieşire situaţiile: „>” , „=” , „<” . Tabela de adevăr şi sinteza comparatorului de un bit este cea de mai jos (figura 4.26).

Ai Bi Ai > Bi Ai = Bi Ai < Bi

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

iiii

iiiiiiii

iiii

BA)BA(BABABA)BA(

BA)BA(

⋅=<

⊕=⋅+⋅==

⋅=>

Ai

Ai > Bi

Ai = Bi

Ai < Bi

Bi

(4.10) Bi Ai

Ai < BiAi = BiAi > Bi

CMP

Figura 4.26 Comparatorul numeric de un bit

A3:B3 A2:B2 A1:B1 A0:B0 (A>B)i (A<B)i (A=B)i (A>B)0 (A<B)0 (A=B)0

A3>B3 x x x x x x 1 0 0 A3<B3 x x x x x x 0 1 0 A3=B3 A2>B2 x x x x x 1 0 0

A2<B2 x x x x x 0 1 0 A2=B2 A1>B1 x x x x 1 0 0 A1<B1 x x x x 0 1 0 A1=B1 A0>B0 x x x 1 0 0 A0<B0 x x x 0 1 0 A0=B0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1

Figura 4.27 Tabela de adevăr pentru comparatorul numeric pe 4 biţi

48

Page 19: 4. CIRCUITE LOGICE COMBINAŢIONALE - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/1pl/asdn/4.pdf · Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

BAZELE PROIECTĂRII CIRCUITELOR NUMERICE

A0 B0

A1 B1

A2 B2

A3 B3

(A=B)0

(A>B)0

(A<B)0

A3>B3

A3<B3

A0=B0

A1=B1

A2=B2

A3=B3

(A=B)i

(A>B)i

(A<B)i

Figura 4.28 Structura internă a comparatorului numeric pe 4 biţi (7485)

Prin interconectarea a n comparatoare de un bit se pot realiza comparatoare

de n biţi. Vom considera în continuare două numere de n biţi.

)BB...BB(2B2B...2BB

)AA...AA(2A2A...2AA

)2(011n0

01

11n

1n

)2(011n0

01

11n

1n

−−

−−

=+++=

=+++= (4.11)

Procesul de comparare începe cu compararea biţilor celor mai semnificativi,

adică ( An-1 : Bn-1 ). Dacă An-1 > Bn-1 sau An-1 < Bn-1 rezultă A > B, respectiv A < B

49

Page 20: 4. CIRCUITE LOGICE COMBINAŢIONALE - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/1pl/asdn/4.pdf · Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

cap.4 Circuite logice combinaţionale

indiferent de valoarea biţilor mai puţin semnificativi ( An-2 … A0 , Bn-2 … B0 ). Dacă An-1 = Bn-1, pentru determinarea relaţiei A : B este necesară compararea biţilor An-2, Bn-2 , ş.a.m.d. Tabela de adevăr a unui comparator pe 4 biţi este prezentată în figura 4.27 iar structura sa internă este detaliată în figura 4.28. Dacă se doreşte compararea a două numere ale căror lungimi depăşesc posibilităţile comparatorului disponibil, se recurge la expandate folosind intrări prevăzute în acest scop.

Simbolul logic al unui comparator pe 4 biţi cu intrări de expandare şi modul de expandare pentru cuvinte de 8 biţi este prezentat în figura 4.29.

A3÷0 B3÷0

0

1 >

=

O

<

A=B

A>B

A<B

CMP I =

>

<

CMP(A=B)i

(A>B)i

(A<B)i

(A=B)o

(A>B)o

(A<B)o

CMP

B7÷4 B3÷0 A7÷4 A3÷0

Figura 4.29 Simbolul logic al comparatorului binar pentru cuvinte de 4 biţi şi expandarea acestuia pentru cuvinte de 8 biţi

4.3.7 Sumatoare

Sumatoarele elementare sunt circuite logice combinaţionale care adună două numere de câte un bit şi un bit de transport din rangul inferior, generând suma şi un bit de transport spre rangul următor, conform tabelei de adevăr din figura 4.30.

xi yi ci -1 si ci

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

∑i

si

ci ci-1

yi xi

Figura 4.30 Sumator elementar, tabelă de adevăr şi simbol

Sumatorul elementar are trei intrări, xi, yi şi ci-1 şi două ieşiri, si şi ci. Bitul de transport ci, ca şi suma si, depinde de variabilele de intrare şi de intrarea de transport ci-1. Aşadar, si fiind funcţie de ci-1 va fi implicit şi funcţie de ci. Această observaţie ne permite să sintetizăm suma si ca funcţie de 4 variabile, xi, yi, ci-1 şi ci (figura 4.31).

50

Page 21: 4. CIRCUITE LOGICE COMBINAŢIONALE - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/1pl/asdn/4.pdf · Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

BAZELE PROIECTĂRII CIRCUITELOR NUMERICE

(4.12)

ci-1\ xi yi 00 01 11 10 0 0 0 1 0 1 0 1 1 1

ci-1 ci \ xi yi 00 01 11 10 00 0 1 x 1 01 x x 0 x 10 x 0 1 0 11 1 x x x

)yxc(cyxcs ii1iiii1ii +++= −−

i1ii1iiii ycxcyxc −− ++=

si

ci

xi yi ci-1

Figura 4.31 Sinteza sumatorului elementar

Pentru a aduna două numere pe n biţi sunt necesare n sumatoare elementare

conectate ca în figura 4.32. Prin conectarea a 4 sumatoare elementare se obţine sumatorul pe 4 ranguri

(figura 4.33).

c-1

y1 y0 x0 x1

s0 s1

cn-3

sn-2 sn-1

cn-1

yn-1 yn-2 xn-2 xn-1

∑0 ∑1 ∑n-2∑n-1

Figura 4.32 Cascadarea sumatoarelor elementare pentru sumarea cuvintelor binare de n biţi

51

Page 22: 4. CIRCUITE LOGICE COMBINAŢIONALE - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/1pl/asdn/4.pdf · Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

cap.4 Circuite logice combinaţionale

x3 x2 x1 x0 y3 y1 y0y2

)sy,x(p

)cc(p

)cy,x(p

)sc(p

iii

31

300

31

t

t

t

t

s0s1

c-1

s3 s2

c3 ∑(4)

timpi de propagare

Figura 4.33 Sumator binar pe 4 ranguri (7483)

Pentru realizarea unui sumator pe n ranguri folosind sumatoare pe 4 ranguri

sunt necesare n/4 = k circuite sumatoare pe 4 ranguri (figura 4.34). Timpul de rezoluţie al schemei este calculat în situaţia cea mai dezavantajoasă, adică la sumarea 011…111 + 000…001.

)sc(p)cc(p)cy,x(pr 3131300tt)2k(tt →→→ −−

+−+= (4.13) unde tr creşte liniar cu n, datorită transportului succesiv între ranguri.

x0 y0 xn-1 yn-1

s0

„0” ∑(4)

sn-1

cn-1 ∑(4)

Figura 4.34 Sumator pe n ranguri realizat cu sumatoare pe 4 ranguri

Pentru reducerea timpului de rezoluţie se foloseşte sumatorul cu transport anticipat, descris de ecuaţiile de mai jos (4.14). Gi şi Pi se numesc transport generat respectiv transport propagat. Ieşirea de transport şi suma pot fi exprimate în funcţie de transportul generat Gi şi transportul propagat Pi.

321013210321323

3210121021233233

2101210212210110122122

101101101011011

0100

i1iii

iiiiii

1iiiiiii

ii1iiii

PPPPcPPPGPPGPGGP)PPPcPPGPGG(GPcGc

PPPcPPGPGGP)PPcPGG(GPcGcPPcPGGP)PcG(GPcGc

PcGcPcGc

iătraverseazc1yx: propagattransportyxP

cdeindiferent 1c1yx: generattransportyxG)yx(cyxc

−−

−−

++++=

=++++=+=

+++=+++=+=

++=++=+=

+=+=

⇒=+−+=

=⇒=−=++=

(4.14)

52

Page 23: 4. CIRCUITE LOGICE COMBINAŢIONALE - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/1pl/asdn/4.pdf · Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

BAZELE PROIECTĂRII CIRCUITELOR NUMERICE

2334

1223

0112

1001

iiiiiiiiiiii

ii1iii1iii1iiiii1iiiii1ii

cPGs

cPGs

cPGs

cPGs

yx)yx)(yx()yx(yxPG

yxc)yx(c)yx(c)yxyx(c)yxyx(cs

⊕=

⊕=

⊕=

⊕=

⊕=++=+=

⊕⊕=⊕+⊕=+++=

−−−−−

(4.15)

Structura logică descrisă de ecuaţiile (4.14) şi (4.15) se regăseşte în circuitul

74LS83A.. 4.3.8 Unităţi aritmetico-logice (ALU) ALU sunt circuite logice combinaţionale complexe care execută, pe baza unor comenzi, funcţii de tip aritmetic şi logic. ALU se utilizează în sisteme digitale complexe sau ca părţi componente în unităţile de prelucrare ale sistemelor de calcul.

ALU de 4 biţi are următoarele intrări şi ieşiri tipice:

- intrări pentru operanzi: A3÷0, B3÷0 - intrare de transport : 1−c - intrare de mod: M = 0 → funcţii aritmetice = 1 → funcţii logice - intrări pentru selectarea funcţiei : S3÷0 - ieşiri pentru funcţie : F3÷0 - ieşire pentru transport: 3c - ieşire pentru indicarea egalităţii operanzilor: (A=B) - ieşiri pentru transport anticipat: P,G.

Un circuit care înglobează funcţiile descrise (ALU) este 74181 (figura 4.35).

ci-1 \ xi yi 00 01 11 100 0 1 0 1 1 1 0 1 0

1c− 3c

P G

(A=B)

F

S

M ALU(4)

B A

Figura 4.35 Unitate aritmetico - logică

53

Page 24: 4. CIRCUITE LOGICE COMBINAŢIONALE - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/1pl/asdn/4.pdf · Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

cap.4 Circuite logice combinaţionale

Pentru realizarea unor ALU pe mai mulţi biţi, în condiţiile în care nu se urmăreşte neapărat obţinerea unor viteze mari de prelucrare, se foloseşte transportul succesiv prin conectarea 3c de la un circuit la 1−c de la circuitul următor, ca in figura 4.36.

Figura 4.36 Expandarea ALU M

S

(A=B)

“1” C7

F0÷3 F4÷7

A4÷7 B4÷7B0÷3A0÷3

ALU(4)ALU(4)

Pentru operaţii de mare viteză , ALU sunt combinate cu circuite de generare anticipată a transportului (GTA), prevăzute cu patru intrări de transport propagat (P0÷3), patru intrări de transport generat (G3÷0), o intrare pentru transport din rangul inferior ( 1−C ). GTA generează transporturile xC+ , y+C , zC+ . Pentru dezvoltarea sistemului de transport, GTA sunt prevăzute şi cu două ieşiri de transport generat (G) şi de transport propagat (P).

P

xC+ yC+ zC+

1C−

G

P2 P3 G1 P0 G2 P1 G3 G0

GTA

3210

3210321323

2101210212z

101101y

010x

PPPPPPPPGPPGPGGG

PPPCPPGPGG

PPCPGGC

PCGC

=

+++=

+++=

++=

+=

−−

−−

−−

C

(4.16)

Figura 4.37 Circuit pentru generarea anticipată a transportului GTA (74182)

C31

xc+ yc+ zc+ xc+ yc+ zc+

Figura 4.38 Expandarea GTA pe două nivele

PG

GTA

P P3

G G3

P P2

G G2

P P1

G G1

P P0

G G0

G P

GTA

ALU

G G0

P P0

ALU

G G1

P P1

ALU

G G2

P P2

ALU

G G3

C-1 ALU ALU ALU ALUC-15

P P3

54

Page 25: 4. CIRCUITE LOGICE COMBINAŢIONALE - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/1pl/asdn/4.pdf · Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

BAZELE PROIECTĂRII CIRCUITELOR NUMERICE

Expandarea ALU cu generarea anticipată a transportului se poate face pe două sau mai multe nivele (figura 4.38, figura 4.39). 4.3.9 Generatoare şi detectoare de paritate Pentru detectarea eventualelor erori în transmisia datelor se poate folosi un cod cu bit de paritate. La emisie, la cuvintele de transmis se mai adaugă un bit “0” sau “1” astfel încât toate cuvintele transmise sa aibă un număr par (impar) de biţi “1”. La recepţie se verifică paritatea (imparitatea) numărului de biţi “1” din cuvântul recepţionat. Aceste operaţii sunt realizate de CLC numite generatoare, respectiv detectoare de paritate. Detectorul elementar de paritate este circuitul de anticoincidenţă, XOR (figura 4.40).

Dacă pe lângă cuvântul de transmis b0b1 se mai transmite şi bitul de paritate y, se obţine o transmisie în cod cu bit de paritate pară. Dacă se mai foloseşte încă o poartă XOR, se poate stabili şi felul parităţii (pară sau impară – figura 4.40).

În cazul unor cuvinte de 8 biţi se poate folosi circuitul din figura 4.41 (74180). Circuitul este prevăzut cu intrările P (par) şi I (impar) care permit funcţionarea ca generator/detector de paritate sau imparitate. Corespunzător, circuitul are şi două ieşiri YP şi YI. Aceste intrări şi ieşiri permit expandarea circuitului.

Utilizarea circuitului generator/detector de paritate la transmisii de date este exemplificată in figura 4.42.

b1 b0 y 0 0 0 0 1 1 1 0 1 1 1 0

Figura 4.40 Generator/detector de paritate elementar

Figura 4.39 Expandarea ALU cu GTA pe mai multe nivele

G G0

b1

b0

bp

p

p=0 – paritate pară p=1 – paritate impară

y b1

b0

xc+ yc+ zc+ xc+ yc+ zc+ xc+

xc+ xc+

P P1

G G1

P P0

G G0

GTA

GTA

P P1

G G1

ALU

P P0

G G0

ALU

GTA

P P3

G G3

ALU

P P2

G G2

ALU

P P1

G G1

ALU

P P0

G G0

ALU C-1

GTA

P P3

G G3

ALU

P P2

G G2

ALU

P P1

G G1

ALU

P P0

ALU

55

Page 26: 4. CIRCUITE LOGICE COMBINAŢIONALE - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/1pl/asdn/4.pdf · Apariţia accidentală a unor date false pe intrare conduce la erori. De exemplu,

cap.4 Circuite logice combinaţionale

56

I P

YI

YP

A6 A7

A4 A5

A2 A3

A0 A1

YI

YPPI

A15 A8

G/DP “1”

“0” YI

YPP

I

A7 A0

G/DP

YI

YP P

I

A7 A0

G/DP

Figura 4.41 Generator/detector de paritate 74180

A7

A0

Er YP

PI

G/DP“1”

“0” YP

P

I

A7

A0

G/DP

Figura 4.42 Utilizarea generatorului/detectorului de paritate în transmisiunile de date

4.4 Timpi de propagare pentru o structură logică combinaţională

Modificarea unor variabile la intrările unui circuit logic combinaţional poate produce modificarea unor variabile la ieşirea lui. Aceste modificări sunt afectate de timpii de comutaţie ai circuitelor utilizate. Evidenţierea acestor întârzieri a fost abordată în capitolul 3.3.4. Timpii de propagare se pot individualiza pentru diverse puncte ale unei structuri combinaţionale, de la poarta xi la ieşirea yj, de exemplu.