Diseñar una máquina de estados

1

Pregunta: Diseñe una máquina de estados que dé salida a la secuencia 0 1 7 1 y luego a 1 7 1 1 7 1 y así sucesivamente. Un reinicio hará que la máquina vaya a la que sale 0?

Lo que he logrado hacer hasta ahora:

Dado que la secuencia tiene cuatro números, usamos dos Flip Flops. Y los estados serían: 00, 01, 11, 10

Y estoy considerando que "reiniciar" sea una entrada, por lo que la tabla de estado tendría 2 ^ 3 = 8 filas.

Present St. Input Next St. Output in Dec.
   00        0      01       0
   00        1      00       0
   01        0      10       1
   01        1      00       1
   10        0      11       7
   10        1      00       7
   11        0      01       1
   11        1      00       1

Desde esta tabla, puedo dibujar K-Maps para descubrir ecuaciones simplificadas para D_A y D_B, que serán las entradas de dos Flip-Flops de tipo D. ¿Pero no puedo averiguar cómo mostrar la salida?

Debería convertirlo a binario y utilizar tres máquinas de estado, ya que 7 sería 111 y se necesitarían tres flip-flops para almacenar este valor.

¿O puedo usar una ROM si el Tamaño 2 * 3 tiene dos líneas de dirección y una salida de 3 bits? Y graba 0, 1, 7, 1 en las ubicaciones respectivas 00, 01, 10, 11. ¿O hay mejores soluciones? Gracias. : ')

    
pregunta muqsitnawaz

2 respuestas

1

Déjame sugerir un enfoque. Primero decide si quieres adoptar una representación de Moore o Mealy. Una máquina Moore generalmente tendrá más estados y las salidas dependerán únicamente del valor del registro de estado. Una máquina Mealy tiene salidas condicionales, donde las funciones lógicas de salida son funciones tanto del valor del registro de estado como de las entradas a la máquina de estado.

Necesito hacer esa elección primero. Ok, creo que para este caso, una máquina Moore podría ser una forma interesante de hacerlo. Sus discusiones hasta ahora se han centrado en un registro de estado que comprende dos bits (dos flipflops). Si permitimos que el diseño contenga 3 bits, podemos hacer esto:   Las salidas de registro de estado de máquina de estado finito impulsan un decodificador / controlador de 7 segmentos, lo que significa que puede tener una pantalla de 7 segmentos que represente el código en el registro de estado.

Código de estado ...... OutputCode to 7 Seg Driver

0 .............. 0

1 ............... 1

7 ............... 7

1 ............... 1

1 ............... 1

7 ............... 7

...

¡De modo que puede ver a partir de esto, que la selección cuidadosa de los valores de estado significa que sus funciones de salida (funciones lógicas) no son necesarias! Simplemente tome la salida Q de los flip-flops del registro de estado y alimente directamente al decodificador / controlador de 7 segmentos.

Su diseño luego se simplifica a lo siguiente:

3 x flipflop para el registro estatal

1 x 7 chip decodificador de segmento

3 funciones lógicas de estado siguientes a ser diseñadas.

Podría implementar las 3 funciones de estado siguientes en la ROM como una tabla de verdad, pero no haría eso, creo que necesita tener la experiencia de diseñar las funciones lógicas, usar mapas de Karnaugh para reducirlas y luego construir las toda la cosa. Puede hacer esto fácilmente en un chip de secuenciador lógico programable de campo que contiene flipflops y funciones lógicas combinacionales. Eso también le dará la experiencia de los dispositivos lógicos programables y todo el diseño, posiblemente con la excepción del controlador de decodificador de 7 segmentos, se puede comprimir en un solo chip. (16PALR4 quizás?)

    
respondido por el Dean
0
     Input Present St. Next St. Output in Binary
       0      00        01       000
       0      01        11       001
       0      10        01       001
       0      11        10       111   
       1      00        00       000
       1      01        00       001
       1      10        00       001
       1      11        00       111   

Reorganizaría la tabla de verdad. 3 entradas, 5 salidas (2 para el estado).

Bit inferior, O del estado actual. Bits superiores Y del estado actual.

    
respondido por el StainlessSteelRat

Lea otras preguntas en las etiquetas