1 ----------------------------------------------------------------------------------
7 ----------------------------------------------------------------------------------
9 use IEEE.STD_LOGIC_1164.
ALL;
10 use IEEE.NUMERIC_STD.
ALL;
13 use UNISIM.VComponents.
all;
26 ----------------------------------------------------------------------------
27 -- VME-- backplane (65 signals)
28 ----------------------------------------------------------------------------
29 --GEOADDR0: in std_logic; -- GeoAddr0
31 --VMEADDR: in std_logic_vector(23 downto 1); -- Address bus
55 --VMEDS_L: in std_logic; -- DS strobe VMEDS_L
57 --VMEWR_L: in std_logic; -- VME Write VMEWR_L
59 --VMERST_L: in std_logic; -- System reset VMERST_L
61 --VMEDATA: inout std_logic_vector(15 downto 0); -- Data bus VMEDATA
62 OCB_D: inout (15 downto 0);
63 ----------------------------------------------------------------------------
492 --CLK_40MHz08_DSKW_2_BF_LOGIC_DIR : in std_logic;
493 --CLK_40MHz08_DSKW_2_BF_LOGIC_CMP : in std_logic;
502 --CLK_320MHz64_LHC_BF_LOGIC_DIR : in std_logic;
503 --CLK_320MHz64_LHC_BF_LOGIC_CMP : in std_logic;
760 --clk40 : in std_logic;
761 RXN_IN : in ((num_GTX_per_group*num_GTX_groups)-1 downto 0);
762 RXP_IN : in ((num_GTX_per_group*num_GTX_groups)-1 downto 0)
772 attribute keep : ;
-- keep signals in synthesis
776 ------------------------------------------------------------------------------
777 -- VME interface component used in BSPT FPGA (Ian's vme_interface)
778 ------------------------------------------------------------------------------
781 clk40 :
IN ;
-- 40MHz Clk
790 -- signals for CMX_BASE_VME_INTERFACE component
791 signal ds: ;
-- board_ds output from VME (Ian model)
792 signal ncs: ;
-- brdsel_n output from VME (Ian model)
943 -- the first variable is
944 -- yet one more register
999 P :
in mat_var (numactchan
-1 downto 0);
1004 ODATA :
out arr_4Xword (numactchan
-1 downto 0);
1028 --signal PAR_ERROR: std_logic_vector(numactchan-1 downto 0);
1033 signal data_from_vme_REG_RW_QUIET_FORCE : (15 downto 0);
1034 signal data_to_vme_REG_RW_QUIET_FORCE : (15 downto 0);
1036 signal DATA96 : arr_4Xword (numactchan-1 downto 0);
--96 bit data at 40MHz
1037 signal ODATA_first_half : arr_2Xword(numactchan-1 downto 0);
1039 signal P : mat_var (numactchan-1 downto 0);
1041 signal BF_DEBUG : (9 downto 0);
1043 signal counter_enable_inputmod_sig: (numactchan-1 downto 0);
1057 end component CMX_Memory_spy_inhibit;
1059 signal spy_write_inhibit : ;
1061 -- VME signal definitions
1062 signal data_from_vme_REG_RW_MISS_E_THR_BLOCK : arr_16((2*num_thresholds)-1 downto 0);
1063 signal data_to_vme_REG_RW_MISS_E_THR_BLOCK : arr_16((2*num_thresholds)-1 downto 0);
1065 signal data_from_vme_REG_RW_MISS_E_RES_THR_BLOCK : arr_16((2*num_thresholds)-1 downto 0);
1066 signal data_to_vme_REG_RW_MISS_E_RES_THR_BLOCK : arr_16((2*num_thresholds)-1 downto 0);
1068 signal data_from_vme_REG_RW_SUM_ET_THR_BLOCK : arr_16(num_thresholds-1 downto 0);
1069 signal data_to_vme_REG_RW_SUM_ET_THR_BLOCK : arr_16(num_thresholds-1 downto 0);
1071 signal data_from_vme_REG_RW_SUM_ET_RES_THR_BLOCK : arr_16(num_thresholds-1 downto 0);
1072 signal data_to_vme_REG_RW_SUM_ET_RES_THR_BLOCK : arr_16(num_thresholds-1 downto 0);
1074 signal data_from_vme_REG_RW_XS_T2_A2_THR_BLOCK : arr_16((2*num_thresholds)-1 downto 0);
1075 signal data_to_vme_REG_RW_XS_T2_A2_THR_BLOCK : arr_16((2*num_thresholds)-1 downto 0);
1077 signal data_from_vme_REG_RW_T_MISS_E_MIN_PARAM_BLOCK : arr_16((2*num_thresholds)-1 downto 0);
1078 signal data_to_vme_REG_RW_T_MISS_E_MIN_PARAM_BLOCK : arr_16((2*num_thresholds)-1 downto 0);
1080 signal data_from_vme_REG_RW_T_MISS_E_MAX_PARAM_BLOCK : arr_16((2*num_thresholds)-1 downto 0);
1081 signal data_to_vme_REG_RW_T_MISS_E_MAX_PARAM_BLOCK : arr_16((2*num_thresholds)-1 downto 0);
1083 signal data_from_vme_REG_RW_T_SUM_E_MIN_PARAM_BLOCK : arr_16(num_thresholds-1 downto 0);
1084 signal data_to_vme_REG_RW_T_SUM_E_MIN_PARAM_BLOCK : arr_16(num_thresholds-1 downto 0);
1086 signal data_from_vme_REG_RW_T_SUM_E_MAX_PARAM_BLOCK : arr_16(num_thresholds-1 downto 0);
1087 signal data_to_vme_REG_RW_T_SUM_E_MAX_PARAM_BLOCK : arr_16(num_thresholds-1 downto 0);
1089 signal data_from_vme_REG_RW_XS_B2_PARAM_BLOCK : arr_16(num_thresholds-1 downto 0);
1090 signal data_to_vme_REG_RW_XS_B2_PARAM_BLOCK : arr_16(num_thresholds-1 downto 0);
1101 MISS_E_THR :
in arr_ctr_31bit(num_thresholds
-1 downto 0);
1103 SUM_ET_THR :
in arr_ctr_15bit(num_thresholds
-1 downto 0);
1105 XS_T2_A2 :
in arr_ctr_31bit(num_thresholds
-1 downto 0);
1107 T_MISS_E_MIN :
in arr_ctr_31bit(num_thresholds
-1 downto 0);
1108 T_MISS_E_MAX :
in arr_ctr_31bit(num_thresholds
-1 downto 0);
1109 T_SUM_E_MIN :
in arr_ctr_15bit(num_thresholds
-1 downto 0);
1110 T_SUM_E_MAX :
in arr_ctr_15bit(num_thresholds
-1 downto 0);
1111 XS_B2 :
in arr_ctr_15bit(num_thresholds
-1 downto 0);
1121 par_err :
in (
1 downto 0);
-- parity error (input module - 0, RTM - 1)
1122 force :
in T_SL;
-- force
1123 ncs :
in ;
--ports forwarded to the vme register instances
1126 addr_vme :
in (
15 downto 0);
1127 data_vme_in :
in (
15 downto 0);
1128 data_vme_out :
out (
15 downto 0);
1131 end component CMX_Sum_Et;
1133 signal par_err : (1 downto 0);
1135 signal ENERGY_REMOTE : (26*4-1 downto 0);
--just dummy
1138 signal MISS_E_THR : arr_ctr_31bit(num_thresholds-1 downto 0);
1139 signal MISS_E_RES_THR : arr_ctr_31bit(num_thresholds-1 downto 0);
1140 signal SUM_ET_THR : arr_ctr_15bit(num_thresholds-1 downto 0);
1141 signal SUM_ET_RES_THR : arr_ctr_15bit(num_thresholds-1 downto 0);
1142 signal XS_T2_A2 : arr_ctr_31bit(num_thresholds-1 downto 0);
1144 signal T_MISS_E_MIN : arr_ctr_31bit(num_thresholds-1 downto 0);
1145 signal T_MISS_E_MAX : arr_ctr_31bit(num_thresholds-1 downto 0);
1146 signal T_SUM_E_MIN : arr_ctr_15bit(num_thresholds-1 downto 0);
1147 signal T_SUM_E_MAX : arr_ctr_15bit(num_thresholds-1 downto 0);
1148 signal XS_B2 : arr_ctr_15bit(num_thresholds-1 downto 0);
1151 signal slv_MISS_E_THR : arr_31(num_thresholds-1 downto 0);
1152 signal slv_MISS_E_RES_THR : arr_31(num_thresholds-1 downto 0);
1153 signal slv_SUM_ET_THR : arr_15(num_thresholds-1 downto 0);
1154 signal slv_SUM_ET_RES_THR : arr_15(num_thresholds-1 downto 0);
1155 signal slv_XS_T2_A2 : arr_31(num_thresholds-1 downto 0);
1157 signal slv_T_MISS_E_MIN : arr_31(num_thresholds-1 downto 0);
1158 signal slv_T_MISS_E_MAX : arr_31(num_thresholds-1 downto 0);
1159 signal slv_T_SUM_E_MIN : arr_15(num_thresholds-1 downto 0);
1160 signal slv_T_SUM_E_MAX : arr_15(num_thresholds-1 downto 0);
1161 signal slv_XS_B2 : arr_15(num_thresholds-1 downto 0);
1165 signal LOCAL_CABLE_OUT : (26*4-1 downto 0);
1166 signal BACKPLANE_DATA_IN : energy_array;
1168 signal data_to_RTM1 : ((numbits_in_RTM_connector*2)-1 downto 0);
1169 signal data_to_RTM2 : ((numbits_in_RTM_connector*2)-1 downto 0);
1171 -- signal p_d : nx121_array(numactchan-1 downto 0); --120 bits + parity -
1172 -- --will be connected to
1173 -- --the decoder output
1174 -- --threshold mask 25
1175 -- --threshold times 4
1176 -- --TOBs + 5 bits position/TOB
1178 --component CMX_cable_clocked_80Mbps_output_module
1180 -- numbits_in_cable_connector : integer);
1182 -- data : in std_logic_vector((numbits_in_cable_connector*2)-1 downto 0);
1183 -- ddr_data_out : out std_logic_vector(numbits_in_cable_connector downto 0);
1184 -- buf_clk40 : in std_logic;
1185 -- buf_clk40_center : in std_logic;
1186 -- buf_clk200 : in std_logic;
1187 -- pll_locked : in std_logic;
1188 -- del_array : in cable_del_array_type(numbits_in_cable_connector downto 0);
1189 -- upload_delays : in std_logic);
1194 data :
in (numbits_in_RTM_connector*
2*num_RTM_cables
- 1 downto 0);
1208 end component CMX_crate_cable_output_module;
1210 signal data_to_RTM : ( numbits_in_RTM_connector*2*num_RTM_cables - 1 downto 0);
1211 signal ddr_data_out_RTM : arr_RTM(num_RTM_cables-1 downto 0);
1213 --signal sdr_data_out_CTP1 : std_logic_vector(31 downto 0);
1214 --signal sdr_data_out_CTP2 : std_logic_vector(31 downto 0);
1215 --signal sdr_data_out : std_logic_vector(31 downto 0);
1217 signal ddr_data_out_RTM1 : (numbits_in_RTM_connector downto 0);
1218 signal ddr_data_out_RTM2 : (numbits_in_RTM_connector downto 0);
1219 --signal del_array_RTM : cable_del_array_type(numbits_in_RTM_connector downto 0);
1221 --signal ddr_data_in_RTM1 : std_logic_vector(numbits_in_RTM_connector downto 0);
1222 --signal ddr_data_in_RTM2 : std_logic_vector(numbits_in_RTM_connector downto 0);
1223 --signal sig_arr_RTM: arr_RTM(num_RTM_cables-1 downto 0);
1224 --signal data_from_RTM : std_logic_vector(numbits_in_RTM_connector*2*num_RTM_cables - 1 downto 0);
1229 --signal forwarded_clock_CTP2 : std_logic;
1230 --signal data_CTP2 : std_logic_vector((numbits_in_CTP_connector*2)-1 downto 0);
1231 --signal parity_CTP2 : std_logic;
1232 --signal ddr_data_in_CTP2 : std_logic_vector(numbits_in_CTP_connector downto 0);
1234 --signal forwarded_clock_RTM3 : std_logic;
1235 --signal data_RTM3 : std_logic_vector((numbits_in_RTM_connector*2)-1 downto 0);
1236 --signal parity_RTM3 : std_logic;
1237 --signal ddr_data_in_RTM3 : std_logic_vector(numbits_in_RTM_connector downto 0);
1245 ncs :
in ;
--ports forwarded to the vme register instances
1253 signal BCID_counter_sig : (11 downto 0);
1254 signal BCID_delayed_decoder : (11 downto 0);
1255 signal BCID_delayed_daq : (11 downto 0);
1266 RXN_IN :
in ((num_GTX_per_group*num_GTX_groups)
-1 downto 0);
1267 RXP_IN :
in ((num_GTX_per_group*num_GTX_groups)
-1 downto 0);
1268 TXN_OUT :
out ((num_GTX_per_group*num_GTX_groups)
-1 downto 0);
1269 TXP_OUT :
out ((num_GTX_per_group*num_GTX_groups)
-1 downto 0);
1273 send_align :
in ((num_GTX_per_group*num_GTX_groups)
-1 downto 0);
1274 BCID :
in (
11 downto 0);
1275 indata :
in (TX_indata_length
-1 downto 0);
1284 end component Topo_Data_TX;
1289 send_align_out :
out (num_GTX_groups*num_GTX_per_group
- 1 downto 0);
1290 Data_out :
out (TX_indata_length
- 1 downto 0);
1294 end component CMX_SumET_Topo_Encoder;
1296 signal bcid_adj : (11 downto 0);
1298 signal TXN_OUT : ((num_GTX_per_group*num_GTX_groups)-1 downto 0);
1299 signal TXP_OUT : ((num_GTX_per_group*num_GTX_groups)-1 downto 0);
1301 signal MGTREFCLK_PAD_N_IN : (num_GTX_groups-1 downto 0);
1302 signal MGTREFCLK_PAD_P_IN : (num_GTX_groups-1 downto 0);
1304 signal GTX_RX_READY_OUT : ;
1305 signal GTX_TX_READY_OUT : ;
1308 signal GTXTXRESET_IN : ;
1309 signal GTXRXRESET_IN : ;
1311 signal send_align : (23 downto 0);
1313 signal indata_Topo_TX : (TX_indata_length-1 downto 0);
1315 signal data_to_vme_REG_RW_TOPOTR_GTX_RESET : (15 downto 0);
1316 signal data_from_vme_REG_RW_TOPOTR_GTX_RESET : (15 downto 0);
1318 signal data_to_vme_REG_RO_TOPOTR_GTX_STATUS : (15 downto 0);
1320 signal data_from_vme_REG_RW_DAQ_ROI_RESET : (15 downto 0);
1321 signal data_to_vme_REG_RW_DAQ_ROI_RESET : (15 downto 0);
1323 signal data_to_vme_REG_RO_DAQ_ROI_STATUS : (15 downto 0);
1325 signal data_from_vme_REG_RW_DAQ_ROI_GTX_RESET: (15 downto 0);
1326 signal data_to_vme_REG_RW_DAQ_ROI_GTX_RESET: (15 downto 0);
1327 signal gtx_reset_SFP_DAQ, gtx_reset_SFP_ROI : ;
1329 signal BUF_TTC_L1_ACCEPT_r: ;
1330 signal l1a_synced: ;
1333 signal bc_reset_synced : ;
1334 signal BUF_TTC_BNCH_CNT_RES_r : ;
1348 end component CMX_rate_counter_inhibit;
1350 signal counter_inhibit : ;
1351 signal counter_reset : ;
1353 --component chipscope_ila_CMX_top_inputmodclk
1355 -- CONTROL : inout std_logic_vector(35 downto 0);
1356 -- CLK : in std_logic;
1357 -- DATA : in std_logic_vector(2375 downto 0);
1358 -- TRIG0 : in std_logic_vector(35 downto 0));
1361 --signal DATA_chipscope_ila_CMX_top_inputmodclk : std_logic_vector(2375 downto 0);
1362 --signal TRIG0_chipscope_ila_CMX_top_inputmodclk : std_logic_vector(35 downto 0);
1363 --signal TRIG_forward_inputmodclk_outputmodclk : std_logic_vector(0 downto 0);
1365 --component chipscope_ila_IDELAY
1367 -- CONTROL : inout std_logic_vector(35 downto 0);
1368 -- CLK : in std_logic;
1369 -- DATA : in std_logic_vector(2000 downto 0);
1370 -- TRIG0 : in std_logic_vector(0 to 0));
1373 --signal DATA_chipscope_ila_IDELAY : std_logic_vector(2000 downto 0);
1376 --component chipscope_ila_CTP2
1378 -- CONTROL : inout std_logic_vector(35 downto 0);
1379 -- CLK : in std_logic;
1380 -- DATA : in std_logic_vector(64 downto 0);
1381 -- TRIG0 : in std_logic_vector(0 to 0));
1384 --component chipscope_ila_RTM
1386 -- CONTROL : inout std_logic_vector(35 downto 0);
1387 -- CLK : in std_logic;
1388 -- DATA : in std_logic_vector(52 downto 0);
1389 -- TRIG0 : in std_logic_vector(0 to 0));
1392 --component chipscope_ila_LVDS_TX_CTP_RTM
1394 -- CONTROL : inout std_logic_vector(35 downto 0);
1395 -- CLK : in std_logic;
1396 -- DATA : in std_logic_vector(117 downto 0);
1397 -- TRIG0 : in std_logic_vector(1 downto 0));
1423 end component CMX_clock_manager;
1426 signal buf_clk40 : ;
1427 signal buf_clk40_m180o : ;
1428 signal buf_clk40_center : ;
1429 signal buf_clk320 : ;
1430 signal buf_clk160 : ;
1431 signal buf_clk200 : ;
1432 signal pll_locked : ;
1434 signal buf_clk40_ds2 : ;
1435 signal pll_locked_ds2 : ;
1478 indata :
in (
7 downto 0);
1479 odata :
out (
7 downto 0);
1500 signal MGTREFCLK_Q118 : ;
1502 signal GTXTXRESET_IN_TX_SFP_DAQ : ;
1503 signal GTXRXRESET_IN_TX_SFP_DAQ : ;
1504 signal local_pll_lock_out_SFP_DAQ : ;
1505 signal GTX_TX_READY_OUT_TX_SFP_DAQ : ;
1506 signal GTX_RX_READY_OUT_TX_SFP_DAQ : ;
1507 signal PLLLKDET_diag_TX_SFP_DAQ : ;
1508 signal local_gtx_reset_diag_TX_SFP_DAQ : ;
1509 signal local_mmcm_reset_diag_TX_SFP_DAQ : ;
1510 signal GTXTEST_diag_TX_SFP_DAQ : ;
1511 signal RXN_IN_TX_SFP_DAQ : ;
1512 signal RXP_IN_TX_SFP_DAQ : ;
1513 signal TXN_OUT_TX_SFP_DAQ : ;
1514 signal TXP_OUT_TX_SFP_DAQ : ;
1515 signal clk40_out_TX_SFP_DAQ : ;
1516 signal clk120_out_TX_SFP_DAQ : ;
1517 signal clk40_in_TX_SFP_DAQ : ;
1518 signal clk120_in_TX_SFP_DAQ : ;
1519 signal indata_TX_SFP_DAQ : (7 downto 0);
1520 signal odata_TX_SFP_DAQ : (7 downto 0);
1521 signal TXPREEMPHASIS_IN_TX_SFP_DAQ : (3 downto 0);
1522 signal TXPOSTEMPHASIS_IN_TX_SFP_DAQ : (4 downto 0);
1523 signal TXDIFFCTRL_IN_TX_SFP_DAQ : (3 downto 0);
1524 signal RXEQMIX_IN_TX_SFP_DAQ : (2 downto 0);
1525 signal DFECLKDLYADJ_TX_SFP_DAQ : (5 downto 0);
1526 signal DFECLKDLYADJMON_TX_SFP_DAQ : (5 downto 0);
1527 signal DFEDLYOVRD_TX_SFP_DAQ : ;
1528 signal DFEEYEDACMON_TX_SFP_DAQ : (4 downto 0);
1529 signal DFESENSCAL_TX_SFP_DAQ : (2 downto 0);
1530 signal DFETAP1_TX_SFP_DAQ : (4 downto 0);
1531 signal DFETAP1MONITOR_TX_SFP_DAQ : (4 downto 0);
1532 signal DFETAP2_TX_SFP_DAQ : (4 downto 0);
1533 signal DFETAP2MONITOR_TX_SFP_DAQ : (4 downto 0);
1534 signal DFETAP3_TX_SFP_DAQ : (3 downto 0);
1535 signal DFETAP3MONITOR_TX_SFP_DAQ : (3 downto 0);
1536 signal DFETAP4_TX_SFP_DAQ : (3 downto 0);
1537 signal DFETAP4MONITOR_TX_SFP_DAQ : (3 downto 0);
1538 signal DFETAPOVRD_TX_SFP_DAQ : ;
1540 signal GTXTXRESET_IN_TX_SFP_ROI : ;
1541 signal GTXRXRESET_IN_TX_SFP_ROI : ;
1542 signal local_pll_lock_out_SFP_ROI : ;
1543 signal GTX_TX_READY_OUT_TX_SFP_ROI : ;
1544 signal GTX_RX_READY_OUT_TX_SFP_ROI : ;
1545 signal PLLLKDET_diag_TX_SFP_ROI : ;
1546 signal local_gtx_reset_diag_TX_SFP_ROI : ;
1547 signal local_mmcm_reset_diag_TX_SFP_ROI : ;
1548 signal GTXTEST_diag_TX_SFP_ROI : ;
1549 signal RXN_IN_TX_SFP_ROI : ;
1550 signal RXP_IN_TX_SFP_ROI : ;
1551 signal TXN_OUT_TX_SFP_ROI : ;
1552 signal TXP_OUT_TX_SFP_ROI : ;
1553 signal clk40_out_TX_SFP_ROI : ;
1554 signal clk120_out_TX_SFP_ROI : ;
1555 signal clk40_in_TX_SFP_ROI : ;
1556 signal clk120_in_TX_SFP_ROI : ;
1557 signal indata_TX_SFP_ROI : (7 downto 0);
1558 signal odata_TX_SFP_ROI : (7 downto 0);
1559 signal TXPREEMPHASIS_IN_TX_SFP_ROI : (3 downto 0);
1560 signal TXPOSTEMPHASIS_IN_TX_SFP_ROI : (4 downto 0);
1561 signal TXDIFFCTRL_IN_TX_SFP_ROI : (3 downto 0);
1562 signal RXEQMIX_IN_TX_SFP_ROI : (2 downto 0);
1563 signal DFECLKDLYADJ_TX_SFP_ROI : (5 downto 0);
1564 signal DFECLKDLYADJMON_TX_SFP_ROI : (5 downto 0);
1565 signal DFEDLYOVRD_TX_SFP_ROI : ;
1566 signal DFEEYEDACMON_TX_SFP_ROI : (4 downto 0);
1567 signal DFESENSCAL_TX_SFP_ROI : (2 downto 0);
1568 signal DFETAP1_TX_SFP_ROI : (4 downto 0);
1569 signal DFETAP1MONITOR_TX_SFP_ROI : (4 downto 0);
1570 signal DFETAP2_TX_SFP_ROI : (4 downto 0);
1571 signal DFETAP2MONITOR_TX_SFP_ROI : (4 downto 0);
1572 signal DFETAP3_TX_SFP_ROI : (3 downto 0);
1573 signal DFETAP3MONITOR_TX_SFP_ROI : (3 downto 0);
1574 signal DFETAP4_TX_SFP_ROI : (3 downto 0);
1575 signal DFETAP4MONITOR_TX_SFP_ROI : (3 downto 0);
1576 signal DFETAPOVRD_TX_SFP_ROI : ;
1586 DAQ_IN :
in (
19 DOWNTO 0);
1587 ROI_IN :
in (
19 DOWNTO 0);
1600 -- Glink emulator signals
1602 signal daq_in : (19 DOWNTO 0);
1603 signal roi_in : (19 DOWNTO 0);
1606 signal daq_byte : (7 downto 0);
1607 signal roi_byte : (7 downto 0);
1608 signal reset_daq : ;
1609 signal daq_encoded_diag : (23 downto 0);
1610 signal daq_byte_out : (1 downto 0);
1612 signal byte_pos_out : (5 downto 0);
1613 signal word_sel_out : (1 downto 0);
1614 signal readout_rst_out : ;
1617 --component chipscope_icon_u2_c3
1619 -- CONTROL0 : inout std_logic_vector(35 downto 0);
1620 -- CONTROL1 : inout std_logic_vector(35 downto 0);
1621 -- CONTROL2 : inout std_logic_vector(35 downto 0)
1625 --signal CONTROL0 : std_logic_vector(35 downto 0);
1626 --signal CONTROL1 : std_logic_vector(35 downto 0);
1627 --signal CONTROL2 : std_logic_vector(35 downto 0);
1629 --signal data_ila_daq : std_logic_vector (53 downto 0);
1630 --signal trig_ila_daq : std_logic_vector (33 downto 0);
1632 --signal data_ila_encoder : std_logic_vector (20 downto 0);
1633 --signal trig_ila_encoder : std_logic_vector (11 downto 0);
1635 --signal data_ila_gtx_start : std_logic_vector (12 downto 0);
1636 --signal trig_ila_gtx_start : std_logic_vector (2 downto 0);
1639 --signal data_ila_1 : std_logic_vector (16 downto 0);
1641 --component glink_chipscope_analyzer
1643 -- CONTROL: inout std_logic_vector(35 downto 0);
1644 -- CLK: in std_logic;
1645 -- DATA: in std_logic_vector(53 downto 0);
1646 -- TRIG0: in std_logic_vector(33 downto 0));
1649 --component glink_chipscope_analyzer_encoder
1651 -- CONTROL: inout std_logic_vector(35 downto 0);
1652 -- CLK: in std_logic;
1653 -- DATA: in std_logic_vector(20 downto 0);
1654 -- TRIG0: in std_logic_vector(11 downto 0));
1657 --component glink_chipscope_analyzer_gtx_start is
1659 -- CONTROL : inout std_logic_vector(35 downto 0);
1660 -- CLK : in std_logic;
1661 -- DATA : in std_logic_vector(10 downto 0);
1662 -- TRIG0 : in std_logic_vector(0 to 0));
1663 --end component glink_chipscope_analyzer_gtx_start;
1668 data_in :
in arr_96(
19 downto 0);
1682 signal RAM_global_offset : (7 downto 0);
1683 signal RAM_rel_offsets : arr_ctr_8bit(18 downto 0);
1684 signal nslices : (7 downto 0);
1686 signal data_in_daq: arr_96(19 downto 0);
1688 --control of daq delays
1689 signal data_from_vme_REG_RW_DAQ_SLICE: (15 downto 0);
1690 signal data_to_vme_REG_RW_DAQ_SLICE: (15 downto 0);
1691 signal data_from_vme_REG_RW_DAQ_RAM_OFFSET: (15 downto 0);
1692 signal data_to_vme_REG_RW_DAQ_RAM_OFFSET: (15 downto 0);
1694 signal data_from_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET: arr_16(18 downto 0);
1695 signal data_to_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET: arr_16(18 downto 0);
1698 attribute keep of start_playback_r1, BUF_TTC_L1_ACCEPT_r, BUF_TTC_BNCH_CNT_RES_r, send_align: signal is "TRUE";
1699 attribute IOB of BUF_TTC_L1_ACCEPT_r, BUF_TTC_BNCH_CNT_RES_r : signal is "FORCE";
1702 --attribute IOB of BF_DOUT_CTP_00 : signal is "TRUE";
1703 --attribute IOB of BF_DOUT_CTP_01 : signal is "TRUE";
1704 --attribute IOB of BF_DOUT_CTP_02 : signal is "TRUE";
1705 --attribute IOB of BF_DOUT_CTP_03 : signal is "TRUE";
1706 --attribute IOB of BF_DOUT_CTP_04 : signal is "TRUE";
1707 --attribute IOB of BF_DOUT_CTP_05 : signal is "TRUE";
1708 --attribute IOB of BF_DOUT_CTP_06 : signal is "TRUE";
1709 --attribute IOB of BF_DOUT_CTP_07 : signal is "TRUE";
1710 --attribute IOB of BF_DOUT_CTP_08 : signal is "TRUE";
1711 --attribute IOB of BF_DOUT_CTP_09 : signal is "TRUE";
1712 --attribute IOB of BF_DOUT_CTP_10 : signal is "TRUE";
1713 --attribute IOB of BF_DOUT_CTP_11 : signal is "TRUE";
1714 --attribute IOB of BF_DOUT_CTP_12 : signal is "TRUE";
1715 --attribute IOB of BF_DOUT_CTP_13 : signal is "TRUE";
1716 --attribute IOB of BF_DOUT_CTP_14 : signal is "TRUE";
1717 --attribute IOB of BF_DOUT_CTP_15 : signal is "TRUE";
1718 --attribute IOB of BF_DOUT_CTP_16 : signal is "TRUE";
1719 --attribute IOB of BF_DOUT_CTP_17 : signal is "TRUE";
1720 --attribute IOB of BF_DOUT_CTP_18 : signal is "TRUE";
1721 --attribute IOB of BF_DOUT_CTP_19 : signal is "TRUE";
1722 --attribute IOB of BF_DOUT_CTP_20 : signal is "TRUE";
1723 --attribute IOB of BF_DOUT_CTP_21 : signal is "TRUE";
1724 --attribute IOB of BF_DOUT_CTP_22 : signal is "TRUE";
1725 --attribute IOB of BF_DOUT_CTP_23 : signal is "TRUE";
1726 --attribute IOB of BF_DOUT_CTP_24 : signal is "TRUE";
1727 --attribute IOB of BF_DOUT_CTP_25 : signal is "TRUE";
1728 --attribute IOB of BF_DOUT_CTP_26 : signal is "TRUE";
1729 --attribute IOB of BF_DOUT_CTP_27 : signal is "TRUE";
1730 --attribute IOB of BF_DOUT_CTP_28 : signal is "TRUE";
1731 --attribute IOB of BF_DOUT_CTP_29 : signal is "TRUE";
1732 --attribute IOB of BF_DOUT_CTP_64 : signal is "TRUE";
1734 --attribute IOB of BF_DOUT_CTP_32 : signal is "TRUE";
1735 --attribute IOB of BF_DOUT_CTP_33 : signal is "TRUE";
1736 --attribute IOB of BF_DOUT_CTP_34 : signal is "TRUE";
1737 --attribute IOB of BF_DOUT_CTP_35 : signal is "TRUE";
1738 --attribute IOB of BF_DOUT_CTP_36 : signal is "TRUE";
1739 --attribute IOB of BF_DOUT_CTP_37 : signal is "TRUE";
1740 --attribute IOB of BF_DOUT_CTP_38 : signal is "TRUE";
1741 --attribute IOB of BF_DOUT_CTP_39 : signal is "TRUE";
1742 --attribute IOB of BF_DOUT_CTP_40 : signal is "TRUE";
1743 --attribute IOB of BF_DOUT_CTP_41 : signal is "TRUE";
1744 --attribute IOB of BF_DOUT_CTP_42 : signal is "TRUE";
1745 --attribute IOB of BF_DOUT_CTP_43 : signal is "TRUE";
1746 --attribute IOB of BF_DOUT_CTP_44 : signal is "TRUE";
1747 --attribute IOB of BF_DOUT_CTP_45 : signal is "TRUE";
1748 --attribute IOB of BF_DOUT_CTP_46 : signal is "TRUE";
1749 --attribute IOB of BF_DOUT_CTP_47 : signal is "TRUE";
1750 --attribute IOB of BF_DOUT_CTP_48 : signal is "TRUE";
1751 --attribute IOB of BF_DOUT_CTP_49 : signal is "TRUE";
1752 --attribute IOB of BF_DOUT_CTP_50 : signal is "TRUE";
1753 --attribute IOB of BF_DOUT_CTP_51 : signal is "TRUE";
1754 --attribute IOB of BF_DOUT_CTP_52 : signal is "TRUE";
1755 --attribute IOB of BF_DOUT_CTP_53 : signal is "TRUE";
1756 --attribute IOB of BF_DOUT_CTP_54 : signal is "TRUE";
1757 --attribute IOB of BF_DOUT_CTP_55 : signal is "TRUE";
1758 --attribute IOB of BF_DOUT_CTP_56 : signal is "TRUE";
1759 --attribute IOB of BF_DOUT_CTP_57 : signal is "TRUE";
1760 --attribute IOB of BF_DOUT_CTP_58 : signal is "TRUE";
1761 --attribute IOB of BF_DOUT_CTP_59 : signal is "TRUE";
1762 --attribute IOB of BF_DOUT_CTP_60 : signal is "TRUE";
1763 --attribute IOB of BF_DOUT_CTP_61 : signal is "TRUE";
1786 --BF_TO_FROM_BSPT_0 <= '0';
1787 --BF_TO_FROM_BSPT_1 <= '0';
1872 --ddr_data_in_CTP2(0) <=BF_DOUT_CTP_32;
1873 --ddr_data_in_CTP2(1) <=BF_DOUT_CTP_33;
1874 --ddr_data_in_CTP2(2) <=BF_DOUT_CTP_34;
1875 --ddr_data_in_CTP2(3) <=BF_DOUT_CTP_35;
1876 --ddr_data_in_CTP2(4) <=BF_DOUT_CTP_36;
1877 --ddr_data_in_CTP2(5) <=BF_DOUT_CTP_37;
1878 --ddr_data_in_CTP2(6) <=BF_DOUT_CTP_38;
1879 --ddr_data_in_CTP2(7) <=BF_DOUT_CTP_39;
1880 --ddr_data_in_CTP2(8) <=BF_DOUT_CTP_40;
1881 --ddr_data_in_CTP2(9) <=BF_DOUT_CTP_41;
1882 --ddr_data_in_CTP2(10) <=BF_DOUT_CTP_42;
1883 --ddr_data_in_CTP2(11) <=BF_DOUT_CTP_43;
1884 --ddr_data_in_CTP2(12) <=BF_DOUT_CTP_44;
1885 --ddr_data_in_CTP2(13) <=BF_DOUT_CTP_45;
1886 --ddr_data_in_CTP2(14) <=BF_DOUT_CTP_46;
1887 --ddr_data_in_CTP2(15) <=BF_DOUT_CTP_47;
1888 --ddr_data_in_CTP2(16) <=BF_DOUT_CTP_48;
1889 --ddr_data_in_CTP2(17) <=BF_DOUT_CTP_49;
1890 --ddr_data_in_CTP2(18) <=BF_DOUT_CTP_50;
1891 --ddr_data_in_CTP2(19) <=BF_DOUT_CTP_51;
1892 --ddr_data_in_CTP2(20) <=BF_DOUT_CTP_52;
1893 --ddr_data_in_CTP2(21) <=BF_DOUT_CTP_53;
1894 --ddr_data_in_CTP2(22) <=BF_DOUT_CTP_54;
1895 --ddr_data_in_CTP2(23) <=BF_DOUT_CTP_55;
1896 --ddr_data_in_CTP2(24) <=BF_DOUT_CTP_56;
1897 --ddr_data_in_CTP2(25) <=BF_DOUT_CTP_57;
1898 --ddr_data_in_CTP2(26) <=BF_DOUT_CTP_58;
1899 --ddr_data_in_CTP2(27) <=BF_DOUT_CTP_59;
1900 --ddr_data_in_CTP2(28) <=BF_DOUT_CTP_60;
1901 --ddr_data_in_CTP2(29) <=BF_DOUT_CTP_61;
1902 --ddr_data_in_CTP2(30) <=BF_DOUT_CTP_62;
1903 --ddr_data_in_CTP2(31) <=BF_DOUT_CTP_65;
1904 --ddr_data_in_CTP2(32) <=BF_DOUT_CTP_63;
1995 --backplane bus assignment
2455 --debug pins bus assignment
2467 --BF_DEBUG(8) <= buf_clk40;
2469 ODDR_inst_buf_clk_40 : ODDR
2471 DDR_CLK_EDGE =>
"SAME_EDGE",
-- "OPPOSITE_EDGE" or "SAME_EDGE"
2472 INIT => '0',
-- Initial value for Q port ('1' or '0')
2473 SRTYPE =>
"SYNC") -- Reset Type ("ASYNC" or "SYNC")
2475 Q => BF_DEBUG
(8),
-- 1-bit DDR output
2476 C => buf_clk40,
-- 1-bit clock input
2477 CE => '1',
-- 1-bit clock enable input
2478 D1 => '1',
-- 1-bit data input (positive edge)
2479 D2 => '0',
-- 1-bit data input (negative edge)
2480 R =>
(not pll_locked
),
-- 1-bit reset input
2481 S => '0'
-- 1-bit set input
2484 BF_DEBUG(9) <= DATA96(5)(0);
--start_playback;--BF_TO_TP_DAQ_SLINK_RETURN_DIR;--send_align(0);-- BUF_TTC_BNCH_CNT_RES; --bunch counter reset
2486 BF_DEBUG(7 downto 0)<=(others=>'0');
2512 ------------------------------------------------------------------------------
2513 -- VME interface component used in BSPT FPGA (Ian's vme_interface)
2514 ------------------------------------------------------------------------------
2517 ----------------------------------------------------------------------------
2519 ----------------------------------------------------------------------------
2520 clk40 => buf_clk40 ,
2526 ----------------------------------------------------------------------------
2528 ----------------------------------------------------------------------------
2529 board_ds =>
ds,
-- board_ds output from VME (Ian model)
2530 brdsel_n =>
ncs -- brdsel_n output from VME (Ian model)
2551 clk40 => buf_clk40 ,
2600 if rising_edge(buf_clk40) then
2614 ia_vme => ADDR_REG_RO_test ,
2627 --vme_outreg_test: vme_outreg
2629 -- ia_vme => ADDR_REG_RO_test,
2632 -- clk => buf_clk40,
2633 -- addr_vme => vme_address(16 downto 1),
2635 -- rd_nwr => OCB_WRITE_B,
2637 -- data_to_vme => data_to_vme_test_r,
2638 -- read_detect => read_detect_outreg_test,
2639 -- data_vme => OCB_D);
2644 ia_vme => ADDR_REG_RW_test ,
2660 --vme_inreg_test: vme_inreg
2662 -- ia_vme => ADDR_REG_RW_test,
2665 -- clk => buf_clk40,
2667 -- rd_nwr => OCB_WRITE_B,
2669 -- data_from_vme => data_from_vme_test_rw,
2670 -- data_to_vme => data_to_vme_test_rw,
2671 -- addr_vme => vme_address(16 downto 1),
2672 -- read_detect => read_detect_inreg_test,
2673 -- write_detect => write_detect_inreg_test,
2674 -- data_vme => OCB_D);
2679 --chipscope_ila_CMX_top_inputmodclk_inst: chipscope_ila_CMX_top_inputmodclk
2681 -- CONTROL => CONTROL0,
2682 -- CLK => buf_clk40,
2683 -- DATA => DATA_chipscope_ila_CMX_top_inputmodclk,
2684 -- TRIG0 => TRIG0_chipscope_ila_CMX_top_inputmodclk);
2687 --TRIG0_chipscope_ila_CMX_top_inputmodclk(0)<=pll_locked;
2688 --TRIG0_chipscope_ila_CMX_top_inputmodclk(33)<=start_playback;
2689 --TRIG0_chipscope_ila_CMX_top_inputmodclk(34)<='0';
2690 --TRIG0_chipscope_ila_CMX_top_inputmodclk(35)<=data_to_RTM(0);
2693 --DATA_chipscope_ila_CMX_top_inputmodclk(0)<=pll_locked;
2695 --gen_data_chipscope_ila: for ichannel in numactchan-1 downto 0 generate
2697 -- TRIG0_chipscope_ila_CMX_top_inputmodclk(1+ichannel*2)<=PAR_ERROR(ichannel);
2698 -- TRIG0_chipscope_ila_CMX_top_inputmodclk(2+ichannel*2)<=counter_enable_inputmod_sig(ichannel);
2700 -- DATA_chipscope_ila_CMX_top_inputmodclk(1+ichannel*98)<=PAR_ERROR(ichannel);
2701 -- DATA_chipscope_ila_CMX_top_inputmodclk(2+ichannel*98)<=counter_enable_inputmod_sig(ichannel);
2702 -- DATA_chipscope_ila_CMX_top_inputmodclk(95+3+ichannel*98 downto 3+ichannel*98)<=DATA96(ichannel);
2704 --end generate gen_data_chipscope_ila;
2706 --DATA_chipscope_ila_CMX_top_inputmodclk(1630 downto 1569)<=(others=>'0');
2707 --DATA_chipscope_ila_CMX_top_inputmodclk(1734 downto 1631)<=data_to_RTM;
2708 --DATA_chipscope_ila_CMX_top_inputmodclk(1735)<=start_playback;
2709 --DATA_chipscope_ila_CMX_top_inputmodclk(2375 downto 1736)<=(others=>'0');
2717 clk40 => buf_clk40 ,
2728 --upload_delays<='0';
2729 --del_register<=(others=>(others=>(others=>'0')));
2733 reset => bc_reset_synced ,
2748 if rising_edge(buf_clk40) then
2763 --ODATA_WORD0 => open,
2784 ia_vme => ADDR_REG_RW_QUIET_FORCE ,
2797 data_to_vme_REG_RW_QUIET_FORCE<=data_from_vme_REG_RW_QUIET_FORCE;
2798 quiet<=data_from_vme_REG_RW_QUIET_FORCE(1);
2799 force<=data_from_vme_REG_RW_QUIET_FORCE(0);
2814 --no decoder in the sense of jet/cp sense
2815 --zero out the bus slot that is not used in this flavor
2818 gen_data_vme_bus_drive_zeros: for i in 0 to 1599 generate
2821 end generate gen_data_vme_bus_drive_zeros;
2860 -- ===========================================================================================
2864 -- ===========================================================================================
2866 gen_REG_RW_MISS_E_THR_BLOCK: for i_thr in 0 to (2*num_thresholds)-1 generate
2870 ia_vme => ADDR_REG_RW_MISS_E_THR_BLOCK+2*i_thr,
2880 data_from_vme => data_from_vme_REG_RW_MISS_E_THR_BLOCK
(i_thr
),
2881 data_to_vme => data_to_vme_REG_RW_MISS_E_THR_BLOCK
(i_thr
));
2883 data_to_vme_REG_RW_MISS_E_THR_BLOCK(i_thr)<=data_from_vme_REG_RW_MISS_E_THR_BLOCK(i_thr);
2885 end generate gen_REG_RW_MISS_E_THR_BLOCK;
2887 gen_MISS_E_THR: for i_thr in 0 to num_thresholds-1 generate
2888 MISS_E_THR(i_thr)<= (slv_MISS_E_THR(i_thr));
2889 slv_MISS_E_THR(i_thr)(15 downto 0) <= data_from_vme_REG_RW_MISS_E_THR_BLOCK(2*i_thr)(15 downto 0);
2890 slv_MISS_E_THR(i_thr)(30 downto 16) <= data_from_vme_REG_RW_MISS_E_THR_BLOCK(2*i_thr+1)(14 downto 0);
2891 end generate gen_MISS_E_THR;
2894 -- ===========================================================================================
2898 -- ===========================================================================================
2900 gen_REG_RW_MISS_E_RES_THR_BLOCK: for i_thr in 0 to (2*num_thresholds)-1 generate
2904 ia_vme => ADDR_REG_RW_MISS_E_RES_THR_BLOCK+2*i_thr,
2914 data_from_vme => data_from_vme_REG_RW_MISS_E_RES_THR_BLOCK
(i_thr
),
2915 data_to_vme => data_to_vme_REG_RW_MISS_E_RES_THR_BLOCK
(i_thr
));
2917 data_to_vme_REG_RW_MISS_E_RES_THR_BLOCK(i_thr)<=data_from_vme_REG_RW_MISS_E_RES_THR_BLOCK(i_thr);
2919 end generate gen_REG_RW_MISS_E_RES_THR_BLOCK;
2921 gen_MISS_E_RES_THR: for i_thr in 0 to num_thresholds-1 generate
2922 MISS_E_RES_THR(i_thr)<=(slv_MISS_E_RES_THR(i_thr));
2923 slv_MISS_E_RES_THR(i_thr)(15 downto 0) <= data_from_vme_REG_RW_MISS_E_RES_THR_BLOCK(2*i_thr)(15 downto 0);
2924 slv_MISS_E_RES_THR(i_thr)(30 downto 16) <= data_from_vme_REG_RW_MISS_E_RES_THR_BLOCK(2*i_thr+1)(14 downto 0);
2925 end generate gen_MISS_E_RES_THR;
2927 -- ===========================================================================================
2931 -- ===========================================================================================
2933 gen_REG_RW_SUM_ET_THR_BLOCK: for i_thr in 0 to num_thresholds-1 generate
2937 ia_vme => ADDR_REG_RW_SUM_ET_THR_BLOCK+2*i_thr,
2947 data_from_vme => data_from_vme_REG_RW_SUM_ET_THR_BLOCK
(i_thr
),
2948 data_to_vme => data_to_vme_REG_RW_SUM_ET_THR_BLOCK
(i_thr
));
2950 data_to_vme_REG_RW_SUM_ET_THR_BLOCK(i_thr)<=data_from_vme_REG_RW_SUM_ET_THR_BLOCK(i_thr);
2951 SUM_ET_THR(i_thr)<=(slv_SUM_ET_THR(i_thr));
2952 slv_SUM_ET_THR(i_thr) <= data_from_vme_REG_RW_SUM_ET_THR_BLOCK(i_thr)(14 downto 0);
2954 end generate gen_REG_RW_SUM_ET_THR_BLOCK;
2956 -- ===========================================================================================
2960 -- ===========================================================================================
2963 gen_REG_RW_SUM_ET_RES_THR_BLOCK: for i_thr in 0 to num_thresholds-1 generate
2967 ia_vme => ADDR_REG_RW_SUM_ET_RES_THR_BLOCK+2*i_thr,
2977 data_from_vme => data_from_vme_REG_RW_SUM_ET_RES_THR_BLOCK
(i_thr
),
2978 data_to_vme => data_to_vme_REG_RW_SUM_ET_RES_THR_BLOCK
(i_thr
));
2980 data_to_vme_REG_RW_SUM_ET_RES_THR_BLOCK(i_thr)<=data_from_vme_REG_RW_SUM_ET_RES_THR_BLOCK(i_thr);
2981 SUM_ET_RES_THR(i_thr)<=(slv_SUM_ET_RES_THR(i_thr));
2982 slv_SUM_ET_RES_THR(i_thr) <= data_from_vme_REG_RW_SUM_ET_RES_THR_BLOCK(i_thr)(14 downto 0);
2984 end generate gen_REG_RW_SUM_ET_RES_THR_BLOCK;
2986 -- ===========================================================================================
2990 -- ===========================================================================================
2992 gen_REG_RW_XS_T2_A2_THR_BLOCK: for i_thr in 0 to (2*num_thresholds)-1 generate
2996 ia_vme => ADDR_REG_RW_XS_T2_A2_THR_BLOCK+2*i_thr,
3006 data_from_vme => data_from_vme_REG_RW_XS_T2_A2_THR_BLOCK
(i_thr
),
3007 data_to_vme => data_to_vme_REG_RW_XS_T2_A2_THR_BLOCK
(i_thr
));
3009 data_to_vme_REG_RW_XS_T2_A2_THR_BLOCK(i_thr)<=data_from_vme_REG_RW_XS_T2_A2_THR_BLOCK(i_thr);
3011 end generate gen_REG_RW_XS_T2_A2_THR_BLOCK;
3013 gen_XS_T2_A2_THR: for i_thr in 0 to num_thresholds-1 generate
3014 XS_T2_A2(i_thr)<=(slv_XS_T2_A2(i_thr));
3015 slv_XS_T2_A2(i_thr)(15 downto 0) <= data_from_vme_REG_RW_XS_T2_A2_THR_BLOCK(2*i_thr)(15 downto 0);
3016 slv_XS_T2_A2(i_thr)(30 downto 16) <= data_from_vme_REG_RW_XS_T2_A2_THR_BLOCK(2*i_thr+1)(14 downto 0);
3017 end generate gen_XS_T2_A2_THR;
3019 -- ===========================================================================================
3023 -- ===========================================================================================
3025 gen_REG_RW_T_MISS_E_MIN_PARAM_BLOCK: for i_thr in 0 to (2*num_thresholds)-1 generate
3029 ia_vme => ADDR_REG_RW_T_MISS_E_MIN_PARAM_BLOCK+2*i_thr,
3039 data_from_vme => data_from_vme_REG_RW_T_MISS_E_MIN_PARAM_BLOCK
(i_thr
),
3040 data_to_vme => data_to_vme_REG_RW_T_MISS_E_MIN_PARAM_BLOCK
(i_thr
));
3042 data_to_vme_REG_RW_T_MISS_E_MIN_PARAM_BLOCK(i_thr)<=data_from_vme_REG_RW_T_MISS_E_MIN_PARAM_BLOCK(i_thr);
3044 end generate gen_REG_RW_T_MISS_E_MIN_PARAM_BLOCK;
3046 gen_T_MISS_E_MIN_PARAM: for i_thr in 0 to num_thresholds-1 generate
3047 T_MISS_E_MIN(i_thr)<=(slv_T_MISS_E_MIN(i_thr));
3048 slv_T_MISS_E_MIN(i_thr)(15 downto 0) <= data_from_vme_REG_RW_T_MISS_E_MIN_PARAM_BLOCK(2*i_thr)(15 downto 0);
3049 slv_T_MISS_E_MIN(i_thr)(30 downto 16) <= data_from_vme_REG_RW_T_MISS_E_MIN_PARAM_BLOCK(2*i_thr+1)(14 downto 0);
3050 end generate gen_T_MISS_E_MIN_PARAM;
3052 -- ===========================================================================================
3056 -- ===========================================================================================
3059 gen_REG_RW_T_MISS_E_MAX_PARAM_BLOCK: for i_thr in 0 to (2*num_thresholds)-1 generate
3063 ia_vme => ADDR_REG_RW_T_MISS_E_MAX_PARAM_BLOCK+2*i_thr,
3073 data_from_vme => data_from_vme_REG_RW_T_MISS_E_MAX_PARAM_BLOCK
(i_thr
),
3074 data_to_vme => data_to_vme_REG_RW_T_MISS_E_MAX_PARAM_BLOCK
(i_thr
));
3076 data_to_vme_REG_RW_T_MISS_E_MAX_PARAM_BLOCK(i_thr)<=data_from_vme_REG_RW_T_MISS_E_MAX_PARAM_BLOCK(i_thr);
3078 end generate gen_REG_RW_T_MISS_E_MAX_PARAM_BLOCK;
3080 gen_T_MISS_E_MAX_PARAM: for i_thr in 0 to num_thresholds-1 generate
3081 T_MISS_E_MAX(i_thr)<=(slv_T_MISS_E_MAX(i_thr));
3082 slv_T_MISS_E_MAX(i_thr)(15 downto 0) <= data_from_vme_REG_RW_T_MISS_E_MAX_PARAM_BLOCK(2*i_thr)(15 downto 0);
3083 slv_T_MISS_E_MAX(i_thr)(30 downto 16) <= data_from_vme_REG_RW_T_MISS_E_MAX_PARAM_BLOCK(2*i_thr+1)(14 downto 0);
3084 end generate gen_T_MISS_E_MAX_PARAM;
3086 -- ===========================================================================================
3090 -- ===========================================================================================
3093 gen_REG_RW_T_SUM_E_MIN_PARAM_BLOCK: for i_thr in 0 to num_thresholds-1 generate
3097 ia_vme => ADDR_REG_RW_T_SUM_E_MIN_PARAM_BLOCK+2*i_thr,
3107 data_from_vme => data_from_vme_REG_RW_T_SUM_E_MIN_PARAM_BLOCK
(i_thr
),
3108 data_to_vme => data_to_vme_REG_RW_T_SUM_E_MIN_PARAM_BLOCK
(i_thr
));
3110 data_to_vme_REG_RW_T_SUM_E_MIN_PARAM_BLOCK(i_thr)<=data_from_vme_REG_RW_T_SUM_E_MIN_PARAM_BLOCK(i_thr);
3112 T_SUM_E_MIN(i_thr)<=(slv_T_SUM_E_MIN(i_thr));
3113 slv_T_SUM_E_MIN(i_thr) <= data_from_vme_REG_RW_T_SUM_E_MIN_PARAM_BLOCK(i_thr)(14 downto 0);
3115 end generate gen_REG_RW_T_SUM_E_MIN_PARAM_BLOCK;
3117 -- ===========================================================================================
3121 -- ===========================================================================================
3124 gen_REG_RW_T_SUM_E_MAX_PARAM_BLOCK: for i_thr in 0 to num_thresholds-1 generate
3128 ia_vme => ADDR_REG_RW_T_SUM_E_MAX_PARAM_BLOCK+2*i_thr,
3138 data_from_vme => data_from_vme_REG_RW_T_SUM_E_MAX_PARAM_BLOCK
(i_thr
),
3139 data_to_vme => data_to_vme_REG_RW_T_SUM_E_MAX_PARAM_BLOCK
(i_thr
));
3141 data_to_vme_REG_RW_T_SUM_E_MAX_PARAM_BLOCK(i_thr)<=data_from_vme_REG_RW_T_SUM_E_MAX_PARAM_BLOCK(i_thr);
3142 T_SUM_E_MAX(i_thr)<=(slv_T_SUM_E_MAX(i_thr));
3143 slv_T_SUM_E_MAX(i_thr) <= data_from_vme_REG_RW_T_SUM_E_MAX_PARAM_BLOCK(i_thr)(14 downto 0);
3145 end generate gen_REG_RW_T_SUM_E_MAX_PARAM_BLOCK;
3147 -- ===========================================================================================
3151 -- ===========================================================================================
3154 gen_REG_RW_XS_B2_PARAM_BLOCK: for i_thr in 0 to num_thresholds-1 generate
3158 ia_vme => ADDR_REG_RW_XS_B2_PARAM_BLOCK+2*i_thr,
3168 data_from_vme => data_from_vme_REG_RW_XS_B2_PARAM_BLOCK
(i_thr
),
3169 data_to_vme => data_to_vme_REG_RW_XS_B2_PARAM_BLOCK
(i_thr
));
3171 data_to_vme_REG_RW_XS_B2_PARAM_BLOCK(i_thr)<=data_from_vme_REG_RW_XS_B2_PARAM_BLOCK(i_thr);
3172 XS_B2(i_thr)<=(slv_XS_B2(i_thr));
3173 slv_XS_B2(i_thr) <= data_from_vme_REG_RW_XS_B2_PARAM_BLOCK(i_thr)(14 downto 0);
3175 end generate gen_REG_RW_XS_B2_PARAM_BLOCK;
3177 -- ===========================================================================================
3181 -- ===========================================================================================
3184 gen_ET_data : for ch in numactchan-1 downto 0 generate
3185 BACKPLANE_DATA_IN(ch)(13 downto 0)<=DATA96(ch)(13 downto 0);
3186 BACKPLANE_DATA_IN(ch)(27 downto 14)<=DATA96(ch)(37 downto 24);
3187 BACKPLANE_DATA_IN(ch)(41 downto 28)<=DATA96(ch)(61 downto 48);
3188 end generate gen_ET_data;
3190 ENERGY_REMOTE<=(25=>'1', 51=>'1', 77=>'1',103=>'1', others=>'0');
3193 data_to_RTM<=LOCAL_CABLE_OUT;
3195 ddr_data_out_RTM1<=ddr_data_out_RTM(0);
3196 ddr_data_out_RTM2<=ddr_data_out_RTM(1);
3201 data => data_to_RTM,
3216 --no RTM cable input - zero the local bus that would be connected to that module
3221 --CMX_cable_clocked_80Mbps_output_module_RTM1: CMX_cable_clocked_80Mbps_output_module
3223 -- numbits_in_cable_connector => numbits_in_RTM_connector)
3225 -- data => data_to_RTM1,
3226 -- ddr_data_out => ddr_data_out_RTM1,
3227 -- buf_clk40 => buf_clk40,
3228 -- buf_clk40_center => buf_clk40_center,
3229 -- buf_clk200 => buf_clk200,
3230 -- pll_locked => pll_locked,
3231 -- del_array => del_array_RTM,
3232 -- upload_delays => '0');
3234 --CMX_cable_clocked_80Mbps_output_module_RTM2: CMX_cable_clocked_80Mbps_output_module
3236 -- numbits_in_cable_connector => numbits_in_RTM_connector)
3238 -- data => data_to_RTM2,
3239 -- ddr_data_out => ddr_data_out_RTM2,
3240 -- buf_clk40 => buf_clk40,
3241 -- buf_clk40_center => buf_clk40_center,
3242 -- buf_clk200 => buf_clk200,
3243 -- pll_locked => pll_locked,
3244 -- del_array => del_array_RTM,
3245 -- upload_delays => '0');
3247 --del_array_RTM<=(others=>(others=>'0'));
3250 --CMX_system_cable_input_module_inst: entity work.CMX_system_cable_input_module
3252 -- data => data_from_RTM,
3253 -- parity_error => open,
3254 -- ddr_data_in => sig_arr_RTM,
3255 -- buf_clk40 => buf_clk40,
3256 -- buf_clk40_ds2 => buf_clk40_ds2,
3257 -- pll_locked => pll_locked,
3258 -- pll_locked_ds2 => pll_locked_ds2,
3259 -- start_playback => start_playback,
3260 -- spy_write_inhibit => spy_write_inhibit,
3262 -- rd_nwr => OCB_WRITE_B,
3264 -- addr_vme => vme_address(16 downto 1),
3265 -- data_vme => OCB_D);
3267 --chipscope_ila_LVDS_TX_CTP_RTM_inst: chipscope_ila_LVDS_TX_CTP_RTM
3269 -- CONTROL => CONTROL1,
3270 -- CLK => buf_clk40,
3271 -- DATA(31 downto 0) => sdr_data_out,
3272 -- DATA(63 downto 32) => (others=>'0'),
3273 -- DATA(115 downto 64) => data_RTM,
3274 -- DATA(116) => '0',
3275 -- DATA(117) => '0',
3326 indata => indata_Topo_TX,
3343 bcid_in => BCID_delayed_decoder ,
3350 ia_vme => ADDR_REG_RW_TOPOTR_GTX_RESET ,
3361 data_to_vme => data_to_vme_REG_RW_TOPOTR_GTX_RESET
3364 GTXTXRESET_IN<=data_from_vme_REG_RW_TOPOTR_GTX_RESET(1);
3365 GTXRXRESET_IN<=data_from_vme_REG_RW_TOPOTR_GTX_RESET(0);
3367 data_to_vme_REG_RW_TOPOTR_GTX_RESET<=data_from_vme_REG_RW_TOPOTR_GTX_RESET;
3372 ia_vme => ADDR_REG_RO_TOPOTR_GTX_STATUS ,
3381 data_to_vme => data_to_vme_REG_RO_TOPOTR_GTX_STATUS
);
3383 data_to_vme_REG_RO_TOPOTR_GTX_STATUS(1)<=GTX_TX_READY_OUT;
3384 data_to_vme_REG_RO_TOPOTR_GTX_STATUS(0)<=GTX_RX_READY_OUT;
3386 data_to_vme_REG_RO_TOPOTR_GTX_STATUS(15 downto 2)<=(others=>'0');
3405 RXN_IN => RXN_IN_TX_SFP_DAQ ,
3406 RXP_IN => RXP_IN_TX_SFP_DAQ ,
3407 TXN_OUT => TXN_OUT_TX_SFP_DAQ,
3408 TXP_OUT => TXP_OUT_TX_SFP_DAQ,
3413 indata => indata_TX_SFP_DAQ ,
3414 odata => odata_TX_SFP_DAQ ,
3424 DFETAP1 => DFETAP1_TX_SFP_DAQ,
3426 DFETAP2 => DFETAP2_TX_SFP_DAQ,
3428 DFETAP3 => DFETAP3_TX_SFP_DAQ,
3430 DFETAP4 => DFETAP4_TX_SFP_DAQ,
3449 RXN_IN => RXN_IN_TX_SFP_ROI ,
3450 RXP_IN => RXP_IN_TX_SFP_ROI ,
3451 TXN_OUT => TXN_OUT_TX_SFP_ROI,
3452 TXP_OUT => TXP_OUT_TX_SFP_ROI,
3457 indata => indata_TX_SFP_ROI ,
3458 odata => odata_TX_SFP_ROI ,
3468 DFETAP1 => DFETAP1_TX_SFP_ROI,
3470 DFETAP2 => DFETAP2_TX_SFP_ROI,
3472 DFETAP3 => DFETAP3_TX_SFP_ROI,
3474 DFETAP4 => DFETAP4_TX_SFP_ROI,
3483 CLK_40MHz => clk40_in_TX_SFP_ROI,
-- clk40MHz
3484 CLK_120MHz => clk120_in_TX_SFP_ROI ,
-- clk120MHz
3485 RST => reset_daq ,
--not pll_locked, --reset(0), -- reset
3486 DAQ_IN => daq_in,
-- Input data (DAQ)
3487 ROI_IN => roi_in,
-- Input data (ROI)
3488 DAQ_DAV => daq_dav,
-- Control (DAQ)
3489 ROI_DAV => roi_dav,
-- Control (ROI)
3490 DAQ_BYTE => daq_byte,
-- Output Byte (DAQ)
3491 ROI_BYTE => roi_byte,
-- Output Byte (ROI)
3500 );
-- daq_encoded_DIAG
3502 MGT_118_clk0_ibufds_i : IBUFDS_GTXE1
3505 O => MGTREFCLK_Q118,
3518 clk40_in_TX_SFP_ROI<=clk40_out_TX_SFP_DAQ;
3519 clk120_in_TX_SFP_ROI<=clk120_out_TX_SFP_DAQ;
3521 indata_TX_SFP_DAQ<=daq_byte;
-- from GLINK emulator
3522 indata_TX_SFP_ROI<=roi_byte;
-- from GLINK emulator;
3526 --vio_data_i : diagn_module_vio
3528 -- CONTROL => control1,
3529 -- ASYNC_OUT => reset);
3534 ia_vme => ADDR_REG_RW_DAQ_ROI_RESET ,
3547 reset_daq<=data_from_vme_REG_RW_DAQ_ROI_RESET(0);
3548 data_to_vme_REG_RW_DAQ_ROI_RESET<=data_from_vme_REG_RW_DAQ_ROI_RESET;
3552 ia_vme => ADDR_REG_RW_DAQ_ROI_GTX_RESET ,
3563 data_to_vme => data_to_vme_REG_RW_DAQ_ROI_GTX_RESET
);
3565 gtx_reset_SFP_DAQ<=data_from_vme_REG_RW_DAQ_ROI_GTX_RESET(0);
3566 gtx_reset_SFP_ROI<=data_from_vme_REG_RW_DAQ_ROI_GTX_RESET(1);
3567 data_to_vme_REG_RW_DAQ_ROI_GTX_RESET<=data_from_vme_REG_RW_DAQ_ROI_GTX_RESET;
3572 ia_vme => ADDR_REG_RO_DAQ_ROI_STATUS ,
3581 data_to_vme => data_to_vme_REG_RO_DAQ_ROI_STATUS
);
3583 data_to_vme_REG_RO_DAQ_ROI_STATUS(0)<=local_pll_lock_out_SFP_DAQ;
3584 data_to_vme_REG_RO_DAQ_ROI_STATUS(1)<=GTX_TX_READY_OUT_TX_SFP_DAQ;
3585 data_to_vme_REG_RO_DAQ_ROI_STATUS(2)<=GTX_RX_READY_OUT_TX_SFP_DAQ;
3586 data_to_vme_REG_RO_DAQ_ROI_STATUS(3)<=PLLLKDET_diag_TX_SFP_DAQ;
3587 data_to_vme_REG_RO_DAQ_ROI_STATUS(4)<=local_pll_lock_out_SFP_ROI;
3588 data_to_vme_REG_RO_DAQ_ROI_STATUS(5)<=GTX_TX_READY_OUT_TX_SFP_ROI;
3589 data_to_vme_REG_RO_DAQ_ROI_STATUS(6)<=GTX_RX_READY_OUT_TX_SFP_ROI;
3590 data_to_vme_REG_RO_DAQ_ROI_STATUS(7)<=PLLLKDET_diag_TX_SFP_ROI;
3591 data_to_vme_REG_RO_DAQ_ROI_STATUS(8)<=readout_rst_out;
3593 data_to_vme_REG_RO_DAQ_ROI_STATUS(15 downto 9) <= (others=>'0');
3596 -- Chipscope analyzer
3597 --chipscope_icon_u2_c3_inst: chipscope_icon_u2_c3
3599 -- CONTROL0 => CONTROL0,
3600 -- CONTROL1 => CONTROL1,
3601 -- CONTROL2 => CONTROL2
3604 --ila_daq_glink : glink_chipscope_analyzer
3606 -- CONTROL => control0,
3607 -- CLK => clk40_in_TX_SFP_ROI,
3608 -- DATA => data_ila_daq,
3609 -- TRIG0 => trig_ila_daq);
3611 --ila_glink_encoder : glink_chipscope_analyzer_encoder
3613 -- CONTROL => control1,
3614 -- CLK => clk120_in_TX_SFP_ROI,
3615 -- DATA => data_ila_encoder,
3616 -- TRIG0 => trig_ila_encoder);
3618 --ila_gtx_start: entity work.glink_chipscope_analyzer_gtx_start
3620 -- CONTROL => CONTROL2,
3621 -- CLK => MGTREFCLK_Q118,
3622 -- DATA => data_ila_gtx_start,
3623 -- TRIG0 => trig_ila_gtx_start);
3625 --data_ila_daq <= daq_in &
3626 -- daq_encoded_diag &
3628 -- local_pll_lock_out_SFP_DAQ &
3629 -- GTX_TX_READY_OUT_TX_SFP_DAQ &
3630 -- GTX_RX_READY_OUT_TX_SFP_DAQ &
3631 -- local_pll_lock_out_SFP_ROI &
3632 -- GTX_TX_READY_OUT_TX_SFP_ROI &
3633 -- GTX_RX_READY_OUT_TX_SFP_ROI &
3639 --trig_ila_daq <= daq_encoded_diag &
3641 -- local_pll_lock_out_SFP_DAQ &
3642 -- GTX_TX_READY_OUT_TX_SFP_DAQ &
3643 -- GTX_RX_READY_OUT_TX_SFP_DAQ &
3644 -- local_pll_lock_out_SFP_ROI &
3645 -- GTX_TX_READY_OUT_TX_SFP_ROI &
3646 -- GTX_RX_READY_OUT_TX_SFP_ROI &
3653 --trig_ila_encoder <= GTX_TX_READY_OUT_TX_SFP_DAQ &
3659 --data_ila_encoder <= byte_pos_out &
3661 -- readout_rst_out &
3662 -- GTX_TX_READY_OUT_TX_SFP_DAQ &
3668 --trig_ila_gtx_start(0)<=pll_locked;
3669 --trig_ila_gtx_start(1)<=gtx_reset_SFP_DAQ;
3670 --trig_ila_gtx_start(2)<=gtx_reset_SFP_ROI;
3674 --data_ila_gtx_start(0)<= pll_locked;
3675 --data_ila_gtx_start(1)<= gtx_reset_SFP_DAQ;
3676 --data_ila_gtx_start(2)<= gtx_reset_SFP_ROI;
3677 --data_ila_gtx_start(3)<= GTX_TX_READY_OUT_TX_SFP_DAQ;
3678 --data_ila_gtx_start(4)<= PLLLKDET_diag_TX_SFP_DAQ;
3679 --data_ila_gtx_start(5)<= local_gtx_reset_diag_TX_SFP_DAQ;
3680 --data_ila_gtx_start(6)<= local_mmcm_reset_diag_TX_SFP_DAQ;
3681 --data_ila_gtx_start(7)<= GTXTEST_diag_TX_SFP_DAQ;
3682 --data_ila_gtx_start(8)<= GTX_TX_READY_OUT_TX_SFP_ROI;
3683 --data_ila_gtx_start(9)<= PLLLKDET_diag_TX_SFP_ROI;
3684 --data_ila_gtx_start(10)<= local_gtx_reset_diag_TX_SFP_ROI;
3685 --data_ila_gtx_start(11)<= local_mmcm_reset_diag_TX_SFP_ROI;
3686 --data_ila_gtx_start(12)<= GTXTEST_diag_TX_SFP_ROI;
3692 if rising_edge(buf_clk40) then
3693 l1a_synced<=BUF_TTC_L1_ACCEPT_r;
3696 bc_reset_synced<=BUF_TTC_BNCH_CNT_RES_r;
3739 clk4000 => clk40_out_TX_SFP_DAQ ,
3741 reset => reset_daq ,
--not pll_locked,
3754 clk4000 => clk40_out_TX_SFP_DAQ ,
3756 reset => reset_daq ,
--not pll_locked,
3763 --readout control registers
3766 ia_vme => ADDR_REG_RW_DAQ_SLICE,
3779 nslices(1 downto 0) <= (data_to_vme_REG_RW_DAQ_SLICE(1 downto 0));
3780 nslices(7 downto 2) <= (others=>'0');
3782 data_to_vme_REG_RW_DAQ_SLICE<=data_from_vme_REG_RW_DAQ_SLICE;
3787 ia_vme => ADDR_REG_RW_DAQ_RAM_OFFSET ,
3798 data_to_vme => data_to_vme_REG_RW_DAQ_RAM_OFFSET
);
3800 data_to_vme_REG_RW_DAQ_RAM_OFFSET<=data_from_vme_REG_RW_DAQ_RAM_OFFSET;
3801 RAM_global_offset <= (data_from_vme_REG_RW_DAQ_RAM_OFFSET(7 downto 0));
3804 rel_offset_gen: for i_row in 1 to 19 generate
3807 ia_vme =>
(ADDR_REG_RW_DAQ_RAM_RELATIVE_OFFSET+2*
(i_row-
1)),
3817 data_from_vme => data_from_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET
(i_row-
1),
3818 data_to_vme => data_to_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET
(i_row-
1));
3820 data_to_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET(i_row-1)<=data_from_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET(i_row-1);
3821 RAM_rel_offsets(i_row-1)<=(data_from_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET(i_row-1)(7 downto 0));
3822 end generate rel_offset_gen;
out BF_DOUT_CTP_41std_logic
in BF_SYSMON_13_NSTD_LOGIC
out TXN_OUTstd_logic_vector ((num_GTX_per_group * num_GTX_groups) - 1 downto 0)
in BF_SYSMON_14_PSTD_LOGIC
out BF_DOUT_CTP_01std_logic
out BF_TO_FROM_BSPT_2std_logic
out BF_DAQ_DATA_OUT_CMPstd_logic
in CLK_120MHz000_XTAL_1_BF_TRNCV_DIRstd_logic
in BF_SYSMON_09_PSTD_LOGIC
out data_vme_outstd_logic_vector (15 downto 0)
in BF_TO_TP_ROI_SLINK_RETURN_CMPstd_logic
out BF_TO_FROM_BSPT_3std_logic
out MP1_F11_QUAD_111_TRN_1_CMPstd_logic
out bcid_adjstd_logic_vector (11 downto 0)
out write_detectstd_logic
std_logic read_detect_inreg_test
out BF_LED_REQ_4std_logic
in start_playbackstd_logic
in BF_TO_FROM_BSPT_0std_logic
out BF_DOUT_CTP_61std_logic
out data_in_daqarr_96 (19 downto 0)
out sums_all_outarr_ctr_15bit (5 downto 0)
in addr_vmestd_logic_vector (15 downto 0)
out data_vme_outstd_logic_vector (15 downto 0)
out BF_DOUT_CTP_34std_logic
in MGTREFCLK_PAD_N_INstd_logic_vector (num_GTX_groups - 1 downto 0)
out MP1_F04_QUAD_112_TRN_0_DIRstd_logic
inout data_vmestd_logic_vector (15 downto 0)
out BF_DOUT_CTP_32std_logic
in data_inarr_96 (19 downto 0)
in buf_clk40_centerstd_logic
out data_vme_outstd_logic_vector (15 downto 0)
out MP1_F07_QUAD_110_TRN_2_DIRstd_logic
out data_vmestd_logic_vector (15 downto 0)
out BF_TO_FROM_BSPT_6std_logic
out data_vme_outstd_logic_vector (15 downto 0)
out local_gtx_reset_diagstd_logic
out DFETAP2MONITORstd_logic_vector (4 downto 0)
out BF_LED_REQ_1std_logic
out MP2_F01_QUAD_113_TRN_0_CMPstd_logic
in data_vme_instd_logic_vector (15 downto 0)
out BF_DOUT_CTP_21std_logic
in BACKPLANE_DATA_INenergy_array
out MP1_F10_QUAD_111_TRN_2_DIRstd_logic
in T_SUM_E_MAXarr_ctr_15bit (num_thresholds - 1 downto 0)
std_logic_vector (15 downto 0) data_to_vme_test_rw
out BF_DOUT_CTP_46std_logic
in addr_vmestd_logic_vector (15 downto 0)
in DFETAP4std_logic_vector (3 downto 0)
in BF_SYSMON_03_NSTD_LOGIC
out BF_DOUT_CTP_04std_logic
in BF_SYSMON_10_PSTD_LOGIC
out BF_DOUT_CTP_65std_logic
out BF_DOUT_CTP_55std_logic
in BF_SYSMON_13_NSTD_LOGIC
std_logic_vector (15 downto 0) data_vme_up_top
in BF_SYSMON_13_PSTD_LOGIC
out BF_DOUT_CTP_19std_logic
in BF_SYSMON_12_PSTD_LOGIC
in TXDIFFCTRL_INstd_logic_vector (3 downto 0)
out BF_DOUT_CTP_14std_logic
out BF_DOUT_CTP_47std_logic
out send_align_outstd_logic_vector (num_GTX_groups * num_GTX_per_group - 1 downto 0)
in BF_SYSMON_01_NSTD_LOGIC
inout data_vmestd_logic_vector (15 downto 0)
the tri-stated port
in BF_SYSMON_10_NSTD_LOGIC
out BF_LED_REQ_2std_logic
in BF_TO_TP_DAQ_SLINK_RETURN_DIRstd_logic
out MP2_F11_QUAD_114_TRN_1_DIRstd_logic
out data_from_vmestd_logic_vector (width - 1 downto 0)
in RAM_rel_offsetsarr_ctr_8bit (18 downto 0)
out BF_LED_REQ_0std_logic
out BF_DOUT_CTP_00std_logic
out BCID_outstd_logic_vector (11 downto 0)
in TXPREEMPHASIS_INstd_logic_vector (3 downto 0)
out data_from_vmestd_logic_vector (width - 1 downto 0)
in CLK_320MHz64_LHC_BF_QUAD_114_DIRstd_logic
in BF_SYSMON_03_PSTD_LOGIC
std_logic_vector (15 downto 0) data_to_vme_outreg_test
out MP2_F07_QUAD_113_TRN_2_DIRstd_logic
in RXP_INstd_logic_vector ((num_GTX_per_group * num_GTX_groups) - 1 downto 0)
out del_registerdel_register_type
out BF_DOUT_CTP_49std_logic
in BF_SYSMON_09_NSTD_LOGIC
in BF_SYSMON_13_PSTD_LOGIC
in data_vme_instd_logic_vector (15 downto 0)
out BF_DOUT_CTP_64std_logic
out MP1_F04_QUAD_112_TRN_0_CMPstd_logic
out DFECLKDLYADJMONstd_logic_vector (5 downto 0)
out BCID_delayedstd_logic_vector (11 downto 0)
in BF_SYSMON_15_PSTD_LOGIC
out data_vme_outstd_logic_vector (15 downto 0)
in BF_SYSMON_03_NSTD_LOGIC
out data_from_vmestd_logic_vector (width - 1 downto 0)
out BF_ROI_DATA_OUT_DIRstd_logic
in energy_extra1std_logic_vector (23 downto 0)
in BF_SYSMON_11_NSTD_LOGIC
in data_vme_from_belowarr_16
--! inputs from local registers and from
out data_from_vmestd_logic_vector (width - 1 downto 0)
out GTXTEST_diagstd_logic
in bus_drive_from_belowstd_logic
--! a request to drive the outside
in addr_vmestd_logic_vector (15 downto 0)
out MP1_F01_QUAD_110_TRN_0_DIRstd_logic
in BF_SYSMON_07_NSTD_LOGIC
out BF_DOUT_CTP_05std_logic
in energy_extra0std_logic_vector (23 downto 0)
in data_vme_instd_logic_vector (15 downto 0)
out BF_DOUT_CTP_50std_logic
in BCID_instd_logic_vector (11 downto 0)
in BF_SYSMON_14_NSTD_LOGIC
in BF_SYSMON_01_NSTD_LOGIC
out MP2_F04_QUAD_115_TRN_0_CMPstd_logic
out data_vmestd_logic_vector (15 downto 0)
in CLK_40MHz08_DSKW_2_BF_LOGIC_CMPstd_logic
in BF_SYSMON_04_NSTD_LOGIC
in data_vme_instd_logic_vector (15 downto 0)
out buf_clk40_m180ostd_logic
in BF_SYSMON_12_PSTD_LOGIC
out MP2_F04_QUAD_115_TRN_0_DIRstd_logic
in addr_vmestd_logic_vector (15 downto 0)
std_logic_vector (23 downto 1) vme_address
out BF_DOUT_CTP_57std_logic
out BF_DOUT_CTP_42std_logic
out LOCAL_CABLE_OUTstd_logic_vector (4 * 26 - 1 downto 0)
in addr_vmestd_logic_vector (15 downto 0)
in data_vme_instd_logic_vector (15 downto 0)
in send_alignstd_logic_vector ((num_GTX_per_group * num_GTX_groups) - 1 downto 0)
out BF_DOUT_CTP_51std_logic
in data_to_vmestd_logic_vector (width - 1 downto 0)
out BF_DOUT_CTP_54std_logic
out MP1_F02_QUAD_112_TRN_2_DIRstd_logic
in BF_TO_FROM_BSPT_1std_logic
in local_datastd_logic_vector (4 * 26 - 1 downto 0)
out BF_DOUT_CTP_45std_logic
in BF_SYSMON_07_PSTD_LOGIC
out data_vme_outstd_logic_vector (15 downto 0)
out write_detectstd_logic
out MP2_F08_QUAD_114_TRN_3_DIRstd_logic
arr_16 (1762 downto 0) data_vme_from_below_top
out BF_DOUT_CTP_60std_logic
in ENERGY_REMOTEstd_logic_vector (26 * 4 - 1 downto 0)
std_logic bus_drive_up_top
out BF_DOUT_CTP_07std_logic
out BF_TO_FROM_BSPT_5std_logic
out MP2_F01_QUAD_113_TRN_0_DIRstd_logic
out local_mmcm_reset_diagstd_logic
in data_to_vmestd_logic_vector (width - 1 downto 0)
in DFETAP3std_logic_vector (3 downto 0)
out MP1_F07_QUAD_110_TRN_2_CMPstd_logic
in addr_vmestd_logic_vector (15 downto 0)
in BF_SYSMON_09_PSTD_LOGIC
out DFEEYEDACMONstd_logic_vector (4 downto 0)
out data_vme_outstd_logic_vector (15 downto 0)
out BF_DOUT_CTP_17std_logic
in BF_SYSMON_01_PSTD_LOGIC
in T_MISS_E_MINarr_ctr_31bit (num_thresholds - 1 downto 0)
out BF_DOUT_CTP_31std_logic
out BF_DOUT_CTP_38std_logic
out BF_DOUT_CTP_37std_logic
out MP2_F08_QUAD_114_TRN_3_CMPstd_logic
in addr_vmestd_logic_vector (15 downto 0)
out BF_DOUT_CTP_29std_logic
out BF_REQ_CABLE_3_INPUTstd_logic
out BF_DOUT_CTP_35std_logic
in nslicesunsigned (7 downto 0)
out BF_DOUT_CTP_26std_logic
out BF_DOUT_CTP_39std_logic
out GTX_RX_READY_OUTstd_logic
out BF_DOUT_CTP_23std_logic
in DFECLKDLYADJstd_logic_vector (5 downto 0)
out MP2_F09_QUAD_114_TRN_0_DIRstd_logic
out BF_DOUT_CTP_16std_logic
out data_vme_outstd_logic_vector (15 downto 0)
out local_pll_lock_outstd_logic
std_logic_vector (numactchan - 1 downto 0) counter_values
in BF_SYSMON_10_NSTD_LOGIC
out upload_delaysstd_logic
in T_MISS_E_MAXarr_ctr_31bit (num_thresholds - 1 downto 0)
out data_vme_going_belowstd_logic_vector (15 downto 0)
in TXPOSTEMPHASIS_INstd_logic_vector (4 downto 0)
in vme_addressstd_logic_vector (23 downto 1)
in BCID_instd_logic_vector (11 downto 0)
in T_SUM_E_MINarr_ctr_15bit (num_thresholds - 1 downto 0)
std_logic start_playback_r1
out data_vme_outstd_logic_vector (15 downto 0)
std_logic_vector (15 downto 0) data_vme_going_below
in data_to_vmestd_logic_vector (width - 1 downto 0)
out MP1_F00_QUAD_112_TRN_3_CMPstd_logic
out BF_DOUT_CTP_28std_logic
in data_to_vmestd_logic_vector (width - 1 downto 0)
in GTXRXRESET_INstd_logic
in MGTREFCLK_PAD_P_INstd_logic_vector (num_GTX_groups - 1 downto 0)
in BF_SYSMON_04_NSTD_LOGIC
in BF_SYSMON_14_PSTD_LOGIC
std_logic_vector (15 downto 0) data_from_vme_test_rw
out data_vme_upstd_logic_vector (15 downto 0)
--! connect this to
in addr_vmestd_logic_vector (15 downto 0)
in addr_vmestd_logic_vector (15 downto 0)
out BF_DOUT_CTP_24std_logic
in bc_counterunsigned (11 downto 0)
in BF_TO_TP_DAQ_SLINK_RETURN_CMPstd_logic
out GTX_TX_READY_OUTstd_logic
in BF_SYSMON_09_NSTD_LOGIC
out BF_DOUT_CTP_53std_logic
out MP2_F02_QUAD_115_TRN_2_DIRstd_logic
in addr_vmestd_logic_vector (15 downto 0)
out BF_REQ_CABLE_1_INPUTstd_logic
std_logic read_detect_outreg_test
del_register_type del_register
in SUM_ET_RES_THRarr_ctr_15bit (num_thresholds - 1 downto 0)
in addr_vmestd_logic_vector (15 downto 0)
out MP2_F09_QUAD_114_TRN_0_CMPstd_logic
in data_vme_instd_logic_vector (15 downto 0)
in datastd_logic_vector (numbits_in_RTM_connector * 2 * num_RTM_cables - 1 downto 0)
in CLK_120MHz000_XTAL_1_BF_TRNCV_CMPstd_logic
out BF_DOUT_CTP_18std_logic
out BF_DOUT_CTP_06std_logic
out BF_DOUT_CTP_27std_logic
out BF_DOUT_CTP_43std_logic
out MP2_F03_QUAD_113_TRN_1_DIRstd_logic
in BF_SYSMON_11_NSTD_LOGIC
in RXN_INstd_logic_vector ((num_GTX_per_group * num_GTX_groups) - 1 downto 0)
out BCID_delayedstd_logic_vector (11 downto 0)
std_logic_vector (15 downto 0) data_to_vme_test_r
out MP2_F11_QUAD_114_TRN_1_CMPstd_logic
out DFETAP3MONITORstd_logic_vector (3 downto 0)
in energy_localstd_logic_vector (26 * 4 - 1 downto 0)
in data_vme_instd_logic_vector (15 downto 0)
out TXP_OUTstd_logic_vector ((num_GTX_per_group * num_GTX_groups) - 1 downto 0)
out MP1_F00_QUAD_112_TRN_3_DIRstd_logic
out MP1_F06_QUAD_112_TRN_1_CMPstd_logic
in BF_SYSMON_11_PSTD_LOGIC
out GTX_RX_READY_OUTstd_logic
in BF_SYSMON_01_PSTD_LOGIC
out BF_DOUT_CTP_58std_logic
out BF_DOUT_CTP_10std_logic
in data_to_vmestd_logic_vector (width - 1 downto 0)
in OCB_SYS_RESET_Bstd_logic
in par_errstd_logic_vector (1 downto 0)
in DFETAP1std_logic_vector (4 downto 0)
in SUM_ET_THRarr_ctr_15bit (num_thresholds - 1 downto 0)
in addr_vmestd_logic_vector (15 downto 0)
out bus_drive_upstd_logic
or of all bus drive requests from below
out BF_DOUT_CTP_03std_logic
in BUF_TTC_BNCH_CNT_RESstd_logic
out MP2_F10_QUAD_114_TRN_2_CMPstd_logic
in RAM_global_offsetunsigned (7 downto 0)
out MP1_F10_QUAD_111_TRN_2_CMPstd_logic
in BF_SYSMON_07_PSTD_LOGIC
in energy_totalarr_ctr_15bit (5 downto 0)
in data_vme_instd_logic_vector (15 downto 0)
out ddr_data_outarr_RTM (num_RTM_cables - 1 downto 0)
in BF_SYSMON_08_NSTD_LOGIC
out counter_inhibitstd_logic
out MP1_F09_QUAD_111_TRN_0_DIRstd_logic
out BF_REQ_CTP_1_INPUTstd_logic
out BF_LED_REQ_3std_logic
out data_vme_outstd_logic_vector (15 downto 0)
out BF_TO_FROM_BSPT_7std_logic
out BF_DOUT_CTP_25std_logic
in CLK_320MHz64_LHC_BF_QUAD_114_CMPstd_logic
in BF_SYSMON_14_NSTD_LOGIC
in data_vme_instd_logic_vector (15 downto 0)
in BF_SYSMON_07_NSTD_LOGIC
out ROI_BYTEstd_logic_vector (7 downto 0)
in BF_SYSMON_08_PSTD_LOGIC
in energy_ovflwstd_logic_vector (5 downto 0)
out DFETAP4MONITORstd_logic_vector (3 downto 0)
out MP1_F05_QUAD_110_TRN_3_DIRstd_logic
out BF_DOUT_CTP_20std_logic
in BF_SYSMON_15_NSTD_LOGIC
in data_vme_from_belowstd_logic_vector (15 downto 0)
--! input: ORed
out buf_clk40_m90ostd_logic
in ROI_INstd_logic_vector (19 downto 0)
out MP1_F06_QUAD_112_TRN_1_DIRstd_logic
out BF_DOUT_CTP_30std_logic
in BF_SYSMON_11_PSTD_LOGIC
out MP2_F05_QUAD_113_TRN_3_DIRstd_logic
in addr_vmestd_logic_vector (15 downto 0)
out MP1_F09_QUAD_111_TRN_0_CMPstd_logic
out MP1_F05_QUAD_110_TRN_3_CMPstd_logic
in BUF_TTC_L1_ACCEPTstd_logic
in bcid_instd_logic_vector (11 downto 0)
in addr_vmestd_logic_vector (15 downto 0)
in BF_SYSMON_08_NSTD_LOGIC
in BF_SYSMON_10_PSTD_LOGIC
in RXEQMIX_INstd_logic_vector (2 downto 0)
in MISS_E_THRarr_ctr_31bit (num_thresholds - 1 downto 0)
out BF_DAQ_DATA_OUT_DIRstd_logic
out BF_DOUT_CTP_22std_logic
in indatastd_logic_vector (7 downto 0)
out BF_DOUT_CTP_08std_logic
out daq_byte_outstd_logic_vector (1 downto 0)
in CLK_320MHz64_LHC_BF_QUAD_111_CMPstd_logic
ADDR_REG_RO_SYSMON_DATA_BLOCKinteger :=16#1364#
out counter_resetstd_logic
in data_to_vmestd_logic_vector (width - 1 downto 0)
out BF_TO_FROM_BSPT_4std_logic
out data_vmestd_logic_vector (15 downto 0)
out BF_DOUT_CTP_09std_logic
out odatastd_logic_vector (7 downto 0)
out MP1_F08_QUAD_111_TRN_3_CMPstd_logic
out GTX_TX_READY_OUTstd_logic
in BF_SYSMON_15_PSTD_LOGIC
in CLK_320MHz64_LHC_BF_QUAD_111_DIRstd_logic
out MP1_F11_QUAD_111_TRN_1_DIRstd_logic
out MP1_F03_QUAD_110_TRN_1_CMPstd_logic
out BF_REQ_CABLE_2_INPUTstd_logic
out MP2_F03_QUAD_113_TRN_1_CMPstd_logic
out readout_rst_outstd_logic
out data_vme_outstd_logic_vector (15 downto 0)
out pll_locked_ds2std_logic
in OCB_GEO_ADRS_0std_logic
out spy_write_inhibitstd_logic
out DFETAP1MONITORstd_logic_vector (4 downto 0)
out MP2_F10_QUAD_114_TRN_2_DIRstd_logic
in DFETAP2std_logic_vector (4 downto 0)
in indatastd_logic_vector (TX_indata_length - 1 downto 0)
out BF_DOUT_CTP_63std_logic
in BF_SYSMON_03_PSTD_LOGIC
in XS_B2arr_ctr_15bit (num_thresholds - 1 downto 0)
in spy_write_inhibitstd_logic
out Data_outstd_logic_vector (TX_indata_length - 1 downto 0)
in BF_SYSMON_04_PSTD_LOGIC
in BCIDstd_logic_vector (11 downto 0)
out BF_DOUT_CTP_40std_logic
in dataiarr_4Xword (max_jems - 1 downto 0)
out PLLLKDET_diagstd_logic
in BF_SYSMON_04_PSTD_LOGIC
out BF_ROI_DATA_OUT_CMPstd_logic
out BF_DOUT_CTP_15std_logic
out BF_DOUT_CTP_62std_logic
out byte_pos_outstd_logic_vector (5 downto 0)
out BF_DOUT_CTP_33std_logic
in addr_vmestd_logic_vector (15 downto 0)
in BF_SYSMON_15_NSTD_LOGIC
out MP2_F00_QUAD_115_TRN_3_DIRstd_logic
in addr_vmestd_logic_vector (15 downto 0)
in RXN_INstd_logic_vector ((num_GTX_per_group * num_GTX_groups) - 1 downto 0)
out word_sel_outstd_logic_vector (1 downto 0)
in RXP_INstd_logic_vector ((num_GTX_per_group * num_GTX_groups) - 1 downto 0)
unsigned (15 downto 0) test_rw_counter
in DAQ_INstd_logic_vector (19 downto 0)
out DFESENSCALstd_logic_vector (2 downto 0)
in energy_remotestd_logic_vector (26 * 4 - 1 downto 0)
in CLK_40MHz08_DSKW_1_BF_LOGIC_CMPstd_logic
out buf_clk40_90ostd_logic
out BF_DOUT_CTP_48std_logic
out BF_DOUT_CTP_44std_logic
in BF_SYSMON_08_PSTD_LOGIC
out BF_DOUT_CTP_52std_logic
in MISS_E_RES_THRarr_ctr_31bit (num_thresholds - 1 downto 0)
std_logic_vector (1762 downto 0) bus_drive_from_below_top
out DAQ_ENCODED_DIAGstd_logic_vector (23 downto 0)
out BF_REQ_CTP_2_INPUTstd_logic
out DAQ_BYTEstd_logic_vector (7 downto 0)
out MP1_F02_QUAD_112_TRN_2_CMPstd_logic
out MP2_F00_QUAD_115_TRN_3_CMPstd_logic
in BF_SYSMON_12_NSTD_LOGIC
out MP2_F05_QUAD_113_TRN_3_CMPstd_logic
in XS_T2_A2arr_ctr_31bit (num_thresholds - 1 downto 0)
out MP1_F08_QUAD_111_TRN_3_DIRstd_logic
std_logic write_detect_inreg_test
out ov_all_outstd_logic_vector (5 downto 0)
in data_vme_instd_logic_vector (15 downto 0)
inout OCB_Dstd_logic_vector (15 downto 0)
out BF_DOUT_CTP_02std_logic
out MP1_F01_QUAD_110_TRN_0_CMPstd_logic
inout data_vmestd_logic_vector (15 downto 0)
out CTP_CABLE_1std_logic_vector (23 downto 0)
in data_to_vmestd_logic_vector (width - 1 downto 0)
in CLK_40MHz08_DSKW_1_BF_LOGIC_DIRstd_logic
out BF_DOUT_CTP_13std_logic
out MP2_F02_QUAD_115_TRN_2_CMPstd_logic
out MP2_F06_QUAD_115_TRN_1_CMPstd_logic
out buf_clk40_ds2std_logic
out BF_DOUT_CTP_59std_logic
in CLK_40MHz08_DSKW_2_BF_LOGIC_DIRstd_logic
in BF_TO_TP_ROI_SLINK_RETURN_DIRstd_logic
out BF_DOUT_CTP_56std_logic
in GTXTXRESET_INstd_logic
out MP2_F07_QUAD_113_TRN_2_CMPstd_logic
out BF_DOUT_CTP_11std_logic
out BF_DOUT_CTP_36std_logic
out MP1_F03_QUAD_110_TRN_1_DIRstd_logic
out data_outstd_logic_vector (19 downto 0)
in bus_drive_from_belowstd_logic_vector
in BF_SYSMON_12_NSTD_LOGIC
out CTP_CABLE_0std_logic_vector (23 downto 0)
out MP2_F06_QUAD_115_TRN_1_DIRstd_logic
out BF_DOUT_CTP_12std_logic