ADD: Вот правильный текст тестбенча:
Код: Выделить всё
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_unsigned.all;
USE ieee.numeric_std.ALL;
LIBRARY STD;
USE STD.TEXTIO.all;
ENTITY TB_Comparator1 IS
END TB_Comparator1;
ARCHITECTURE behavior OF TB_Comparator1 IS
-- Объявление объекта для теста
COMPONENT Comparator1
PORT(
A : IN std_logic;
B : IN std_logic;
EQ : OUT std_logic
);
END COMPONENT;
--Inputs
signal A : std_logic := '0';
signal B : std_logic := '0';
--Outputs
signal EQ : std_logic;
BEGIN
-- Подсоединение тестируемого объекта (UUT)
uut: Comparator1 PORT MAP (
A => A,
B => B,
EQ => EQ
);
-- Собственно процесс тестирования
stim_proc: process
variable Message : line;
begin
-- Ожидание для выполнения начального сброса схемы
wait for 100 ns;
-- Первый тест
A <= '0';
B <= '0';
wait for 5 ns;
if EQ = '1' then
Write(Message, "Test 1 PASS");
else
Write(Message, "Test 1 FAIL");
end if;
WriteLine(Output, Message);
wait for 95 ns;
-- Второй тест
A <= '0';
B <= '1';
wait for 5 ns;
if EQ = '0' then
Write(Message, "Test 2 PASS");
else
Write(Message, "Test 2 FAIL");
end if;
WriteLine(Output, Message);
wait for 95 ns;
-- Третий тест
A <= '1';
B <= '0';
wait for 5 ns;
if EQ = '0' then
Write(Message, "Test 3 PASS");
else
Write(Message, "Test 3 FAIL");
end if;
WriteLine(Output, Message);
wait for 95 ns;
-- Четвёртый тест
A <= '1';
B <= '1';
wait for 5 ns;
if EQ = '1' then
Write(Message, "Test 4 PASS");
else
Write(Message, "Test 4 FAIL");
end if;
WriteLine(Output, Message);
wait for 95 ns;
-- Тестирование закончено
assert false report "Simu1ation Comp1eted" severity failure;
end process;
END;


