¿Sabes el tiempo exacto que el automata mantiene el 1 a la salida? porque si es así, es tan facil como introducir un tiempo de espera en el true de la estructura CASE que antes te comentaba. Es decir, si entra un 1, el programa se detiene x milisegundos hasta que se pone a 0. Lo malo de esto es que detienes el programa por completo y si tienes otras cosas en paralelo...mal rollo.
Eso es una forma pero espera... me viene una idea mejor, jugemos con el false del CASE.
Crea un control con una valiable booleana que este inicializada a true. Coloca una puerta and de dos entradas, una entrada del and para la salida del automata y la otra conectala al control booleano que has creado. Convierte el control booleano en variable local, hazlo por partida doble (necesitamos dos indicadores de la misma variable).
Vete al true del CASE y al final del mismo, pon uno de los indicadores booleanos creados conectado con un False, es decir, que el control booleano pase a false.
Ahora vete al caso False del CASE, crea dos tuneles, uno con la señal del automata y otra con la del control booleano creado. Conecta estos dos tuneles a un Equal? y la salida del Equal? al indicador de del control booleano.
Te explico el funcinamiento:
Definamos el estado de reposo como: salida_del_automata=false variable_de_control_booleana=true.
Cuando llega el primer 1 (true) del automata, las dos entradas de la puerta and estan true por lo tanto pasamos al true del CASE. Se incrementa el contador y la variable de control booleana pasa a false. Imaginemos que el automata sigue mandando un 1, en este caso al llegar a la puerta and tenemos un 1 y un 0 de la variable de control, por lo tanto pasamos al false de CASE. En el false miramos si las dos variables booleanas son iguales, como no es el caso, a la salida del Equal? tenemos un False, con lo que la variable booleana de control sigue siendo false; asi evitamos que el contador se incremente aun cuando el automata siga mandando el 1.
Ahora el automata cambia a 0, por lo que a la salida de la puerta and tenemos un false (and(0,0)=0) y se ejecuta el false de CASE. Sin embargo, ahora las dos entradas del Equal son iguales (0,0), por lo tanto la variable de control boolena pasa a true.
Resumiendo, al final de esta secuencia tenemos: salida_del_automata=false variable_de_control_booleana=true, y por lo tanto hemos cerrado el eterno y gracil bucle.
OK?