Мне нужно запустить VHDL-код при нажатии кнопки - PullRequest
0 голосов
/ 27 марта 2019

У меня есть ПЛИС, которую я кодирую с помощью VHDL. Я хочу, чтобы система запускалась в известном состоянии, пока все операционные усилители не будут включены. Моя попытка установить значение при нажатии кнопки. Когда это значение получено, код продолжается. Я думаю, что когда флаг установлен, это начальное значение «1000» игнорируется, и FPGA, скорее всего, начинается со всех нулей. При нажатии клавиши устанавливается новое значение «флаг». Затем я ожидаю, что тестовый светодиод будет мигать. Я попробовал это, и ничего не происходит. Если я заменю

if (flag = "10011") then

с

if (KEY_N(0) = '1') then

это работает.

Что мне не хватает в коде, как показано ниже?

Я также поместил пару «если» в синхронизированную секцию, но безуспешно.

signal flag : std_logic_vector(4 downto 0):= "10000"; 

DATA: process(CLK, KEY_N(0)) -- 
    begin

        if KEY_N(0) = '1' then  
            flag <= "10011";
        end if;

        if KEY_N(0) = '0' then 
            flag <= "00100";
        end if;
    if (rising_edge(CLK))  then 
            clk_cntr <= clk_cntr + 1; 

        if (flag = "10011") then
            OTHER_CNTR <= OTHER_CNTR + 1;
        END IF;

    END IF;

    END PROCESS;

    GPIO_LEDTEST(2) <= OTHER_CNTR(22); --LED SHOULD BLINK
...