range_finder/Frequence.vhd
2020-12-17 15:03:10 +01:00

42 lines
No EOL
757 B
VHDL

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity Frequence is
port
(hor: in std_logic;
compteur,trigger: out std_logic);
end Frequence;
architecture Compteur of Frequence is
signal Trigg : std_logic_vector(23 downto 0);
signal Echo: std_logic_vector(12 downto 0);
begin
process(hor)
begin
if(hor'event and hor ='0') then
if(Trigg < 5000000) then
Trigg <= Trigg +1;
else
Trigg <= "000000000000000000000000";
end if;
if(Echo < 2940) then
Echo <= Echo + 1;
else
Echo <= "0000000000000";
end if;
end if;
end process;
compteur <= '1' when (Echo = 0) else '0';
trigger <= '1' when (Trigg < 500) else '0';
end Compteur;