Здравствуйте, я очень новичок в мире программирования на VHDL, и у меня возникли проблемы с реализацией делителя частоты наряду с обнаружением границ сигнала. Код состоит из 6 кнопочных входов, каждый из которых будет работать, и вырабатывает импульс с частотой 1 кГц от 50 МГц. Проблема, которую я экспериментирую, как показано на рисунке, я получаю U в каждой входной переменной. Я искал в Интернете несколько разделителей частоты, но пока не добился успеха. Также я знаю о реализации определенного способа кода для загрузки его в fpga и другого для simulatin в xilinx. Любая помощь будет с благодарностью исправить проблемы с кодом
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;
use ieee.std_logic_unsigned.all;
entity armmov is
port(
CLK_50MHz: in std_logic;
rst : in std_logic;
BTN1 : in std_logic;
BTN2 : in std_logic;
BTN3 : in std_logic;
BTN4 : in std_logic;
BTN5 : in std_logic;
BTN6 : in std_logic;
PUL1 : out std_logic;
PUL2 : out std_logic;
PUL3 : out std_logic;
PUL4 : out std_logic;
PUL5 : out std_logic;
PUL6 : out std_logic
);
end armmov;
architecture Behavioral of armmov is
signal Counter : integer := 1;
signal CLK_1KHz: std_logic := '0';
begin
process (CLK_50MHz,rst)
begin
if (rst = '1') then
Counter <= 1;
CLK_1KHz <= '0';
elsif(CLK_50MHz'event and CLK_50MHz='1') then
Counter <= Counter + 1;
if (Counter = 25000) then
CLK_1KHz <= NOT CLK_1KHz;
Counter <= 1;
end if;
end if;
end process;
process(CLK_1KHz)
begin
if BTN1='1' then
PUL1<=CLK_1KHz;
else
PUL1 <='0';
end if;
if BTN2='1' then
PUL2<=CLK_1KHz;
else
PUL2 <='0';
end if;
if BTN3='1' then
PUL3<=CLK_1KHz;
else
PUL3 <='0';
end if;
if BTN4='1' then
PUL4<=CLK_1KHz;
else
PUL4 <='0';
end if;
if BTN1='1' then
PUL1<=CLK_1KHz;
else
PUL1<='0';
end if;
if BTN2='1' then
PUL2<=CLK_1KHz;
else
PUL2<='0';
end if;
if BTN3='1' then
PUL3<=CLK_1KHz;
else
PUL3<='0';
end if;
if BTN4='1' then
PUL4<=CLK_1KHz;
else
PUL4<='0';
end if;
if BTN5='1' then
PUL5<=CLK_1KHz;
else
PUL5<='0';
end if;
if BTN6='1' then
PUL6<=CLK_1KHz;
else
PUL6<='0';
end if;
end process;
end Behavioral;```[Results of simulation][1]
[1]: https://i.stack.imgur.com/rPFCF.png