Jorge: SUMADORES Y RESTADORES A NIVEL SSI Y MSI. UN EJEMPLO DE APLICACIÓN: EL SUMADOR BCD
BREVE INTRODUCCIÓN A LOS NIVELES DE INTEGRACIÓN
SSI y MSI son niveles de integración de compuertas lógicas. Ustedes investigarán acerca de ésto en su trabajo especial pero de igual forma aquí les hablaré básicamente qué es eso y con qué se come.
Los niveles de integración son:
SUMADORES
Antesde 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 para cuando sus entradasson 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 su equivalenciaen F = AB+A’B’. Recuerden que los diagramas de las compuertas XOR y XNOR son:
{draw:frame}
y
{draw:frame}
respectivamente.
Digamos que A y B son los bits a sumar, que S es la suma de ellos y que Co es el bit de acarreo de salida, la tabla de la verdad de este circuito es:
Vemos entonces que Co*(A*,B*)**=?**(3)** y que **S(A,B)**=?**(1,2)**. Resolviendo estas funciones obtenemosque: **C*o = 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ón de este circuito es:
{draw:frame}
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 serequiera 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 7480 internamente).
Digamos que A y B son los bits a sumar, que S es la suma de ellos, que C*i **es el acarreo de entrada y que **C*o es el bit de acarreo de salida, la tabla de la verdad de este circuito es:
Analicen la tabla ycorrobórenla.
De la tabla observamos que: Co*(*C*i*,A,B*)=?(3,5,6,7)** y que **S(*C*i*,A,B*)=?(1,2,4,7). **O sea que **C*o*=*A’BC*i*+AB’C*i*+ABC*i*’+ABC*i** y **S=*A’B’C*i*+A’BC*i*’+AB’C*i*’+ABC*i*. Simplificando vemos que:
y que S=Ci*'(A’B+AB’)+C*i*(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=*C*i*’T+C*i*T*’** => **S = *C*i**?**T* , entonces
S=C*i*?A?B
Si doble negamos la función del acarreo de salida para implementar con compuertas NAND, obtendríamos la función Co*=[*(AB)'(*AC*i*)'(*BC*i*)’]’ y el diagrama del circuito se vería:
{draw:frame}
Este es un sumador completo de un bit, el mismo implementado en el IC 7480. En forma de bloque veríamos algo como:{draw:frame}
Estas implementaciones son hechas con puras compuertas y los IC’s usados usan menos 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:
{draw:frame}
Esto no es más que el IC 7483 (que es un sumador a escala MSIdebido al número de compuertas que éste usa). El IC7483 es algo como:
{draw:frame}
y estos sumadores a su vez también pueden 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…