Back to home page

Project CMSSW displayed by LXR

 
 

    


Warning, /L1TriggerConfig/L1GtConfigProducers/data/VhdlTemplates/Templates/cond_chip.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: cond_chip                                 --
0007 -- INSTITUTION: Hephy Vienna                              --
0008 -- DESIGNER: H. Bergauer                                  --
0009 --                                                        --
0010 -- VHDL-LIBRARY VERSION: V11.x                            --
0011 -- DATE: 02 2008                                          --
0012 --                                                        --
0013 -- FUNCTIONAL DESCRIPTION:                                --
0014 -- top of hierarchy for condition-chip logic of GTL-9U    --
0015 --                                                        --
0016 -- REVISION HISTORY:                                      --
0017 -- Version: HB160306                                      --
0018 -- |--> algo-memory as dual port memory with              --
0019 -- |    6 x 1024 x 16 bits (16 bits vdata)                --
0020 -- |--> PLL for 80 MHz clock for calo/muon input data     --
0021 -- |--> DTACK for calos and muons                         --
0022 -- |--> no BERR generated                                 --
0023 -- Version: HB301107                                      --
0024 -- |--> rw-register with parameters for read, dtack,      --
0025 --      and default-values (with reset-option)            --
0026 -- Version: HB150208                                      --
0027 -- |--> INCLOCK_PERIOD implemented                        --
0028 --                                                        --
0029 ------------------------------------------------------------
0030 LIBRARY ieee;
0031 USE ieee.std_logic_1164.ALL;
0032 LIBRARY altera;
0033 USE altera.maxplus2.ALL;
0034 
0035 -- for "altclklock" - HB111105
0036 LIBRARY altera_mf;
0037 USE altera_mf.altera_mf_components.all;
0038 
0039 -- for 80MHz input-register - HB111105
0040 LIBRARY lpm;
0041 USE lpm.lpm_components.ALL;
0042 
0043 USE work.cond_chip_pkg.ALL; 
0044 USE work.def_val_pkg.ALL; 
0045 USE work.algo_components.ALL; 
0046 USE work.calo_condition_pkg.ALL;
0047 USE work.muon_condition_pkg.ALL;
0048 USE work.jc_esums_pkg.ALL;
0049 USE work.basics_pkg.ALL;
0050 USE work.vme_pkg.ALL;
0051 
0052 ENTITY cond_chip IS
0053         PORT(
0054                 CLK40   : IN    STD_LOGIC;
0055                 CLK80   : IN    STD_LOGIC;
0056                 CA113           : IN    STD_LOGIC_VECTOR(15 DOWNTO 0);
0057                 CA124           : IN    STD_LOGIC_VECTOR(15 DOWNTO 0);
0058                 CA213           : IN    STD_LOGIC_VECTOR(15 DOWNTO 0);
0059                 CA224           : IN    STD_LOGIC_VECTOR(15 DOWNTO 0);
0060                 CA313           : IN    STD_LOGIC_VECTOR(15 DOWNTO 0);
0061                 CA324           : IN    STD_LOGIC_VECTOR(15 DOWNTO 0);
0062                 CA413           : IN    STD_LOGIC_VECTOR(15 DOWNTO 0);
0063                 CA424           : IN    STD_LOGIC_VECTOR(15 DOWNTO 0);
0064                 CA513           : IN    STD_LOGIC_VECTOR(15 DOWNTO 0);
0065                 CA524           : IN    STD_LOGIC_VECTOR(15 DOWNTO 0);
0066                 CA613           : IN    STD_LOGIC_VECTOR(15 DOWNTO 0);
0067                 CA624           : IN    STD_LOGIC_VECTOR(15 DOWNTO 0);
0068                 CA713           : IN    STD_LOGIC_VECTOR(15 DOWNTO 0);
0069                 CA724           : IN    STD_LOGIC_VECTOR(15 DOWNTO 0);
0070                 CA813           : IN    STD_LOGIC_VECTOR(15 DOWNTO 0);
0071                 CA824           : IN    STD_LOGIC_VECTOR(15 DOWNTO 0);
0072                 CA913           : IN    STD_LOGIC_VECTOR(15 DOWNTO 0);
0073                 CA924           : IN    STD_LOGIC_VECTOR(15 DOWNTO 0);
0074                 CA1013          : IN    STD_LOGIC_VECTOR(15 DOWNTO 0);
0075                 CA1024          : IN    STD_LOGIC_VECTOR(15 DOWNTO 0);
0076                 MU1                     : IN    STD_LOGIC_VECTOR(25 DOWNTO 0);
0077                 MU3                     : IN    STD_LOGIC_VECTOR(25 DOWNTO 0);
0078                 ENCOND          : IN    STD_LOGIC;
0079                 ENALGO          : IN    STD_LOGIC;
0080                 WRCOND          : IN    STD_LOGIC;
0081                 BCRES           : IN    STD_LOGIC;
0082                 L1A                     : IN    STD_LOGIC;
0083                 L1RESET         : IN    STD_LOGIC;
0084                 CLKLKEN         : IN    STD_LOGIC;
0085                 ADDR            : IN    STD_LOGIC_VECTOR(21 DOWNTO 1);
0086                 ADDR_0_SIM      : IN    STD_LOGIC; -- for quartus simulator
0087                 VDATA           : INOUT STD_LOGIC_VECTOR(15 DOWNTO 0);
0088                 RESERVEVME      : OUT   STD_LOGIC;
0089                 RESERVE1        : OUT   STD_LOGIC_VECTOR(15 DOWNTO 0);
0090                 RESERVE2        : OUT   STD_LOGIC_VECTOR(15 DOWNTO 0);
0091                 RESERVE3        : OUT   STD_LOGIC_VECTOR(15 DOWNTO 0);
0092                 TEST0           : OUT   STD_LOGIC;
0093                 TEST1           : OUT   STD_LOGIC;
0094                 TEST2           : OUT   STD_LOGIC;
0095                 TEST3           : OUT   STD_LOGIC;
0096                 CLKLOCKED       : OUT   STD_LOGIC;
0097                 STAT            : OUT   STD_LOGIC_VECTOR(1 DOWNTO 0);
0098                 NDTACK          : OUT   STD_LOGIC;
0099                 ALGOSTROB       : OUT   STD_LOGIC_VECTOR(2 DOWNTO 0);
0100                 ALGO            : OUT   STD_LOGIC_VECTOR(95 DOWNTO 0));
0101 END cond_chip;
0102 ARCHITECTURE rtl OF cond_chip IS
0103 -- *********************************************************
0104 -- NEW signals for rw-registers with dtack
0105         CONSTANT dtack_inst : boolean := true;
0106         SIGNAL reset: STD_LOGIC := '0';
0107         SIGNAL ENCOND_int: STD_LOGIC;
0108 -- dtack-signals for ieg
0109         SIGNAL dtack_ieg_1_s : STD_LOGIC_VECTOR(nr_ieg_1_s DOWNTO 0);
0110         SIGNAL dtack_ieg_2_s : STD_LOGIC_VECTOR(nr_ieg_2_s DOWNTO 0);
0111         SIGNAL dtack_ieg_2_wsc : STD_LOGIC_VECTOR(nr_ieg_2_wsc DOWNTO 0);
0112         SIGNAL dtack_ieg_4 : STD_LOGIC_VECTOR(nr_ieg_4 DOWNTO 0);
0113 -- dtack-signals for eg
0114         SIGNAL dtack_eg_1_s : STD_LOGIC_VECTOR(nr_eg_1_s DOWNTO 0);
0115         SIGNAL dtack_eg_2_s : STD_LOGIC_VECTOR(nr_eg_2_s DOWNTO 0);
0116         SIGNAL dtack_eg_2_wsc : STD_LOGIC_VECTOR(nr_eg_2_wsc DOWNTO 0);
0117         SIGNAL dtack_eg_4 : STD_LOGIC_VECTOR(nr_eg_4 DOWNTO 0);
0118 -- dtack-signals for jet
0119         SIGNAL dtack_jet_1_s : STD_LOGIC_VECTOR(nr_jet_1_s DOWNTO 0);
0120         SIGNAL dtack_jet_2_s : STD_LOGIC_VECTOR(nr_jet_2_s DOWNTO 0);
0121         SIGNAL dtack_jet_2_wsc : STD_LOGIC_VECTOR(nr_jet_2_wsc DOWNTO 0);
0122         SIGNAL dtack_jet_4 : STD_LOGIC_VECTOR(nr_jet_4 DOWNTO 0);
0123 -- dtack-signals for fwdjet
0124         SIGNAL dtack_fwdjet_1_s : STD_LOGIC_VECTOR(nr_fwdjet_1_s DOWNTO 0);
0125         SIGNAL dtack_fwdjet_2_s : STD_LOGIC_VECTOR(nr_fwdjet_2_s DOWNTO 0);
0126         SIGNAL dtack_fwdjet_2_wsc : STD_LOGIC_VECTOR(nr_fwdjet_2_wsc DOWNTO 0);
0127         SIGNAL dtack_fwdjet_4 : STD_LOGIC_VECTOR(nr_fwdjet_4 DOWNTO 0);
0128 -- dtack-signals for tau
0129         SIGNAL dtack_tau_1_s : STD_LOGIC_VECTOR(nr_tau_1_s DOWNTO 0);
0130         SIGNAL dtack_tau_2_s : STD_LOGIC_VECTOR(nr_tau_2_s DOWNTO 0);
0131         SIGNAL dtack_tau_2_wsc : STD_LOGIC_VECTOR(nr_tau_2_wsc DOWNTO 0);
0132         SIGNAL dtack_tau_4 : STD_LOGIC_VECTOR(nr_tau_4 DOWNTO 0);
0133 -- dtack-signals for muons
0134         SIGNAL dtack_muon_1_s : STD_LOGIC_VECTOR(nr_muon_1_s DOWNTO 0);
0135         SIGNAL dtack_muon_2_s : STD_LOGIC_VECTOR(nr_muon_2_s DOWNTO 0);
0136         SIGNAL dtack_muon_2_wsc : STD_LOGIC_VECTOR(nr_muon_2_wsc DOWNTO 0);
0137         SIGNAL dtack_muon_3 : STD_LOGIC_VECTOR(nr_muon_3 DOWNTO 0);
0138         SIGNAL dtack_muon_4 : STD_LOGIC_VECTOR(nr_muon_4 DOWNTO 0);
0139 -- dtack-signals for esums
0140         SIGNAL dtack_jet_cnts_0 : STD_LOGIC_VECTOR(nr_jet_cnts_0_cond DOWNTO 0);
0141         SIGNAL dtack_jet_cnts_1 : STD_LOGIC_VECTOR(nr_jet_cnts_1_cond DOWNTO 0);
0142         SIGNAL dtack_jet_cnts_2 : STD_LOGIC_VECTOR(nr_jet_cnts_2_cond DOWNTO 0);
0143         SIGNAL dtack_jet_cnts_3 : STD_LOGIC_VECTOR(nr_jet_cnts_3_cond DOWNTO 0);
0144         SIGNAL dtack_jet_cnts_4 : STD_LOGIC_VECTOR(nr_jet_cnts_4_cond DOWNTO 0);
0145         SIGNAL dtack_jet_cnts_5 : STD_LOGIC_VECTOR(nr_jet_cnts_5_cond DOWNTO 0);
0146         SIGNAL dtack_jet_cnts_6 : STD_LOGIC_VECTOR(nr_jet_cnts_6_cond DOWNTO 0);
0147         SIGNAL dtack_jet_cnts_7 : STD_LOGIC_VECTOR(nr_jet_cnts_7_cond DOWNTO 0);
0148         SIGNAL dtack_jet_cnts_8 : STD_LOGIC_VECTOR(nr_jet_cnts_8_cond DOWNTO 0);
0149         SIGNAL dtack_jet_cnts_9 : STD_LOGIC_VECTOR(nr_jet_cnts_9_cond DOWNTO 0);
0150         SIGNAL dtack_jet_cnts_10 : STD_LOGIC_VECTOR(nr_jet_cnts_10_cond DOWNTO 0);
0151         SIGNAL dtack_jet_cnts_11 : STD_LOGIC_VECTOR(nr_jet_cnts_11_cond DOWNTO 0);
0152 -- dtack-signals for esums
0153         SIGNAL dtack_ett : STD_LOGIC_VECTOR(nr_ett_cond DOWNTO 0);
0154         SIGNAL dtack_etm : STD_LOGIC_VECTOR(nr_etm_cond DOWNTO 0);
0155         SIGNAL dtack_htt : STD_LOGIC_VECTOR(nr_htt_cond DOWNTO 0);
0156 -- *********************************************************
0157 -- address signals
0158         SIGNAL addr_cond: STD_LOGIC_VECTOR(7 DOWNTO 0);
0159         SIGNAL addr_reg_name: STD_LOGIC_VECTOR(4 DOWNTO 0);
0160 -- 80MHz input register signals
0161         SIGNAL ca113_ioc: STD_LOGIC_VECTOR(15 DOWNTO 0);
0162         SIGNAL ca124_ioc: STD_LOGIC_VECTOR(15 DOWNTO 0);
0163         SIGNAL ca213_ioc: STD_LOGIC_VECTOR(15 DOWNTO 0);
0164         SIGNAL ca224_ioc: STD_LOGIC_VECTOR(15 DOWNTO 0);
0165         SIGNAL ca313_ioc: STD_LOGIC_VECTOR(15 DOWNTO 0);
0166         SIGNAL ca324_ioc: STD_LOGIC_VECTOR(15 DOWNTO 0);
0167         SIGNAL ca413_ioc: STD_LOGIC_VECTOR(15 DOWNTO 0);
0168         SIGNAL ca424_ioc: STD_LOGIC_VECTOR(15 DOWNTO 0);
0169         SIGNAL ca513_ioc: STD_LOGIC_VECTOR(15 DOWNTO 0);
0170         SIGNAL ca524_ioc: STD_LOGIC_VECTOR(15 DOWNTO 0);
0171         SIGNAL ca613_ioc: STD_LOGIC_VECTOR(15 DOWNTO 0);
0172         SIGNAL ca624_ioc: STD_LOGIC_VECTOR(15 DOWNTO 0);
0173         SIGNAL ca713_ioc: STD_LOGIC_VECTOR(15 DOWNTO 0);
0174         SIGNAL ca724_ioc: STD_LOGIC_VECTOR(15 DOWNTO 0);
0175         SIGNAL ca813_ioc: STD_LOGIC_VECTOR(15 DOWNTO 0);
0176         SIGNAL ca824_ioc: STD_LOGIC_VECTOR(15 DOWNTO 0);
0177         SIGNAL ca913_ioc: STD_LOGIC_VECTOR(15 DOWNTO 0);
0178         SIGNAL ca924_ioc: STD_LOGIC_VECTOR(15 DOWNTO 0);
0179         SIGNAL ca1013_ioc: STD_LOGIC_VECTOR(15 DOWNTO 0);
0180         SIGNAL ca1024_ioc: STD_LOGIC_VECTOR(15 DOWNTO 0);
0181         SIGNAL mu1_ioc: STD_LOGIC_VECTOR(25 DOWNTO 0);
0182         SIGNAL mu3_ioc: STD_LOGIC_VECTOR(25 DOWNTO 0);
0183 -- input_calos/input_muons register signals
0184         SIGNAL ca11_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0185         SIGNAL ca12_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0186         SIGNAL ca13_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0187         SIGNAL ca14_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0188         SIGNAL ca21_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0189         SIGNAL ca22_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0190         SIGNAL ca23_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0191         SIGNAL ca24_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0192         SIGNAL ca31_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0193         SIGNAL ca32_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0194         SIGNAL ca33_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0195         SIGNAL ca34_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0196         SIGNAL ca41_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0197         SIGNAL ca42_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0198         SIGNAL ca43_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0199         SIGNAL ca44_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0200         SIGNAL ca51_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0201         SIGNAL ca52_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0202         SIGNAL ca53_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0203         SIGNAL ca54_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0204         SIGNAL ca61_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0205         SIGNAL ca62_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0206         SIGNAL ca63_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0207         SIGNAL ca64_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0208         SIGNAL ca71_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0209         SIGNAL ca72_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0210         SIGNAL ca73_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0211         SIGNAL ca74_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0212         SIGNAL ca81_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0213         SIGNAL ca82_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0214         SIGNAL ca83_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0215         SIGNAL ca84_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0216         SIGNAL ca91_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0217         SIGNAL ca92_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0218         SIGNAL ca93_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0219         SIGNAL ca94_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0220         SIGNAL ca101_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0221         SIGNAL ca102_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0222         SIGNAL ca103_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0223         SIGNAL ca104_reg: STD_LOGIC_VECTOR(15 DOWNTO 0);
0224         SIGNAL mu1_reg: STD_LOGIC_VECTOR(25 DOWNTO 0);
0225         SIGNAL mu2_reg: STD_LOGIC_VECTOR(25 DOWNTO 0);
0226         SIGNAL mu3_reg: STD_LOGIC_VECTOR(25 DOWNTO 0);
0227         SIGNAL mu4_reg: STD_LOGIC_VECTOR(25 DOWNTO 0);
0228 -- particle enable signals
0229         SIGNAL ieg_en : STD_LOGIC;
0230         SIGNAL eg_en : STD_LOGIC;
0231         SIGNAL jet_en : STD_LOGIC;
0232         SIGNAL tau_en : STD_LOGIC;
0233         SIGNAL fwdjet_en : STD_LOGIC;
0234         SIGNAL muon_en : STD_LOGIC;
0235 -- IEG condition enable signals
0236         SIGNAL en_ieg_4: STD_LOGIC;
0237         SIGNAL en_ieg_2_s: STD_LOGIC;
0238         SIGNAL en_ieg_2_wsc: STD_LOGIC;
0239         SIGNAL en_ieg_1_s: STD_LOGIC;
0240 -- EG condition enable signals
0241         SIGNAL en_eg_4: STD_LOGIC;
0242         SIGNAL en_eg_2_s: STD_LOGIC;
0243         SIGNAL en_eg_2_wsc: STD_LOGIC;
0244         SIGNAL en_eg_1_s: STD_LOGIC;
0245 -- JET condition enable signals 
0246         SIGNAL en_jet_4: STD_LOGIC;
0247         SIGNAL en_jet_2_s: STD_LOGIC;
0248         SIGNAL en_jet_2_wsc: STD_LOGIC;
0249         SIGNAL en_jet_1_s: STD_LOGIC;
0250 -- TAU condition enable signals 
0251         SIGNAL en_tau_4: STD_LOGIC;
0252         SIGNAL en_tau_2_s: STD_LOGIC;
0253         SIGNAL en_tau_2_wsc: STD_LOGIC;
0254         SIGNAL en_tau_1_s: STD_LOGIC;
0255 -- FWDJET condition enable signals      
0256         SIGNAL en_fwdjet_4: STD_LOGIC;
0257         SIGNAL en_fwdjet_2_s: STD_LOGIC;
0258         SIGNAL en_fwdjet_2_wsc: STD_LOGIC;
0259         SIGNAL en_fwdjet_1_s: STD_LOGIC;
0260 -- jet counts condition enable signals  
0261         SIGNAL en_jet_cnts_0, en_jet_cnts_1, en_jet_cnts_2: STD_LOGIC;
0262         SIGNAL en_jet_cnts_3, en_jet_cnts_4, en_jet_cnts_5: STD_LOGIC;
0263         SIGNAL en_jet_cnts_6, en_jet_cnts_7, en_jet_cnts_8: STD_LOGIC;
0264         SIGNAL en_jet_cnts_9, en_jet_cnts_10, en_jet_cnts_11: STD_LOGIC;
0265 -- e_sums condition enable signals      
0266         SIGNAL en_ett_cond: STD_LOGIC;
0267         SIGNAL en_etm_cond: STD_LOGIC;
0268         SIGNAL en_htt_cond: STD_LOGIC;
0269 -- MUON condition enable signals        
0270         SIGNAL en_muon_4: STD_LOGIC;
0271         SIGNAL en_muon_2_s: STD_LOGIC;
0272         SIGNAL en_muon_2_wsc: STD_LOGIC;
0273         SIGNAL en_muon_1_s: STD_LOGIC;
0274         SIGNAL en_muon_3: STD_LOGIC;
0275 -- outputs of inputregisters IEG
0276         SIGNAL reg_ieg_et_1: STD_LOGIC_VECTOR(5 DOWNTO 0);
0277         SIGNAL reg_ieg_et_2: STD_LOGIC_VECTOR(5 DOWNTO 0);
0278         SIGNAL reg_ieg_et_3: STD_LOGIC_VECTOR(5 DOWNTO 0);
0279         SIGNAL reg_ieg_et_4: STD_LOGIC_VECTOR(5 DOWNTO 0);
0280         SIGNAL reg_ieg_eta_1: STD_LOGIC_VECTOR(3 DOWNTO 0);
0281         SIGNAL reg_ieg_eta_2: STD_LOGIC_VECTOR(3 DOWNTO 0);
0282         SIGNAL reg_ieg_eta_3: STD_LOGIC_VECTOR(3 DOWNTO 0);
0283         SIGNAL reg_ieg_eta_4: STD_LOGIC_VECTOR(3 DOWNTO 0);
0284         SIGNAL reg_ieg_phi_1: STD_LOGIC_VECTOR(4 DOWNTO 0);
0285         SIGNAL reg_ieg_phi_2: STD_LOGIC_VECTOR(4 DOWNTO 0);
0286         SIGNAL reg_ieg_phi_3: STD_LOGIC_VECTOR(4 DOWNTO 0);
0287         SIGNAL reg_ieg_phi_4: STD_LOGIC_VECTOR(4 DOWNTO 0);
0288         SIGNAL reg_ieg_sync_1: STD_LOGIC;
0289         SIGNAL reg_ieg_sync_2: STD_LOGIC;
0290         SIGNAL reg_ieg_sync_3: STD_LOGIC;
0291         SIGNAL reg_ieg_sync_4: STD_LOGIC;
0292 -- outputs of inputregisters EG
0293         SIGNAL reg_eg_et_1: STD_LOGIC_VECTOR(5 DOWNTO 0);
0294         SIGNAL reg_eg_et_2: STD_LOGIC_VECTOR(5 DOWNTO 0);
0295         SIGNAL reg_eg_et_3: STD_LOGIC_VECTOR(5 DOWNTO 0);
0296         SIGNAL reg_eg_et_4: STD_LOGIC_VECTOR(5 DOWNTO 0);
0297         SIGNAL reg_eg_eta_1: STD_LOGIC_VECTOR(3 DOWNTO 0);
0298         SIGNAL reg_eg_eta_2: STD_LOGIC_VECTOR(3 DOWNTO 0);
0299         SIGNAL reg_eg_eta_3: STD_LOGIC_VECTOR(3 DOWNTO 0);
0300         SIGNAL reg_eg_eta_4: STD_LOGIC_VECTOR(3 DOWNTO 0);
0301         SIGNAL reg_eg_phi_1: STD_LOGIC_VECTOR(4 DOWNTO 0);
0302         SIGNAL reg_eg_phi_2: STD_LOGIC_VECTOR(4 DOWNTO 0);
0303         SIGNAL reg_eg_phi_3: STD_LOGIC_VECTOR(4 DOWNTO 0);
0304         SIGNAL reg_eg_phi_4: STD_LOGIC_VECTOR(4 DOWNTO 0);
0305         SIGNAL reg_eg_sync_1: STD_LOGIC;
0306         SIGNAL reg_eg_sync_2: STD_LOGIC;
0307         SIGNAL reg_eg_sync_3: STD_LOGIC;
0308         SIGNAL reg_eg_sync_4: STD_LOGIC;
0309 -- outputs of inputregisters JET
0310         SIGNAL reg_jet_et_1: STD_LOGIC_VECTOR(5 DOWNTO 0);
0311         SIGNAL reg_jet_et_2: STD_LOGIC_VECTOR(5 DOWNTO 0);
0312         SIGNAL reg_jet_et_3: STD_LOGIC_VECTOR(5 DOWNTO 0);
0313         SIGNAL reg_jet_et_4: STD_LOGIC_VECTOR(5 DOWNTO 0);
0314         SIGNAL reg_jet_eta_1: STD_LOGIC_VECTOR(3 DOWNTO 0);
0315         SIGNAL reg_jet_eta_2: STD_LOGIC_VECTOR(3 DOWNTO 0);
0316         SIGNAL reg_jet_eta_3: STD_LOGIC_VECTOR(3 DOWNTO 0);
0317         SIGNAL reg_jet_eta_4: STD_LOGIC_VECTOR(3 DOWNTO 0);
0318         SIGNAL reg_jet_phi_1: STD_LOGIC_VECTOR(4 DOWNTO 0);
0319         SIGNAL reg_jet_phi_2: STD_LOGIC_VECTOR(4 DOWNTO 0);
0320         SIGNAL reg_jet_phi_3: STD_LOGIC_VECTOR(4 DOWNTO 0);
0321         SIGNAL reg_jet_phi_4: STD_LOGIC_VECTOR(4 DOWNTO 0);
0322         SIGNAL reg_jet_sync_1: STD_LOGIC;
0323         SIGNAL reg_jet_sync_2: STD_LOGIC;
0324         SIGNAL reg_jet_sync_3: STD_LOGIC;
0325         SIGNAL reg_jet_sync_4: STD_LOGIC;
0326 -- outputs of inputregisters FWDJET
0327         SIGNAL reg_fwdjet_et_1: STD_LOGIC_VECTOR(5 DOWNTO 0);
0328         SIGNAL reg_fwdjet_et_2: STD_LOGIC_VECTOR(5 DOWNTO 0);
0329         SIGNAL reg_fwdjet_et_3: STD_LOGIC_VECTOR(5 DOWNTO 0);
0330         SIGNAL reg_fwdjet_et_4: STD_LOGIC_VECTOR(5 DOWNTO 0);
0331         SIGNAL reg_fwdjet_eta_1: STD_LOGIC_VECTOR(3 DOWNTO 0);
0332         SIGNAL reg_fwdjet_eta_2: STD_LOGIC_VECTOR(3 DOWNTO 0);
0333         SIGNAL reg_fwdjet_eta_3: STD_LOGIC_VECTOR(3 DOWNTO 0);
0334         SIGNAL reg_fwdjet_eta_4: STD_LOGIC_VECTOR(3 DOWNTO 0);
0335         SIGNAL reg_fwdjet_phi_1: STD_LOGIC_VECTOR(4 DOWNTO 0);
0336         SIGNAL reg_fwdjet_phi_2: STD_LOGIC_VECTOR(4 DOWNTO 0);
0337         SIGNAL reg_fwdjet_phi_3: STD_LOGIC_VECTOR(4 DOWNTO 0);
0338         SIGNAL reg_fwdjet_phi_4: STD_LOGIC_VECTOR(4 DOWNTO 0);
0339         SIGNAL reg_fwdjet_sync_1: STD_LOGIC;
0340         SIGNAL reg_fwdjet_sync_2: STD_LOGIC;
0341         SIGNAL reg_fwdjet_sync_3: STD_LOGIC;
0342         SIGNAL reg_fwdjet_sync_4: STD_LOGIC;
0343 -- outputs of inputregisters TAU
0344         SIGNAL reg_tau_et_1: STD_LOGIC_VECTOR(5 DOWNTO 0);
0345         SIGNAL reg_tau_et_2: STD_LOGIC_VECTOR(5 DOWNTO 0);
0346         SIGNAL reg_tau_et_3: STD_LOGIC_VECTOR(5 DOWNTO 0);
0347         SIGNAL reg_tau_et_4: STD_LOGIC_VECTOR(5 DOWNTO 0);
0348         SIGNAL reg_tau_eta_1: STD_LOGIC_VECTOR(3 DOWNTO 0);
0349         SIGNAL reg_tau_eta_2: STD_LOGIC_VECTOR(3 DOWNTO 0);
0350         SIGNAL reg_tau_eta_3: STD_LOGIC_VECTOR(3 DOWNTO 0);
0351         SIGNAL reg_tau_eta_4: STD_LOGIC_VECTOR(3 DOWNTO 0);
0352         SIGNAL reg_tau_phi_1: STD_LOGIC_VECTOR(4 DOWNTO 0);
0353         SIGNAL reg_tau_phi_2: STD_LOGIC_VECTOR(4 DOWNTO 0);
0354         SIGNAL reg_tau_phi_3: STD_LOGIC_VECTOR(4 DOWNTO 0);
0355         SIGNAL reg_tau_phi_4: STD_LOGIC_VECTOR(4 DOWNTO 0);
0356         SIGNAL reg_tau_sync_1: STD_LOGIC;
0357         SIGNAL reg_tau_sync_2: STD_LOGIC;
0358         SIGNAL reg_tau_sync_3: STD_LOGIC;
0359         SIGNAL reg_tau_sync_4: STD_LOGIC;
0360 -- outputs of inputregisters "e_sums"
0361         SIGNAL reg_ett          : STD_LOGIC_VECTOR(12 DOWNTO 0);
0362         SIGNAL reg_htt          : STD_LOGIC_VECTOR(12 DOWNTO 0);
0363         SIGNAL reg_etm          : STD_LOGIC_VECTOR(12 DOWNTO 0);
0364         SIGNAL reg_etm_phi      : STD_LOGIC_VECTOR(6 DOWNTO 0);
0365         SIGNAL reg_esums_sync_1: STD_LOGIC;
0366         SIGNAL reg_esums_sync_2: STD_LOGIC;
0367         SIGNAL reg_esums_sync_3: STD_LOGIC;
0368         SIGNAL reg_esums_sync_4: STD_LOGIC;
0369 -- outputs of inputregisters "jet-counters"
0370         SIGNAL reg_jet_cnts_0: STD_LOGIC_VECTOR(4 DOWNTO 0);
0371         SIGNAL reg_jet_cnts_1: STD_LOGIC_VECTOR(4 DOWNTO 0);
0372         SIGNAL reg_jet_cnts_2: STD_LOGIC_VECTOR(4 DOWNTO 0);
0373         SIGNAL reg_jet_cnts_3: STD_LOGIC_VECTOR(4 DOWNTO 0);
0374         SIGNAL reg_jet_cnts_4: STD_LOGIC_VECTOR(4 DOWNTO 0);
0375         SIGNAL reg_jet_cnts_5: STD_LOGIC_VECTOR(4 DOWNTO 0);
0376         SIGNAL reg_jet_cnts_6: STD_LOGIC_VECTOR(4 DOWNTO 0);
0377         SIGNAL reg_jet_cnts_7: STD_LOGIC_VECTOR(4 DOWNTO 0);
0378         SIGNAL reg_jet_cnts_8: STD_LOGIC_VECTOR(4 DOWNTO 0);
0379         SIGNAL reg_jet_cnts_9: STD_LOGIC_VECTOR(4 DOWNTO 0);
0380         SIGNAL reg_jet_cnts_10: STD_LOGIC_VECTOR(4 DOWNTO 0);
0381         SIGNAL reg_jet_cnts_11: STD_LOGIC_VECTOR(4 DOWNTO 0);
0382         SIGNAL reg_jet_cnts_sync_1: STD_LOGIC;
0383         SIGNAL reg_jet_cnts_sync_2: STD_LOGIC;
0384         SIGNAL reg_jet_cnts_sync_3: STD_LOGIC;
0385         SIGNAL reg_jet_cnts_sync_4: STD_LOGIC;
0386 -- outputs of inputregisters MUON
0387         SIGNAL reg_muon_pt_1: STD_LOGIC_VECTOR(4 DOWNTO 0);
0388         SIGNAL reg_muon_pt_2: STD_LOGIC_VECTOR(4 DOWNTO 0);
0389         SIGNAL reg_muon_pt_3: STD_LOGIC_VECTOR(4 DOWNTO 0);
0390         SIGNAL reg_muon_pt_4: STD_LOGIC_VECTOR(4 DOWNTO 0);
0391         SIGNAL reg_muon_eta_1: STD_LOGIC_VECTOR(5 DOWNTO 0);
0392         SIGNAL reg_muon_eta_2: STD_LOGIC_VECTOR(5 DOWNTO 0);
0393         SIGNAL reg_muon_eta_3: STD_LOGIC_VECTOR(5 DOWNTO 0);
0394         SIGNAL reg_muon_eta_4: STD_LOGIC_VECTOR(5 DOWNTO 0);
0395         SIGNAL reg_muon_phi_1: STD_LOGIC_VECTOR(7 DOWNTO 0);
0396         SIGNAL reg_muon_phi_2: STD_LOGIC_VECTOR(7 DOWNTO 0);
0397         SIGNAL reg_muon_phi_3: STD_LOGIC_VECTOR(7 DOWNTO 0);
0398         SIGNAL reg_muon_phi_4: STD_LOGIC_VECTOR(7 DOWNTO 0);
0399         SIGNAL reg_muon_qual_1: STD_LOGIC_VECTOR(2 DOWNTO 0);
0400         SIGNAL reg_muon_qual_2: STD_LOGIC_VECTOR(2 DOWNTO 0);
0401         SIGNAL reg_muon_qual_3: STD_LOGIC_VECTOR(2 DOWNTO 0);
0402         SIGNAL reg_muon_qual_4: STD_LOGIC_VECTOR(2 DOWNTO 0);
0403         SIGNAL reg_muon_iso_1: STD_LOGIC;
0404         SIGNAL reg_muon_iso_2: STD_LOGIC;
0405         SIGNAL reg_muon_iso_3: STD_LOGIC;
0406         SIGNAL reg_muon_iso_4: STD_LOGIC;
0407         SIGNAL reg_muon_mip_1: STD_LOGIC;
0408         SIGNAL reg_muon_mip_2: STD_LOGIC;
0409         SIGNAL reg_muon_mip_3: STD_LOGIC;
0410         SIGNAL reg_muon_mip_4: STD_LOGIC;
0411         SIGNAL reg_muon_sy_0_1: STD_LOGIC;
0412         SIGNAL reg_muon_sy_0_2: STD_LOGIC;
0413         SIGNAL reg_muon_sy_0_3: STD_LOGIC;
0414         SIGNAL reg_muon_sy_0_4: STD_LOGIC;
0415         SIGNAL reg_muon_sy_1_1: STD_LOGIC;
0416         SIGNAL reg_muon_sy_1_2: STD_LOGIC;
0417         SIGNAL reg_muon_sy_1_3: STD_LOGIC;
0418         SIGNAL reg_muon_sy_1_4: STD_LOGIC;
0419 -- condition outputs
0420 -- calos
0421         SIGNAL ieg_4: STD_LOGIC_VECTOR(nr_ieg_4 DOWNTO 0);
0422         SIGNAL ieg_2_s: STD_LOGIC_VECTOR(nr_ieg_2_s DOWNTO 0);
0423         SIGNAL ieg_2_wsc: STD_LOGIC_VECTOR(nr_ieg_2_wsc DOWNTO 0);
0424         SIGNAL ieg_1_s: STD_LOGIC_VECTOR(nr_ieg_1_s DOWNTO 0);
0425         SIGNAL eg_4: STD_LOGIC_VECTOR(nr_eg_4 DOWNTO 0);
0426         SIGNAL eg_2_s: STD_LOGIC_VECTOR(nr_eg_2_s DOWNTO 0);
0427         SIGNAL eg_2_wsc: STD_LOGIC_VECTOR(nr_eg_2_wsc DOWNTO 0);
0428         SIGNAL eg_1_s: STD_LOGIC_VECTOR(nr_eg_1_s DOWNTO 0);
0429         SIGNAL jet_4: STD_LOGIC_VECTOR(nr_jet_4 DOWNTO 0);
0430         SIGNAL jet_2_s: STD_LOGIC_VECTOR(nr_jet_2_s DOWNTO 0);
0431         SIGNAL jet_2_wsc: STD_LOGIC_VECTOR(nr_jet_2_wsc DOWNTO 0);
0432         SIGNAL jet_1_s: STD_LOGIC_VECTOR(nr_jet_1_s DOWNTO 0);
0433         SIGNAL tau_4: STD_LOGIC_VECTOR(nr_tau_4 DOWNTO 0);
0434         SIGNAL tau_2_s: STD_LOGIC_VECTOR(nr_tau_2_s DOWNTO 0);
0435         SIGNAL tau_2_wsc: STD_LOGIC_VECTOR(nr_tau_2_wsc DOWNTO 0);
0436         SIGNAL tau_1_s: STD_LOGIC_VECTOR(nr_tau_1_s DOWNTO 0);
0437         SIGNAL fwdjet_4: STD_LOGIC_VECTOR(nr_fwdjet_4 DOWNTO 0);
0438         SIGNAL fwdjet_2_s: STD_LOGIC_VECTOR(nr_fwdjet_2_s DOWNTO 0);
0439         SIGNAL fwdjet_2_wsc: STD_LOGIC_VECTOR(nr_fwdjet_2_wsc DOWNTO 0);
0440         SIGNAL fwdjet_1_s: STD_LOGIC_VECTOR(nr_fwdjet_1_s DOWNTO 0);
0441 -- muons
0442         SIGNAL muon_4: STD_LOGIC_VECTOR(nr_muon_4 DOWNTO 0);
0443         SIGNAL muon_2_s: STD_LOGIC_VECTOR(nr_muon_2_s DOWNTO 0);
0444         SIGNAL muon_2_wsc: STD_LOGIC_VECTOR(nr_muon_2_wsc DOWNTO 0);
0445         SIGNAL muon_1_s: STD_LOGIC_VECTOR(nr_muon_1_s DOWNTO 0);
0446         SIGNAL muon_3: STD_LOGIC_VECTOR(nr_muon_3 DOWNTO 0);
0447 -- jet-counters
0448         SIGNAL jet_cnts_0_cond: STD_LOGIC_VECTOR(nr_jet_cnts_0_cond DOWNTO 0);
0449         SIGNAL jet_cnts_1_cond: STD_LOGIC_VECTOR(nr_jet_cnts_1_cond DOWNTO 0);
0450         SIGNAL jet_cnts_2_cond: STD_LOGIC_VECTOR(nr_jet_cnts_2_cond DOWNTO 0);
0451         SIGNAL jet_cnts_3_cond: STD_LOGIC_VECTOR(nr_jet_cnts_3_cond DOWNTO 0);
0452         SIGNAL jet_cnts_4_cond: STD_LOGIC_VECTOR(nr_jet_cnts_4_cond DOWNTO 0);
0453         SIGNAL jet_cnts_5_cond: STD_LOGIC_VECTOR(nr_jet_cnts_5_cond DOWNTO 0);
0454         SIGNAL jet_cnts_6_cond: STD_LOGIC_VECTOR(nr_jet_cnts_6_cond DOWNTO 0);
0455         SIGNAL jet_cnts_7_cond: STD_LOGIC_VECTOR(nr_jet_cnts_7_cond DOWNTO 0);
0456         SIGNAL jet_cnts_8_cond: STD_LOGIC_VECTOR(nr_jet_cnts_8_cond DOWNTO 0);
0457         SIGNAL jet_cnts_9_cond: STD_LOGIC_VECTOR(nr_jet_cnts_9_cond DOWNTO 0);
0458         SIGNAL jet_cnts_10_cond: STD_LOGIC_VECTOR(nr_jet_cnts_10_cond DOWNTO 0);
0459         SIGNAL jet_cnts_11_cond: STD_LOGIC_VECTOR(nr_jet_cnts_11_cond DOWNTO 0);
0460 -- e_sums
0461         SIGNAL ett_cond: STD_LOGIC_VECTOR(nr_ett_cond DOWNTO 0);
0462         SIGNAL etm_cond: STD_LOGIC_VECTOR(nr_etm_cond DOWNTO 0);
0463         SIGNAL htt_cond: STD_LOGIC_VECTOR(nr_htt_cond DOWNTO 0);
0464 -- inputs of pre-algo outputregister
0465         SIGNAL algo_mux_in: STD_LOGIC_VECTOR(95 DOWNTO 0);
0466         SIGNAL algo_cond_mem: STD_LOGIC_VECTOR(95 DOWNTO 0);
0467         SIGNAL ALGO_OUT_REG_IN: STD_LOGIC_VECTOR(95 DOWNTO 0);
0468         SIGNAL ALGOSTROB_reg: STD_LOGIC_VECTOR(2 DOWNTO 0);
0469 -- internal clock name
0470         SIGNAL clk_inp : STD_LOGIC;
0471         SIGNAL clk_cond : STD_LOGIC;
0472         SIGNAL clk_algo : STD_LOGIC;
0473 -- DTACK/BERR signals
0474         SIGNAL dtack_calo_muon: STD_LOGIC;
0475         SIGNAL dtack_int: STD_LOGIC;
0476         SIGNAL ndtack_int: STD_LOGIC;
0477         SIGNAL DTACK_COND_MEM: STD_LOGIC;
0478         SIGNAL dtack_chip_id: STD_LOGIC;
0479         SIGNAL dtack_mux: STD_LOGIC;
0480 -- muon charge logic signals
0481         SIGNAL sync_word : STD_LOGIC;
0482 -- for m_cond_1_s
0483         SIGNAL pos_lut_1, pos_lut_2, pos_lut_3, pos_lut_4 : STD_LOGIC;
0484         SIGNAL neg_lut_1, neg_lut_2, neg_lut_3, neg_lut_4 : STD_LOGIC;
0485 -- for m_cond_2_s and m_cond_2_wsc
0486         SIGNAL eq_lut_12, eq_lut_13, eq_lut_14 : STD_LOGIC;
0487         SIGNAL eq_lut_23, eq_lut_24, eq_lut_34 : STD_LOGIC;
0488         SIGNAL neq_lut_12, neq_lut_13, neq_lut_14 : STD_LOGIC;
0489         SIGNAL neq_lut_23, neq_lut_24, neq_lut_34 : STD_LOGIC;
0490 -- for m_cond_3
0491         SIGNAL eq_lut_123, eq_lut_124, eq_lut_134, eq_lut_234 : STD_LOGIC;
0492         SIGNAL neq_lut_123, neq_lut_124, neq_lut_134, neq_lut_234 : STD_LOGIC;
0493 -- for m_cond_4
0494         SIGNAL eq_lut_1234, pair_lut : STD_LOGIC;
0495 -- internal pll names
0496         SIGNAL CLK40_PLL : STD_LOGIC;
0497         SIGNAL CLK80_PLL : STD_LOGIC;
0498         SIGNAL TEST80_PLL : STD_LOGIC;
0499         SIGNAL pll_locked : STD_LOGIC;
0500 BEGIN
0501 -- ************* DEFINITIONS *******************************
0502 -- addresses
0503 addr_cond(7 DOWNTO 2) <= addr(13 DOWNTO 8);
0504 addr_cond(1 DOWNTO 0) <= addr(2 DOWNTO 1);
0505 addr_reg_name(4 DOWNTO 0) <= addr(7 DOWNTO 3);
0506 -- clocks
0507 clk_inp <= CLK40_PLL;
0508 clk_cond <= CLK40_PLL;
0509 clk_algo <= CLK40_PLL;
0510 -- Testoutputs
0511 TEST0 <= dtack_jet_cnts_8(1-1);
0512 --TEST0 <= CLK40;
0513 TEST1 <= TEST80_PLL;
0514 TEST2 <= pll_locked;
0515 TEST3 <= CLK80;
0516 -- status outputs, not used now !!!
0517 STAT(0) <= '0';
0518 STAT(1) <= '0';
0519 -- PLL "locked" output
0520 CLKLOCKED <= pll_locked;
0521 -- reserve outputs (inputs) to VME- and REC-chips, not used now !!!
0522 RESERVEVME <= '0';
0523 RESERVE1 <= X"0000";
0524 RESERVE2 <= X"0000";
0525 RESERVE3 <= X"0000";
0526 -- ************* PLL SECTION *******************************
0527 -- HB 111105
0528 -- altclklock einfacher, als altpll !!!
0529 -- simulation schaut gut aus !!!
0530 -- CLK40_PLL eingebaut, damit setup für calos_ioc und muons_ioc passt - HB010206 !!!
0531 -- INCLOCK_PERIOD eingebaut für timing constraints - HB150208 !!!
0532 pll_inst: altclklock
0533         GENERIC MAP(INTENDED_DEVICE_FAMILY => "STRATIX",
0534                 OPERATION_MODE => "NORMAL",
0535                 INCLOCK_PERIOD => INCLOCK_PERIOD, -- see cond_chip_pkg.vhd !!!
0536                 VALID_LOCK_MULTIPLIER => 1,
0537                 CLOCK0_BOOST => 2, CLOCK1_BOOST => 2, CLOCK2_BOOST => 1)
0538         PORT MAP(
0539                 inclock => CLK40, 
0540                 clock0 => CLK80_PLL, 
0541                 clock1 => TEST80_PLL,
0542                 clock2 => CLK40_PLL, 
0543                 locked => pll_locked);
0544 
0545 -- ************* VME SECTION *******************************
0546 -- REMARK: ENCOND for a write-cycle is made with DSPULS (25ns !!!) in VME-chip (V1004)
0547 -- REMARK: ENCOND for a read-cycle is made with DSSYNC in VME-chip (V1004)
0548 -- ENCOND_int is generated for proper use in rw-registers
0549 call_encond_sync: bit_reg
0550         PORT MAP(clk_inp, ENCOND,
0551                         ENCOND_int);
0552                         
0553 -- decoders for VME-registers
0554 call_calo_dec: calo_decoder
0555         GENERIC MAP (rd_reg_inst)
0556         PORT MAP(
0557                 ENCOND_int, WRCOND, addr(21 DOWNTO 14),
0558                 ieg_en, eg_en, jet_en, tau_en, fwdjet_en,
0559                 en_ieg_4, en_ieg_2_s, en_ieg_2_wsc, en_ieg_1_s,
0560                 en_eg_4, en_eg_2_s, en_eg_2_wsc, en_eg_1_s,
0561                 en_jet_4, en_jet_2_s, en_jet_2_wsc, en_jet_1_s,
0562                 en_tau_4, en_tau_2_s, en_tau_2_wsc, en_tau_1_s,
0563                 en_fwdjet_4, en_fwdjet_2_s, en_fwdjet_2_wsc,
0564                 en_fwdjet_1_s);
0565 
0566 call_muon_dec: muon_decoder
0567         GENERIC MAP (rd_reg_inst)
0568         PORT MAP(
0569                 ENCOND_int, WRCOND, addr(21 DOWNTO 14),
0570                 en_muon_4, en_muon_2_s, en_muon_2_wsc,
0571                 en_muon_1_s, en_muon_3);
0572 
0573 call_jc_es_dec: jc_es_decoder
0574         GENERIC MAP (rd_reg_inst)
0575         PORT MAP(
0576                 ENCOND_int, WRCOND, addr(21 DOWNTO 14),
0577                 en_jet_cnts_0, en_jet_cnts_1, en_jet_cnts_2,
0578                 en_jet_cnts_3, en_jet_cnts_4, en_jet_cnts_5,
0579                 en_jet_cnts_6, en_jet_cnts_7, en_jet_cnts_8,
0580                 en_jet_cnts_9, en_jet_cnts_10, en_jet_cnts_11,
0581                 en_ett_cond, en_etm_cond, en_htt_cond);
0582 
0583 -- chip_id- and version-registers (read only)
0584 call_chip_id_version: chip_id_version
0585         GENERIC MAP(chip_id, version)
0586         PORT MAP(
0587                 ENCOND_int, WRCOND, ADDR(21 DOWNTO 1), VDATA(7 DOWNTO 0),
0588                 DTACK_chip_id);
0589 
0590 -- ndtack_int logic from register
0591 call_dtack_inst:
0592 IF dtack_inst = true GENERATE
0593         call_dtack_calos_muon_or: dtack_calos_muon_or
0594                 GENERIC MAP (
0595                         nr_ieg_4, nr_ieg_2_s, nr_ieg_2_wsc, nr_ieg_1_s, 
0596                         nr_eg_4, nr_eg_2_s, nr_eg_2_wsc, nr_eg_1_s, 
0597                         nr_jet_4, nr_jet_2_s, nr_jet_2_wsc, nr_jet_1_s, 
0598                         nr_tau_4, nr_tau_2_s, nr_tau_2_wsc, nr_tau_1_s, 
0599                         nr_fwdjet_4, nr_fwdjet_2_s, nr_fwdjet_2_wsc, nr_fwdjet_1_s,
0600                         nr_muon_4, nr_muon_2_s, nr_muon_2_wsc, nr_muon_1_s, nr_muon_3,
0601                         nr_jet_cnts_0_cond, nr_jet_cnts_1_cond, nr_jet_cnts_2_cond,
0602                         nr_jet_cnts_3_cond, nr_jet_cnts_4_cond, nr_jet_cnts_5_cond,
0603                         nr_jet_cnts_6_cond, nr_jet_cnts_7_cond, nr_jet_cnts_8_cond,
0604                         nr_jet_cnts_9_cond, nr_jet_cnts_10_cond, nr_jet_cnts_11_cond,
0605                         nr_ett_cond, nr_etm_cond, nr_htt_cond)
0606                 PORT MAP(
0607                         dtack_ieg_1_s, dtack_ieg_2_s, dtack_ieg_2_wsc, dtack_ieg_4,
0608                         dtack_eg_1_s, dtack_eg_2_s, dtack_eg_2_wsc, dtack_eg_4,
0609                         dtack_jet_1_s, dtack_jet_2_s, dtack_jet_2_wsc, dtack_jet_4,
0610                         dtack_tau_1_s, dtack_tau_2_s, dtack_tau_2_wsc, dtack_tau_4,
0611                         dtack_fwdjet_1_s, dtack_fwdjet_2_s, dtack_fwdjet_2_wsc, dtack_fwdjet_4,
0612                         dtack_muon_1_s, dtack_muon_2_s, dtack_muon_2_wsc, dtack_muon_3, dtack_muon_4,
0613                         dtack_jet_cnts_0, dtack_jet_cnts_1, dtack_jet_cnts_2, dtack_jet_cnts_3, 
0614                         dtack_jet_cnts_4, dtack_jet_cnts_5, dtack_jet_cnts_6, dtack_jet_cnts_7, 
0615                         dtack_jet_cnts_8, dtack_jet_cnts_9, dtack_jet_cnts_10, dtack_jet_cnts_11, 
0616                         dtack_ett, dtack_etm, dtack_htt,
0617                         dtack_int);
0618 END GENERATE call_dtack_inst;
0619 
0620 NDTACK <= NOT (dtack_int OR dtack_chip_id OR DTACK_MUX OR DTACK_COND_MEM);
0621 
0622 -- open drain outputs for NDTACK !!!
0623 --ndtack_int <= NOT (dtack_int OR dtack_chip_id OR DTACK_MUX OR DTACK_COND_MEM);
0624 
0625 --open_drain_ndtack: OPNDRN
0626 --      PORT MAP(ndtack_int, NDTACK);
0627 
0628 -- ********************************************************************************************************
0629 -- BEGIN OF CONDITION-ALGO-LOGIC
0630 -- ********************************************************************************************************
0631 -- 
0632 -- ************* INPUT DEFINITIONS *******************************
0633 -- HB 111105
0634 -- input-registers with CLK80_PLL implemented on calo- and muon-inputs
0635 -- calorimeters
0636 -- ca113 ... 80MHz data (channel 1, objects 1 and 3) from pin
0637 -- ca113_ioc ... 80MHz data (channel 1, objects 1 and 3) output of register
0638 calos_ioc_inst: calos_ioc
0639                 GENERIC MAP(16)
0640                 PORT MAP(CLK80_PLL,
0641                         ca113, ca124, ca213, ca224, ca313, ca324,  
0642                         ca413, ca424, ca513, ca524, ca613, ca624,  
0643                         ca713, ca724, ca813, ca824, ca913, ca924,  
0644                         ca1013, ca1024,  
0645                         ca113_ioc, ca124_ioc, ca213_ioc, ca224_ioc,
0646                         ca313_ioc, ca324_ioc, ca413_ioc, ca424_ioc,
0647                         ca513_ioc, ca524_ioc, ca613_ioc, ca624_ioc,
0648                         ca713_ioc, ca724_ioc, ca813_ioc, ca824_ioc,
0649                         ca913_ioc, ca924_ioc, ca1013_ioc, ca1024_ioc);
0650 muons_ioc_inst: muons_ioc
0651                 GENERIC MAP(26)
0652                 PORT MAP(CLK80_PLL,
0653                         mu1, mu3, 
0654                         mu1_ioc, mu3_ioc);
0655 -- ca41_reg ... 40MHz data, object 1 of channel 4
0656 -- ca42_reg ... 40MHz data, object 2 of channel 4
0657 ca113_in_reg: input_calos
0658         GENERIC MAP     (16)
0659         PORT MAP        (clk_inp,
0660                 ca113_ioc, ca11_reg, ca13_reg);
0661 ca124_in_reg: input_calos
0662         GENERIC MAP     (16)
0663         PORT MAP        (clk_inp,
0664                 ca124_ioc, ca12_reg, ca14_reg);
0665 ca213_in_reg: input_calos
0666         GENERIC MAP     (16)
0667         PORT MAP        (clk_inp,
0668                 ca213_ioc, ca21_reg, ca23_reg);
0669 ca224_in_reg: input_calos
0670         GENERIC MAP     (16)
0671         PORT MAP        (clk_inp,
0672                 ca224_ioc, ca22_reg, ca24_reg);
0673 ca313_in_reg: input_calos
0674         GENERIC MAP     (16)
0675         PORT MAP        (clk_inp,
0676                 ca313_ioc, ca31_reg, ca33_reg);
0677 ca324_in_reg: input_calos
0678         GENERIC MAP     (16)
0679         PORT MAP        (clk_inp,
0680                 ca324_ioc, ca32_reg, ca34_reg);
0681 ca413_in_reg: input_calos
0682         GENERIC MAP     (16)
0683         PORT MAP        (clk_inp,
0684                 ca413_ioc, ca41_reg, ca43_reg);
0685 ca424_in_reg: input_calos
0686         GENERIC MAP     (16)
0687         PORT MAP        (clk_inp,
0688                 ca424_ioc, ca42_reg, ca44_reg);
0689 ca513_in_reg: input_calos
0690         GENERIC MAP     (16)
0691         PORT MAP        (clk_inp,
0692                 ca513_ioc, ca51_reg, ca53_reg);
0693 ca524_in_reg: input_calos
0694         GENERIC MAP     (16)
0695         PORT MAP        (clk_inp,
0696                 ca524_ioc, ca52_reg, ca54_reg);
0697 ca613_in_reg: input_calos
0698         GENERIC MAP     (16)
0699         PORT MAP        (clk_inp,
0700                 ca613_ioc, ca61_reg, ca63_reg);
0701 ca624_in_reg: input_calos
0702         GENERIC MAP     (16)
0703         PORT MAP        (clk_inp,
0704                 ca624_ioc, ca62_reg, ca64_reg);
0705 ca713_in_reg: input_calos
0706         GENERIC MAP     (16)
0707         PORT MAP        (clk_inp,
0708                 ca713_ioc, ca71_reg, ca73_reg);
0709 ca724_in_reg: input_calos
0710         GENERIC MAP     (16)
0711         PORT MAP        (clk_inp,
0712                 ca724_ioc, ca72_reg, ca74_reg);
0713 ca813_in_reg: input_calos
0714         GENERIC MAP     (16)
0715         PORT MAP        (clk_inp,
0716                 ca813_ioc, ca81_reg, ca83_reg);
0717 ca824_in_reg: input_calos
0718         GENERIC MAP     (16)
0719         PORT MAP        (clk_inp,
0720                 ca824_ioc, ca82_reg, ca84_reg);
0721 ca913_in_reg: input_calos
0722         GENERIC MAP     (16)
0723         PORT MAP        (clk_inp,
0724                 ca913_ioc, ca91_reg, ca93_reg);
0725 ca924_in_reg: input_calos
0726         GENERIC MAP     (16)
0727         PORT MAP        (clk_inp,
0728                 ca924_ioc, ca92_reg, ca94_reg);
0729 ca1013_in_reg: input_calos
0730         GENERIC MAP     (16)
0731         PORT MAP        (clk_inp,
0732                 ca1013_ioc, ca101_reg, ca103_reg);
0733 ca1024_in_reg: input_calos
0734         GENERIC MAP     (16)
0735         PORT MAP        (clk_inp,
0736                 ca1024_ioc, ca102_reg, ca104_reg);
0737 -- muons
0738 mu1_in_reg: input_muons
0739         GENERIC MAP     (26)
0740         PORT MAP        (clk_inp,
0741                 mu1_ioc, mu1_reg, mu2_reg);
0742 mu3_in_reg: input_muons
0743         GENERIC MAP     (26)
0744         PORT MAP        (clk_inp,
0745                 mu3_ioc, mu3_reg, mu4_reg);             
0746 
0747 -- ************* CONDITION LOGIC *******************************
0748 -- see condition-instantiations at end of file
0749 
0750 -- ************* ALGORITHM LOGIC *******************************
0751 -- logic of algo_and_or depends on definitions in def.xml, generated by gts !!!
0752 
0753 call_algo_and_or: algo_and_or
0754         GENERIC MAP(
0755                         nr_ieg_4, nr_ieg_2_s, nr_ieg_2_wsc, nr_ieg_1_s, 
0756                         nr_eg_4, nr_eg_2_s, nr_eg_2_wsc, nr_eg_1_s, 
0757                         nr_jet_4, nr_jet_2_s, nr_jet_2_wsc, nr_jet_1_s, 
0758                         nr_tau_4, nr_tau_2_s, nr_tau_2_wsc, nr_tau_1_s, 
0759                         nr_fwdjet_4, nr_fwdjet_2_s, nr_fwdjet_2_wsc, nr_fwdjet_1_s,
0760                         nr_muon_4, nr_muon_2_s, nr_muon_2_wsc, nr_muon_1_s, nr_muon_3,
0761                         nr_jet_cnts_0_cond, nr_jet_cnts_1_cond, nr_jet_cnts_2_cond,
0762                         nr_jet_cnts_3_cond, nr_jet_cnts_4_cond, nr_jet_cnts_5_cond,
0763                         nr_jet_cnts_6_cond, nr_jet_cnts_7_cond, nr_jet_cnts_8_cond,
0764                         nr_jet_cnts_9_cond, nr_jet_cnts_10_cond, nr_jet_cnts_11_cond,
0765                         nr_ett_cond, nr_etm_cond, nr_htt_cond)
0766         PORT MAP(
0767                 ieg_4, ieg_2_s, ieg_2_wsc, ieg_1_s, 
0768                 eg_4, eg_2_s, eg_2_wsc, eg_1_s, 
0769                 jet_4, jet_2_s, jet_2_wsc, jet_1_s, 
0770                 tau_4, tau_2_s, tau_2_wsc, tau_1_s, 
0771                 fwdjet_4, fwdjet_2_s, fwdjet_2_wsc, fwdjet_1_s, 
0772                 muon_4, muon_2_s, muon_2_wsc, muon_1_s, muon_3, 
0773                 jet_cnts_0_cond, jet_cnts_1_cond, jet_cnts_2_cond,
0774                 jet_cnts_3_cond, jet_cnts_4_cond, jet_cnts_5_cond,
0775                 jet_cnts_6_cond, jet_cnts_7_cond, jet_cnts_8_cond,
0776                 jet_cnts_9_cond, jet_cnts_10_cond, jet_cnts_11_cond,
0777                 ett_cond, etm_cond, htt_cond,
0778                 ALGOSTROB_reg, algo_mux_in);
0779 
0780 -- ************* INPUT DATA MUX *******************************
0781 -- input data multiplexer part for tests
0782 
0783 call_input_mux: in_mux_4_test
0784         PORT MAP(
0785                 CLK40,
0786                 ca11_reg, ca12_reg, ca13_reg, ca14_reg,
0787                 ca21_reg, ca22_reg, ca23_reg, ca24_reg,
0788                 ca31_reg, ca32_reg, ca33_reg, ca34_reg,
0789                 ca41_reg, ca42_reg, ca43_reg, ca44_reg,
0790                 ca51_reg, ca52_reg, ca53_reg, ca54_reg,
0791                 ca61_reg, ca62_reg, ca63_reg, ca64_reg,
0792                 ca71_reg, ca72_reg, ca73_reg, ca74_reg,
0793                 ca81_reg, ca82_reg, ca83_reg, ca84_reg,
0794                 ca91_reg, ca92_reg, ca93_reg, ca94_reg,
0795                 ca101_reg, ca102_reg, ca103_reg, ca104_reg,
0796                 mu1_reg, mu2_reg, mu3_reg, mu4_reg, 
0797                 algo_mux_in,
0798                 ENCOND, WRCOND,
0799                 ADDR, VDATA(15 DOWNTO 0),
0800                 DTACK_MUX,
0801                 algo_cond_mem);
0802 
0803 -- ************* CONDITION (ALGO) MEMORY *******************************
0804 -- ALGO MEMORY AND TTC-SIGNALS INSTANTIATION
0805 -- HB010206: algo-memory 6 x 1024 x 16 bit !!!!
0806 
0807 -- mif_file : STRING := "algo_1024_16.mif"
0808 -- mem_addr_cnt_width : integer := 10
0809 -- mem_data_width : integer := 16
0810 -- mem_width_base : integer := 3
0811 -- mem_width : integer := 6
0812 -- siehe cond_chip_pkg.vhd
0813 
0814 call_cond_mem: cond_mem
0815         GENERIC MAP (algo_chip_name, mif_file, mem_addr_cnt_width,
0816                                 mem_data_width, mem_width_base, mem_width)
0817         PORT MAP(
0818                 CLK_ALGO,
0819                 algo_cond_mem,
0820                 ENALGO, WRCOND,
0821                 BCRES, L1A, L1RESET,
0822                 ADDR, VDATA(15 DOWNTO 0),
0823                 DTACK_COND_MEM,
0824                 ALGO_OUT_REG_IN);
0825 
0826 -- ************* ALGO OUT REGISTER *******************************
0827 -- output-register
0828 call_algo_out_reg: algo_out_reg
0829         GENERIC MAP(96, 3)
0830         PORT MAP(
0831                 CLK_ALGO,
0832                 ALGO_OUT_REG_IN, ALGOSTROB_reg,
0833                 ALGO, ALGOSTROB);
0834 
0835 -- ********************************************************************************************************
0836 -- condition-instantiations parts:
0837 -- RENAMING CALOs/MUONs
0838 -- MUON CHARGE INSTANTIATIONS
0839 -- CONDITION INSTANTIATIONS
0840 -- ********************************************************************************************************
0841 
0842 -- ************* RENAMING CALOs/MUONs *******************************
0843 -- selecting and renaming of calorimeter- and muon-channels
0844 -- fix structure see CMS-IN_02_069.PDF (HB, 080104) !!!
0845 -- IEG inputs (channel 1)
0846 reg_ieg_et_1 <= ca11_reg(5 DOWNTO 0);
0847 reg_ieg_et_2 <= ca12_reg(5 DOWNTO 0);
0848 reg_ieg_et_3 <= ca13_reg(5 DOWNTO 0);
0849 reg_ieg_et_4 <= ca14_reg(5 DOWNTO 0);
0850 reg_ieg_eta_1 <= ca11_reg(9 DOWNTO 6);
0851 reg_ieg_eta_2 <= ca12_reg(9 DOWNTO 6);
0852 reg_ieg_eta_3 <= ca13_reg(9 DOWNTO 6);
0853 reg_ieg_eta_4 <= ca14_reg(9 DOWNTO 6);
0854 reg_ieg_phi_1 <= ca11_reg(14 DOWNTO 10);
0855 reg_ieg_phi_2 <= ca12_reg(14 DOWNTO 10);
0856 reg_ieg_phi_3 <= ca13_reg(14 DOWNTO 10);
0857 reg_ieg_phi_4 <= ca14_reg(14 DOWNTO 10);
0858 reg_ieg_sync_1 <= ca11_reg(15);
0859 reg_ieg_sync_2 <= ca12_reg(15);
0860 reg_ieg_sync_3 <= ca13_reg(15);
0861 reg_ieg_sync_4 <= ca14_reg(15);
0862 -- EG inputs (channel 2)
0863 reg_eg_et_1 <= ca21_reg(5 DOWNTO 0);
0864 reg_eg_et_2 <= ca22_reg(5 DOWNTO 0);
0865 reg_eg_et_3 <= ca23_reg(5 DOWNTO 0);
0866 reg_eg_et_4 <= ca24_reg(5 DOWNTO 0);
0867 reg_eg_eta_1 <= ca21_reg(9 DOWNTO 6);
0868 reg_eg_eta_2 <= ca22_reg(9 DOWNTO 6);
0869 reg_eg_eta_3 <= ca23_reg(9 DOWNTO 6);
0870 reg_eg_eta_4 <= ca24_reg(9 DOWNTO 6);
0871 reg_eg_phi_1 <= ca21_reg(14 DOWNTO 10);
0872 reg_eg_phi_2 <= ca22_reg(14 DOWNTO 10);
0873 reg_eg_phi_3 <= ca23_reg(14 DOWNTO 10);
0874 reg_eg_phi_4 <= ca24_reg(14 DOWNTO 10);
0875 reg_eg_sync_1 <= ca21_reg(15);
0876 reg_eg_sync_2 <= ca22_reg(15);
0877 reg_eg_sync_3 <= ca23_reg(15);
0878 reg_eg_sync_4 <= ca24_reg(15);
0879 --      cJET inputs (channel 3)
0880 reg_jet_et_1 <= ca31_reg(5 DOWNTO 0);
0881 reg_jet_et_2 <= ca32_reg(5 DOWNTO 0);
0882 reg_jet_et_3 <= ca33_reg(5 DOWNTO 0);
0883 reg_jet_et_4 <= ca34_reg(5 DOWNTO 0);
0884 reg_jet_eta_1 <= ca31_reg(9 DOWNTO 6);
0885 reg_jet_eta_2 <= ca32_reg(9 DOWNTO 6);
0886 reg_jet_eta_3 <= ca33_reg(9 DOWNTO 6);
0887 reg_jet_eta_4 <= ca34_reg(9 DOWNTO 6);
0888 reg_jet_phi_1 <= ca31_reg(14 DOWNTO 10);
0889 reg_jet_phi_2 <= ca32_reg(14 DOWNTO 10);
0890 reg_jet_phi_3 <= ca33_reg(14 DOWNTO 10);
0891 reg_jet_phi_4 <= ca34_reg(14 DOWNTO 10);
0892 reg_jet_sync_1 <= ca31_reg(15);
0893 reg_jet_sync_2 <= ca32_reg(15);
0894 reg_jet_sync_3 <= ca33_reg(15);
0895 reg_jet_sync_4 <= ca34_reg(15);
0896 --      fwdJET inputs (channel 4)
0897 reg_fwdjet_et_1 <= ca41_reg(5 DOWNTO 0);
0898 reg_fwdjet_et_2 <= ca42_reg(5 DOWNTO 0);
0899 reg_fwdjet_et_3 <= ca43_reg(5 DOWNTO 0);
0900 reg_fwdjet_et_4 <= ca44_reg(5 DOWNTO 0);
0901 reg_fwdjet_eta_1 <= ca41_reg(9 DOWNTO 6);
0902 reg_fwdjet_eta_2 <= ca42_reg(9 DOWNTO 6);
0903 reg_fwdjet_eta_3 <= ca43_reg(9 DOWNTO 6);
0904 reg_fwdjet_eta_4 <= ca44_reg(9 DOWNTO 6);
0905 reg_fwdjet_phi_1 <= ca41_reg(14 DOWNTO 10);
0906 reg_fwdjet_phi_2 <= ca42_reg(14 DOWNTO 10);
0907 reg_fwdjet_phi_3 <= ca43_reg(14 DOWNTO 10);
0908 reg_fwdjet_phi_4 <= ca44_reg(14 DOWNTO 10);
0909 reg_fwdjet_sync_1 <= ca41_reg(15);
0910 reg_fwdjet_sync_2 <= ca42_reg(15);
0911 reg_fwdjet_sync_3 <= ca43_reg(15);
0912 reg_fwdjet_sync_4 <= ca44_reg(15);
0913 --      TAU inputs (channel 5)
0914 reg_tau_et_1 <= ca51_reg(5 DOWNTO 0);
0915 reg_tau_et_2 <= ca52_reg(5 DOWNTO 0);
0916 reg_tau_et_3 <= ca53_reg(5 DOWNTO 0);
0917 reg_tau_et_4 <= ca54_reg(5 DOWNTO 0);
0918 reg_tau_eta_1 <= ca51_reg(9 DOWNTO 6);
0919 reg_tau_eta_2 <= ca52_reg(9 DOWNTO 6);
0920 reg_tau_eta_3 <= ca53_reg(9 DOWNTO 6);
0921 reg_tau_eta_4 <= ca54_reg(9 DOWNTO 6);
0922 reg_tau_phi_1 <= ca51_reg(14 DOWNTO 10);
0923 reg_tau_phi_2 <= ca52_reg(14 DOWNTO 10);
0924 reg_tau_phi_3 <= ca53_reg(14 DOWNTO 10);
0925 reg_tau_phi_4 <= ca54_reg(14 DOWNTO 10);
0926 reg_tau_sync_1 <= ca51_reg(15);
0927 reg_tau_sync_2 <= ca52_reg(15);
0928 reg_tau_sync_3 <= ca53_reg(15);
0929 reg_tau_sync_4 <= ca54_reg(15);
0930 --      energy summary information ("single objects") inputs (channel 6)
0931 reg_ett <= ca61_reg(12 DOWNTO 0);
0932 reg_esums_sync_1 <= ca61_reg(15);
0933 reg_etm <= ca62_reg(12 DOWNTO 0);
0934 reg_esums_sync_2 <= ca62_reg(15);
0935 reg_htt <= ca63_reg(12 DOWNTO 0);
0936 reg_esums_sync_3 <= ca63_reg(15);
0937 reg_etm_phi <= ca64_reg(6 DOWNTO 0);
0938 reg_esums_sync_4 <= ca64_reg(15);
0939 --      jet counts inputs (channel 7)
0940 reg_jet_cnts_0 <= ca71_reg(4 DOWNTO 0);
0941 reg_jet_cnts_1 <= ca71_reg(9 DOWNTO 5);
0942 reg_jet_cnts_2 <= ca71_reg(14 DOWNTO 10);
0943 reg_jet_cnts_sync_1 <= ca71_reg(15);
0944 reg_jet_cnts_3 <= ca72_reg(4 DOWNTO 0);
0945 reg_jet_cnts_4 <= ca72_reg(9 DOWNTO 5);
0946 reg_jet_cnts_5 <= ca72_reg(14 DOWNTO 10);
0947 reg_jet_cnts_sync_2 <= ca72_reg(15);
0948 reg_jet_cnts_6 <= ca73_reg(4 DOWNTO 0);
0949 reg_jet_cnts_7 <= ca73_reg(9 DOWNTO 5);
0950 reg_jet_cnts_8 <= ca73_reg(14 DOWNTO 10);
0951 reg_jet_cnts_sync_3 <= ca73_reg(15);
0952 reg_jet_cnts_9 <= ca74_reg(4 DOWNTO 0);
0953 reg_jet_cnts_10 <= ca74_reg(9 DOWNTO 5);
0954 reg_jet_cnts_11 <= ca74_reg(14 DOWNTO 10);
0955 reg_jet_cnts_sync_4 <= ca74_reg(15);
0956 --      MUON inputs
0957 reg_muon_pt_1 <= mu1_reg(12 DOWNTO 8);
0958 reg_muon_pt_2 <= mu2_reg(12 DOWNTO 8);
0959 reg_muon_pt_3 <= mu3_reg(12 DOWNTO 8);
0960 reg_muon_pt_4 <= mu4_reg(12 DOWNTO 8);
0961 reg_muon_eta_1 <= mu1_reg(21 DOWNTO 16);
0962 reg_muon_eta_2 <= mu2_reg(21 DOWNTO 16);
0963 reg_muon_eta_3 <= mu3_reg(21 DOWNTO 16);
0964 reg_muon_eta_4 <= mu4_reg(21 DOWNTO 16);
0965 reg_muon_phi_1 <= mu1_reg(7 DOWNTO 0);
0966 reg_muon_phi_2 <= mu2_reg(7 DOWNTO 0);
0967 reg_muon_phi_3 <= mu3_reg(7 DOWNTO 0);
0968 reg_muon_phi_4 <= mu4_reg(7 DOWNTO 0);
0969 reg_muon_qual_1 <= mu1_reg(15 DOWNTO 13);
0970 reg_muon_qual_2 <= mu2_reg(15 DOWNTO 13);
0971 reg_muon_qual_3 <= mu3_reg(15 DOWNTO 13);
0972 reg_muon_qual_4 <= mu4_reg(15 DOWNTO 13);
0973 reg_muon_iso_1 <= mu1_reg(22);
0974 reg_muon_iso_2 <= mu2_reg(22);
0975 reg_muon_iso_3 <= mu3_reg(22);
0976 reg_muon_iso_4 <= mu4_reg(22);
0977 reg_muon_mip_1 <= mu1_reg(23);
0978 reg_muon_mip_2 <= mu2_reg(23);
0979 reg_muon_mip_3 <= mu3_reg(23);
0980 reg_muon_mip_4 <= mu4_reg(23);
0981 reg_muon_sy_0_1 <= mu1_reg(24);
0982 reg_muon_sy_0_2 <= mu2_reg(24);
0983 reg_muon_sy_0_3 <= mu3_reg(24);
0984 reg_muon_sy_0_4 <= mu4_reg(24);
0985 reg_muon_sy_1_1 <= mu1_reg(25);
0986 reg_muon_sy_1_2 <= mu2_reg(25);
0987 reg_muon_sy_1_3 <= mu3_reg(25);
0988 reg_muon_sy_1_4 <= mu4_reg(25);
0989 
0990 -- ************* MUON CHARGE INSTANTIATIONS *******************************
0991 -- muon charge instantiations, always instantiated
0992 -- compiler reduces unused logic
0993 
0994 -- muon sync_word NOT used in VHDL Version 6.x
0995 
0996 mu_ch_1: m_charge_cond_1
0997 PORT MAP (
0998 reg_muon_sy_0_1, reg_muon_sy_1_1,
0999 reg_muon_sy_0_2, reg_muon_sy_1_2,
1000 reg_muon_sy_0_3, reg_muon_sy_1_3,
1001 reg_muon_sy_0_4, reg_muon_sy_1_4,
1002 pos_lut_1, pos_lut_2, pos_lut_3, pos_lut_4,
1003 neg_lut_1, neg_lut_2, neg_lut_3, neg_lut_4);
1004 
1005 mu_ch_2: m_charge_cond_2
1006 PORT MAP (
1007 reg_muon_sy_0_1, reg_muon_sy_1_1,
1008 reg_muon_sy_0_2, reg_muon_sy_1_2,
1009 reg_muon_sy_0_3, reg_muon_sy_1_3,
1010 reg_muon_sy_0_4, reg_muon_sy_1_4,
1011 eq_lut_12, eq_lut_13, eq_lut_14,
1012 eq_lut_23, eq_lut_24, eq_lut_34,
1013 neq_lut_12, neq_lut_13, neq_lut_14,
1014 neq_lut_23, neq_lut_24, neq_lut_34);
1015 
1016 mu_ch_3: m_charge_cond_3
1017 PORT MAP (
1018 reg_muon_sy_0_1, reg_muon_sy_1_1,
1019 reg_muon_sy_0_2, reg_muon_sy_1_2,
1020 reg_muon_sy_0_3, reg_muon_sy_1_3,
1021 reg_muon_sy_0_4, reg_muon_sy_1_4,
1022 eq_lut_123, eq_lut_124, eq_lut_134, eq_lut_234,
1023 neq_lut_123, neq_lut_124, neq_lut_134, neq_lut_234);
1024 
1025 mu_ch_4: m_charge_cond_4
1026 PORT MAP (
1027 reg_muon_sy_0_1, reg_muon_sy_1_1,
1028 reg_muon_sy_0_2, reg_muon_sy_1_2,
1029 reg_muon_sy_0_3, reg_muon_sy_1_3,
1030 reg_muon_sy_0_4, reg_muon_sy_1_4,
1031 eq_lut_1234, pair_lut);
1032 
1033 -- ************* CONDITION INSTANTIATIONS *******************************
1034 -- variable part, depends on definitions in def.xml, generated by gts !!!
1035 

1036 $(calo_common)
1037 
1038 $(esums_common)
1039 
1040 $(jet_cnts_common)
1041 
1042 $(muon_common)
1043 
1044 $(calo)
1045 
1046 $(esums)
1047 
1048 $(jet_cnts)
1049 
1050 $(muon)
1051 
1052 END ARCHITECTURE rtl;