Diseño Maquina de Estado

Hola amigos, el siguiente post es para pedir la ayuda en un diseño de maquinas de estado, el ejercicio es el siguiente:

Diseñe una maquina de estado que cumpla las siguientes condiciones:

* Tiene dos entradas INIT y X
* Tiene una saliada Z
* Mientras INIT sea 1, Z permanece en 0
* Cuando INIT es cero, Z permanece en 0 hasta que X haya sido 2 veces 0 y 2 veces 1, sin importar el orden


He estado pensando y he sacado los siguientes estados:

Estado Inicial inicial
A=1 A esta en 1
A=0 A esta en 1
X=0 X tiene primer 0
X=00 X tiene segundo 0
X= 1 X tiene primer 1
X=11 X tiene segundo 1

La verdad no se si este bien, porq no he encontrado muchos ejemplos sobre esto y no he encontrado un libro que me explique con claridad...:unsure:

Ojala alguien me pueda ayudar y dar una guia gracias.
 
Mira aca te dejo como deberias hacer la maquina:



Ahi estaria completa una parte, en donde la secuencia es: Int=0 -> X=1 -> X=1 -> X=0 -> X=0 -> Z=1.

Faltaria la otra secuencia: Int=0 -> X=0 -> X=0 -> X=1 -> X=1 -> Z=1.

Fijate que por ej. estando en el estado 2, hay 2 formas distintas de pasar nuevamente al estado 1, que init=1 y no me importa el valor de X, o que X=0 y no me importa el valor de init, en ambos casos Z=0. Lo mismo sucede en el caso 3 y en el 4 tengo 3 formas distintas de volver, 2 con Z=0 y una sola con Z=1.

Es muy probable que el esquema te quede con muchos estados, despues tenes que hacer un analisis (que realmente no recuerdo como era :)) en donde se eliminan estados innecesarios en forma sistematica.

Lastima que no puedo conseguirte en internet, el libro donde lo habia estudiado yo que estaba muy bien explicado.

Editado:

Aca te consegui un par de apuntes piola que te va a dar una buena idea de lo que mencionaba

http://www.ingenioelectronico.com.ar/carrera/Tercero/digitales1/apuntes/index.HTML

Bajate el que dice 20 clases teoricas y leete la clase 14, 15 y 16.
 
Última edición:
Fijate que esa maquina que publique la podrias mejorar si modificas una condicion de retorno en el estado 4, es decir, en vez de que haga esto:

Estado 4 -> Init=0 y X=1 / Z=0 -> Estado 1

Podrias empezar directamente del estado 2, ya que empezas tu entrada X fue un 1.
 
Atrás
Arriba