# suma de dos numeros de dos bits en vhdl



## tata91 (Abr 24, 2011)

Hola a todos, necesito hacer un sumador de dos numeros de dos bits en xilinx para la FPGA -pmot ( pero tengo que mostrar el codigo con "if o when o case ,etc") ...las condiciones son que primero si A>B EN el display me debe aparecer un 2, pero si A=B me tiene que aparecer un 5 no necesito carry....pero si necesito mostrar la suma de los numeros. agradeceria mucho quien me ayudara con esto realmente no c como hacerlo,estoy muy confundida


----------



## Americo (Abr 26, 2011)

buenas pues hay un post fijo en cabezera dedicado a esto de vhdl, ahi puedes presentar tus dudas.. 
bueno te doy una mano en esto, del sumador.


> pero tengo que mostrar el codigo con "if o when o case ,etc"


 no indicas que como quieres ver la respuesta si es en binario o en display... solo especificas que si A>B muestras 2 y si A=B muestras 5.
bueno ahi te va el codigo hecho a la rapida.. tendrias que verificarlo, ya que no estoy en casa y en este cafe internet no hay xilinx ise.

Código:
*library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;

entity sumador is* *
port(
A,B:in std_logic_vector(1 downto 0);
HEX0ut std_logic_vector(0 to 6); Sut std_logic_vector(4 downto 0));
end sumador;

architecture rtl of sumador is* *
constant numero5:std_logic_vector(0 to 6):="0100100"; -- 5
constant numero2:std-logic_vector(0 to 6):="0010010"; -- 2

begin* *
S<=('0'&A)+B; -- mostramos la suma en 5 bits,

process (A,B)* *
   begin
   if (A>B) then
   HEX0<=numero2;
   else 
     if(A=B) then
     HEX0<=numero5;
     else HEX0<="1111111"; -- para no mostrar nada en el display otros casos
     end if;
   end if;
end process;
end rtl;
* 

tendrias que compilarlo y asignarle pines... espero te funcione. saludos


----------



## tata91 (Abr 26, 2011)

oye muchas gracias...la verdad soy nueva por aca y apenas estoy conociendo el foro
con respecto a tu pregunta si toca mostrarlo en el display ..voy a probarlo haber si me funciona muchas gracias


----------

