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

Back to eFEX documentation
fsm_extra_busy_en.vhd
Go to the documentation of this file.
1 
10 
11 
12 library IEEE;
13 use IEEE.STD_LOGIC_1164.ALL;
14 
15 use IEEE.NUMERIC_STD.ALL;
16 
17 library TOB_rdout_lib;
18 use TOB_rdout_lib.TOB_rdout_ip_pkg.ALL;
19 use TOB_rdout_lib.data_type_pkg.all;
20 
23  Port (
25  CLK_IN : in STD_LOGIC;
27  busy_counter_rst : in std_logic ;
29  RST : in STD_LOGIC;
31  busy_extra_en_out : out STD_LOGIC
32  );
34 
36 architecture Behavioral of fsm_extra_busy_en is
37 
38  signal busy_en_out_i : std_logic ;
39 
40  TYPE STATE_TYPE IS (
41  idle,
42  ser_1,
43  ser_2,
44  ser_3,
45  ser_4
46  ) ;
47 
48  SIGNAL current_state : STATE_TYPE;
49 
50 begin
51 
52  -- output ports
53  busy_extra_en_out <= busy_en_out_i ;
54 
55 
56 -- This FSM generated the enable signa for NUSY counters
57 
58 U3_rd_XTOB_fsm : process (CLK_IN)
59 
60  begin
61  if CLK_IN'event and CLK_IN = '1' then
62  if (RST = '1' OR busy_counter_rst = '1')then
63  current_state <= idle ;
64  busy_en_out_i <= '0' ;
65  else
66  CASE current_state is
67  when idle =>
68  busy_en_out_i <= '1' ;
69  current_state <= ser_1 ;
70 
71  when ser_1 =>
72  busy_en_out_i <= '0' ;
73  current_state <= ser_1 ;
74 
75 -- when ser_2 =>
76 -- busy_en_out_i <= '0' ;
77 -- if busy_counter_rst = '0' then -- on L1A
78 -- current_state <= idle ;
79 -- else
80 -- current_state <= ser_2 ;
81 -- end if;
82 
83  when others =>
84  NULL;
85  end case;
86  end if;
87  END IF;
88  end process;
89 
90 end Behavioral;
91 
Top of fsm_extra_busy_en for process FPGA.
Top of fsm_extra_busy_en for process FPGA.
in busy_counter_rst std_logic
busy counter reset signal from IPBUS
in CLK_IN STD_LOGIC
Clock input signal.
out busy_extra_en_out STD_LOGIC
enable signal to all BUSY counters
in RST STD_LOGIC
power up reset