Advertisement
hbinderup94

clock_gen

May 25th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VHDL 0.94 KB | None | 0 0
  1. --------- clock_gen ---------
  2. Library ieee;
  3. use ieee.std_logic_1164.all;
  4. use ieee.numeric_std.all;
  5.  
  6. entity clock_gen is
  7. port(
  8.     clk         : in std_logic;
  9.     speed       : in std_logic;
  10.     reset       : in std_logic;
  11.     clk_out     : out std_logic);
  12. end clock_gen;
  13.  
  14. architecture structural of clock_gen is
  15.  
  16. begin
  17.  
  18.     CGpro: process(clk)                 -- counter process med counter som integer
  19.         variable counter : integer := 0;
  20.     begin
  21.         if rising_edge(clk)then
  22.             counter := counter + 1;     -- counter integer øges afhængigt af clockspeed
  23.             if ((counter >= 50000000 and speed = '1') or (counter >= 250000 and speed = '0')) then
  24.                 clk_out <= '1';         -- reset ved hvert sekund eller hurtigere ved tryk på "speed"
  25.                 counter := 0;                      
  26.             else
  27.                 clk_out <= '0';
  28.             end if;
  29.         else
  30.         NULL;
  31.         end if;
  32.        
  33.         if reset = '0' then             -- reset ved tryk på reset knap
  34.             counter := 0;
  35.             clk_out <= '0';
  36.         else
  37.         NULL;
  38.         end if;
  39.        
  40.     end process;
  41.  
  42.  
  43. end structural;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement