inteligencia artificial
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 XNORB tiene su equivalencia 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 Coes el bit de acarreo 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. Osea, que S=A◊B. La diagramación de 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 de1 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 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
11
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 lasvariables (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:
Estasimplementaciones 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:
Esto no es más que el IC 7483 (que es un sumador a escala MSI debido al
número de compuertasque éste usa). El IC7483 es algo como:
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 compuertas
lógicas, el tipo de circuito integrado...
Regístrate para leer el documento completo.