8 use IEEE.STD_LOGIC_1164.
ALL;
9 use IEEE.NUMERIC_STD.
ALL;
10 library infrastructure_lib;
11 use infrastructure_lib.all;
23 bcn_0 : in std_logic_vector(6 downto 0);
25 bcn_1 : in std_logic_vector(6 downto 0);
27 bcn_2 : in std_logic_vector(6 downto 0);
29 bcn_3 : in std_logic_vector(6 downto 0);
47 cntr_ch3 : out std_logic_vector( 6 downto 0)
53 signal pseudo_orbit_ch0,pseudo_orbit_ch1,pseudo_orbit_ch2,pseudo_orbit_ch3:std_logic;
54 signal cntr_ch0_int,cntr_ch1_int,cntr_ch2_int,cntr_ch3_int :std_logic_vector( 4 downto 0) ;
55 signal aeqb_ch0_int,aeqb_ch1_int,aeqb_ch2_int,aeqb_ch3_int :std_logic;
65 process_ch0:
process (
clk)
67 if clk' event and clk = '1' then
68 if aeqb_ch0_int ='1' then
74 process_ch1:
process (
clk)
76 if clk' event and clk = '1' then
77 if aeqb_ch1_int ='1' then
83 process_ch2:
process (
clk)
85 if clk' event and clk = '1' then
86 if aeqb_ch2_int ='1' then
92 process_ch3:
process (
clk)
94 if clk' event and clk = '1' then
95 if aeqb_ch3_int ='1' then
139 sm_orbit_0:
entity infrastructure_lib.
orbit_sm
151 sm_orbit_1:
entity infrastructure_lib.
orbit_sm
163 sm_orbit_2:
entity infrastructure_lib.
orbit_sm
175 sm_orbit_3:
entity infrastructure_lib.
orbit_sm
out cntr_value std_logic_vector( 4 DOWNTO 0)
count value
out A_eq_B std_logic
two counter equal
in chan_orbit std_logic
channel orbit
in ref_orbit std_logic
reference orbit channel
in clk std_logic
ttc clock
in bcn std_logic_vector( 4 downto 0)
5 lsb of the bcn kn the data
out pseudo_orbit std_logic
pseudo orbit pulse generated
out cntr_ch2 std_logic_vector( 6 downto 0)
counter value of channel 2
out aeqb_ch1 std_logic
two counter equal in channel 1
out aeqb_ch2 std_logic
two counter equal in channel 2
in bcn_2 std_logic_vector( 6 downto 0)
bunch crossing number of channel 2
in clk std_logic
TTC 40MHz clock.
in bcn_0 std_logic_vector( 6 downto 0)
bunch crossing number of channel 1
out aeqb_ch0 std_logic
two counter equal in channel 0
out aeqb_ch3 std_logic
two counter equal in channel 3
in bcn_1 std_logic_vector( 6 downto 0)
bunch crossing number of channel 3
in bcn_3 std_logic_vector( 6 downto 0)
bunch crossing number of channel 3
out cntr_ch0 std_logic_vector( 6 downto 0)
counter value of channel 0
in start std_logic
start pulse
out cntr_ch1 std_logic_vector( 6 downto 0)
counter value of channel 1
out cntr_ch3 std_logic_vector( 6 downto 0)
counter value of channel 3
in ref_orbit std_logic
orbit reference signal