Back to home page

Project CMSSW displayed by LXR

 
 

    


Warning, /L1TriggerConfig/L1GtConfigProducers/data/VhdlTemplates/Templates/pre_algo_and_or.vhd is written in an unsupported language. File is not indexed.

0001 $(header)
0002 
0003 ------------------------------------------------------------
0004 --                                                        --
0005 -- LOGIC CORE: GTL-9U-module condition/algo chip logic    --
0006 -- MODULE NAME: algo_and_or                               --
0007 -- INSTITUTION: Hephy Vienna                              --
0008 -- DESIGNER: H. Bergauer                                  --
0009 --                                                        --
0010 -- VERSION: V4.0                                          --
0011 -- DATE: 06 2004                                          --
0012 --                                                        --
0013 -- FUNCTIONAL DESCRIPTION:                                --
0014 -- algo logic (and-or)                                    --
0015 --                                                        --
0016 ------------------------------------------------------------
0017 LIBRARY ieee;
0018 USE ieee.std_logic_1164.ALL;
0019 ENTITY algo_and_or IS
0020         GENERIC (
0021                         nr_ieg_4 : integer := 1;
0022                         nr_ieg_2_s : integer := 1;
0023                         nr_ieg_2_wsc : integer := 1;
0024                         nr_ieg_1_s : integer := 1;
0025                         nr_eg_4 : integer := 1;
0026                         nr_eg_2_s : integer := 1;
0027                         nr_eg_2_wsc : integer := 1;
0028                         nr_eg_1_s : integer := 1;
0029                         nr_jet_4 : integer := 1;
0030                         nr_jet_2_s : integer := 1;
0031                         nr_jet_2_wsc : integer := 1;
0032                         nr_jet_1_s : integer := 1;
0033                         nr_tau_4 : integer := 1;
0034                         nr_tau_2_s : integer := 1;
0035                         nr_tau_2_wsc : integer := 1;
0036                         nr_tau_1_s : integer := 1;
0037                         nr_fwdjet_4 : integer := 1;
0038                         nr_fwdjet_2_s : integer := 1;
0039                         nr_fwdjet_2_wsc : integer := 1;
0040                         nr_fwdjet_1_s : integer := 1;
0041                         nr_muon_4 : integer := 1;
0042                         nr_muon_2_s : integer := 1;
0043                         nr_muon_2_wsc : integer := 1;
0044                         nr_muon_1_s : integer := 1;
0045                         nr_muon_3 : integer := 1;
0046                         nr_jet_cnts_0_cond : integer := 1;
0047                         nr_jet_cnts_1_cond : integer := 1;
0048                         nr_jet_cnts_2_cond : integer := 1;
0049                         nr_jet_cnts_3_cond : integer := 1;
0050                         nr_jet_cnts_4_cond : integer := 1;
0051                         nr_jet_cnts_5_cond : integer := 1;
0052                         nr_jet_cnts_6_cond : integer := 1;
0053                         nr_jet_cnts_7_cond : integer := 1;
0054                         nr_jet_cnts_8_cond : integer := 1;
0055                         nr_jet_cnts_9_cond : integer := 1;
0056                         nr_jet_cnts_10_cond : integer := 1;
0057                         nr_jet_cnts_11_cond : integer := 1;
0058                         nr_ett_cond : integer := 1;
0059                         nr_etm_cond : integer := 1;
0060                         nr_htt_cond : integer := 1);
0061         PORT(
0062                 ieg_4           : IN    STD_LOGIC_VECTOR(nr_ieg_4 DOWNTO 0);
0063                 ieg_2_s         : IN    STD_LOGIC_VECTOR(nr_ieg_2_s DOWNTO 0);
0064                 ieg_2_wsc       : IN    STD_LOGIC_VECTOR(nr_ieg_2_wsc DOWNTO 0);
0065                 ieg_1_s         : IN    STD_LOGIC_VECTOR(nr_ieg_1_s DOWNTO 0);
0066                 eg_4            : IN    STD_LOGIC_VECTOR(nr_eg_4 DOWNTO 0);
0067                 eg_2_s          : IN    STD_LOGIC_VECTOR(nr_eg_2_s DOWNTO 0);
0068                 eg_2_wsc        : IN    STD_LOGIC_VECTOR(nr_eg_2_wsc DOWNTO 0);
0069                 eg_1_s          : IN    STD_LOGIC_VECTOR(nr_eg_1_s DOWNTO 0);
0070                 jet_4           : IN    STD_LOGIC_VECTOR(nr_jet_4 DOWNTO 0);
0071                 jet_2_s         : IN    STD_LOGIC_VECTOR(nr_jet_2_s DOWNTO 0);
0072                 jet_2_wsc       : IN    STD_LOGIC_VECTOR(nr_jet_2_wsc DOWNTO 0);
0073                 jet_1_s         : IN    STD_LOGIC_VECTOR(nr_jet_1_s DOWNTO 0);
0074                 tau_4           : IN    STD_LOGIC_VECTOR(nr_tau_4 DOWNTO 0);
0075                 tau_2_s         : IN    STD_LOGIC_VECTOR(nr_tau_2_s DOWNTO 0);
0076                 tau_2_wsc       : IN    STD_LOGIC_VECTOR(nr_tau_2_wsc DOWNTO 0);
0077                 tau_1_s         : IN    STD_LOGIC_VECTOR(nr_tau_1_s DOWNTO 0);
0078                 fwdjet_4        : IN    STD_LOGIC_VECTOR(nr_fwdjet_4 DOWNTO 0);
0079                 fwdjet_2_s      : IN    STD_LOGIC_VECTOR(nr_fwdjet_2_s DOWNTO 0);
0080                 fwdjet_2_wsc: IN        STD_LOGIC_VECTOR(nr_fwdjet_2_wsc DOWNTO 0);
0081                 fwdjet_1_s      : IN    STD_LOGIC_VECTOR(nr_fwdjet_1_s DOWNTO 0);
0082                 muon_4          : IN    STD_LOGIC_VECTOR(nr_muon_4 DOWNTO 0);
0083                 muon_2_s        : IN    STD_LOGIC_VECTOR(nr_muon_2_s DOWNTO 0);
0084                 muon_2_wsc      : IN    STD_LOGIC_VECTOR(nr_muon_2_wsc DOWNTO 0);
0085                 muon_1_s        : IN    STD_LOGIC_VECTOR(nr_muon_1_s DOWNTO 0);
0086                 muon_3          : IN    STD_LOGIC_VECTOR(nr_muon_3 DOWNTO 0);
0087                 jet_cnts_0_cond:  IN    STD_LOGIC_VECTOR(nr_jet_cnts_0_cond DOWNTO 0);
0088                 jet_cnts_1_cond:  IN    STD_LOGIC_VECTOR(nr_jet_cnts_1_cond DOWNTO 0);
0089                 jet_cnts_2_cond:  IN    STD_LOGIC_VECTOR(nr_jet_cnts_2_cond DOWNTO 0);
0090                 jet_cnts_3_cond:  IN    STD_LOGIC_VECTOR(nr_jet_cnts_3_cond DOWNTO 0);
0091                 jet_cnts_4_cond:  IN    STD_LOGIC_VECTOR(nr_jet_cnts_4_cond DOWNTO 0);
0092                 jet_cnts_5_cond:  IN    STD_LOGIC_VECTOR(nr_jet_cnts_5_cond DOWNTO 0);
0093                 jet_cnts_6_cond:  IN    STD_LOGIC_VECTOR(nr_jet_cnts_6_cond DOWNTO 0);
0094                 jet_cnts_7_cond:  IN    STD_LOGIC_VECTOR(nr_jet_cnts_7_cond DOWNTO 0);
0095                 jet_cnts_8_cond:  IN    STD_LOGIC_VECTOR(nr_jet_cnts_8_cond DOWNTO 0);
0096                 jet_cnts_9_cond:  IN    STD_LOGIC_VECTOR(nr_jet_cnts_9_cond DOWNTO 0);
0097                 jet_cnts_10_cond:  IN   STD_LOGIC_VECTOR(nr_jet_cnts_10_cond DOWNTO 0);
0098                 jet_cnts_11_cond:  IN   STD_LOGIC_VECTOR(nr_jet_cnts_11_cond DOWNTO 0);
0099                 ett_cond:  IN   STD_LOGIC_VECTOR(nr_ett_cond DOWNTO 0);
0100                 etm_cond:  IN   STD_LOGIC_VECTOR(nr_etm_cond DOWNTO 0);
0101                 htt_cond:  IN   STD_LOGIC_VECTOR(nr_htt_cond DOWNTO 0);
0102                 algo_s_reg      : OUT   STD_LOGIC_VECTOR(2 DOWNTO 0);
0103                 algo_reg        : INOUT STD_LOGIC_VECTOR(95 DOWNTO 0));
0104 END algo_and_or;
0105 ARCHITECTURE rtl OF algo_and_or IS
0106         SIGNAL pre_algo_a : STD_LOGIC_VECTOR(96 DOWNTO 1);
0107 BEGIN
0108 
0109 -- "NO ALGO"-bit
0110 ALGO_S_REG(0) <= NOT(
0111                         ALGO_REG(0) OR ALGO_REG(1) OR ALGO_REG(2) OR ALGO_REG(3)
0112                         OR
0113                         ALGO_REG(4) OR ALGO_REG(5) OR ALGO_REG(6) OR ALGO_REG(7)
0114                         OR
0115                         ALGO_REG(8) OR ALGO_REG(9) OR ALGO_REG(10) OR ALGO_REG(11)
0116                         OR
0117                         ALGO_REG(12) OR ALGO_REG(13) OR ALGO_REG(14) OR ALGO_REG(15)
0118                         OR
0119                         ALGO_REG(16) OR ALGO_REG(17) OR ALGO_REG(18) OR ALGO_REG(19)
0120                         OR
0121                         ALGO_REG(20) OR ALGO_REG(21) OR ALGO_REG(22) OR ALGO_REG(23)
0122                         OR
0123                         ALGO_REG(24) OR ALGO_REG(25) OR ALGO_REG(26) OR ALGO_REG(27)
0124                         OR
0125                         ALGO_REG(28) OR ALGO_REG(29) OR ALGO_REG(30) OR ALGO_REG(31));
0126 
0127 ALGO_S_REG(1) <= NOT(
0128                         ALGO_REG(32) OR ALGO_REG(33) OR ALGO_REG(34) OR ALGO_REG(53)
0129                         OR
0130                         ALGO_REG(36) OR ALGO_REG(37) OR ALGO_REG(38) OR ALGO_REG(39)
0131                         OR
0132                         ALGO_REG(40) OR ALGO_REG(41) OR ALGO_REG(42) OR ALGO_REG(43)
0133                         OR
0134                         ALGO_REG(44) OR ALGO_REG(45) OR ALGO_REG(46) OR ALGO_REG(47)
0135                         OR
0136                         ALGO_REG(48) OR ALGO_REG(49) OR ALGO_REG(50) OR ALGO_REG(51)
0137                         OR
0138                         ALGO_REG(52) OR ALGO_REG(53) OR ALGO_REG(54) OR ALGO_REG(55)
0139                         OR
0140                         ALGO_REG(56) OR ALGO_REG(57) OR ALGO_REG(58) OR ALGO_REG(59)
0141                         OR
0142                         ALGO_REG(60) OR ALGO_REG(61) OR ALGO_REG(62) OR ALGO_REG(63));
0143 
0144 ALGO_S_REG(2) <= NOT(
0145                         ALGO_REG(64) OR ALGO_REG(65) OR ALGO_REG(66) OR ALGO_REG(67)
0146                         OR
0147                         ALGO_REG(68) OR ALGO_REG(69) OR ALGO_REG(70) OR ALGO_REG(71)
0148                         OR
0149                         ALGO_REG(72) OR ALGO_REG(73) OR ALGO_REG(74) OR ALGO_REG(75)
0150                         OR
0151                         ALGO_REG(76) OR ALGO_REG(77) OR ALGO_REG(78) OR ALGO_REG(79)
0152                         OR
0153                         ALGO_REG(80) OR ALGO_REG(81) OR ALGO_REG(82) OR ALGO_REG(83)
0154                         OR
0155                         ALGO_REG(84) OR ALGO_REG(85) OR ALGO_REG(86) OR ALGO_REG(87)
0156                         OR
0157                         ALGO_REG(88) OR ALGO_REG(89) OR ALGO_REG(90) OR ALGO_REG(91)
0158                         OR
0159                         ALGO_REG(92) OR ALGO_REG(93) OR ALGO_REG(94) OR ALGO_REG(95));
0160 
0161 -- ***************************************************************
0162 
0163 ALGO_REG(95 DOWNTO 0) <= pre_algo_a(96 DOWNTO 1);
0164 
0165 $(prealgos)
0166 
0167 END ARCHITECTURE rtl;