Creación de un diagrama de estado y una tabla de estado con salida conocida

Me han dado un problema verbal y debo hacer un diagrama de estado seguido de una tabla de estado.

El problema dice Diseñe un circuito que tenga dos entradas, clk y X y produzca la salida O. X puede cambiar cada ciclo de reloj y el cambio ocurre en el flanco descendente. El circuito muestrea la entrada en cada reloj ascendente. O = 1 si los últimos valores de X en los últimos tres ciclos fueron 101.

Aquí está el diagrama que hiceeste es el diagrama que hice

Perdí puntos y mi profesor dijo que se suponía que debía verse asíingrese la descripción de la imagen aquí

No entiendo muy bien esto. Obtengo eso de S3, si X = 1, vuelve a S1, porque cuando X es 1, hemos avanzado hacia 101. Sin embargo, ¿por qué S2 va a S3 cuando X es 0 y no 1? ¿Y por qué S3 vuelve a S2 en 0?

Respuestas (1)

La idea clave es que la entrada 10101 necesita generar 1 dos veces , ya que 101 aparece dos veces en la secuencia de entrada. Su máquina de estado no notará la segunda secuencia 101.

En la solución, S1 indica que tiene un 1, S2 indica que tiene 10, S3 indica que tiene 101 y S0 indica que tiene 0 sin un 1 antes. (Para responder a su pregunta, S3 vuelve a S2 cuando obtiene un 0, porque ahora tiene 10 y está esperando un 1).

El diagrama de solución parece que las flechas de S2 a S3 están equivocadas; debe pasar de S2 a S3 cuando obtenga un 1 y de S2 a S0 cuando obtenga un 0.

Gracias, esto lo aclara. Lo que realmente me desconcertó fue ir a S3 con un 0, pero eso debe haber sido un error tipográfico en su correo electrónico.