Circuitos Digitales - Ayuda con VHDL

   
Vista:

Ayuda con VHDL

Publicado por L (1 intervención) el 23/03/2008 18:31:16
Hola!!! Estoy empezando a programar en VHDL. Es mi primera práctica. Me han pedido que haga la arquitectura estructural de una ALU con operandos de un numero variable de n bits. Utiliza los componentes AE(segundo operando),LE(operaciones logicas),CI(acarreo),FA(sumador completo de 1 bit). Este es el codigo que he hecho, pero no me funciona correctamente. ¿Alguien me puede ayudar? Estoy ya desesperada. Muchas graciasss

entity alu is generic(

n : natural := 8); -- operand width. Podemos utilizar n como un parametro constante

port(
a : in std_logic_vector (n-1 downto 0);
b : in std_logic_vector (n-1 downto 0);
s : in std_logic_vector (2 downto 0);
f : out std_logic_vector (n-1 downto 0);
carry : out std_logic;
overflow : out std_logic);
end alu;

architecture structural of alu is

component circuitoAE
port (s: in std_logic_vector; b: in std_logic; fae: out std_logic);
end component;
component circuitoCI
port (s: in std_logic_vector; fci: out std_logic);
end component;
component circuitoLE
port (s:in std_logic_vector; a, b: in std_logic; fle: out std_logic);
end component;
component circuitoFA
port (a, b, c: in std_logic; c_mas,s: out std_logic);
end component;
signal salidafa, salidafae, salidafle, salidafci: std_logic_vector(n-1 downto 0);

begin

0: circuitoCI port map (s);

cAlu: for i in 0 to n generate
1: circuitoAE port map (s, b(i), salidafae(i));
2: circuitoLE port map (s, a(i), b(i) ,salidafle(i));
3: circuitoFA port map (salidafle(i),salidafae(i), salidafci(i), salidafci(i+1), salidafa(i));
end generate;

carry<=salidafci(n);
overflow <= salidafci(n) xor salidafci(n-1);

end structural;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder