process(clk,reset)
begin
if reset = '0' then
ENx <= '0';
elsif rising_edge(clk) then
ENx <= '1';
else
end if;
end process;
對於上面的代碼,編譯器認為ENx信號在clk的上升沿和下降沿都在變化,是不允許的。妳可以將else中的語句拿掉即可(會產生鎖存器)。如果不希望產生鎖存器的話,需要在elsif中加其他清除代碼,註意不能再else中加。