Sunteți pe pagina 1din 26

2.

Circuite logice
2.4. Decodoare.
Multiplexoare

Copyright Paul GASNER

Definiii
Un decodor pe n bits are n intrri i 2n ieiri; cele n
intrri reprezint un numr binar care determin n mod
unic care dintre cele 2n ieiri este adevrat
Un decodor pe 2 bits opereaz dup tabela de adevr:
S1
0
0
1
1

Copyright Paul GASNER

S0
0
1
0
1

Q0
1
0
0
0

Q1
0
1
0
0

Q2
0
0
1
0

Q3
0
0
0
1

Proiectare decodorului pe 2 bits


Pornind de la tabela de adevr, simplificarea const n
patru ecuaii iar circuitul decurge direct
S1
0
0
1
1

S0
0
1
0
1

Q0
1
0
0
0

Q0
Q1
Q2
Q3

Copyright Paul GASNER

=
=
=
=

Q1
0
1
0
0

Q2
0
0
1
0

Q3
0
0
0
1

S1 S0
S1 S0
S1 S0
S1 S0

Activarea decodorului
Multe dispozitive au o intrare de activare, care permit
sau nu funcionarea adecvat a dispozitivului
Pentru decodor:
EN=1 activeaz decodorul, acesta funcionnd n maniera
prezentat mai sus, adic doar o singur ieire ia valoarea 1
EN=0 dezactiveaz decodorul; prin convenie, toate ieirile
au valoarea 0
EN
0
0
0
0
1
1
1
1

S1
0
0
1
1
0
0
1
1

S0
0
1
0
1
0
1
0
1

Copyright Paul GASNER

Q0
0
0
0
0
1
0
0
0

Q1
0
0
0
0
0
1
0
0

Q2
0
0
0
0
0
0
1
0

Q3
0
0
0
0
0
0
0
1

sau

EN
0
1
1
1
1

S1
x
0
0
1
1

S0
x
0
1
0
1

Q0
0
1
0
0
0

Q1
0
0
1
0
0

Q2
0
0
0
1
0

Q3
0
0
0
0
1

Notaii
Decodoarele sunt notate prin blocuri funcionale
Diagrama pentru decodorul pe 2 bits este
Q0
Q1
Q2
Q3

=
=
=
=

S1 S0
S1 S0
S1 S0
S1 S0

Nu conteaz ordinea intrrilor sau ieirilor, ci notaiile


acestora
Nu este necesar cunoaterea structurii interne, ci tabela
de adevr sau ecuaiile
Schema circuitelor hardware se simplific

Copyright Paul GASNER

Decodor pe 3 bits
Q0 = S2 S1 S0
Q1 = S2 S1 S0
Q2 = S2 S1 S0
Q3 = S2 S1 S0
Q4 = S2 S1 S0
Q5 = S2 S1 S0
Q6 = S2 S1 S0
Q7 = S2 S1 S0

S2 S1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
Copyright Paul GASNER

S0
0
1
0
1
0
1
0
1

Q0
1
0
0
0
0
0
0
0

Q1
0
1
0
0
0
0
0
0

Q2
0
0
1
0
0
0
0
0

Q3
0
0
0
1
0
0
0
0

Q4
0
0
0
0
1
0
0
0

Q5
0
0
0
0
0
1
0
0

Q6
0
0
0
0
0
0
1
0

Q7
0
0
0
0
0
0
0
1
6

Aplicaii ale decodoarelor


Decodoarele sunt numite i generatoare de mintermeni
pentru fiecare combinaie de intrri, doar o singur ieire este
adevrat
fiecare ecuaie la ieire prezint toate variabilele
S1
0
0
1
1

S0
0
1
0
1

Q0
1
0
0
0

Q1
0
1
0
0

Q2
0
0
1
0

Q3
0
0
0
1

Q0
Q1
Q2
Q3

=
=
=
=

S1 S0
S1 S0
S1 S0
S1 S0

Orice funcie poate fi implementat cu decodoare (dac


funcia este deja scris ca sum de mintermeni,
implementarea cu decodoare este imediat)
Copyright Paul GASNER

Exemplu: adunarea
S se proiecteze un circuit care s efectueze adunarea a
trei numere de 1 bit
Sunt necesari 2 bits pentru a reprezenta suma: C i S
(carry i sum)
C i S vor fi dou funcii diferite cu variabilele X,Y i Z

0 + 1 + 1 = 10

Copyright Paul GASNER

X
0
0
0
0
1
1
1
1

Y
0
0
1
1
0
0
1
1

