Creando un diagrama de estado y una tabla de estado con salida conocida

1

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

Se lee el problema 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ípuntosporeso,ymiprofesordijoquesesuponequedebeteneresteaspecto

No entiendo muy bien esto. Lo obtengo 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?

    

1 respuesta

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 tienes un 1, S2 indica que tienes 10, S3 indica que tienes 101, y S0 indica que tienes 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 mal; debe pasar de S2 a S3 cuando obtiene un 1 y S2 a S0 cuando obtiene un 0.

    
respondido por el Ken Shirriff

Lea otras preguntas en las etiquetas