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/cibu_comm.vhd,v $
00015 --* $Revision: 1.2.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
00033 entity cibu_comm is
00034
00035 port (
00036 CLK : in ;
00037 RESET : in ;
00038 INJ_PERM_SET_EN : in ;
00039 INJ_PERM_SET : in ;
00040 BEAM_PERM_SET_EN : in ;
00041 BEAM_PERM_SET : in ;
00042 INJ_PERM_1 : out ;
00043 INJ_PERM_2 : out ;
00044 BEAM_PERM_1 : out ;
00045 BEAM_PERM_2 : out
00046 );
00047
00048 end cibu_comm;
00049
00050
00051
00052
00053
00054 architecture cibu_comm_arc of cibu_comm is
00055
00056 begin -- cibu_comm_arc
00057
00058
00059 inj_set : process (CLK, RESET)
00060 begin -- process inj_set
00061 if RESET = '1' then -- asynchronous reset (active high)
00062 INJ_PERM_1 <= '1';
00063 INJ_PERM_2 <= '1';
00064 elsif CLK'event and CLK = '1' then -- rising clock edge
00065 if INJ_PERM_SET_EN = '1' then
00066 INJ_PERM_1 <= INJ_PERM_SET;
00067 INJ_PERM_2 <= INJ_PERM_SET;
00068 end if;
00069 end if;
00070 end process inj_set;
00071
00072
00073 beam_set : process (CLK, RESET)
00074 begin -- process beam_set
00075 if RESET = '1' then -- asynchronous reset (active high)
00076 BEAM_PERM_1 <= '1';
00077 BEAM_PERM_2 <= '1';
00078 elsif CLK'event and CLK = '1' then -- rising clock edge
00079 if BEAM_PERM_SET_EN = '1' then
00080 BEAM_PERM_1 <= BEAM_PERM_SET;
00081 BEAM_PERM_2 <= BEAM_PERM_SET;
00082 end if;
00083 end if;
00084 end process beam_set;
00085
00086 end cibu_comm_arc;