Dibujar diagramas de estado

0

Así que estoy revisando mi libro de texto y estoy atascado en este problema:

  • Diseñe un circuito que tenga dos entradas, \ $ clk \ $ y \ $ X \ $, y produzca una salida \ $ O \ $.

    • \ $ X \ $ puede cambiar cada ciclo de reloj, y el cambio ocurre en el borde descendente.
    • El circuito muestra la entrada en cada flanco ascendente del reloj.
    • Si la entrada es \ $ 1 \ $, considere leer como \ $ 1 \ $, de lo contrario, lea \ $ 0 \ $. \ $ O \ $ es \ $ 1 \ $ (para un ciclo de reloj, de borde positivo a borde positivo) si los últimos tres bits leídos son \ $ 110 \ $, con \ $ 0 \ $ como el bit más reciente.

Dibuja el diagrama de estado. Cerca de un arco, muestre \ $ X = 1 \ $ o \ $ X = 0 \ $ para indicar si el cambio de estado ocurre cuando \ $ X = 1 \ $ o cuando \ $ X = 0 \ $.

¿Cómo se abordaría este problema?

    
pregunta Connor Black

1 respuesta

2

Primero diseña la máquina de estado sin preocuparte por el clk. Tienes que recordar algo sobre lo que sucedió con las últimas 3 entradas, así que en el peor de los casos necesitarás 8 (= 2 ^ 3) estados (pero puedes hacerlo sustancialmente mejor que eso).

Una vez que tenga el diagrama de estado, debe elegir una representación de n bits para cada estado. Almacenarás esto en un registro de n bits.

Luego escribe la tabla de verdad para la función de transición. Habrá n + 1 entradas (el estado de n bits y el bit 1 para X). Habrá n bits de salida (que representan el estado siguiente).

Luego descubres cómo implementar un circuito que realiza la tabla de verdad.

Finalmente, necesitas implementar la función de salida. Este será un circuito que es verdadero cuando estás en el estado donde los últimos tres bits son 110, y falso de lo contrario.

En tu circuito final tendrás un registro de n bits y una lógica combinatoria.

    
respondido por el Wandering Logic

Lea otras preguntas en las etiquetas