Это должно быть самой распространенной проблемой среди людей, плохо знакомых с VHDL, но я не вижу, что я делаю здесь неправильно!Это, кажется, соответствует всем идиомам, которые я видел на правильном дизайне конечного автомата.Я собираю в Altera Quartus 9.2, для чего это стоит.Фактическая ошибка:
"Невозможно определить регистр для" spiclk_out "в [file] [line], потому что он не держит свое значение за пределами границы часов"
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;
Спасибоза ваше время.