Práctica 4 · Máquina de estados Moore
miércoles 14 de octubre · 18:00–19:40 · en 53 días
GUÍA 14-10-26 Laboratorio de Sistemas Embebidos
CN113 · miércoles 14/10/2026 · 18:00-19:40 · Sesión 9
Práctica 4 · Máquina de estados Moore
OBJETIVO DE LA PRÁCTICA
Describir e implementar máquinas de estados Mealy y Moore, con simulación e implementación. Hoy se construye la versión Moore.
EL PROBLEMA PROPUESTO
Un detector de secuencia con salida, o un controlador de semáforo con temporización. Ambos exigen recordar historia y producir salidas dependientes del estado.
PROCEDIMIENTO DE DISEÑO
1. Listar entradas, salidas y qué debe recordarse.
2. Dibujar el diagrama de estados a mano, antes de escribir código.
3. Verificar que cada estado tenga transición definida para toda combinación de entradas.
4. Asignar la salida de cada estado.
5. Escribir la tabla de estados y solo entonces codificar.
EL PATRÓN DE TRES PROCESOS
- Registro de estado: síncrono, con reset. Solo hace estado_actual <= estado_siguiente.
- Siguiente estado: combinacional, con case sobre el estado actual.
- Salidas: función únicamente del estado actual, por ser Moore.
TIPO ENUMERADO
Declarar type estado is (INICIO, S1, S10, S101, …). Los nombres deben describir qué se lleva reconocido, no ser E0, E1, E2: cuando la máquina falla, el nombre del estado es la primera pista.
CODIFICACIÓN
Probar las tres codificaciones —binaria, Gray y one-hot— desde las opciones de síntesis de Quartus y anotar recursos y frecuencia de cada una. En FPGA one-hot suele ganar en velocidad.
VERIFICACIÓN
- Simular la secuencia objetivo y verificar que la salida se active.
- Simular secuencias parecidas que no deben activarla.
- Probar secuencias solapadas: tras detectar 1011, la siguiente entrada debe poder reiniciar parcialmente el reconocimiento.
PARA LA PRÓXIMA SESIÓN
La versión Mealy del mismo problema, para comparar.
Nada anotado en esta sesión todavía.