Professional Documents
Culture Documents
Materia:
Fundamentos Electrónica Digital
Profesor:
Yobany Díaz Roque
Estudiante:
Sebastian Martinez Madera
ID:
1101499
Implementar en VHDL el sumador parametrizado y la ALU
Design.vhd:
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;
ENTITY design IS
PORT (
);
END design;
-- Componente Mux
COMPONENT Mux
port(
sInALU: IN std_logic;
);
END COMPONENT;
-- Componente OpALU
COMPONENT OpALU is
port(
sOpALU: IN std_logic;
);
END COMPONENT;
-- Componente Flag
COMPONENT Flag is
port(
);
END COMPONENT;
SIGNAL sX: std_logic_vector(3 DOWNTO 0);
BEGIN
Multiplexor: Mux PORT MAP(sInALU => I_ALU, svEntradaB => EntradaB, svRealB =>
sX);
ALU: OpALU PORT MAP(sOpALU => OP_ALU, svEntradaA => EntradaA, svResultMux
=> sX, svResultado => Resultado, sZero => sXZero);
FlagComp: Flag PORT MAP(sCLK => clk, sResetL => reset, sIdFlag => ID_Flag, sFlag
=> Flagd, sZero => sXZero);
END designArch;
Mux.vhd:
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;
ENTITY Mux IS
PORT (
--Asociadas al Multiplexor.
sInALU: IN std_logic;
END Mux;
BEGIN
PROCESS (sInALU,svEntradaB)
BEGIN
IF (sInALU = '0')
END IF;
END PROCESS;
END MuxArch;
OpALU.vhd:
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;
ENTITY opALU IS
PORT (
--Asociadas a la ALU.
sOpALU: IN std_logic;
svEntradaA:IN std_logic_vector(3 DOWNTO 0);
);
END opALU;
BEGIN
BEGIN
--señal sOpALU:
IF (sOpALU = '0')
END IF;
END IF;
END PROCESS;
END OpALUArch;
Flag.vhd:
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;
ENTITY Flag IS
);
END Flag;
BEGIN
PROCESS(sResetL,sClk,sIdFlag,sZero)
BEGIN
IF (sResetL = '0')
-- el próximo tema.
END IF;
END IF;
END PROCESS;
END FlagArch;
Testbench.vhd:
library IEEE;
use IEEE.std_logic_1164.all;
entity testbench is
-- empty
end testbench;
architecture tb of testbench is
-- DUT component
component design IS
PORT (
);
end component;
begin
-- Connect DUT
DUT: design port map(EntradaA => EntradaA_in, EntradaB => EntradaB_in, Resultado
=> Resultado_out, reset => reset_in, clk => clk_in, I_ALU => I_ALU_in, OP_ALU =>
OP_ALU_in, ID_Flag => ID_Flag_in, Flagd => Flagd_out );
process
begin
wait;
end process;
end tb;