2 use ieee.std_logic_1164.all;
\r
3 use ieee.numeric_std.all;
\r
5 architecture beh of event_counter is
\r
6 signal sense_old, sense_old_next : std_logic;
\r
7 signal cnt_int, cnt_next : std_logic_vector(CNT_WIDTH - 1 downto 0);
\r
11 process(sys_clk, sys_res_n)
\r
13 if sys_res_n = '0' then
\r
14 cnt_int <= (others => '0');
\r
15 sense_old <= RESET_VALUE;
\r
16 elsif rising_edge(sys_clk) then
\r
17 cnt_int <= cnt_next;
\r
18 sense_old <= sense_old_next;
\r
22 process(cnt_int, sense, sense_old)
\r
24 sense_old_next <= sense;
\r
25 cnt_next <= cnt_int;
\r
27 if sense_old /= sense and sense = '0' then
\r
28 cnt_next <= std_logic_vector(unsigned(cnt_int) + 1);
\r
31 end architecture beh;
\r