Я новичок в VHDL и пытаюсь создать код, который даст мне точное значение случайной частоты между (0-50)Khz
, которое вводит пользователь.
Я использую часы 50Mhz
.
Сначала я сделал 2 счетчика:
- Для часов
50Mhz
.
- Для частоты, которую ставит пользователь.
Я не знаю, что мне нужно делать дальше. Вот что я написал:
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
entity freq_c is
port(x , clk :in bit;
stop1, stop0 :buffer integer range 0 to 99999;
f_o :buffer integer range 0 to 99999
);
end entity;
architecture bhv of freq_c is
signal cnt1 , cnt0 : integer range 0 to 9999;
begin
process(clk)
begin
if(clk'event and clk='1')then
if (x='1')then
cnt1<=cnt1+1;
stop0<=cnt0;
cnt0<=0;
elsif (x='0')then
cnt0<=cnt0+1 ;
stop1<=cnt1;
cnt1<=0;
end if;
end if;
end process;
end bhv;