🎯 Objetivos de la lección
- Implementar y usar multiplexores (MUX 4:1 y 8:1) para realizar funciones lógicas arbitrarias.
- Diseñar y verificar demultiplexores (DEMUX 1:4) y decodificadores (74LS138 — 3:8).
- Usar un decodificador con compuertas para implementar una función como suma de minterms.
- Diseñar y simular una ALU de 4 bits con 4 operaciones mínimo, usando el 74LS181 o equivalente.
Marco Teórico
2.2.1 — Multiplexor (MUX)
Un MUX \(n{:}1\) selecciona uno de \(n\) canales de entrada y lo propaga a la salida según las líneas de selección. Un MUX 4:1 requiere 2 líneas (\(S_1, S_0\)) y su función de salida es:
| S₁ | S₀ | Y (salida) |
|---|---|---|
| 0 | 0 | I₀ |
| 0 | 1 | I₁ |
| 1 | 0 | I₂ |
| 1 | 1 | I₃ |
Tabla de selección — MUX 4:1
0 o 1 a las entradas de datos. Con un MUX \(2^{n-1}{:}1\) se puede implementar una función de \(n\) variables usando la última variable como dato.
Ejemplo completo — f(A,B,C) = Σm(1,3,5,6,7) con MUX 8:1 (74LS151)
Mapa de Karnaugh (filas = \(A\), columnas = \(BC\) en código Gray):
| A \ BC | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| 0 | 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 1 | 1 |
K-map 3 variables — grupos: columna C (m₁,m₃,m₅,m₇) y grupo AB (m₆,m₇)
Conexión al 74LS151: líneas \(A,B,C \to\) pines \(S_2,S_1,S_0\). Entradas de datos:
| m | A | B | C | f | Entrada MUX |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | I₀ = 0 |
| 1 | 0 | 0 | 1 | 1 | I₁ = 1 |
| 2 | 0 | 1 | 0 | 0 | I₂ = 0 |
| 3 | 0 | 1 | 1 | 1 | I₃ = 1 |
| 4 | 1 | 0 | 0 | 0 | I₄ = 0 |
| 5 | 1 | 0 | 1 | 1 | I₅ = 1 |
| 6 | 1 | 1 | 0 | 1 | I₆ = 1 |
| 7 | 1 | 1 | 1 | 1 | I₇ = 1 |
Tabla de verdad y asignación de entradas para 74LS151
2.2.2 — Demultiplexor (DEMUX 1:4)
Un DEMUX 1:n encamina la señal de un único canal de entrada (\(D\)) hacia uno de \(n\) canales de salida. DEMUX 1:4 con 2 líneas de selección \(S_1, S_0\):
G1 o G2 como línea de datos \(D\).
2.2.3 — Decodificador 3:8 (74LS138)
El 74LS138 decodifica 3 entradas (A, B, C) en 8 salidas activas en bajo (\(\overline{Y_0}\)–\(\overline{Y_7}\)). Requiere habilitación: \(G_1=1,\; G_{2A}=G_{2B}=0\).
Implementación de suma de minterms: para \(f = \Sigma m(1,3,5,6,7)\) con salidas activas-bajas:
- Las salidas \(\overline{Y_1}, \overline{Y_3}, \overline{Y_5}, \overline{Y_6}, \overline{Y_7}\) serán
0cuando el minterm correspondiente esté activo. - Conectar esas 5 salidas a una compuerta NAND de 5 entradas (o NAND en cascada).
2.2.4 — ALU de 4 bits (74LS181)
Una Unidad Aritmético-Lógica (ALU) realiza operaciones aritméticas y lógicas sobre operandos de \(n\) bits. La ALU de 4 bits con 2 bits de selección (\(S_1, S_0\)) y 1 bit de modo (\(M\)) ejecuta 8 operaciones:
| S₁ | S₀ | M | Operación | Descripción | Modo |
|---|---|---|---|---|---|
| 0 | 0 | 0 | \(F = A + B\) | Suma entera | ARITH |
| 0 | 1 | 0 | \(F = A + B + 1\) | Suma con carry | ARITH |
| 1 | 0 | 0 | \(F = A - B\) | Resta (complemento a 2) | ARITH |
| 1 | 1 | 0 | \(F = A - 1\) | Decremento A | ARITH |
| 0 | 0 | 1 | \(F = A \text{ AND } B\) | AND bit a bit | LOGIC |
| 0 | 1 | 1 | \(F = A \text{ OR } B\) | OR bit a bit | LOGIC |
| 1 | 0 | 1 | \(F = A \oplus B\) | XOR bit a bit | LOGIC |
| 1 | 1 | 1 | \(F = \overline{A}\) | Complemento | LOGIC |
Tabla de operaciones ALU — fondo amarillo = aritmético (M=0), verde = lógico (M=1)
Simulación en Logisim
Circuito 4 — MUX 4:1 y función con MUX 8:1
Implementación de \(f(A,B,C) = \Sigma m(1,3,5,6,7)\) con el 74LS151. Las entradas \(A,B,C\) se conectan a \(S_2,S_1,S_0\) respectivamente y los datos \(I_0\)–\(I_7\) reflejan directamente la tabla de verdad.
| A | B | C | f esperada |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 |
Validación — Circuito 4 MUX
Circuito 5 — Decodificador 3:8 con función NAND
Misma función \(f = \Sigma m(1,3,5,6,7)\) implementada con el 74LS138 y una NAND de 5 entradas. Las salidas activas-bajas \(\overline{Y_1},\overline{Y_3},\overline{Y_5},\overline{Y_6},\overline{Y_7}\) se combinan con la compuerta 74LS30.
| A | B | C | f esperada |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 |
Validación — Circuito 5 Decodificador
Circuito 7 — ALU de 4 bits
ALU de 4 bits implementada con el 74LS181. Operandos \(A=0110_2\;(6)\) y \(B=0010_2\;(2)\), con \(C_{in}=0\). Se verifican suma aritmética y operaciones lógicas.
| S₁ | S₀ | Operación | F esperada |
|---|---|---|---|
| 0 | 0 | \(A + B\) | 1000 (8) |
| 0 | 1 | \(A \text{ AND } B\) | 0010 (2) |
| 1 | 0 | \(A \text{ OR } B\) | 0110 (6) |
| 1 | 1 | \(A \oplus B\) | 0100 (4) |
Validación — Circuito 7 ALU 4 bits
Implementación Física en Protoboard
Lista de materiales
| Cant. | Componente / Material | Especificación |
|---|---|---|
| 1 | IC 74LS151 — MUX 8:1 | DIP-16, VCC=5 V |
| 1 | IC 74LS138 — Decodificador 3:8 | DIP-16, VCC=5 V |
| 1 | IC 74LS30 — NAND 8 entradas | DIP-14, VCC=5 V |
| 1 | IC 74LS181 — ALU de 4 bits | DIP-24, VCC=5 V |
| 2 | Interruptor DIP 4 posiciones | Para operandos A y B (ALU) |
| 1 | Interruptor DIP 4 posiciones | Para líneas de control S₀–S₃ |
| 8 | LED 5 mm | Salidas F[3:0] y comparador |
| 10 | Resistencia 330 Ω | Limitación de corriente LED |
| 4 | Resistencia 10 kΩ | Pull-down para interruptores |
| 1 | Protoboard 830 puntos | — |
| 30 | Cables jumper | — |
Procedimiento de montaje
Actividad Práctica
Documentar todas las actividades con capturas de Logisim y fotografías del protoboard. Incluir tablas de verificación completadas.
Implementación de función booleana con MUX y Decodificador
Implementar la función \(f(A,B,C) = \Sigma m(1,2,4,7)\) usando:
- (a) MUX 8:1 — completar la tabla de entradas y conectar.
- (b) 74LS138 + NAND — conectar las salidas activas-bajas correctas.
- Presentar la tabla de verdad completa, el mapa de Karnaugh y la expresión mínima.
- Verificar que ambas implementaciones producen resultados idénticos.
Mini-ALU de 4 bits con el 74LS181
Verificar las siguientes operaciones en Logisim. Completar la columna "F (obtenido)":
| S₃–S₀ | M | Operación esperada | A | B | F esperado | F obtenido |
|---|---|---|---|---|---|---|
1001 | 0 | \(A + B\) | 0110 | 0010 | 1000 | ___ |
0110 | 1 | \(A \oplus B\) | 1010 | 0101 | 1111 | ___ |
1100 | 1 | \(A \text{ AND } B\) | 1011 | 0110 | 0010 | ___ |
0101 | 1 | \(A \text{ OR } B\) | 0100 | 1010 | 1110 | ___ |
Identificar el código S₃–S₀ correcto para la operación \(F = A - B\) (resta) en el 74LS181.
Función de 4 variables con K-map y decodificador 4:16
Dada la función: \(f(A,B,C,D) = \Sigma m(0,1,3,7,8,9,11,15)\)
- (a) Completar el mapa de Karnaugh de 4 variables y obtener la expresión mínima.
- (b) Implementar en Logisim usando un decodificador 4:16.