Sunteți pe pagina 1din 11

Multiplexoare

4. Multiplexoare
Problema 1. Să se implementeze un MUX4:1 cu porţi logice.

Rezolvare:

MUX4:1 are 4 intrări de date şi 2 intrări de adresă. Astfel, dacă se minimizează funcţia lo-
gică cu metoda clasică, va fi nevoie de o diagramă Karnaugh cu 6 variabile. În locul
diagramei cu 6 variabile este mai practic să se utilizeze intrările de date ca parametrii şi
intrările de adresă ca variabile. Rezultă o diagrama cu 2 variabile şi 4 parametri

Minimizarea lui Y duce la următorul rezultat:

Y = I 0 A1 A 0 + I1 A1A 0 + I 2 A1 A 0 + I 3A1A 0
1424 3 123 1 424 3 123
P0 P1 P2 P3

Implementarea corepunzătoare cu porţi logice este:

Problema 2. Să se implementeze un MUX4:1 cu MUX2:1 (extinderea capacităţii de multi-


plexare)

Rezolvare:

Din tabelul de adevăr de la Problema 1 se observă că A1 oferă posibilitatea de a alege între


I0/I1 (prima jumătate a tabelului) sau I2/I3. Totodată, pentru fiecare dintre aceste alegeri A0

1
Multiplexoare

ne permite să selectăm mai departe câte o intrare dintre perechile I0-I1 sau I2-I3. Din
punctul de vedere al implementării cu circuite, fiecare alegere reprezintă un nivel de
MUX2:1. Pentru a selecta între 4 intrări trebuie să facem în total 2 alegeri, având deci
nevoie de 2 nivele de multiplexare. Implementarea cu MUX2:1 rezultă:

Observaţie: adresa mai semnificativă (A1 în acest caz) este mai aproape de ieşire întregului
MUX4:1.

Problema 3. Să se implementeze funcţia f, dată prin tabelul de adevăr, cu: un MUX8:1, un


MUX4:1 şi un MUX2:1.

abc f
000 0
001 0
010 0
011 1
100 0
101 1
110 1
111 1

Rezolvare:

• MUX8:1

La primul pas se compară numărul liniilor din tabelul de adevăr cu numărul intrărilor de
date ale multiplexorului cu care se va implementa funcţia. Dacă multiplexorul este un
MUX8:1 (primul punct al problemei) iar funcţia este dată prin tabelul de mai sus, atunci
numărul intrărilor de date este egal cu numărul liniilor din tabel. În acest caz variabilele a,
b şi c pot fi considerate adrese, iar funcţia se implementează prin simpla selecţie a uneia
dintre intrări. De exemplu, pentru combinaţia 011 la adrese funcţia va lua valoarea 1.
Pentru implementare este suficient să copiem 1 la intrarea I3 (selectată prin adresa 011) a
MUX8:1.

La fel se procedează pe rând cu toate intrările, astfel încât numărul de ordine a rândurilor
de tabel va corespunde cu numărul de ordine a intrării de date la care se copiază valoarea
funcţiei din tabel.

2
Multiplexoare

Circuitul cu MUX8:1 care rezultă este următorul:

• MUX4:1

Dacă numărul intrărilor disponibile la multiplexorul ţintă este mai mic decâţ numărul
liniilor de tabel, atunci se restrânge tabelul astfel încât să "încapă" în multiplexor. Conside-
rând tabelul de adevăr de mai sus şi implementarea cu MUX4:1 atunci se observă că,
pentru a face tabelul să încapă în MUX, este necesar să se grupeze rândurile tabelului câte
două.

În următorul pas se restrâng adresele – rămân adrese numai variabilele care permit trecerea
(nu se modifică) în interiorul unui grup de 2 rânduri. De exemplu, în grupul 000-001 doar a
şi b rămân adrese deoarece pentru ambele rânduri au aceeaşi valoare. Variabila c îşi schim-
bă valoarea de la 0 la 1 şi astfel nu se va considera adresă.

