Documente Academic
Documente Profesional
Documente Cultură
Circuite logice
2.4. Decodoare.
Multiplexoare
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
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
S0
0
1
0
1
Q0
1
0
0
0
Q0
Q1
Q2
Q3
=
=
=
=
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
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
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
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
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
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
C(X,Y,Z) = m(3,5,6,7)
S(X,Y,Z) = m(1,2,4,7)
...sau cu un decodor
C(X,Y,Z) = m(3,5,6,7)
S(X,Y,Z) = m(1,2,4,7)
10
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
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
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
= S1 S0
= S1 S0
= S1 S0
= S1 S0
Q3
Q2
Q1
Q0
= (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
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
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)
Q = S D0 + S D1
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
S
0
1
Q
D0
D1
18
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
19
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
f(x,y,z)
= m(1,2,6,7)
20
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
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
Z
0
1
0
1
0
1
0
1
C
0
0
0
1
0
1
1
1
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
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
24
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
26