eFEX firmware  1.7.3
ATLAS l1-calo - electron and tau feature extraction firmware for eFEX boards

Back to eFEX documentation
cntr_ram_addr_9b.vhd
Go to the documentation of this file.
1 
9 
10 
11 library IEEE;
12 use IEEE.STD_LOGIC_1164.ALL;
13 USE ieee.std_logic_arith.all;
14 
17 -- generic (
18 -- T_count : in STD_LOGIC_VECTOR (8 downto 0);
19 -- ld_count : in STD_LOGIC_VECTOR (8 downto 0)
20 -- );
21 
22  Port (
23  CE : in STD_LOGIC;
24  CLK : in STD_LOGIC;
25  RST : in STD_LOGIC;
26  Q : out STD_LOGIC_VECTOR (8 downto 0)
27  );
28  end cntr_ram_addr_9b;
29 
31 architecture Behavioral of cntr_ram_addr_9b is
32 
33 begin
34 process (CLK)
35  variable temp : unsigned (8 downto 0) ;
36 -- variable terminal_cnt : unsigned (8 downto 0):= (others => '1') ;
37  begin
38 
39  if CLK'event AND CLK = '1' then
40  if RST = '1' then -- this is a synchronous reset
41  temp := (others => '0') ; -- set counter to zero
42  else
43  if CE = '1' then
44  temp := temp + 1;
45  end if;
46  end if;
47  end if;
48  Q <= std_logic_vector(temp) ; -- push out new value
49  end process;
50 
51 
52 end Behavioral;