Quiero asegurarme de que entiendo la escritura de expresiones booleanas para MUX.
Para F0, obtuve la siguiente expresión booleana: \ $ \ F0 = S1’S2 ’(A’B + AB’) \ $
¿Esto es correcto? Si es así, ¿hay alguna manera de minimizar esto?
En este caso, los mux se utilizan para implementar funciones lógicas arbitrarias determinadas por sus entradas y selecciones. Un obsequio es cuando ve todas las entradas de un mux vinculado a 0 o 1, simplemente puede derivar su expresión encontrando qué entradas son 1, y qué valores de selección seleccionarán esos 1.
Los Mux se utilizan para seleccionar una de las muchas entradas (lado izquierdo) en función de sus señales de selección (parte inferior del mux) para mostrar en la salida (lado derecho).
Para el mux superior, ya que sus entradas están vinculadas a valores lógicos 0 o 1, el mux solo está implementando la función lógica determinada por esos valores de entrada vinculados:
A B F0
0 0 0
0 1 1
1 0 1
1 1 0
Usando un mapa de karnaugh, o por inspección, puedes darte cuenta de que esto es XOR (exclusivo o).
F0 = A'*B + A*B'
F1 es lo mismo pero con BC:
F1 = B'*C + C'*B
F2 se puede expresar:
F2 = A*B*C + A*B'*C' + A'*B*C' + A'*B'*C
F3 se puede expresar:
F3 = A'*B'*C
Ahora haces lo mismo para la salida:
Z = S1*S2*F0 + S1*S2'*F1 + S1'*S2*F2 + S1'*S2'*F3
Álgebra bastante sencilla desde aquí, solo sustituye y factoriza / simplifica
Creo que quieres decir:
F0 = A'B + AB'
Z = S1'S2'(F0) + ...
F0 también se podría hacer con un SN7486:
F0 = A xor B
Lea otras preguntas en las etiquetas boolean-algebra multiplexer