Dupliqué su circuito en Logisim (como una oportunidad para hacer algo en Logisim). No hay nada malo con tu circuito. Hay algo sobre Logisim que no entiendo.
Primero que nada, las líneas rojas no son líneas en un estado alto; son errores Uno esperaría este tipo de error si dos salidas estuvieran unidas. Hice un montón de romper el circuito y atar las líneas altas o bajas, y, finalmente, todos los errores fueron "eliminados" y al volver a conectar el circuito normalmente se producía la conmutación para la que estaba diseñado.
Específicamente, rompa el cable superior izquierdo, el que conecta Q 'a D, luego conecte D a una fuente alta o baja ("resistencia de tracción" funciona bien aquí), y muévalo hasta que esté todo verde. Luego, vuelva a conectar la retroalimentación, y todo funcionará. Tenga en cuenta que alto y bajo están representados por verde y verde oscuro (?).
Al presionar "Reiniciar simulación" se recuperarán todos los errores. Mi conjetura es que, en algún lugar de la lógica del programa, tiene un "estado indefinido". Estos estados indefinidos se propagan a través de las puertas en la medida en que no se "clasifican" como lo hacen los aparatos electrónicos reales. Undef AND 0 debe dar como resultado 0, no Undef. Lo mismo vale para 1 o Undef.
En caso de que esto se haya abordado en una versión posterior, señalaré que este Logisim es 2.7.1
Actualización: "solucioné" el problema (al menos dentro del alcance de este simulador) insertando una puerta NOR en la ruta de retroalimentación. Luego conecte un botón a la otra entrada. Reemplacé el botón original con una señal de reloj (que se encuentra en "cableado"). Ahora, al presionar el botón se borra el error. (Restablecer la lógica devuelve el error).