[vhdl]
LIBRARY IEEE;
USE IEEE.std_logic_1164.all;
USE IEEE.STD_LOGIC_TEXTIO.ALL;
USE IEEE.NUMERIC_STD.ALL;
USE STD.TEXTIO.ALL;
ENTITY testbench IS
END testbench;
ARCHITECTURE testbench_arch OF testbench IS
COMPONENT prakt2
PORT (
A: in std_logic_vector (31 downto 0);
B: in std_logic_vector (31 downto 0);
F: in std_logic_vector (2 downto 0);
Y: out std_logic_vector (31 downto 0);
Clock: in std_logic
);
END COMPONENT;
--develop signals to stimulate
SIGNAL A : std_logic_vector (31 downto 0) := (31 downto 0 => '0');
SIGNAL B : std_logic_vector (31 downto 0) := (31 downto 0 => '0');
SIGNAL F : std_logic_vector (2 downto 0) := (2 downto 0 => '0');
SIGNAL Y : std_logic_vector (31 downto 0) := (31 downto 0 => '0');
SIGNAL Clock : std_logic := '0';
SIGNAL V : std_logic_vector (31 downto 0) := (31 downto 1 => '0', others
=> '1');
--UUT means unit under test
BEGIN
UUT : prakt2
--map signals on right to entitys on the left
PORT MAP (
A => A,
B => B,
F => F,
Y => Y,
Clock => Clock
);
signal_Clock: process
begin
wait for 1 ns;
Clock <= NOT Clock;
end process;
signal_A: process(Clock)
begin
if rising_edge(Clock) then
A <= std_logic_vector(unsigned(A) + 1);
end if;
end process;
END testbench_arch;
[vhdl]