Desafío Lógico - Sumador Completo

En este desafío, aprenderás a realizar aritmética básica utilizando un circuito lógico llamado sumador completo.

Antecedentes

¿Por qué son importantes los sumadores? Muchas operaciones básicas de cálculo y matemáticas dependen de la suma y la multiplicación, por lo que los sumadores son un circuito crucial para las computadoras. Y aunque hacer aritmética básica puede parecer un problema resuelto, en realidad hay mucha investigación en curso sobre cómo optimizar los sumadores. Cuando tantas de las instrucciones de una computadora se basan en la suma, incluso las más mínimas mejoras pueden tener un gran impacto.

Entonces, ¿cómo se construyen los sumadores? Primero pensemos en el problema:

  • ¿No podemos simplemente usar una compuerta OR para sumar? Una compuerta OR sumará dos números, por ejemplo, 0 y 0, 0 y 1, o 1 y 0, pero ¿qué pasa si tenemos 1 y 1? Si solo usamos una compuerta OR para sumar, perderíamos información importante, es decir, la respuesta debería ser 2, pero la compuerta OR dice que la respuesta es 1. Generar este bit adicional se llama generar un acarreo (carry). Si nuestro circuito no puede generar un acarreo, terminamos con un overflow (desbordamiento), lo que equivale a información perdida.
  • A medida que construimos circuitos más complejos, queremos sumar más de dos bits juntos. Para hacerlo, necesitamos una forma de acarrear bits desde un sumador anterior (carry in) y acarrear bits hacia el sumador siguiente (carry out).

Desafío

Entonces echemos un vistazo al diseño del sumador completo a continuación. Este circuito implementa un sumador de dos bits, donde cada entrada tiene un bit.

A + B + Cin = S con Cout

Aunque hay una compuerta OR en el diseño, también hay varias otras compuertas lógicas. ¿Puedes entender las otras compuertas lógicas usando la tabla de verdad a continuación?

Interruptor #
1 A
2 B
3 Cin


Trouble viewing the simulation? Check it out on Wokwi.

Cin A B S Cout
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

Crédito extra: ¿puedes construir un sumador completo de cuatro bits usando este circuito? Este circuito debe aceptar dos valores de dos bits, A y B, y un bit de acarreo. Debe producir un valor de dos bits, S, y un bit de acarreo.

Siéntete libre de jugar para tratar de averiguarlo. Siempre puedes volver al tutorial de compuertas lógicas si necesitas un repaso.

También puedes verificar la solución.

Help improve Tiny Tapeout by leaving feedback.