EJERCICIO 23

Realizar mediante multiplexores las funciones lógicas siguientes:

f1 = m0+m2+m3+m5+m6

f2

SOLUCIÓN:

Vamos a aplicar el método de generar funciones de n variables con multiplexores de n-1 variables de selección. Aplicamos n-1 variables de la función a las variables de selección del multiplexor y la variable sobrante se aplicará a los canales de entrada del multiplexor: en su forma directa, inversa o las constantes 0 y 1.

La función f1 = m0+m2+m3+m5+m6 viene expresada en la forma canónica como suma de minterms. Los minterms son el producto de todas las entradas, asociando la variable natural (a, b y c) si toma el valor 1 en la tabla de verdad y negada (noa, nob, y noc) si toma el valor 0. Se representa por mi los productos canónicos, con "i" igual al valor decimal de la combinación binaria que se obtiene al sustituir por 1 las variables que aparecen (en el producto canónico) en forma natural y por 0 a las que lo hacen en forma negada. En la siguiente tabla tenemos los minterms para cuatro entradas a, b y c. La función vale 1 para las combinaciones de los minterms que aparecen en la expresión de la función.

c b a minterms f
0
0
0
m0
1
0
0
1

m1

0
0
1
0
m2
1
0
1
1
m3
1
1
0
0
m4
0
1
0
1
m5
1
1
1
0
m6
1
1
1
1
m7
0

Esta función consta de tres variables (n=3), de las cuales dos (n-1=2) se aplicarán como entradas de selección al multiplexor. Un multiplexor con dos variables de selección tiene 4 canales de entrada. Recordamos como funciona un multiplexor de cuatro canales: tiene dos entradas de selección A y B, cuatro canales de entrada de datos C0, C1, C2 y C3 y una única salida Y. La combinación de las variables de selección A y B eligen el canal (C0, C1, C2 y C3) que comunicará su valor a la salida. La tabla de verdad es:

Como entradas de selección utilizaremos A y B y la variable C formará parte de los canales de entrada, dependiendo del valor dado en la tabla de verdad.

Construimos la tabla de verdad de la función (en forma de mapa) situando A y B en columnas y C en filas:

La tabla de verdad del multiplexor nos dice que cuando las entradas de selección b y a son 00 el canal que comunica su dato a la salida es el C0. En la tabla de verdad de la función para ba=00, f1 vale 1 para c=0 y f1=0 para c=1, por tanto C0=noc.

Para entradas de selección ba 01 el canal que comunica su dato a la salida es el C1. En la tabla de verdad de la función f1 para ba=01, f1 vale 0 para c=0 y f=1 para c=1, por tanto C0=c.

Para entradas de selección ba 11 el canal que comunica su dato a la salida es el C3. En la tabla de verdad de la función f1 para ba=11, f1 vale 1 para c=0 y f=0 para c=1, por tanto C0=noc.

Para entradas de selección ba 10 el canal que comunica su dato a la salida es el C2. En la tabla de verdad de la función para ba=10, f1 vale 1 para cualquier valor de c, por tanto C2=1.

Por tanto, la función f1 implementada con un multiplexor de 4 canales queda:

La función f2 tiene cuatro variables (n=4), de las cuales tres (n-1=3) utilizaremos como entradas de selección del multoplexor. Un multiplexor con tres variables de selección tiene 8 canales de entrada. Recordamos como funciona un multiplexor de 8 canales: tiene tres entradas de selección A , B, y C; ocho canales de entrada de datos C0, C1, C2, C3, C4, C5, C6 y C7; y una única salida Y. La combinación de las variables de selección A , B y C eligen el canal (C0, C1, C2, C3, C4, C5, C6 y C7) que comunicará su valor a la salida. La tabla de verdad es:

En la función f2 , a los tres primeros términos les falta una variable para estar expresada en la forma canónica de suma de minterms:

El primer término viene de simplificar la variable C:

PRIMER;

El segundo término viene de simplificar la variable D:

segundo;

El tercer término viene de simplificar la variable B:

tercer;

Así, si añadimos estos términos la función queda:

F2.

El término m8 aparece repetido tres veces, por tanto simplificamos la función quitándolo 2 de ellas:

f2 simple

Si identificamos cada término con su minterm queda:

f2 = m0+m3+m5+m6+m8 +m10+m12+m15

y en la tabla de verdad pondremos un 1 en los términos que aparecen en la expresión de la función:

D C B A f2 minterms
0
0
0
0
1
m0= m0
0
0
0
1
0
m1=m1
0
0
1
0
0
m2= m2
0
0
1
1
1
m3= m3
0
1
0
0
0
m4= m4
0
1
0
1
1
m5=m5
0
1
1
0
1
m6= m6
0
1
1
1
0
m7= m7
1
0
0
0
1
m8= m8
1
0
0
1
0
m9= m9
1
0
1
0
1
m10= m10
1
0
1
1
0
m11= m11
1
1
0
0
1
m12= m12
1
1
0
1
0
m13= m13
1
1
1
0
0
m14= m14
1
1
1
1
1
m15= m15

Construimos la tabla de verdad de la función (en forma de mapa) situando A, B y C (variables que harán de selección en el multiplexor) en columnas y D (variable que entrará en los canales) en filas:

Las entradas de selección C, B y A marcan el canal de salida del multiplexor. Por tanto, cada columna de la tabla representa la selección de un canal del multiplexor:

Si el contenido de las dos celdillas de la columna es 1, en dicho canal habrá que aplicar un 1.

Si el contenido de las dos celdillas de la columna es 0, en dicho canal habrá que aplicar un 0.

Si el contenido la celdilla de arriba es 0 y el de la de abajo 1, coincidiendo con el valor de D, en dicho canal habrá que aplicar D.

Si el contenido la celdilla de arriba es 1 y el de la de abajo 0, valores contrarios a los de D, en dicho canal habrá que aplicar noD.

La función f2 implementada con un multiplexor de 8 canales queda: