Complementador de Serial 2 con una entrada y una salida

1

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. :)

    
pregunta André Yuhai

2 respuestas

0

Acabo de descubrir el problema y aquí te lo explico. Si intentas resolver este problema de la misma manera que lo intenté (sin pensar en el acceso directo como "obtén el mismo valor hasta que veas un poco de valor 1 y luego complementes a otros en la cadena". ) entonces tendremos 2 estados.

Estado-1 (Estado inicial - Estado de Carry-1)

Lo que tenemos un carry-1 para agregar al bit menos significativo de la cadena después de la complementación. Porque eso es lo que normalmente haría cuando intenta obtener el complemento de 2 de una cadena de bits. Solo complementa la cadena completa y agrega 1 al bit menos significativo.

También puedes nombrar este estado, Estado-0, pero simplemente lo denomino Estado-1 para no confundirme. Para que sepa que tengo un carry 1 en el flip-flop.

Estado-0 (lo que significa que no te queda ningún acarreo)

Este estado significa que no te queda ninguna carga en la mano. Así que solo complementas el bit en la entrada.

Inspeccionemos qué posibilidades podemos obtener al intentar obtener el complemento de 2 de una cadena de bits.

  • En el estado inicial, puedes obtener un 1 cuyo complemento de 1 es 0 y con un acarreo en mano es igual a 1. Ya que esa suma no genera un acarreo. No tiene ningún acarreo en la mano y va al estado-0.
  • Nuevamente, en el estado inicial puede obtener un 0 cuyo complemento de 1 es 1 y con un acarreo en la mano esta suma es igual a 10, lo que significa que nuevamente tendrá un arrastre en la mano y, por lo tanto, permanecerá en el mismo estado que el estado -1. Pero la salida será 0.
  • En Estado-0, podría obtener un 0 nuevamente y, como no tiene ningún acarreo, simplemente saca el complemento de 0 de 1, que es igual a 1.
  • Nuevamente, en Estado-0, podría tener 1 en la entrada y, como no tiene ningún acarreo, su salida sería igual a 0.

Dicho esto, dibujamos una tabla de estado de la siguiente manera:

+---------+-------+-------+--------+
| Present |       | Next  |        |
| State   | Input | State | Output |
|    A    |   x   |   A   |   y    |
|    1    |   0   |   1   |   0    |
|    1    |   1   |   0   |   1    |
|    0    |   0   |   0   |   1    |
|    0    |   1   |   0   |   0    |
+---------+-------+-------+--------+

Mirando la tabla, obtenemos un diagrama de estado como el siguiente:

Entoncesobtenemosestecircuito:

simular este circuito : esquema creado usando CircuitLab

    
respondido por el André Yuhai
0

De acuerdo con la tabla de estado que has dado,

S (t + 1) = X '+ S (t)

Y = X + S (t).

Pero, en este diagrama de circuito, Y resulta ser Y = X xo S (t).

También de acuerdo con su Diagrama de estado Y resulta ser Y = X xo S (t).

Entonces, o bien la Tabla de estado es incorrecta y el Diagrama de estado y el circuito son correctos,

O

La tabla de estado es correcta y el diagrama de estado y el circuito están mal,

    
respondido por el Srinivasan M P

Lea otras preguntas en las etiquetas