Introducción a las Máquinas de Estados
Sistemas digitales con memoria y comportamiento: estados, transiciones y diagramas de estado.
Una máquina de estados finitos (FSM) es un sistema digital que puede estar en uno de un número finito de estados en cualquier momento. Transiciona entre estados basándose en entradas y una señal de reloj, y produce salidas basadas en el estado actual (y posiblemente en las entradas). Las FSMs son la clave para diseñar cualquier sistema digital con comportamiento de secuenciación, desde semáforos hasta unidades de control de CPU.
Objectives
- Definir estados, transiciones, entradas y salidas en una FSM
- Dibujar e interpretar diagramas de estado
- Comprender la estructura general de una FSM: lógica combinacional + registro de estado
- Distinguir entre máquinas Moore y Mealy (introducción)
- Diseñar FSMs simples para problemas del mundo real
Key Takeaways
- FSM = estados + transiciones + entradas + salidas, sincronizados por un reloj
- Los diagramas de estado usan círculos (estados) y flechas (transiciones)
- Hardware: registro de estado (flip-flops) + lógica de estado siguiente + lógica de salida
- Número de flip-flops: ceil(log₂(número de estados))
- Las FSMs son la base de todo el diseño de controladores digitales
Applications
- Controladores de Protocolo: USB, Ethernet, SPI todos usan FSMs para el manejo de protocolos.
- Máquinas Expendedoras: Aceptan monedas, rastrean el total, dispensan producto.
- Semáforos: Secuenciación a través de verde-amarillo-rojo con solicitudes de peatones.
- Unidades de Control de CPU: El ciclo buscar-decodificar-ejecutar es una FSM.
Practice Problems
Problem 1: Un semáforo cicla Verde→Amarillo→Rojo→Verde. ¿Cuántos estados tiene esta FSM?
Problem 2: Dibuja un diagrama de estado para un torniquete con moneda (estados: Bloqueado, Desbloqueado).
Problem 3: ¿Cuántos flip-flops se necesitan para codificar 5 estados?
Problem 4: ¿Cuál es la diferencia entre la lógica de estado siguiente y la lógica de salida en una FSM?