У меня проблема с синтаксисом if
VHDL. Код выглядит следующим образом:Оператор VHDL IF не работает
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity Shifting_zero is
port (clk : in STD_LOGIC;
zeros : buffer STD_LOGIC_VECTOR (3 downto 0));
end Shifting_zero;
architecture Behavioral of Shifting_zero is
begin
process
begin
if (clk'event and clk='1') then
if (zeros='0111') then
zeros <= '1011';
elsif (zeros='1011') then
zeros <= '1101';
elsif (zeros-'1101') then
zeros <= '1110';
else
zeros <= '0111';
end if;
end if;
end process;
end Behavioral;
я получаю следующие ошибки:
Ошибка линии 15. синтаксического анализа, неожиданный ПРОЦЕСС
линии 18. ошибку синтаксического анализа, неожиданный TICK
Строка 20. Ошибка синтаксического анализа, неожиданный TICK
Строка 23. Ошибка синтаксического анализа, неожиданный T ICK
Line ошибка 26. синтаксического анализа, неожиданные END, не ожидая SEMICOLON
линии 12. Нет списка чувствительности и не ждать в процессе (предупреждение)
Я новичок в VHDL и довольно путать по этим ошибкам.
Обратите внимание на разнице между символьным литералом '“A'' и строковым литералом'»AAAA" '. –
Вы разместили правильный код? Потому что номера строк не совпадают. Даже если мы игнорируем это, в строке 'process' нет ошибки, и нет также неожиданного' END'. –