După restrângerea adreselor se restrânge funcţia depinzând de variabilele rămase neutiliza-


te (în cazul de faţă c). Pentru fiecare grup de 2 rânduri va rezulta o valoare unică restrânsă
care poate fi numai 0, 1 c sau c . Tabelul restrâns (de 4 rânduri) poate fi implementat direct
cu un MUX4:1.

3
Multiplexoare

Observaţie: atenţie la cel mai semnificativ bit!!! Variabila care se schimbă cel mai rar se va
aplica la adresa cea mai importantă a MUX.

• MUX2:1

Pentru implementarea cu MUX2:1 restrângerea se face astfel încât tabelul rezultat să aibă 2
rânduri. Acest lucru este posibil dacă se grupează rândurile tabelului câte 4. Variabila care
îşi păstrează valoarea în interiorul celor două grupuri este numai a. Funcţia se va restrânge
cu varabilele b şi c rămase neutilizate la restrângerea adreselor. Pentru primele 4 rânduri se
observă că funcţia f este b ŞI c, adică bc. Similar pentru ultimele 4 rânduri f rezultă b+c.

Implementarea cu MUX2:1 este următoarea:

Problema 4. Să se implementeze cu MUX4:1 şi apoi cu MUX2:1 funcţia f=P0+P4+P5+P8+


+P9+P10+P12+P14.

Rezolvare:

La implementarea funcţiilor cu multiplexoare minimizarea funcţiei nu are utilitate deoarece


restrângerea adreselor şi funcţiei se face pe tabelul de adevăr.

4
Multiplexoare

abcd f
0000 1
0001 0
0010 0
0011 0
0100 1
0101 1
0110 0
0111 0
1000 1
1001 1
1010 1
1011 0
1100 1
1101 0
1110 1
1111 0

• MUX4:1

Tabelul de adevăr se grupează câte 4 pentru a adapta 16 combinaţii la 4 intrării ale


MUX4:1. Adresele rămân a şi b, iar funcţia se restrânge cu variabilele c şi d. Rezultă
schema:

• MUX2:1

Tabelul de adevăr se grupează câte 8, adresa rămâne numai a, iar funcţia se restrânge cu
variabilele b, c şi d. Dacă nu se observă operaţie elementară, atunci restrângerea funcţiei
pentru diferitele grupe se face cu diagrame Karnaugh.

Rezultă implementarea cu MUX2:1 şi porţi logice:

5
Multiplexoare

Problema 5. Să se implementeze cu MUX2:1 şi arbori binari funcţia f = ab + a b (coinci-


denţă)

Rezolvare:

Se consideră una din variabile, preferabil cea care apare în majoritatea termenilor. În
funcţie de valoarea acestei variabile (0 sau 1) funcţia va evolua pe o ramură sau alta a
arborelui. Arborele corspunzător funcţiei f (început cu a) şi implementarea cu MUX2:1
este:

Observaţie: fiecărei bifurcaţii (decizii) a arborelui îi corepunde un MUX2:1, iar "frunzele"


arborelui vor fi intrări la nivelul de decizie cel mai de jos.

Observaţie: soluţia nu este unică!!!

Problema 6. Să se implementeze cu MUX2:1 şi arbori binari funcţia:

f = abc + a bc + bc + a c .

Rezolvare:

Se începe arborele cu c deoarece acesta apare de număr maxim de ori în termeni.

Împlementarea corespunzătoare cu MUX2:1 este:

6
Multiplexoare

Problema 7. Să se implementeze cu MUX2:1 şi arbori binari funcţia f=P0+P2+P5+P6+P8+


+P9+P10+P15.
abcd f
0000 1
0001 0
0010 1
0011 0
0100 0
0101 1
0110 1
0111 0
1000 1
1001 1
1010 1
1011 0
1100 0
1101 0
1110 0
1111 1

