Я написал этот код, чтобы понять процесс в vhdl, но странным образом я увидел симуляцию, которая не работает должным образом, мой код:
entity test is
port(
i1 : in std_logic;
i2 : in std_logic;
r : out std_logic
);
end test;
architecture Behavioral of test is
signal g : std_logic;
begin
process(i1)
begin
if i1 = '1' then
g <= '1';
else
g <= '0';
end if;
end process;
process(i2)
begin
if i2 = '1' and g = '0' then
r <= '1';
else
r <= '0';
end if;
end process;
end Behavioral;
, и это мой результат: введите описание изображения здесь
когда я обрабатываю i1, поэтому g должно быть 1 в первом периоде, поэтому r должно быть 0, но r равно 1 после того, как i2 равно 1