Sergio Gomez Rodriguez (Grupo5) Sumadores Los circuitos aritmticos posibilitan las operaciones de clculo en la tecnologa digital y representan la base para el desarrollo de los sistemas computacionales. En nuestro caso los circuitos digitales sumadores realizan la suma aritmtica de dos nmeros enteros positivos, aunque se pueden desarrollar para otros formatos de descripcin numrica. No solo existe un tipo de estructura de circuitos digitales sumadores sino que existen muchas diferencindose en su tamao y velocidad. Para operandos de entrada de un bit A y B existen dos estructuras el full-adder (sumador completo) o half-adder (semi-sumador) que no contiene acarreo de entrada Existirn dos bits a la salida de cada suma que ser S (suma) y el acarreo de salida (Co) a partir de la tabla que se genera se pueden sacar sus funciones lgicas siendo las siguientes: sumadores Medio sumador sumadores sumadores Sumador completo de un bit Sumador completo de un bit Sumadores Sumador completo Sumador completo En la practica, los circuitos sumadores manejan informaciones binarias con una longitud de palabra superior a un bit, por lo que es preciso ampliar la funcionalidad del semisumador a un dispositivo capaz de realizar sumas binarias de n bits. Desde un punto de vista genrico sean A y B dos informaciones binarias de n bits: A=A n-1 A n-2 .A 2 A 1 A 0 B=B n-1 B n-2 ..B 2 B 1 B 0 La suma A + B ser un proceso de n sumas parciales, comenzando por los dos bits de peso menor. Se comienza con A 0 Y B 0 dando esto un S 0 y un bit de acarreo C 0 que se propagar como elemento integrante de la suma, en los siguientes dos bits en orden ascendente de peso. A partir de entonces el resultado de todas las operaciones incorporara un bit de suma S i y un bit de acarreo C i que se propagara como elemento integrante de la suma en los dos bits siguientes y as sucesivamente. S=C n-1 S n-1 S n-2 .. S 2 S 1 S 0 Sumadores Sumadores Sumadores Sumadores Descripcion en VlDL de un sumador completo Library ieee; Entity Sumador is Port ( a, b, co: in bit ;s , cout : out bit); End sumador; Architecture caso1 of sumador is Begin Process(a,b,cin)[poner las entradas] Begin If( a=1 and b=1 or a=1 and co=1 or b=1 and co=1) Then cout <=1 ; Else cout <=0; End if; If ( a=0 and b=0 and c=1 or a=0 and b=1 and c=0 or a=1 and b=0 and c=0 or a=1 and b=1 and c=1) Then s<=1; Else s<=0; End if; End process; End caso1; Tabla de verdad del sumador completo Sumador completo de 4 bits library ieee; use.ieee.std_logic_ll64.all; use ieee.std_logic_signed.all; -- Estas sentencias reconocen el tipo std_logic y las operaciones aritmticas sobre l. entity addr4 is port (A, B: in std_Iogic_vector(4 downto 1); Cin: in std_logic; S: out std_Iogic_vector(4 downto 1); Cout: out std_Iogic); end addr4; architecture comportamiento of addr4 is signal sum: std_Iogic_vector(5 downto 1); -- Variable intermedia para acumular la suma begin -- Expande A a 5 bits por concatenacin, y realiza la suma en 5 bits Sum <= ('O' & A) + B + Cin; S <= Sum(4 downto 1); - Los bits de suma son los cuatro bits menos significativos. Cout <= Sum(5); -- El bit de acarreo es bit ms significativo end comportamiento; Sumador completo 4LS83 Circuitos con sumadores 1 Circuitos con sumadores 2 Circuitos con sumadores Problemas propuestos 1- Disear utilizando nicamente semisumadores y sumadores completos un circuito digital que realice la multiplicacin de un nmeros binario de dos bits por otro de tres bits 2-Disear un circuito que realice la operacin aritmtica: O = 6X+Y 3-Realizar la suma de 2 nmeros de 16 bits utilizando el menor nmero posible de sumadores completos ("74LS83). 4-Disear un circuito que realice la operacin aritmtica: O = 5 X + 2 Y + Z para operandos X (x1x0), Y (y1y0) y Z (z1z0) de dos bits, utilizando el menor nmero posible de semisumadores de dos bits de operandos de entradas A (a1a0) y B (b1b0)