Lo que estás viendo es un error técnico o condición de carrera . Hay una ligera diferencia en el tiempo que tarda la señal a y la señal b en propagarse a la salida, por lo que si ambos se cambian al mismo tiempo, puede ver un pulso muy corto en la salida antes de que alcance el estado final (que es el mismo que el estado inicial de este circuito).
Si retrasas una de las entradas, hará que este fallo se prolongue porque tendrías poco tiempo donde están las entradas, digamos, ambas 0, en lugar de tener (1,0) y luego (0,1) como entradas También debe darse cuenta de que, en realidad, es posible que no sepa si la señal a o b se está propagando más rápido, e incluso puede variar en respuesta a la temperatura u otros factores ambientales. . Es probable que el simulador simplemente haya elegido arbitrariamente una de las dos entradas para procesar primero, lo que resulta en un tiempo de fallo igual al paso de tiempo mínimo del simulador.
La forma habitual de lidiar con un problema técnico como este simplemente es no registrar el resultado en el siguiente flip-flop hasta que todos los problemas se hayan solucionado. Es decir, diseñe su circuito con el tiempo de configuración adecuado . El hecho de que los fallos solo afecten a la salida de un flip-flop si ocurren al mismo tiempo que llega el borde del reloj es una de las razones por las que diseñar la lógica síncrona correctamente es mucho más fácil que diseñar la lógica asíncrona.