Está en la página 1de 5

Sumador 2 bits

Código en VHDL utilizando un algoritmo funcional

– Este programa describe el diseño de un sumador

– COMPLETO

– COMPLETO SUMADOR

– Descripción: Funcional

library IEEE;

use IEEE.std_logic_1164.all;

–Declaración de la entidad

entity sumador_completo is port (

X,Y,Z: in std_logic; — Se requieren tres entradas

S,C: out std_logic); — Se requieren dos salidas; una representa

end sumador_completo; — la suma y la otra representa el valor del –acarreo.

architecture asumador_completo of sumador_completo is

begin

sumador_completo:process(X,Y,Z)

begin

if (X= ’0′ and Y= ’0′ Z= ’0′) then

S<= ’0′, C<= ’0′;

elsif (X= ’0′ and Y= ’0′ Z= ’1′) then

S<= ’1′, C<= ’0′;

elsif (X= ’0′ and Y= ’1′ Z= ’0′) then

S<= ’1′, C<= ’0′;

elsif (X= ’0′ and Y= ’1′ Z= ’1′) then

S<= ’0′, C<= ’1′;

elsif (X= ’1′ and Y= ’0′ Z= ’0′) then

S<= ’1′, C<= ’0′;

elsif (X= ’1′ and Y= ’0′ Z= ’1′) then

S<= ’0′, C<= ’1′;

elsif (X= ’1′ and Y= ’1′ Z= ’0′) then

S<= ’0′, C<= ’1′;

else

S<= ’1′ and C<= ’1′;


end if;

end process sumador_completo;

end asumador_completo;

Código en VHDL utilizando un algoritmo flujo de datos

– Este programa describe el diseño de un sumador

– completo

– SUMADOR COMPLETO

– Descripción: Flujo de datos

library IEEE;

use IEEE.std_logic_1164.all;

–Declaración de la entidad

entity sumador_completo is port (

X,Y,Z: in std_logic; — Se requieren dos entradas

S,C: out std_logic); — Se requieren dos salidas; una es la suma

end sumador_completo; — y la otra representa el valor del acarreo.

architecture asumador_completo of sumador_completo is

begin

S<= X xor Y xor Z;

C<= (X and Y) or ((X xor Y) and Z);

end asumador_completo;

Código en VHDL utilizando un algoritmo estructural

– Este programa describe el diseño de un sumador

– completo

– SUMADOR COMPLETO

– Descripción: Estructural

library IEEE;

use IEEE.std_logic_1164.all;

–Declaración de la entidad

entity sumador_completo is port (

X,Y,Z: in std_logic; — Se requieren dos entradas

S,C: out std_logic); — Se requieren dos salidas; una es la suma

end sumador_completo; — y la otra representa el valor del acarreo.

architecture asumador_completo of sumador_completo is


signal s1, s2, s3: std_logic;

begin

s1<= X xor Y;

s2<= s1 and Z;

s3<= X and Y;

S<= s1 xor Z;

C<= s2 or s3;

end asumador_completo;

sumador 4 bits
Sumador 2

También podría gustarte