4
這是VHDL新手中最常見的問題,但我沒有看到我是什麼在這裏做錯了!這似乎符合我在正確的狀態機設計中看到的所有成語。我正在Altera Quartus 9.2中進行編譯,以瞭解它的價值。實際的錯誤是:不能推斷寄存器...因爲它在時鐘邊緣外不保持它的值
「無法推斷註冊‘spiclk_out
ENTITY spi_state_machine IS
PORT(
spiclk_internal : IN STD_LOGIC;
reset : IN STD_LOGIC;
spiclk_out : BUFFER STD_LOGIC
);
END spi_state_machine;
PROCESS(spiclk_internal, reset)
BEGIN
IF reset = '1' THEN
spiclk_out <= '0';
END IF;
IF spiclk_internal = '1' AND spiclk_internal'EVENT THEN --error here
spiclk_out <= NOT spiclk_out;
END IF;
END PROCESS;
感謝您的時間’在[文件] [線],因爲它沒有時鐘邊緣外保值」。
也許你需要一個'ELSE'子句中爲'IF'賦值'spiclk_out'? – Marty