Vous êtes sur la page 1sur 9

SUMADOR BINARIO DE N BITS.

1.-

Cdigo binario natural.


El sistema numrico binario recibe el nombre de cdigo binario natural y su utilizacin
representa muchas ventajas en la realizacin de operaciones aritmticas como se ver
ms adelante, por lo que es utilizado casi exclusivamente en la implementacin de
calculadoras digitales. Ver tabla de la figura No. 1, donde aparece cdigo binario
natural de 4 bits. Sin embargo existen muchos sistemas de control digitales en los que
se utilizan otros cdigos binarios diferentes del binario natural a causa de sus
caractersticas particulares.
Con (n) dgitos binarios, o bits, se pueden obtener (2n) combinaciones diferentes y
cada una de stas se pueden asignar a una cantidad diferente. Por ello el nmero de
asignaciones posibles es el de permutaciones de las 2n combinaciones, es decir (2n)
factorial, que constituyen otros tantos cdigos binarios. De ellos estudiaremos los ms
comunes.
N

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

23
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

22
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

21
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

20
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

Figura No. 1. Tabla de codificacin del sistema binario natural de 4 bits.

Para efectuar operaciones aritmticas digitales, se requiere bsicamente un sumador,


por que con este tambin se realiza la resta. La multiplicacin es una suma repetitiva y
la divisin es una resta repetitiva.

2.-

Suma en binario natural.


Est regida por leyes paralelas a las usadas en el sistema decimal, solo que ahora hay
que tener en cuenta que la base es 2
La suma de dos (2) nmeros binarios (A) y (B) de n bits, empieza sumando los bits
menos significativos (A0), (B0) y un acarreo (Carry) de entrada (Ci ). Esta operacin
genera un bit de suma (S0) y un bit de acarreo de salida (C0), que se sumar a los bits
(A1 ) y (B1 ) de la siguiente posicin ms significativa y as sucesivamente.
Ejemplo 1.-

ACARREO

Figura No. 2. Ejemplo de suma de dos nmeros de ocho bits en binario


natural.

3.-

Diseo de un sumador de dos (2) nmeros A y B de 1 BIT cada uno,


tambin llamado semi-sumador, sumador medio o Half-Adder (H-A).
A

B Co S

0
0
1

0
1
0

0
0
0

0
1
1

(a)

(b)

(c)

Figura No 3.- Sumador medio. (a) Tabla de Verdad. (b) Implementacin con compuertas.
(c) Smbolo lgico.

4.-

Diseo de un sumador de tres (3) nmeros A, B y Cn-1 de 1 BIT cada uno,


tambin llamado Sumador completo o Full-Adder (FA).
Para sumar nmeros de (n) bits en paralelo, no basta el (H-A) por que se requieren
ahora tres (3) entradas como son, los bits An, Bn y el bit de acarreo anterior Cn-1
An
0
0
0
0
1
1
1
1

Bn
0
0
1
1
0
0
1
1

Cn-1
0
1
0
1
0
1
0
1

Cn
0
0
0
1
0
1
1
1

Sn
0
1
1
0
1
0
0
1

(a)

(b)

Figura No. 4.- Sumador completo (F-A). (a) Tabla de Verdad. (b) Implementacin con compuertas.

A partir de la tabla de verdad de la figura 4(a), tenemos:


=
=

=
=

)+

)+

=
+

)+

)+

Existen en el mercado, sumadores completos integrados de dos (2) nmeros de un


(1), dos (2) y cuatro (4) bits respectivamente, que estn implementados de acuerdo a
las siguientes reglas de diseo y ecuaciones lgicas:

De la tabla de la figura No. 4(a).


