02 04 circuite logice decodoare

26
Copyright Paul GASNER Copyright Paul GASNER 2. Circuite logice 2. Circuite logice 2.4. Decodoare. 2.4. Decodoare. Multiplexoare Multiplexoare

Upload: apa-vie

Post on 07-Sep-2015

236 views

Category:

Documents


8 download

TRANSCRIPT

  • Copyright Paul GASNERCopyright Paul GASNER

    2. Circuite logice2. Circuite logice2.4. Decodoare. 2.4. Decodoare. MultiplexoareMultiplexoare

  • Copyright Paul GASNERCopyright Paul GASNER 2

    DefiniiiDefiniiiUn 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 adevratUn decodor pe 2 bits opereaz dup tabela de adevr:

    S1 S0 Q0 Q1 Q2 Q30 0 1 0 0 00 1 0 1 0 01 0 0 0 1 01 1 0 0 0 1

  • Copyright Paul GASNERCopyright Paul GASNER 3

    Proiectare decodorului pe 2 bitsProiectare decodorului pe 2 bitsPornind de la tabela de adevr, simplificarea const n patru ecuaii iar circuitul decurge direct

    S1 S0 Q0 Q1 Q2 Q30 0 1 0 0 00 1 0 1 0 01 0 0 0 1 01 1 0 0 0 1

    Q0 = S1 S0Q1 = S1 S0Q2 = S1 S0Q3 = S1 S0

  • Copyright Paul GASNERCopyright Paul GASNER 4

    Activarea decodoruluiActivarea decodoruluiMulte dispozitive au o intrare de activare, care permit sau nu funcionarea adecvat a dispozitivuluiPentru decodor:

    EN=1 activeaz decodorul, acesta funcionnd n maniera prezentat mai sus, adic doar o singur ieire ia valoarea 1EN=0 dezactiveaz decodorul; prin convenie, toate ieirile au valoarea 0

    sauEN S1 S0 Q0 Q1 Q2 Q30 0 0 0 0 0 00 0 1 0 0 0 00 1 0 0 0 0 00 1 1 0 0 0 01 0 0 1 0 0 01 0 1 0 1 0 01 1 0 0 0 1 01 1 1 0 0 0 1

    EN S1 S0 Q0 Q1 Q2 Q30 x x 0 0 0 01 0 0 1 0 0 01 0 1 0 1 0 01 1 0 0 0 1 01 1 1 0 0 0 1

  • Copyright Paul GASNERCopyright Paul GASNER 5

    NotaiiNotaiiDecodoarele sunt notate prin blocuri funcionaleDiagrama pentru decodorul pe 2 bits este

    Nu conteaz ordinea intrrilor sau ieirilor, ci notaiile acestoraNu este necesar cunoaterea structurii interne, ci tabela de adevr sau ecuaiileSchema circuitelor hardware se simplific

    Q0 = S1 S0Q1 = S1 S0Q2 = S1 S0Q3 = S1 S0

  • Copyright Paul GASNERCopyright Paul GASNER 6

    Decodor pe 3 bitsDecodor pe 3 bitsQ0 = S2 S1 S0Q1 = S2 S1 S0Q2 = S2 S1 S0Q3 = S2 S1 S0Q4 = S2 S1 S0Q5 = S2 S1 S0Q6 = S2 S1 S0Q7 = S2 S1 S0

    S2 S1 S0 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q70 0 0 1 0 0 0 0 0 0 00 0 1 0 1 0 0 0 0 0 00 1 0 0 0 1 0 0 0 0 00 1 1 0 0 0 1 0 0 0 01 0 0 0 0 0 0 1 0 0 01 0 1 0 0 0 0 0 1 0 01 1 0 0 0 0 0 0 0 1 01 1 1 0 0 0 0 0 0 0 1

  • Copyright Paul GASNERCopyright Paul GASNER 7

    Aplicaii ale decodoarelorAplicaii ale decodoarelorDecodoarele sunt numite i generatoare de mintermeni

    pentru fiecare combinaie de intrri, doar o singur ieire este adevratfiecare ecuaie la ieire prezint toate variabilele

    Orice funcie poate fi implementat cu decodoare (dac funcia este deja scris ca sum de mintermeni, implementarea cu decodoare este imediat)

    S1 S0 Q0 Q1 Q2 Q30 0 1 0 0 00 1 0 1 0 01 0 0 0 1 01 1 0 0 0 1

    Q0 = S1 S0Q1 = S1 S0Q2 = S1 S0Q3 = S1 S0

  • Copyright Paul GASNERCopyright Paul GASNER 8

    Exemplu: adunareaExemplu: adunareaS se proiecteze un circuit care s efectueze adunarea a trei numere de 1 bitSunt 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

    X Y Z C S0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 1 1 + 1 + 1 = 11

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

  • Copyright Paul GASNERCopyright Paul GASNER 9

    Sumator cu dou decodoare...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 GASNERCopyright Paul GASNER 10

    ...sau cu un decodor...sau cu un decodor

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

  • Copyright Paul GASNERCopyright Paul GASNER 11

    Construcia decodorului pe 3 bitsConstrucia decodorului pe 3 bitsUn decodor pe 3 bits se poate realiza

    pe baza tabelei de adevrdin decodoare pe 2 bits

    Din tabel se poate observa ccnd S2=0, ieirile Q0-Q3 arat ca la un decodor pe 2 bitscnd S2=1, ieirile Q4-Q7 arat ca la un decodor pe 2 bits

    S2 S1 S0 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q70 0 0 1 0 0 0 0 0 0 00 0 1 0 1 0 0 0 0 0 00 1 0 0 0 1 0 0 0 0 00 1 1 0 0 0 1 0 0 0 01 0 0 0 0 0 0 1 0 0 01 0 1 0 0 0 0 0 1 0 01 1 0 0 0 0 0 0 0 1 01 1 1 0 0 0 0 0 0 0 1

    Q0 = S2 S1 S0 = m0Q1 = S2 S1 S0 = m1Q2 = S2 S1 S0 = m2Q3 = S2 S1 S0 = m3Q4 = S2 S1 S0 = m4Q5 = S2 S1 S0 = m5Q6 = S2 S1 S0 = m6Q7 = S2 S1 S0 = m7

  • Copyright Paul GASNERCopyright Paul GASNER 12

    Construcie modularConstrucie modular

    S2 S1 S0 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q70 0 0 1 0 0 0 0 0 0 00 0 1 0 1 0 0 0 0 0 00 1 0 0 0 1 0 0 0 0 00 1 1 0 0 0 1 0 0 0 01 0 0 0 0 0 0 1 0 0 01 0 1 0 0 0 0 0 1 0 01 1 0 0 0 0 0 0 0 1 01 1 1 0 0 0 0 0 0 0 1

  • Copyright Paul GASNERCopyright Paul GASNER 13

    Tipuri de decodoareTipuri de decodoareDecodor activ-sus (active-high)

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

    EN S1 S0 Q0 Q1 Q2 Q30 x x 0 0 0 01 0 0 1 0 0 01 0 1 0 1 0 01 1 0 0 0 1 01 1 1 0 0 0 1

    EN S1 S0 Q0 Q1 Q2 Q30 0 0 0 1 1 10 0 1 1 0 1 10 1 0 1 1 0 10 1 1 1 1 1 01 x x 1 1 1 1

  • Copyright Paul GASNERCopyright Paul GASNER 14

    Tipuri de decodoare. UtilizriTipuri de decodoare. UtilizriDecodorul activ-sus genereaz mintermeni

    Decodorul activ-jos genereaz maxtermeni

    Q3 = S1 S0Q2 = S1 S0Q1 = S1 S0Q0 = S1 S0

    Q3 = (S1 S0) = S1 + S0Q2 = (S1 S0) = S1 + S0Q1 = (S1 S0) = S1 + S0Q0 = (S1 S0) = S1 + S0

  • Copyright Paul GASNERCopyright Paul GASNER 15

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

  • Copyright Paul GASNERCopyright Paul GASNER 16

    Decodorul. ConcluziiDecodorul. ConcluziiDecodorul pe n bits genereaz mintermenii (sau maxtermenii) unei fucii cu n variabileUna dintre utilizrile decodorului este implementarea oricrei funciiDecodoarele cu numr mare de intrri se pot obine din decodoare mai mici

  • Copyright Paul GASNERCopyright Paul GASNER 17

    MultiplexoareMultiplexoareMultiplexoarele (mux) permit unei intrri s ajung la ieire conform unor semnale de controlUn multiplexor pe 2n-to-1 (2nx1) transmite una dintre cele 2n intrri la unica ieire:

    inputs:2n intrri de daten intrri de comand (select)

    o singur ieire de 1 bitBitul de control S selecteaz care dintre cele dou intrri D0 i D1 ajunge la ieire

    dac S=0 atunci Q=D0dac S=1 atunci Q=D1

    Q = S D0 + S D1

  • Copyright Paul GASNERCopyright Paul GASNER 18

    Tabele de adevrTabele de adevr

    Q = S D0 + S D1

    S D1 D0 Q0 0 0 00 0 1 10 1 0 00 1 1 11 0 0 01 0 1 01 1 0 11 1 1 1

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

    Variabilele apar n coloana de ieireS Q0 D01 D1

  • Copyright Paul GASNERCopyright Paul GASNER 19

    Multiplexor 4-to-1 (4x1)Multiplexor 4-to-1 (4x1)

    Multiplexoarele au un port enable asemntor decodoarelorDe obicei, portul de activare este active-low i pentru EN'=1, toate ieirile multiplexorului sunt 1

    EN S1 S0 Q0 0 0 D00 0 1 D10 1 0 D20 1 1 D31 x x 1

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

  • Copyright Paul GASNERCopyright Paul GASNER 20

    Implementarea funciilor cu mux...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 adevrvariabilele funciei se conecteaz la intrrile de selecie ale multiplexorului

    x y z f0 0 0 00 0 1 10 1 0 10 1 1 01 0 0 01 0 1 01 1 0 11 1 1 1

    f(x,y,z) = m(1,2,6,7)

  • Copyright Paul GASNERCopyright Paul GASNER 21

    ...sau, mai eficient...sau, mai eficientFuncia 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

    2. primele dou variabile se conecteaz la intrrile de selecie

    3. seconecteaz intrrile multiplexorului conform relaiilor de mai sus pentru f(z)

    x y z f0 0 0 00 0 1 10 1 0 10 1 1 01 0 0 01 0 1 01 1 0 11 1 1 1

  • Copyright Paul GASNERCopyright Paul GASNER 22

    Exemplu: sumatorExemplu: sumatorSe implementeaz pentru nceput funcia carry de la adunare C(X,Y,Z) cu multiplexoareEste necesar un mux 4x1 (trei variabile)De obicei primele dou variabile se conecteaz la intrrile select

    X Y Z C0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

    pentru S1=X i S0=Y se obine

    Q=XYD0 + XYD1 + XYD2 + XYD3

  • Copyright Paul GASNERCopyright Paul GASNER 23

    Funcia carryFuncia carryFixnd X i Z, funcia C(X,Y,Z) va depinde doar de Z

    X Y Z C0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

    pentru XY=00, C=0

    pentru XY=01, C=Z

    pentru XY=10, C=Z

    pentru XY=11, C=1

    C = 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)

  • Copyright Paul GASNERCopyright Paul GASNER 24

    Sumator cu multiplexor dualSumator cu multiplexor dualFuncia sum trebuie privit n acest caz ca avnd o singur ieire pe 2 bits i nu ca dou funcii separateUn mux dual 4-to-1 se noteaz mux 4x2

  • Copyright Paul GASNERCopyright Paul GASNER 25

    Multiplexorul dual 4x2Multiplexorul 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 GASNERCopyright Paul GASNER 26

    Multiplexorul. ConcluziiMultiplexorul. ConcluziiMultiplexorul trimite la ieire intrarea selectatCa i decodorul servete la implementarea funciilor booleeneMultiplexoarele pot fi combinate pentru a obine multiplexoare de dimensiuni mai mari