Diseño de máquinas de estado finitos
Llena la tabla de estados de una máquina Moore o Mealy y obtén el diagrama de estados, la asignación binaria o Gray, la tabla de excitación para flip-flops D, T, JK o SR, los mapas de Karnaugh y las ecuaciones mínimas, listas para construir el circuito.
Qué puedes hacer
- Moore y Mealy.
- Tablas de excitación de los cuatro flip-flops.
- Ecuaciones mínimas y circuito construido en el simulador.
Preguntas frecuentes
¿Qué diferencia hay entre Moore y Mealy?
En Moore la salida depende solo del estado; en Mealy depende del estado y de la entrada.
Guía: diseño de máquinas de estado
Una máquina de estados finitos describe un circuito secuencial: en cada flanco de reloj pasa de un estado a otro según sus entradas, y sus salidas dependen del estado. Es la forma sistemática de diseñar detectores de secuencias, contadores, semáforos o controladores. Esta guía recorre el método completo, del diagrama de estados a las ecuaciones de los flip-flops, con un ejemplo.
Moore y Mealy
- Moore: la salida depende solo del estado; se escribe dentro de cada estado. Es más estable, pero suele necesitar más estados y responde un ciclo más tarde.
- Mealy: la salida depende del estado y de la entrada; se escribe en cada flecha como entrada/salida. Usa menos estados y responde en el mismo ciclo.
El método de diseño
- Diagrama de estados: qué tiene que «recordar» la máquina, un estado por cada situación distinta, y las transiciones para cada valor de la entrada.
- Tabla de estados: el diagrama en forma de tabla: estado actual, entrada, estado siguiente y salida.
- Asignación de estados: un código binario para cada estado. Con N estados hacen falta k = ⌈log₂ N⌉ flip-flops; los códigos que sobran son «no importa».
- Tabla de excitación: qué entrada necesita cada flip-flop para ir del estado actual al siguiente. Con flip-flops D es directo: D = Q⁺.
- Ecuaciones mínimas: cada entrada de flip-flop y cada salida se simplifica con su mapa de Karnaugh.
Ejemplo: detector de la secuencia 101 (Mealy, con traslape)
La salida Z vale 1 cuando en la entrada X llegan seguidos 1, 0, 1. Con traslape, el último 1 puede empezar la siguiente secuencia: en 10101 se detecta dos veces.
- Estados: S0, nada útil; S1, ha llegado «1»; S2, ha llegado «10».
- Transiciones:
- S0: con 0 se queda en S0; con 1 va a S1.
- S1: con 0 va a S2; con 1 se queda en S1, porque ese 1 puede ser el inicio.
- S2: con 0 vuelve a S0; con 1 ha detectado 101, así que Z = 1 y va a S1, porque ese último 1 sirve de inicio.
- Códigos: 3 estados necesitan 2 flip-flops (Q1 Q0): S0 = 00, S1 = 01, S2 = 10; el código 11 es «no importa».
- Ecuaciones con flip-flops D: se va a S1 (Q0⁺ = 1) siempre que X = 1, así que D0 = X. Se va a S2 (Q1⁺ = 1) solo desde S1 con X = 0, así que D1 = Q0·X′. La salida es 1 en S2 con X = 1: Z = Q1·X.
Son exactamente las ecuaciones que obtiene la herramienta para este ejemplo. La versión Moore necesita un cuarto estado, «101 detectado», en el que la salida es 1.
Cómo usar la herramienta
- Elige Moore o Mealy y el número de entradas, salidas y estados.
- Completa la tabla de estados: el estado siguiente para cada entrada y las salidas (0, 1 o X).
- Elige el tipo de flip-flop (D, T, JK o SR) y la asignación de estados (binaria o Gray).
- Lee el diagrama de estados, las tablas de transición y de excitación y las ecuaciones mínimas. Con «Construir el circuito en el simulador» se arma con flip-flops, la lógica mínima y un reloj, para probarlo.
Errores frecuentes
- Olvidar el traslape: volver a S0 tras detectar la secuencia pierde detecciones solapadas.
- Dejar transiciones sin definir para algún valor de la entrada.
- Usar la tabla de excitación del flip-flop equivocado: la de un JK no es la de un D.
- No aprovechar los códigos sin usar como «no importa», que simplifican las ecuaciones.
Para profundizar
M. M. Mano y M. D. Ciletti, Diseño digital (Pearson); J. F. Wakerly, Diseño digital: principios y prácticas (Pearson). Simuveliq no está afiliado a estos autores ni editoriales.
Más herramientas
English version
Acerca de Simuveliq · Política de privacidad · Contacto