Sumador Binario N Bits
Sumador Binario N Bits
Sumador Binario N Bits
1.-
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
2.-
ACARREO
3.-
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.-
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.
=
=
)+
)+
=
+
)+
)+
)+ (
)+ (
=(
)+ (
+
+
)+ (
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)
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.
5.-
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.
a)
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;
ENTITY adder IS
PORT (op1, op2
result
END adder;
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.