Sé que se ha formulado esta pregunta y ya hay respuestas a esta pregunta en Internet. Solo quiero preguntarte dónde me equivoco en mi forma de pensar.
La primera vez que vi esta pregunta, el atajo (la copia se mantiene hasta que ve un 1 y luego se complementa con el resto) no se me había ocurrido. Así que pensé que simplemente complementaría el bit, le agregaría 1 y si obtenía un carry, lo mantendría en el flip flop para agregarlo al siguiente bit que viene de la entrada.
Significa que,
En estado-0
si la entrada es 0 , debería emitir "0" (después de complementar) y mantener ese valor de "1" en el flip-flop para que el flip-flop pase del estado 0 al estado 1.
Si la entrada es 1 , debería mostrar "1" pero el flip-flop permanece en el mismo estado que el estado-0.
En el estado 1
si la entrada es 0 entonces debería mostrar "1", ya que el complemento de 2 sería 10 y tengo un carry "1" en el flip-flop. Obtendría otro carry, por lo que el estado sigue siendo el mismo.
Si la entrada es 1 , debería mostrar "0" y el flip-flop también permanece en el mismo estado.
Aquí está mi diagrama de estado:
+---------+-------+-------+--------+|Present||Next|||State|Input|State|Output||A|x|A|y||0|0|1|0||0|1|0|1||1|0|1|1||1|1|1|0|+---------+-------+-------+--------+
Despuésdeobtenerlasecuacionesdelatabladearriba.Mesaleuncircuitoasí:
simular este circuito : esquema creado usando CircuitLab
¿Puedes ayudarme, por favor, a descubrir qué hay de malo con mi forma de pensar?
Gracias de antemano. :)