コンパイルするVHDLコードがありますが、それを合成しようとするとスタックします。つまり、合成が終了することはなく、コンソールに次のように表示されます。
図書館の仕事(建築)における実体通訳者の分析。
理由を理解しようとしましたが、理解できません。私が知っているのは、その行にコメントを付けるCPT_PAN <= CPT_PAN - 1;
と、突然合成できるということだけです。
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;
entity Interpretor is
Port (SCAN_CODE : IN STD_LOGIC_VECTOR(7 downto 0));
end Interpretor;
architecture Behavioral of Interpretor is
Signal CPT_PAN : Integer range 0 to 255 := 0;
begin
process(SYS_CLK)
begin
if (SYS_CLK'EVENT and SYS_CLK = '1') then
if SCAN_CODE = "01101011" then
if CPT_PAN /= 0 then
CPT_PAN <= CPT_PAN - 1; -- Line to be commented to synthesize
end if;
end if;
end if;
end process;
end Behavioral;