Hace poco tuve oportunidad de resolver unas prácticas de diseño digital, uno de los puntos era resolver el diseño de un sumador de dos números de tres bits, ya hice el diseño y lo quiero compartir, pero antes se los voy explicar, dos número binarios se sumaran siguiendo las reglas básicas de sumar, por ejemplo la suma 4+6=10 en binario sería 100 + 110 = 1010, en binario 0+0=0, 0+1=1, 1+0=1 y... 1+1=10!! es decir 1+1=2 en decimal y 2decimal es 10, en el caso de nuestra suma 1+1=0 "y llevamos 1", a esto se le llama acarreo (carry), la función que resuelve:
A B SUMA
0 0 0
0 1 1
1 0 1
1 1 0
Es... OR exclusiva!! así que para sumar dos bits usamos una OR exclusiva y el acarreo se genera con una AND puesto que solo tenemos acarreo cuando ambos números son "1":
A B CARRY
0 0 0
0 1 0
1 0 0
1 1 1
Para el caso de tres bits, podemos deducir que también es la OR exclusiva de los tres bits y el carry es la suma de todas la combinaciones donde las variables sean 1:
A B C SUMA CARRY
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
El que no me crea que resuelva las tablas de verdad de arriba. Ahora ya solo falta la suma en binario:
A B C
D E F
------------
S3 S2 S1 S0
y por último el circuito: cualquier duda súbanla aquí para que la resolvamos entre todos.
A B SUMA
0 0 0
0 1 1
1 0 1
1 1 0
Es... OR exclusiva!! así que para sumar dos bits usamos una OR exclusiva y el acarreo se genera con una AND puesto que solo tenemos acarreo cuando ambos números son "1":
A B CARRY
0 0 0
0 1 0
1 0 0
1 1 1
Para el caso de tres bits, podemos deducir que también es la OR exclusiva de los tres bits y el carry es la suma de todas la combinaciones donde las variables sean 1:
A B C SUMA CARRY
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
El que no me crea que resuelva las tablas de verdad de arriba. Ahora ya solo falta la suma en binario:
A B C
D E F
------------
S3 S2 S1 S0
y por último el circuito: cualquier duda súbanla aquí para que la resolvamos entre todos.