Z
0
1
0
1
0
1
0
1

C
0
0
0
1
0
1
1
1

S
0
1
1
C(X,Y,Z) = m(3,5,6,7)
0
1 S(X,Y,Z) = m(1,2,4,7)
0
0
1 1 + 1 + 1 = 11

Sumator cu dou decodoare...


+5V semnific activarea decodorului

C(X,Y,Z) = m(3,5,6,7)
S(X,Y,Z) = m(1,2,4,7)

Copyright Paul GASNER

...sau cu un decodor

C(X,Y,Z) = m(3,5,6,7)
S(X,Y,Z) = m(1,2,4,7)

Copyright Paul GASNER

10

Construcia decodorului pe 3 bits


Un decodor pe 3 bits se poate realiza
pe baza tabelei de adevr
din decodoare pe 2 bits

Din tabel se poate observa c


cnd S2=0, ieirile Q0-Q3 arat ca la un decodor pe 2 bits
cnd S2=1, ieirile Q4-Q7 arat ca la un decodor pe 2 bits
S2 S1 S0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1

Copyright Paul GASNER

Q0
1
0
0
0
0
0
0
0

Q1
0
1
0
0
0
0
0
0

Q2
0
0
1
0
0
0
0
0

Q3
0
0
0
1
0
0
0
0

Q4
0
0
0
0
1
0
0
0

Q5
0
0
0
0
0
1
0
0

Q6
0
0
0
0
0
0
1
0

Q7
0
0
0
0
0
0
0
1

Q0 = S2 S1 S0 = m0
Q1 = S2 S1 S0 = m1
Q2 = S2 S1 S0 = m2
Q3 = S2 S1 S0 = m3
Q4 = S2 S1 S0 = m4
Q5 = S2 S1 S0 = m5
Q6 = S2 S1 S0 = m6
Q7 = S2 S1 S0 = m7
11

Construcie modular

S2 S1 S0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1

Copyright Paul GASNER

Q0
1
0
0
0
0
0
0
0

Q1
0
1
0
0
0
0
0
0

Q2
0
0
1
0
0
0
0
0

Q3
0
0
0
1
0
0
0
0

Q4
0
0
0
0
1
0
0
0

Q5
0
0
0
0
0
1
0
0

Q6
0
0
0
0
0
0
1
0

Q7
0
0
0
0
0
0
0
1

12

Tipuri de decodoare
Decodor activ-sus (active-high)
EN
0
1
1
1
1

S1
x
0
0
1
1

S0
x
0
1
0
1

Q0
0
1
0
0
0

Q1
0
0
1
0
0

Q2
0
0
0
1
0

Q3
0
0
0
0
1

Decodor activ-jos (active-low) este un decodor activsus la care portul de activare i ieirile sunt inversate
EN
0
0
0
0
1

Copyright Paul GASNER

S1
0
0
1
1
x

S0
0
1
0
1
x

Q0
0
1
1
1
1

Q1
1
0
1
1
1

Q2
1
1
0
1
1

Q3
1
1
1
0
1

13

Tipuri de decodoare. Utilizri


Decodorul activ-sus genereaz mintermeni
Q3
Q2
Q1
Q0

= S1 S0
= S1 S0
= S1 S0
= S1 S0

Decodorul activ-jos genereaz maxtermeni

Q3
Q2
Q1
Q0

Copyright Paul GASNER

= (S1 S0)
= (S1 S0)
= (S1 S0)
= (S1 S0)

=
=
=
=

S1 + S0
S1 + S0
S1 + S0
S1 + S0

14

Decodorul activ-jos
Orice funcie poate fi implementat cu ajutorul
decodoarelor active-jos ca produs de maxtermeni

Copyright Paul GASNER

15

Decodorul. Concluzii
Decodorul pe n bits genereaz mintermenii (sau
maxtermenii) unei fucii cu n variabile
Una dintre utilizrile decodorului este implementarea
oricrei funcii
Decodoarele cu numr mare de intrri se pot obine din
decodoare mai mici

Copyright Paul GASNER

16

Multiplexoare
Multiplexoarele (mux) permit unei intrri s ajung la
ieire conform unor semnale de control
Un multiplexor pe 2n-to-1 (2nx1) transmite una dintre
cele 2n intrri la unica ieire:
inputs:
2n intrri de date
n intrri de comand (select)

o singur ieire de 1 bit

Q = S D0 + S D1

Bitul de control S selecteaz care dintre cele dou


