Medio sumador

Medio sumador 

Hay dos entradas y dos salidas en un medio sumador. Las entradas se nombran como A y B, y las salidas se nombran como Sum (S) y Carry (C). La suma es X-OR de la entrada A y B. Carry es AND de la entrada A y B. Con la ayuda del medio sumador, se puede diseñar un circuito que sea capaz de realizar sumas simples con la ayuda de puertas lógicas.

Primero echemos un vistazo a la adición de bits individuales.
0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 10

Estas son las combinaciones de bits individuales menos posibles. Pero el resultado de 1 + 1 = 10. Este problema se puede resolver con la ayuda de una puerta EX-OR. Los resultados de la suma se pueden reescribir como una salida de 2 bits.

Por lo tanto, la combinación anterior se puede escribir como:

0 + 0 = 00

0 + 1 = 01

1 + 0 = 01

1 + 1 = 10

Circuito de medio sumador




library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

 

-- Uncomment the following library declaration if using

-- arithmetic functions with Signed or Unsigned values

--use IEEE.NUMERIC_STD.ALL;

 

-- Uncomment the following library declaration if instantiating

-- any Xilinx primitives in this code.

--library UNISIM;

--use UNISIM.VComponents.all;

 

entity medio_sumador is

    Port ( a : in  STD_LOGIC;

           b : in  STD_LOGIC;

           c : out  STD_LOGIC;

           s: out  STD_LOGIC);

end medio_sumador;

 

architecture Behavioral of medio_sumador is

 

component compuertand2 is

    Port ( a : in  STD_LOGIC;

           b : in  STD_LOGIC;

           q : out  STD_LOGIC);

end component;

 

component compuertaxor is

    Port ( a : in  STD_LOGIC;

           b : in  STD_LOGIC;

           q : out  STD_LOGIC);

end component;

 

 

begin

 

U0: compuertand2 PORT MAP (a,b,s);

U1:  compuertaxor PORT MAP (a,b,c);

 

 

 

end Behavioral;












Comentarios

Entradas populares de este blog

Sumador completo

Sumador de 4 bits