Electrónica Digital · Tema 18

Multiplexores

Elegir entre N con selectores: del if cableado a cualquier función con un solo chip.

01 · Punto de partida

Manual o automático, por cable

Dos señales compiten por una entrada: el selector elige (S=0 manual, S=1 auto). Con 2 selectores elegís entre 4; con un MUX 8:1 y constantes, cualquier función de 3 vars sin diseñar puertas.

  • ¿Qué ecuación tiene el 2:1?
  • ¿Qué chips son 4:1 y 8:1?
  • ¿Cómo se implementa XOR con un MUX?
  • ¿Para qué sirve el enable?

02 · MUX 2:1

El if con patas

Dos datos (D0, D1), un selector S: Y = D_S. Símbolo trapecio (angosto en la salida). Ejemplo: S manual/auto elige consigna de un termostato.

D0, D1 → S elige →Y = D_S →un cable

03 · 4:1 y 8:1

Más datos, más selectores

Familia MUX HC.
ChipQué esSelectores
74HC157Cuádruple 2:11 común (4 bits a la vez)
74HC153Doble 4:12 comunes
74HC1518:13 + enable

S1 es el MSB del índice (S1S0 = 10 → D2): el orden importa. Enable (típ. activo-bajo) apaga la salida para expansiones.

04 · MUX como función

Lookup table discreta

XOR con 2:1
Selector = A, D0 = B, D1 = ~B: Y = ~A·B + A·~B ✓. Cualquier 2-var con un MUX y un NOT.
3 vars con 8:1
Selectores = vars, datos = minterms (1 donde Y=1): cero diseño, solo cableado. Así nacieron las LUT de las FPGA.
Expandir
Dos 8:1 + enable = 16:1. Los MUX crecen apilándose por el enable.

05 · MUX en código

Elegir por índice

MUX genérico más síntesis automática tabla→MUX.

Python en tu navegador. Pasale tu tabla y que salga el cableado.

def mux(datos, sel):
    y = datos[sel]
    print(f"sel={sel:02b} -> D{sel}={y}")
    return y


mux([0, 1, 1, 0], 0b10)
mux([0, 1, 1, 0], 0b01)

Con datos 0-1-1-0 (XOR): sel 10 → 1, sel 01 → 1. ¿Qué función es 1-0-0-0?

Tabla a MUX 8:1

def a_mux8(mins):
    datos = [1 if i in mins else 0 for i in range(8)]
    print(f"74HC151: D0..D7 = {datos} (S = A,B,C)")
    return datos


a_mux8([3, 5, 6, 7])
a_mux8([1, 2, 4, 7])

06 · Analogía programador

Switch con cables

  1. 1
    MUX = switch/case.

    Selector = índice del case: y = datos[sel] ejecutado por silicio.

  2. 2
    MUX 8:1 = array de 8.

    Tabla cableada: la función vive en los unos y ceros, no en puertas.

  3. 3
    Enable = guarda.

    Si no está habilitado no habla: como un if (en) alrededor de todo.

07 · Taller

Laboratorio: elegir con dedos

MUX 4:1 con D0–D3 y S1/S0: el laboratorio muestra el camino elegido y la salida.

TALLER 18

Selector 4:1

D=0-1-1-0 · S=10 → Y=1

Índice2 (10)
CaminoY = D2
Y1
Función de SXOR ✓

S=10: Y=D2=1.

Preguntas para explorar

  1. Recorré S = 00→11 con D=0-1-1-0. ¿Salida? ¿Función?
  2. Programá D=0-0-0-1. ¿Función de S1,S0? ¿Puerta?
  3. Programá D=1-0-0-0. ¿Función? ¿Puerta?
Ver respuestas sugeridas
  1. 0-1-1-0 = XOR(S1,S0): el MUX personifica la puerta.
  2. Solo S=11 da 1: AND(S1,S0). El MUX hace de AND.
  3. Solo S=00 da 1: NOR(S1,S0). El MUX hace de NOR.

08 · Comprensión

Confusiones frecuentes

«El MUX mezcla entradas»

Elige una, ignora el resto: no es mezclador (eso era el sumador analógico). Un camino, no promedio.

«S0 es el más significativo»

S1 es el MSB (S1S0=10 es D2): inverter el orden rota la función. Leer el dibujo del trapecio.

«Enable al aire»

Enable flotante = MUX a veces apagado: atarlo (activo-bajo a masa). Como toda entrada.

«MUX para todo»

Para muchas vars conviene memoria/ROM o micro: el MUX discreto brilla hasta 8:1, después pesa.

09 · Práctica guiada

Ejercicios de selección

Ejercicio 1: manual/auto

Consigna = manual (pote→comparador M) o auto (sensor A) según S. Dibujá con MUX 2:1 y escribí Y.

Ver solución razonada

Y = ~S·M + S·A: D0=M, D1=A. Un MUX + cero puertas: la selección es la función.

Ejercicio 2: mayoría con 74HC151

Dados D0..D7 para mayoría (Σm 3,5,6,7). Verificá con a_mux8() y recorré S.

Ver solución

[0,0,0,1,0,1,1,1]: unos en 3,5,6,7. Cero puertas AND/OR: el 151 lo hace todo.

Ejercicio 3: montar 4:1

74HC153 (mitad) como XOR: D=0,1,1,0, S con botones. Medí las 4 salidas. ¿0110?

Ver solución

Sí: el MUX verifica la puerta del Tema 10. Enable (pin 1 o 15) a masa.

10 · Síntesis

Ideas para recordar

  • Y = ~S·D0 + S·D1; N datos → log₂N selectores.
  • S1 = MSB; enable activo-bajo a masa.
  • 157 (4×2:1), 153 (2×4:1), 151 (8:1).
  • MUX + constantes = cualquier función (LUT discreta).
  • Elige, no mezcla.

Selección dominada. Ahora el camino inverso: en el próximo tema, demultiplexores.