=

)+ (

)+ (

De la tabla de la figura No. 4(a),


=

De la tabla de la figura No. 4(a),

=(

)+ (

De la tabla de la figura 4(a), tenemos:


=
=

+
+

)+ (

Ver figura No. 5 siguiente.


A1 B1

A0 B0 C-1

S1

S0

C1

C0
C0

A ETAPA SIGUIENTE
Figura No. 5.- Implementacin de mdulos F-A en cascada
(Configuracin interna de un circuito integrado 7483)

Como el arrastre de la primera etapa es Co , deber negarse antes de introducirlo a la


etapa n = 1. Sin embargo el retrazo introducido por la inversin no es deseable debido
a que la limitacin de la velocidad mxima de funcionamiento es precisamente el
retraso del acarreo de todos los bits del sumador. El retardo del inversor se elimina
completamente en el acarreo conectando directamente Co a la etapa siguiente y
complementando las entradas A1 y B1 antes de introducirlas a la segunda etapa.
En la figura No. 5, se utiliza este ltimo mtodo. Observe que ahora las salidas S1 y
C1, se obtienen directamente sin necesidad de inversin. La lgica que sirve para el
acarreo en esta segunda etapa (impar) viene dada por la ecuacin Cn para las
etapas impares, y para la suma, por la ecuacin Sn para las etapas impares.
En un sumador de cuatros bits, C1 no sale fuera si no que se conecta interiormente a
la tercera etapa (Etapa 2) que es idntica a la primera (etapa 0). En forma parecida,
las segunda (Etapa 1) y cuarta (Etapa 3) tienen implementacin lgica idntica.

El lector deber remitirse al manual que suministra el fabricante del Circuito Integrado
de referencia 7483, que contiene un sumador completo de dos (2) nmeros de 4 bits y
tiene nueve (9) entradas Cin, A0, A1, A2, A3, B0, B1, B2, B3; cuatros salidas de suma
S0, S1, S2, S3, una salida de acarreo Co, adems de los dos pines para alimentacin.
Para sumar dos (2) nmeros de doce (12) bits, por ejemplo, se deben conectar tres
circuitos integrados 7483 en cascada, como lo muestra la Figura No. 6

Figura No. 6.- Conexin de tres (3) sumadores Integrados 7483 de 4 Bits,
en cascada.

Este tipo de implementacin es inconveniente en cuanto a espacio, diseo de


impresos, consumo de energa, tiempo de respuesta, etc. Por lo cual es aconsejable
la lgica programable, para superar estas dificultades.

5.-

Diseo de un sumador de dos (2) nmeros A y B de (N) BITs, c/u.


Para realizar la misma operacin en Lenguaje de Descripcin de Hardware de
Altera (AHDL), con el software MAX+PLUS II, se debera escribir la siguiente sintaxis,
referida al diagrama esquemtico de la Figura No. 7 :

Figura No. 7. Diagrama esquemtico de un sumador binario de n bits.

TITLE "ADDER";
PARAMETERS (n=8);
SUBDESIGN sumador_n
(
A[n..1], B[n..1], Cin: INPUT ;
S[n..1], Cout:
OUTPUT;
)
VARIABLE Cy[(n+1)..1] : NODE ;
BEGIN
Cy[1] = Cin ;
FOR i IN 1 TO n GENERATE
S [i] = A[i]$B[i]$Cy[i];
Cy[i+1] = A[i]&B[i]#A[i]&Cy[i]#B[i]&Cy[i];
END GENERATE;
Cout = Cy[n+1];
END;
El lector escoger el nmero (n) de bits de las palabras que desea sumar, y lo indicar
como parmetro de programacin.

Para realizar la misma operacin en Lenguaje de Descripcin de Hardware de alta


velocidad (VHDL), con el software MAX+PLUS II, se debera escribir cualquiera de
las siguiente sintaxis:

a)

LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;
ENTITY adder IS
PORT (op1, op2
result
END adder;

: IN UNSIGNED(7 downto 0);


: OUT INTEGER);

ARCHITECTURE maxpld OF adder IS


BEGIN
result <= CONV_INTEGER(op1 + op2);
END maxpld;
-------------------------------------------------------------------------------------------------------------------

b)

LIBRARY ieee ;
USE ieee.std_logic_1164.all ;
USE ieee.std_logic_signed.all ;

ENTITY adder16 IS
PORT ( X, Y : IN STD_LOGIC_VECTOR(15 DOWNTO 0) ;
S
: OUT STD_LOGIC_VECTOR(15 DOWNTO 0) ) ;
END adder16 ;
ARCHITECTURE Behavior OF adder16 IS
BEGIN
S <= X + Y ;
END Behavior ;
------------------------------------------------------------------------------------------------------------------LIBRARY ieee ;
USE ieee.std_logic_1164.all ;
ENTITY fulladd IS
PORT (
Cin, x, y
: IN STD_LOGIC ;
s, Cout
: OUT STD_LOGIC ) ;
END fulladd ;
ARCHITECTURE LogicFunc OF fulladd IS
BEGIN
s <= x XOR y XOR Cin ;
Cout <= (x AND y) OR (x AND Cin) OR (y AND Cin) ;
END LogicFunc ;
-------------------------------------------------------------------------------------------------------------------

c)

d)

LIBRARY ieee ;
USE ieee.std_logic_1164.all ;

ENTITY adder IS
PORT (
Cin : IN STD_LOGIC ;
X, Y : IN STD_LOGIC_VECTOR(3 DOWNTO 0) ;
S
: OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ;
Cout : OUT STD_LOGIC ) ;
END adder ;
ARCHITECTURE Structure OF adder IS
SIGNAL C : STD_LOGIC_VECTOR(1 TO 3) ;
COMPONENT fulladd
PORT (
Cin, x, y
: IN STD_LOGIC ;
s, Cout
: OUT STD_LOGIC) ;
END COMPONENT ;
BEGIN
stage0: fulladd PORT MAP ( Cin , X(0), Y(0), S(0), C(1) ) ;
stage1: fulladd PORT MAP ( C(1), X(1), Y(1), S(1), C(2) ) ;
stage2: fulladd PORT MAP ( C(2), X(2), Y(2), S(2), C(3) ) ;
stage3: fulladd PORT MAP (
x => X(3), y => Y(3), Cin => C(3), s => S(3), Cout => Cout ) ;
END Structure ;
------------------------------------------------------------------------------------------------------------------El lector expresar como un vector, el nmero de bits de las palabras que desea
sumar, y lo indicar como parmetro de programacin.

6.-

BIBLIOGRAFA.
MILLMAN, Jacob. HALKIAS, Christos C. Electrnica Integrada, 9 Edicin.,
Editorial Hispano-Europea S.A., 1992.
Seminario internacional dictado por Ing. Guillermo Jaquenod, sobre diseo de
dispositivos de lgica programable de ALTERA, en la Universidad Javeriana, Bogot
Agosto de 2002.
http://www.ece.tntech.edu/public/

7.-

AGRADECIMIENTO ESPECIAL:
A Angie Muoz Correa y a Alexis Moreno Martnez, por su colaboracin en la
realizacin de este documento.

Vous aimerez peut-être aussi