1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
library ieee;
use ieee.std_logic_1164.all;
use work.test_pkg.all;
entity tb_test is
end entity;
architecture a of tb_test is
type reference_arr_t is array(number_t, number_t) of std_logic_vector(1 to 6);
signal reference_arr : reference_arr_t;
signal x, y : number_t;
signal eq, neq, lt, lte, gt, gte : boolean;
signal result : std_logic_vector(1 to 6);
begin
reference_arr(ONE, ONE) <= "100101";
reference_arr(ONE, TWO) <= "011100";
reference_arr(ONE, THREE) <= "011100";
reference_arr(TWO, ONE) <= "010011";
reference_arr(TWO, TWO) <= "100101";
reference_arr(TWO, THREE) <= "011100";
reference_arr(THREE, ONE) <= "010011";
reference_arr(THREE, TWO) <= "010011";
reference_arr(THREE, THREE) <= "100101";
process
begin
for a in ONE to THREE loop
for b in ONE to THREE loop
x <= a;
y <= b;
wait for 10 ns;
assert result = reference_arr(a, b);
end loop;
end loop;
wait;
end process;
result(1) <= '1' when eq else '0';
result(2) <= '1' when neq else '0';
result(3) <= '1' when lt else '0';
result(4) <= '1' when lte else '0';
result(5) <= '1' when gt else '0';
result(6) <= '1' when gte else '0';
test_inst: entity work.test
port map (
x => x,
y => y,
eq => eq,
neq => neq,
lt => lt,
lte => lte,
gt => gt,
gte => gte
);
end architecture;
|