01 · Punto de partida
¿Alcanza o se pasa?
Termostato digital (¿T ≥ consigna?), batería baja (¿V < umbral?), password numérico (¿igual?). Tres respuestas excluyentes: A>B, A=B, A<B. Solo una vale 1.
- ¿Qué ecuaciones tiene 1 bit?
- ¿Por dónde se empieza con N bits?
- ¿Cómo se usa el 7485?
- ¿Igualdad o magnitud?
02 · 1 bit
Tres veredictos excluyentes
| A B | G (A>B) | E (A=B) | L (A<B) |
|---|---|---|---|
| 0 0 | 0 | 1 | 0 |
| 0 1 | 0 | 0 | 1 |
| 1 0 | 1 | 0 | 0 |
| 1 1 | 0 | 1 | 0 |
G = A·~B (solo 10), L = ~A·B (solo 01), E = A⊙B (00 y 11). Tres funciones, una sola en 1: si ves dos, el circuito miente.
03 · Desde el MSB
El bit alto manda
Como en el diccionario: el MSB distinto decide; si coinciden, manda el siguiente. 9 (1001) vs 6 (0110): el bit 3 (1 vs 0) liquida: A>B sin mirar el resto. Al revés que la suma (que va desde el LSB).
04 · 74HC85
4 bits con cascada
- Entradas de cascada
- IA>B, IA=B, IA<B del bloque anterior (menos significativo): el primer chip lleva =1, >=0, <=0.
- Cascada a 8/12 bits
- Salidas del bajo a entradas del alto (MSBs): dos 85 = 8 bits. Igual que el ripple, pero desde arriba.
- Igualdad barata
- Solo E: XNOR por bit + AND (Tema 10). El 85 se justifica cuando importan > y <.
05 · Comparar en código
MSB primero
1 bit, N bits desde arriba, y cascada estilo 7485.
Python en tu navegador. Que el MSB hable primero.
def cmp1(a, b):
g, e, l = (a and not b), (a == b), ((not a) and b)
print(f"{a}>{b}: G={int(g)} E={int(e)} L={int(l)}")
return g, e, l
for a, b in [(0, 0), (0, 1), (1, 0), (1, 1)]:
cmp1(a, b)
Una sola en 1 por fila. ¿Qué fila da G=1? ¿Cuál L=1?
N bits desde el MSB
def cmpn(a, b, n=4):
for i in range(n - 1, -1, -1):
ai, bi = (a >> i) & 1, (b >> i) & 1
if ai != bi:
r = "A>B" if ai else "A {r}")
return r
print(f"{a:04b} vs {b:04b}: A=B")
return "A=B"
cmpn(9, 6)
cmpn(5, 9)
cmpn(7, 7)
06 · Analogía programador
Orden lexicográfico
- 1MSB primero = comparar strings.
Primera diferencia decide: igual que ordenar texto char por char.
- 2Cascada = else-if.
Si MSB empata, va el siguiente: cadena de else-if en silicio.
- 3Una sola en 1 = enum.
Tres estados excluyentes: como un enum, nunca dos variantes a la vez.
07 · Taller
Laboratorio: árbitro 4 bits
Dos números 0–15: el laboratorio enciende G, E o L y dicta el veredicto.
Árbitro 4 bits
9 vs 6 → A>B
9 vs 6: A>B (bit 3 decide).
Preguntas para explorar
- Igualá A y B en 7. ¿Qué salida? ¿Las otras?
- Poné A=5, B=9. ¿Veredicto? ¿Qué bit decide?
- ¿Por qué el laboratorio dice qué bit decide? ¿Qué enseña?
Ver respuestas sugeridas
- Solo E=1: G y L en 0. Excluyentes siempre.
- A<B: bit 3 (0 vs 1) decide sin mirar abajo. MSB manda.
- Que la comparación termina en la primera diferencia: el resto es decorado.
08 · Comprensión
Confusiones frecuentes
«XNOR alcanza»
Para igualdad sí; para >/< no: magnitud necesita G y L (o restar y mirar). Igual ≠ comparar.
«Comparar es restar»
Restar funciona (signo + cero) pero gasta un sumador: el comparador dedicado es más barato y directo.
«Cascada desde el LSB»
Al revés que la suma: el carry viaja ↑, la decisión baja ↓. Cascada del 85: bajo→alto con MSBs arriba.
«7485 anda suelto»
Sus entradas de cascada piden valores (=1, >/<=0): flotando, el veredicto es lotería.
09 · Práctica guiada
Ejercicios de arbitraje
Ejercicio 1: termostato digital
T de 4 bits vs consigna 7 (0111): G prende calefactor. ¿Salida con T=5? ¿Con T=9? Verificá con cmpn().
Ver solución razonada
T=5: L=1 (5<7) → G=0… al revés: calefactor con L (T menor). T=5 → L=1 prende; T=9 → G=1 apaga. Comparar, no calentar de más.
Ejercicio 2: password 1010
Código en switches vs 1010 fijo, E abre cerradura. Diseñá con XNOR+AND (solo igualdad). ¿Puertas?
Ver solución
4 XNOR + 1 AND-4 (o 2 AND-2 en árbol): E=1 solo con 1010. Sin magnitud: más barato (T30 lo arma).
Ejercicio 3: montar 85
7485 con A/B en DIP-switch, cascada (==1, resto 0), 3 LED. Recorré: 9vs6, 5vs9, 7vs7. ¿Salidas?
Ver solución
G, L, E respectivamente, una sola por vez. Si E no prende nunca con iguales: revisar IA=B (=1, no flotante).
10 · Síntesis
Ideas para recordar
- G = A·~B; E = A⊙B; L = ~A·B: una sola en 1.
- N bits: MSB decide; resto solo si empata.
- 7485: cascada =1/0/0; 8 bits con dos.
- Igualdad barata (XNOR+AND); magnitud con 85.
- Suma va ↑, comparación va ↓.
Arbitraje dominado. Ahora el bit que vigila: en el próximo tema, paridad.