Tienes un registro. Conecte su salida a dos comparadores: uno que produce 1 cuando su registro coincide con el patrón "objetivo" y otro que genera 1 cuando su registro coincide con el patrón "todos ceros" (es decir, un árbol OR seguido de un inversor, por ejemplo, implementado con alternancia Planos de puerta NAND y NOR).
Le permite configurar una tabla de verdad basada en la "salida anterior" (que es una versión fraccionada de su salida), y la salida de sus dos comparadores.
Previous Output Pattern Compare Zero Compare Next Output
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 0
Debería poder sintetizar la lógica que controla su flip-flop de salida de esa tabla, pero mi opinión es que es un multiplexor seleccionado por la salida anterior. Cuando la salida anterior es 0, elija la salida de Comparación de patrones. Cuando la salida anterior es 1, elija la salida Inversa de la comparación de cero.