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 63 64 65 66 67
|
entity tb_test_tf is
end tb_test_tf;
architecture behav of tb_test_tf is
signal a : bit_vector(3 downto 0);
signal red_and : bit;
signal red_nand : bit;
signal red_or : bit;
signal red_nor : bit;
signal red_xor : bit;
signal red_xnor : bit;
begin
dut: entity work.test_tf
port map (
a => a,
red_and => red_and,
red_nand => red_nand,
red_or => red_or,
red_nor => red_nor,
red_xor => red_xor,
red_xnor => red_xnor);
process
begin
a <= b"0101";
wait for 1 ns;
assert red_and = '0' severity error;
assert red_nand = '1' severity error;
assert red_or = '1' severity error;
assert red_nor = '0' severity error;
assert red_xor = '0' severity error;
assert red_xnor = '1' severity error;
a <= b"1111";
wait for 1 ns;
assert red_and = '1' severity error;
assert red_nand = '0' severity error;
assert red_or = '1' severity error;
assert red_nor = '0' severity error;
assert red_xor = '0' severity error;
assert red_xnor = '1' severity error;
a <= b"0000";
wait for 1 ns;
assert red_and = '0' severity error;
assert red_nand = '1' severity error;
assert red_or = '0' severity error;
assert red_nor = '1' severity error;
assert red_xor = '0' severity error;
assert red_xnor = '1' severity error;
a <= b"0001";
wait for 1 ns;
assert red_and = '0' severity error;
assert red_nand = '1' severity error;
assert red_or = '1' severity error;
assert red_nor = '0' severity error;
assert red_xor = '1' severity error;
assert red_xnor = '0' severity error;
report "done";
wait;
end process;
end behav;
|