Ниже приведен код, который я запускаю. Мой вопрос: почему 3-й wait until
не срабатывает в modelim? Вывод консоли просто GOT HERE
. Он никогда не доходит до строки GOT HERE 2
. Я бы подумал, что иметь одно и то же wait until <SIGNAL> = 1
дважды подряд было бы нормально, потому что условие верно оба раза. Я не добавлял туда событие, поэтому я не думаю, что симулятору нужно будет видеть край. Кто-нибудь может объяснить такое поведение?
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
entity example_wait_failure is
end example_wait_failure;
architecture behave of example_wait_failure is
signal r_CLK_TB : std_logic := '0';
begin
r_CLK_TB <= '1' after 20 ns, '0' after 40 ns, '1' after 60 ns;
p_TEST : process
begin
wait until r_CLK_TB = '1';
report "GOT HERE" severity note;
wait until r_CLK_TB = '1';
wait until r_CLK_TB = '1';
report "GOT HERE 2 " severity note;
end process p_TEST;
end behave;