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

Back to eFEX documentation
clock_pulse.vhd
Go to the documentation of this file.
1 
8 
9 LIBRARY ieee;
10 USE ieee.std_logic_1164.all;
12 ENTITY clock_pulse IS
13  PORT(
15  CLK_I : IN std_logic;
17  RESET : IN std_logic;
19  Enable : IN std_logic;
21  pulse : OUT std_logic
22  );
23 
24 END clock_pulse ;
26 ARCHITECTURE rtl OF clock_pulse IS
27 
28 
29  SIGNAL ClockR : std_logic := '0';
30  SIGNAL ClockF : std_logic := '0';
31 
32 BEGIN
33 
34  process(clk_i,reset,enable)
35  begin
36  if rising_edge(clk_i) then
37  if reset = '1' then
38  ClockR <= '0';
39  else
40  if Enable = '1' then
41  ClockR <= not ClockR;
42  end if;
43  end if;
44  end if;
45  end process;
46 
47 
48  process(clk_i,reset )
49  begin
50  if falling_edge(clk_i) then
51  if reset = '1' then
52  ClockF <= '0';
53  else
54  ClockF <= ClockR;
55  end if;
56  end if;
57  end process;
58 
59  pulse <= ClockF xor ClockR;
60 
61 END rtl;
62 
63 
clcock pulse
Definition: clock_pulse.vhd:26
clcock pulse
Definition: clock_pulse.vhd:12
out pulse std_logic
pulse created from the enable siganl
Definition: clock_pulse.vhd:22
in Enable std_logic
enable
Definition: clock_pulse.vhd:19
in RESET std_logic
reset
Definition: clock_pulse.vhd:17
in CLK_I std_logic
clock in
Definition: clock_pulse.vhd:15