Máquinas Moore y Mealy

Dos modelos de FSM: las salidas de Moore dependen solo del estado, las salidas de Mealy dependen del estado y las entradas.

Hay dos modelos fundamentales de máquinas de estados finitos. En una máquina Moore, las salidas dependen solo del estado actual. En una máquina Mealy, las salidas dependen tanto del estado actual como de las entradas actuales. Las máquinas Moore son más simples y libres de glitches en las salidas, mientras que las máquinas Mealy pueden responder más rápido (dentro del mismo ciclo de reloj) y a menudo requieren menos estados.

Objectives

  • Definir máquina Moore: salidas = f(estado)
  • Definir máquina Mealy: salidas = f(estado, entradas)
  • Diseñar la misma función usando ambos modelos y comparar
  • Elegir entre Moore y Mealy basándose en los requisitos de diseño

Key Takeaways

  • Moore: las salidas dependen solo del estado → síncronas, libres de glitches, puede necesitar más estados
  • Mealy: las salidas dependen del estado Y las entradas → respuesta más rápida, menos estados, posibles glitches
  • Salidas Moore etiquetadas dentro de los círculos de estado; salidas Mealy etiquetadas en las flechas de transición
  • Salidas Moore retrasadas un ciclo respecto a Mealy
  • Salidas Mealy registradas = temporización Moore (lo mejor de ambos mundos)
  • Ambos modelos pueden implementar la misma funcionalidad

Practice Problems

Problem 1: Un detector de secuencia produce 1 cuando detecta "11" en la entrada. Diseña como Moore y cuenta los estados para cada uno.

Problem 2: En una máquina Moore, ¿cuándo pueden cambiar las salidas?

Problem 3: ¿Por qué podría tener glitches la salida de una máquina Mealy?

Problem 4: Convierte una máquina Mealy a Moore agregando registros de salida. ¿Qué sucede con la temporización?