intrri D0 i D1 ajunge la ieire
dac S=0 atunci Q=D0
dac S=1 atunci Q=D1
Copyright Paul GASNER

17

Tabele de adevr
Tabela de adevr a unui multiplexor are
dimensiuni foarte mari, de aceea se
impun anumite simplificri

S
0
0
0
0
1
1
1
1

D1
0
0
1
1
0
0
1
1

D0
0
1
0
1
0
1
0
1

Q
0
1
0
1
0
0
1
1

Q = S D0 + S D1

Variabilele apar n coloana de ieire

Copyright Paul GASNER

S
0
1

Q
D0
D1

18

Multiplexor 4-to-1 (4x1)


EN
0
0
0
0
1

S1
0
0
1
1
x

S0
0
1
0
1
x

Q
D0
D1
D2
D3
1

Q = S1 S0 D0 + S1 S0 D1 + S1 S0 D2 + S1 S0 D3

Multiplexoarele au un port enable asemntor


decodoarelor
De obicei, portul de activare este active-low i pentru
EN'=1, toate ieirile multiplexorului sunt 1
Copyright Paul GASNER

19

Implementarea funciilor cu mux...


O funcie cu n variabile poate fi implementat cu
ajutorul unui multiplexor nx1:
pentru mintermenul mi, intrarea Di este conectat la 1;
fiecrei date de intrare i corespunde o linie n tabela de
adevr
variabilele funciei se conecteaz la intrrile de selecie ale
multiplexorului
x
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1

Copyright Paul GASNER

z
0
1
0
1
0
1
0
1

f
0
1
1
0
0
0
1
1

f(x,y,z)

= m(1,2,6,7)

20

...sau, mai eficient


Funcia f(x,y,z) = m(1,2,6,7) poate fi
implementat cu un mux 4x1 n locul unui
mux 8x1:
1. se construiete tabela e adevr i se grupeaz
liniile n perechi x i y sunt aceeai i funcia
va depinde doar de z

pentu xy=00, f=z


pentru xy=01, f=z
pentru xy=10, f=0
pentru xy=11, f=1

x
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1

f
0
1
1
0
0
0
1
1

2. primele dou variabile se conecteaz la intrrile


de selecie
3. seconecteaz intrrile multiplexorului conform
relaiilor de mai sus pentru f(z)
Copyright Paul GASNER

21

Exemplu: sumator
Se implementeaz pentru nceput funcia carry de la
adunare C(X,Y,Z) cu multiplexoare
Este necesar un mux 4x1 (trei variabile)
De obicei primele dou variabile se conecteaz la
intrrile select
X
0
0
0
0
1
1
1
1

Y
0
0
1
1
0
0
1
1

Copyright Paul GASNER

Z
0
1
0
1
0
1
0
1

C
0
0
0
1
0
1
1
1

pentru S1=X i S0=Y se obine


Q=XYD0 + XYD1 + XYD2 + XYD3
22

Funcia carry
Fixnd X i Z, funcia C(X,Y,Z) va depinde doar de Z
X
0
0
0
0
1
1
1
1

Y
0
0
1
1
0
0
1
1

Z
0
1
0
1
0
1
0
1

C
0
0
0
1
0
1
1
1

pentru XY=00, C=0


pentru XY=01, C=Z
pentru XY=10, C=Z
pentru XY=11, C=1
C =
=
=
=

Copyright Paul GASNER

X Y D0 + X Y D1 + X Y D2 + X Y D3
X Y 0 + X Y Z + X Y Z + X Y 1
X Y Z + X Y Z + XY
m(3,5,6,7)
23

Sumator cu multiplexor dual


Funcia sum trebuie privit n acest caz ca avnd o
singur ieire pe 2 bits i nu ca dou funcii separate
Un mux dual 4-to-1 se noteaz mux 4x2

Copyright Paul GASNER

24

Multiplexorul dual 4x2

Ca i la mux 4x1, S1-S0 sunt


utilizate pentru formarea
perechilor intrrilor:

2D3 1D3, cnd S1 S0 = 11


2D2 1D2, cnd S1 S0 = 10
2D1 1D1, cnd S1 S0 = 01
2D0 1D0, cnd S1 S0 = 00

Copyright Paul GASNER

25

Multiplexorul. Concluzii
Multiplexorul trimite la ieire intrarea selectat
Ca i decodorul servete la implementarea funciilor
booleene
Multiplexoarele pot fi combinate pentru a obine
multiplexoare de dimensiuni mai mari

Copyright Paul GASNER

26

S-ar putea să vă placă și