Pentru implementarea cu arbori avem nevoie de forma minimă a funcţiei.

f = bd + a bc + acd + abcd + abcd

Toate variabilele se repetă în termeni de un număr egal de ori. Drept urmare, este indife-
rent care variabilă se consideră prima. În exemplu se va începe arborele cu a.

7
Multiplexoare

Implementarea cu MUX2:1 rezultă:

Problema 8. Să se implementeze următoarea funcţie cu un singur MUX8:1 care are valida-


re activă pe 0 şi inversoare.
f(a, b, c, d, e) = abe + a cde + a bce + acde
Rezolvare:

Implementarea este mai dificilă deoarece există 32 de combinaţii posibile cu 5 variabile,


iar utilizarea porţilor logice este restricţionată la inversor. Se modifică expresia funcţiei
introducând termeni canonici de tip P pentru variabilele b, c şi d.

{ [ ( )( ) ( )] [ ( ) ( )]}
f = e a b c + c d + d + cd b + b + a bc d + d + cd b + b =
= e{ a [b(cd + cd + cd + cd ) + bcd + bcd ]+ a [bcd + bcd + bcd + bcd ]}

{[ ] [
f = e a bcd + bcd + bcd + bcd + bcd + bcd + a bcd + bcd + bcd = ]}
⎧⎪ ⎡ ⎤ ⎡ ⎤ ⎪⎫
= e⎨ a ⎢bcd
{ + bc
{d + b{
cd + b{ cd ⎥ + a ⎢b{
cd + b{ cd + b{
cd + bc
{d ⎥ ⎬
⎪⎩ ⎣ P7 P6 P5 P4 P1 ⎦ ⎣ P3 P2 P6 ⎦ ⎪⎭

8
Multiplexoare

{ }
f = e a [P1 + P4 + P5 + P6 + P7 ] + a [P2 + P3 + P6 ] =
= e{ P (a + a ) + a [P + P + P + P ] + a[P + P ]}=
6 1 4 5 7 2 3

= e{ 0 ⋅ P + 1 ⋅ P + a [P + P + P + P ] + a [P + P ]}
0 6 1 4 5 7 2 3

Variabila e validează întreaga funcţie, astfel va fi conectată la intrarea de validare a multi-


plexorului. Variabilele b, c şi d care implementează termenii canonici vor fi adrese, iar a va
fi parametru. Schema rezultată este următoarea:

Observaţie: având 5 variabile, implementarea cu un MUX8:1 ci validare este posibilă


numai dacă o variabilă apare în toţi termenii , iar o altă variabilă apare simplă
sau negată în toţi termenii. Aceasta din urmă poate fi considerată parametru.
Dacă cele două condiţii nu sunt îndeplinite, este nevoie de extinderea capacită-
ţii de multiplexare.

Problema 9. Să se implementeze funcţia f=P0+P1+P3+P6+P9+P12+P15 cu un MUX4:1 şi


câte MUX2:1 este nevoie.

abcd f
0000 1
0001 1
0010 0
0011 1
0100 0
0101 0
0110 1
0111 0
1000 0
1001 1
1010 0
1011 0
1100 1
1101 0
1110 0
1111 1

9
Multiplexoare

Pentru implementare se grupează tabelul câte 4 (MUX4:1), variabilele a şi b rămân adrese,


iar funcţia este restrânsă şi implementată cu 4 MUX2:1.

Problema 10. Să se implementeze funcţia de la Problema 9 cu arbori binari şi MUX2:1.

Rezolvare: minimizarea funcţiei se face după următoarea diagramă Karnaugh:

f = a bc + acd + bcd + abcd + abcd

Variabila c apare în toţi termenii, astfel se va folosi pentru a începe arborele. Rezultă:

Implementarea corespunzătoare cu MUX2:1 este:

10
Multiplexoare

11