uart_rx: ein prozessmodell. spart weitere 3 logic elements :P
[hwmod.git] / src / textmode_vga / interval_beh.vhd
1 -------------------------------------------------------------------------\r
2 --\r
3 -- Filename: interval_beh.vhd\r
4 -- =========\r
5 --\r
6 -- Short Description:\r
7 -- ==================\r
8 --   Behavioral implementaiton of the interval timer\r
9 --\r
10 -------------------------------------------------------------------------\r
11 \r
12 library ieee;\r
13 use ieee.std_logic_1164.all;\r
14 \r
15 architecture beh of interval is\r
16   constant CNT_MAX : integer := INTERVAL_TIME_MS * (CLK_FREQ / 1000);\r
17   signal cnt : integer range 0 to CNT_MAX - 1;\r
18   signal active_int : std_logic;\r
19 begin\r
20   active <= active_int;\r
21   process(clk, res_n)\r
22   begin\r
23     if res_n = '0' then\r
24       cnt <= 0;\r
25       active_int <= '0';\r
26     elsif rising_edge(clk) then\r
27       if cnt < CNT_MAX - 1 then\r
28         cnt <= cnt + 1;\r
29       else\r
30         cnt <= 0;\r
31         active_int <= not active_int;\r
32       end if;\r
33     end if;\r
34   end process;\r
35 end architecture beh;\r
36