Sumadores
Antes de empezar quisiera recordarles las compuertas XOR (el símbolo de la operación es un signo de más circunscrito pero por comodidad usaremos aquí el ◊ para no tener que agregar una imagen cada vez que se requiera mostrar el signo. OJO no es una convención natural, me lo acabo de inventar por comodidad).La XOR u OR exclusivo es parecida a la OR con la única diferencia que paracuando sus entradas son ambas 1 la salida es cero (por eso lo de exclusivo). La función XOR pude por supuesto ser presentado con compuertas AND, OR y NOT. Por ejemplo, la función F = A ◊ B (Léase A XOR B), es también F = A'B+AB'. Existe también la compuerta XNOR o NOR exclusivo que es la función negada de la XOR. El símbolo de ésta es un punto en el centro de un círculo. La función F= A XNOR B tiene suequivalencia en F = AB+A'B'. Recuerden que los diagramas de las compuertas XOR y XNOR son:
y
respectivamente.
Dicho ésto, empecemos por hablar del “semisumador”. El circuito semisumador (o H.A. Por Half Adder) es aquel que realiza la suma de dos bits SIN tomar en cuenta algún posible acarreo previo.
Digamos que A y B son los bits a sumar, que S es la suma de ellos y que Co es el bit deacarreo de salida, la tabla de la verdad de este circuito es:
A | B | S | Co |
0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
Vemos entonces que Co(A,B)=∑(3) y que S(A,B)=∑(1,2). Resolviendo estas funciones obtenemos que: Co = AB y S = A'B + AB'. Si ven la última función se dará cuenta de por qué razón les hablé antes de la compuerta XOR. O sea, que S=A◊B. La diagramaciónde este circuito es:
Ok. Pero este circuito nos serviría como sumador de un sólo bit (o para el bit menos significativo de una suma) pero en realidad es de poca utilidad para sumas de varios bits. En los casos que se requiera un sumador de varios bits, se hace uso de un Sumador Completo (F.A. Por Full Adder).
Veamos entonces como sería un sumador completo de 1 bit (lo que es el IC 7480internamente).
Digamos que A y B son los bits a sumar, que S es la suma de ellos, que Ci es el acarreo de entrada y que Co es el bit de acarreo de salida, la tabla de la verdad de este circuito es:
Ci | A | B | Co | S |
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 | 1 |
0 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 1 |
1 | 0 | 1 | 1 | 0 |
1 | 1 | 0 | 1 | 0 |
1 | 1 | 1 | 1 | 1 |Analicen la tabla y corrobórenla.
De la tabla observamos que: Co(Ci,A,B)=∑(3,5,6,7) y que S(Ci,A,B)=∑(1,2,4,7). O sea que Co=A'BCi+AB'Ci+ABCi'+ABCi y S=A'B'Ci+A'BCi'+AB'Ci'+ABCi. Simplificando vemos que:
Co=AB+ACi+ BCi
y que S=Ci'(A'B+AB')+Ci(A'B'+AB), como (A'B'+AB)=(A'B+AB')'=(A◊B)' (XOR es una XNOR negada), si cambiamos las variables (para verlo fácil) y hacemos (A◊B)=T =>S=Ci'T+CiT' => S =Ci◊T , entonces
S=Ci◊A◊B
Si doble negamos la función del acarreo de salida para implementar con compuertas NAND, obtendríamos la función Co=[(AB)'(ACi)'(BCi)']' y el diagrama del circuito se vería:
Este es un sumador completo de un bit, el mismo implementado en el IC 7480. En forma de bloque veríamos algo como:
Estas implementaciones son hechas con puras compuertas y los IC's usados usanmenos de 10 de ellas por lo que estos sumadores son a nivel de SSI. Si queremos construir un sumador de, por ejemplo, 4 bits, deberemos poner en cascada cuatro sumadores completos de un bit tal como se muestra a continuación:
Esto no es más que el IC 7483 (que es un sumador a escala MSI debido al número de compuertas que éste usa). El IC7483 es algo como:
y estos sumadores a su vez tambiénpueden ser organizados en cascada para implementar sumadores de 8, 12, 16, ... 4n, bits. El acarreo de entrada del primer sumador (quien incluirá el bit menos significativo) debe ir a tierra para indicar el cero.
Recuerden, cuando la implementación se hace con puras compuertas lógicas, el tipo de circuito integrado usado tiene nivel de integración SSI. Puedo diseñar un circuito con 30 compuertas...
Regístrate para leer el documento completo.