Desigine un FSM síncrono

-1

Estoy tratando de averiguar cómo me acerco a un FSM sincrónico según la siguiente información:

  • Dos entradas A, B y amp; salida única Z

  • Dos entradas A, B y amp; salida única Z

  • Z = 1 si A tenía el mismo valor en cada una de las dos marcas de reloj anteriores.

o

  • Z = 1 si B = 1 desde la última vez que la "condición anterior" fue verdadera (es decir, A tuvo el mismo valor en cada una de las dos marcas de reloj anteriores)

  • De lo contrario, Z = 0.

He entendido el diseño hasta cierto punto pero no puedo entender cómo debo decidir cuál será el siguiente estado en el diagrama de estado.

¿Cómo me acerco a tales diseños.

    
pregunta Saad Rafey

2 respuestas

1

Puedes usar puertas para determinar cuál será el próximo estado. Es posible que haya perdido de vista el hecho de que necesita agregar algún tipo de "memoria" para saber en qué estado se encuentra ahora. Para eso son las chanclas. Luego, las puertas que agregue combinarán las señales de la entrada con las señales de los flip flops para producir el siguiente estado.

En una situación de solo software, sustituya las variables de estado por los flip-flops.

    
respondido por el gbarry
1

Ya que esto suena como un problema de tarea, solo te daré algunos consejos para que comiences, en lugar de un diagrama de estado completo.

El concepto clave aquí es que necesita realizar un seguimiento continuo del historial de la entrada A, incluso cuando la salida Z está siendo "mantenida" por la entrada B. Esto requiere un mínimo de 4 estados (más un estado "inicial"); Z está desactivado para dos de ellos y encendido para dos de ellos.

Si todavía estás atascado, deja un comentario aquí y agregaré un boceto del diagrama de estado completo.

ASIDE: Es interesante saber que la máquina de estados abstracta no ayuda mucho con una implementación práctica del circuito, que se puede realizar con un par de flip-flops maestro-esclavo de tipo D y cuatro puertas de 2 entradas de varios tipos.

Estaimplementacióndivideelproblemaendosmáquinasdeestadoseparadas.LasalidadeU2esaltacuandolosestadosactualesyanterioresdeAsonlosmismos.U3-U6formauntipoespecialdepestilloS-RqueseestablececuandoU2esalto,peroserestablecesolositantoU2comoBsonbajos.

EDITAR:OK,aquíestálamáquinadeestadoreal.Cadaestadoseetiquetaconelvalordesalida(Z).Cadaborde(flecha)quedejaunestadoestáetiquetadoconlosdosvaloresdeentrada(AB),y"x" denota "no importa".

Inicialmentecomencéconundiagramaquetenía8estados,peroprontomedicuentadequehabíadosgruposdetresestadosquepodíancombinarse,yaquelosestadosdecadagrupoteníanelmismovalordesalidayrealizabantodaslasmismastransiciones..Estomepermitióreducireldiagramaaloscuatroestadosquesemuestranaquí.

Elquintoestadoopcionaldelaizquierdaessimplementeparaevitarunimpulsodeinicioenlasalida.Sinella,lamáquinadeestadoasumequeelestado"anterior" (no existente) de A era 0, por lo que si el estado actual también es 0, la salida será alta. El estado extra previene esto. Tenga en cuenta que la implementación que se muestra arriba no tiene esta función.

    
respondido por el Dave Tweed

Lea otras preguntas en las etiquetas