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 hice
Perdí puntos y mi profesor dijo que se suponía que debía verse así
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?
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.
Connor Schwinghammer