00001 --**************************************************************
00002 --* *
00003 --* The source code for the ATLAS BCM "AAA" FPGA is made *
00004 --* available via the GNU General Public License (GPL) *
00005 --* unless otherwise stated below. *
00006 --* *
00007 --* In case of problems/questions/bug reports etc. please *
00008 --* contact michael.niegl@cern.ch *
00009 --* *
00010 --**************************************************************
00011
00012 --**************************************************************
00013 --* *
00014 --* $Source: /local/reps/bcmfpga/bcm_aaa/bcm_aaa/div/ltp_comm.vhd,v $
00015 --* $Revision: 1.11.2.3 $ *
00016 --* $Name: dev $ *
00017 --* $Author: mniegl $ *
00018 --* $Date: 2008/11/03 17:57:45 $ *
00019
00020
00021 --* *
00022 --**************************************************************
00023
00024
00025 library ieee;
00026
00027 use ieee.std_logic_1164.all;
00028
00029
00030
00031
00032 entity ltp_comm is
00033
00034 port (
00035 BCLK : in ;
00036 RESET : in ;
00037 ORBIT : in ;
00038 BCR : in ;
00039 START_RUN : in ;
00040 L1A : in ;
00041 ECR : in ;
00042 ECR_LOAD_EN : in ;
00043 ECR_LOAD : in (7 downto 0);
00044 L1A_LOAD_EN : in ;
00045 L1A_LOAD : in (23 downto 0);
00046 ORBIT_LOAD_EN : in ;
00047 ORBIT_LOAD : in (31 downto 0);
00048 EXT_EVID : out (31 downto 0);
00049 BCID : out (11 downto 0);
00050 ORBITID : out (31 downto 0)
00051 );
00052
00053 end ltp_comm;
00054
00055
00056
00057
00058 architecture ltp_comm_arc of ltp_comm is
00059
00060 signal bcid_reset : := '0';
00061
00062
00063 component ORBIT_cnt
00064 port (
00065 RESET : in ;
00066 CLK : in ;
00067 ORBIT : in ;
00068 ORBIT_LOAD_EN : in ;
00069 ORBIT_LOAD : in (31 downto 0);
00070 START_RUN : in ;
00071 CNT_ORBIT : out (31 downto 0));
00072 end component;
00073
00074
00075 component EVENT_cnt
00076 port (
00077 CLK : in ;
00078 RESET : in ;
00079 L1A : in ;
00080 ECR : in ;
00081 ECR_LOAD_EN : in ;
00082 ECR_LOAD : in (7 downto 0);
00083 L1A_LOAD_EN : in ;
00084 L1A_LOAD : in (23 downto 0);
00085 START_RUN : in ;
00086 EXT_EVENT_ID : out (31 downto 0));
00087 end component;
00088
00089
00090 component BID_cnt
00091 port (
00092 BC : in ;
00093 BCR : in ;
00094 RESET : in ;
00095 BID : out (11 downto 0));
00096 end component;
00097
00098 begin -- ltp_comm_arc
00099
00100
00101 turn_counter : ORBIT_cnt
00102 port map (
00103 RESET => RESET,
00104 CLK => BCLK,
00105 ORBIT_LOAD_EN => ORBIT_LOAD_EN,
00106 ORBIT_LOAD => ORBIT_LOAD,
00107 ORBIT => ORBIT,
00108 START_RUN => START_RUN,
00109 CNT_ORBIT => ORBITID);
00110
00111 bcid_reset <= ORBIT or BCR;
00112
00113
00114 bunch_counter : BID_cnt
00115 port map (
00116 BC => BCLK,
00117 BCR => bcid_reset ,
00118 RESET => RESET,
00119 BID => BCID);
00120
00121
00122 event_counter : EVENT_cnt
00123 port map (
00124 CLK => BCLK,
00125 RESET => RESET,
00126 L1A => L1A,
00127 ECR => ECR,
00128 L1A_LOAD_EN => L1A_LOAD_EN,
00129 L1A_LOAD => L1A_LOAD,
00130 ECR_LOAD_EN => ECR_LOAD_EN,
00131 ECR_LOAD => ECR_LOAD,
00132 START_RUN => START_RUN,
00133 EXT_EVENT_ID => EXT_EVID);
00134
00135 end ltp_comm_arc;