1 ----------------------------------------------------------------------------------
7 ----------------------------------------------------------------------------------
9 use IEEE.STD_LOGIC_1164.
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
63 ----------------------------------------------------------------------------
493 --CLK_40MHz08_DSKW_2_BF_LOGIC_DIR : in std_logic;
494 --CLK_40MHz08_DSKW_2_BF_LOGIC_CMP : in std_logic;
503 --CLK_320MHz64_LHC_BF_LOGIC_DIR : in std_logic;
504 --CLK_320MHz64_LHC_BF_LOGIC_CMP : in std_logic;
761 --clk40 : in std_logic;
762 RXN_IN : in ((num_GTX_per_group*num_GTX_groups)-1 downto 0);
763 RXP_IN : in ((num_GTX_per_group*num_GTX_groups)-1 downto 0)
773 attribute keep : ;
-- keep signals in synthesis
777 ------------------------------------------------------------------------------
778 -- VME interface component used in BSPT FPGA (Ian's vme_interface)
779 ------------------------------------------------------------------------------
782 clk40 :
IN ;
-- 40MHz Clk
791 -- signals for CMX_BASE_VME_INTERFACE component
792 signal ds: ;
-- board_ds output from VME (Ian model)
793 signal ncs: ;
-- brdsel_n output from VME (Ian model)
944 -- the first variable is
945 -- yet one more register
1002 P :
in mat_var (numactchan
-1 downto 0);
1007 ODATA :
out arr_4Xword (numactchan
-1 downto 0);
1031 --signal PAR_ERROR: std_logic_vector(numactchan-1 downto 0);
1036 signal data_from_vme_REG_RW_QUIET_FORCE : (15 downto 0);
1037 signal data_to_vme_REG_RW_QUIET_FORCE : (15 downto 0);
1039 signal DATA96 : arr_4Xword (numactchan-1 downto 0);
--96 bit data at 40MHz
1040 signal ODATA_first_half : arr_2Xword(numactchan-1 downto 0);
1042 signal P : mat_var (numactchan-1 downto 0);
1044 signal BF_DEBUG : (9 downto 0);
1046 signal counter_enable_inputmod_sig: (numactchan-1 downto 0);
1060 end component CMX_Memory_spy_inhibit;
1062 signal spy_write_inhibit : ;
1083 Tobs_to_TOPO :
out copy_arr_TOB;
-- TOB arrays to load onto
1084 -- encoder; copied x3
1085 overflow :
out (num_copies
-1 downto 0);
1088 --tob rate counter contol
1098 end component decoder;
1100 signal Tobs_to_TOPO : copy_arr_TOB;
1101 signal overflow : (num_copies-1 downto 0);
1103 signal data_from_vme_REG_RW_JET_THRESHOLD_BLOCK : arr_16(1599 downto 0);
1104 signal data_to_vme_REG_RW_JET_THRESHOLD_BLOCK : arr_16(1599 downto 0);
1113 clk :
in T_SL;
-- clock
1114 thresholds :
in arr_16(max_jems*
25*
4-1 downto 0);
-- thresholds
1115 datai :
in arr_4Xword(max_jems
-1 downto 0);
-- input data
1116 din_cbl :
in T_SLV65;
-- remote input (multiplicty)
1117 din_cbl_ro :
in T_SL;
-- remote input (overflow)
1118 dout_lcl :
out (
59 downto 0);
-- local multiplicity
1120 dout :
out T_SLV62;
-- global output data (multiplicity), including parity
1121 dout_ro :
out T_SL;
-- global overflow
1122 dout_cbla_mux0 :
out (
33 downto 0);
-- cable output data (multiplicity), including parity
1123 dout_cbla_mux1 :
out (
33 downto 0);
-- cable output data (multiplicity), including parity
1124 dout_cblb_mux0 :
out (
33 downto 0);
-- cable output data (multiplicity), including parity
1125 dout_cblb_mux1 :
out (
33 downto 0);
-- cable output data (multiplicity), including parity
1135 par_err :
in T_SLV2;
-- parity error (input module - 0, RTM - 1)
1136 force :
in T_SL;
-- force
1141 end component adder_top;
1143 signal par_err : T_SLV2;
1145 signal dout_cbla_mux0 : (33 downto 0);
1146 signal dout_cbla_mux1 : (33 downto 0);
1147 signal dout_cblb_mux0 : (33 downto 0);
1148 signal dout_cblb_mux1 : (33 downto 0);
1150 signal data_to_RTM1 : ((numbits_in_RTM_connector*2)-1 downto 0);
1151 signal data_to_RTM2 : ((numbits_in_RTM_connector*2)-1 downto 0);
1154 signal thresholds : arr_16(max_jems*25*4-1 downto 0);
-- thresholds
1156 -- signal p_d : nx121_array(numactchan-1 downto 0); --120 bits + parity -
1157 -- --will be connected to
1158 -- --the decoder output
1159 -- --threshold mask 25
1160 -- --threshold times 4
1161 -- --TOBs + 5 bits position/TOB
1163 signal din_cbl : T_SLV65;
1165 signal dout_lcl : T_SLV60;
-- local multiplicity
1166 signal dout_lcl_ro : T_SL;
1167 --signal dout : T_SLV62; --data to CTP from adder
1169 --component CMX_cable_clocked_80Mbps_output_module
1171 -- numbits_in_cable_connector : integer);
1173 -- data : in std_logic_vector((numbits_in_cable_connector*2)-1 downto 0);
1174 -- ddr_data_out : out std_logic_vector(numbits_in_cable_connector downto 0);
1175 -- buf_clk40 : in std_logic;
1176 -- buf_clk40_center : in std_logic;
1177 -- buf_clk200 : in std_logic;
1178 -- pll_locked : in std_logic;
1179 -- del_array : in cable_del_array_type(numbits_in_cable_connector downto 0);
1180 -- upload_delays : in std_logic);
1187 datai :
in arr_4Xword(max_jems
-1 downto 0);
1197 end component daq_collector;
1202 data :
in (numbits_in_RTM_connector*
2*num_RTM_cables
- 1 downto 0);
1216 end component CMX_crate_cable_output_module;
1218 signal data_to_RTM : ( numbits_in_RTM_connector*2*num_RTM_cables - 1 downto 0);
1219 signal ddr_data_out_RTM : arr_RTM(num_RTM_cables-1 downto 0);
1221 signal sdr_data_out_CTP1 : (31 downto 0);
1222 signal sdr_data_out_CTP2 : (31 downto 0);
1223 --signal sdr_data_out : std_logic_vector(31 downto 0);
1225 signal ddr_data_out_RTM1 : (numbits_in_RTM_connector downto 0);
1226 signal ddr_data_out_RTM2 : (numbits_in_RTM_connector downto 0);
1227 --signal del_array_RTM : cable_del_array_type(numbits_in_RTM_connector downto 0);
1229 --signal ddr_data_in_RTM1 : std_logic_vector(numbits_in_RTM_connector downto 0);
1230 --signal ddr_data_in_RTM2 : std_logic_vector(numbits_in_RTM_connector downto 0);
1231 --signal sig_arr_RTM: arr_RTM(num_RTM_cables-1 downto 0);
1232 --signal data_from_RTM : std_logic_vector(numbits_in_RTM_connector*2*num_RTM_cables - 1 downto 0);
1236 data :
out (numbits_in_RTM_connector*
2*num_RTM_cables
- 1 downto 0);
1237 parity_error :
out (num_RTM_cables
-1 downto 0);
1238 ddr_data_in :
in arr_RTM(num_RTM_cables
-1 downto 0);
1249 data_vme :
inout (
15 downto 0));
1250 end component CMX_system_cable_input_module;
1270 --signal forwarded_clock_CTP2 : std_logic;
1271 --signal data_CTP2 : std_logic_vector((numbits_in_CTP_connector*2)-1 downto 0);
1272 --signal parity_CTP2 : std_logic;
1273 --signal ddr_data_in_CTP2 : std_logic_vector(numbits_in_CTP_connector downto 0);
1275 --signal forwarded_clock_RTM3 : std_logic;
1276 --signal data_RTM3 : std_logic_vector((numbits_in_RTM_connector*2)-1 downto 0);
1277 --signal parity_RTM3 : std_logic;
1278 --signal ddr_data_in_RTM3 : std_logic_vector(numbits_in_RTM_connector downto 0);
1286 ncs :
in ;
--ports forwarded to the vme register instances
1294 signal BCID_counter_sig : (11 downto 0);
1295 signal BCID_delayed_decoder : (11 downto 0);
1296 signal BCID_delayed_daq : (11 downto 0);
1300 component PRNG_LFSR_BIG
is
1304 DATA_PRN :
out (
63 downto 0));
1305 end component PRNG_LFSR_BIG;
1306 signal DATA_PRN: arr_64((num_GTX_per_group*num_GTX_groups)-1 downto 0);
1308 --component Topo_Data_TX
1310 -- MGTREFCLK_PAD_N_IN : in std_logic_vector(num_GTX_groups-1 downto 0);
1311 -- MGTREFCLK_PAD_P_IN : in std_logic_vector(num_GTX_groups-1 downto 0);
1312 -- GTXTXRESET_IN : in std_logic;
1313 -- GTXRXRESET_IN : in std_logic;
1314 -- GTX_TX_READY_OUT : out std_logic;
1315 -- GTX_RX_READY_OUT : out std_logic;
1316 -- RXN_IN : in std_logic_vector((num_GTX_per_group*num_GTX_groups)-1 downto 0);
1317 -- RXP_IN : in std_logic_vector((num_GTX_per_group*num_GTX_groups)-1 downto 0);
1318 -- TXN_OUT : out std_logic_vector((num_GTX_per_group*num_GTX_groups)-1 downto 0);
1319 -- TXP_OUT : out std_logic_vector((num_GTX_per_group*num_GTX_groups)-1 downto 0);
1320 -- clk40 : in std_logic;
1321 -- clk320 : in std_logic;
1322 -- pll_locked : in std_logic;
1323 -- send_align : in std_logic_vector((num_GTX_per_group*num_GTX_groups)-1 downto 0);
1324 -- BCID : in std_logic_vector(11 downto 0);
1325 -- indata : in std_logic_vector(TX_indata_length-1 downto 0);
1326 -- ext_trigger :in std_logic;
1327 -- ncs : in std_logic;
1328 -- rd_nwr : in std_logic;
1329 -- ds : in std_logic;
1330 -- addr_vme : in std_logic_vector (15 downto 0);
1331 -- data_vme : inout std_logic_vector (15 downto 0)
1343 RXN_IN :
in ((num_GTX_per_group*num_GTX_groups)
-1 downto 0);
1344 RXP_IN :
in ((num_GTX_per_group*num_GTX_groups)
-1 downto 0);
1345 TXN_OUT :
out ((num_GTX_per_group*num_GTX_groups)
-1 downto 0);
1346 TXP_OUT :
out ((num_GTX_per_group*num_GTX_groups)
-1 downto 0);
1350 send_align :
in ((num_GTX_per_group*num_GTX_groups)
-1 downto 0);
1351 BCID :
in (
11 downto 0);
1352 indata :
in (TX_indata_length
-1 downto 0);
1361 end component Topo_Data_TX;
1364 component CMX_Jet_Topo_Encoder
is
1366 Tobs_to_TOPO :
in copy_arr_TOB;
1367 overflow :
in (num_copies
-1 downto 0);
1368 send_align_out :
out (num_GTX_groups*num_GTX_per_group
- 1 downto 0);
1369 Data_out :
out (TX_indata_length
- 1 downto 0));
1370 --clk : in std_logic);
1371 end component CMX_Jet_Topo_Encoder;
1373 signal TXN_OUT : ((num_GTX_per_group*num_GTX_groups)-1 downto 0);
1374 signal TXP_OUT : ((num_GTX_per_group*num_GTX_groups)-1 downto 0);
1376 signal MGTREFCLK_PAD_N_IN : (num_GTX_groups-1 downto 0);
1377 signal MGTREFCLK_PAD_P_IN : (num_GTX_groups-1 downto 0);
1379 signal GTX_RX_READY_OUT : ;
1380 signal GTX_TX_READY_OUT : ;
1383 signal GTXTXRESET_IN : ;
1384 signal GTXRXRESET_IN : ;
1386 signal send_align : (23 downto 0);
1388 signal indata_Topo_TX : (TX_indata_length-1 downto 0);
1390 signal data_to_vme_REG_RW_TOPOTR_GTX_RESET : (15 downto 0);
1391 signal data_from_vme_REG_RW_TOPOTR_GTX_RESET : (15 downto 0);
1393 signal data_to_vme_REG_RO_TOPOTR_GTX_STATUS : (15 downto 0);
1395 signal data_from_vme_REG_RW_DAQ_ROI_RESET : (15 downto 0);
1396 signal data_to_vme_REG_RW_DAQ_ROI_RESET : (15 downto 0);
1398 signal data_to_vme_REG_RO_DAQ_ROI_STATUS : (15 downto 0);
1400 signal data_from_vme_REG_RW_DAQ_ROI_GTX_RESET: (15 downto 0);
1401 signal data_to_vme_REG_RW_DAQ_ROI_GTX_RESET: (15 downto 0);
1402 signal gtx_reset_SFP_DAQ, gtx_reset_SFP_ROI : ;
1404 signal BUF_TTC_L1_ACCEPT_r: ;
1405 signal l1a_synced: ;
1407 signal bc_reset_synced : ;
1408 signal BUF_TTC_BNCH_CNT_RES_r : ;
1422 end component CMX_rate_counter_inhibit;
1424 signal counter_inhibit : ;
1425 signal counter_reset : ;
1428 --WTF NO CS 20141128
1429 --WTF NO CS 20141128
1430 --WTF NO CS 20141128 component chipscope_ila_CMX_top_inputmodclk
1431 --WTF NO CS 20141128 port (
1432 --WTF NO CS 20141128 CONTROL : inout std_logic_vector(35 downto 0);
1433 --WTF NO CS 20141128 CLK : in std_logic;
1434 --WTF NO CS 20141128 DATA : in std_logic_vector(2375 downto 0);
1435 --WTF NO CS 20141128 TRIG0 : in std_logic_vector(35 downto 0));
1436 --WTF NO CS 20141128 end component;
1437 --WTF NO CS 20141128
1438 --WTF NO CS 20141128 signal DATA_chipscope_ila_CMX_top_inputmodclk : std_logic_vector(2375 downto 0);
1439 --WTF NO CS 20141128 signal TRIG0_chipscope_ila_CMX_top_inputmodclk : std_logic_vector(35 downto 0);
1440 --WTF NO CS 20141128 --signal TRIG_forward_inputmodclk_outputmodclk : std_logic_vector(0 downto 0);
1442 --component chipscope_ila_IDELAY
1444 -- CONTROL : inout std_logic_vector(35 downto 0);
1445 -- CLK : in std_logic;
1446 -- DATA : in std_logic_vector(2000 downto 0);
1447 -- TRIG0 : in std_logic_vector(0 to 0));
1450 --signal DATA_chipscope_ila_IDELAY : std_logic_vector(2000 downto 0);
1453 --component chipscope_ila_CTP2
1455 -- CONTROL : inout std_logic_vector(35 downto 0);
1456 -- CLK : in std_logic;
1457 -- DATA : in std_logic_vector(64 downto 0);
1458 -- TRIG0 : in std_logic_vector(0 to 0));
1461 --component chipscope_ila_RTM
1463 -- CONTROL : inout std_logic_vector(35 downto 0);
1464 -- CLK : in std_logic;
1465 -- DATA : in std_logic_vector(52 downto 0);
1466 -- TRIG0 : in std_logic_vector(0 to 0));
1469 --component chipscope_ila_LVDS_TX_CTP_RTM
1471 -- CONTROL : inout std_logic_vector(35 downto 0);
1472 -- CLK : in std_logic;
1473 -- DATA : in std_logic_vector(117 downto 0);
1474 -- TRIG0 : in std_logic_vector(1 downto 0));
1501 end component CMX_clock_manager;
1504 signal buf_clk40 : ;
1505 signal buf_clk40_m180o : ;
1506 signal buf_clk40_90o : ;
1507 signal buf_clk40_m90o : ;
1509 signal buf_clk320 : ;
1510 signal buf_clk160 : ;
1511 signal buf_clk200 : ;
1512 signal pll_locked : ;
1514 signal buf_clk40_ds2 : ;
1515 signal pll_locked_ds2 : ;
1535 data :
in ((numbits_in_CTP_connector*
2)
-1 downto 0);
1547 data_vme :
inout (
15 downto 0));
1548 end component CMX_CTP_output_module;
1550 --signal sdr_data_CTP: arr_CTP;
1552 component CMX_CTP_out_tester
1554 sdr_data_out :
out (
31 downto 0);
1560 addr_vme :
in (
15 downto 0);
1561 data_vme :
inout (
15 downto 0));
1588 indata :
in (
7 downto 0);
1589 odata :
out (
7 downto 0);
1610 signal MGTREFCLK_Q118 : ;
1612 signal GTXTXRESET_IN_TX_SFP_DAQ : ;
1613 signal GTXRXRESET_IN_TX_SFP_DAQ : ;
1614 signal local_pll_lock_out_SFP_DAQ : ;
1615 signal GTX_TX_READY_OUT_TX_SFP_DAQ : ;
1616 signal GTX_RX_READY_OUT_TX_SFP_DAQ : ;
1617 signal PLLLKDET_diag_TX_SFP_DAQ : ;
1618 signal local_gtx_reset_diag_TX_SFP_DAQ : ;
1619 signal local_mmcm_reset_diag_TX_SFP_DAQ : ;
1620 signal GTXTEST_diag_TX_SFP_DAQ : ;
1621 signal RXN_IN_TX_SFP_DAQ : ;
1622 signal RXP_IN_TX_SFP_DAQ : ;
1623 signal TXN_OUT_TX_SFP_DAQ : ;
1624 signal TXP_OUT_TX_SFP_DAQ : ;
1625 signal clk40_out_TX_SFP_DAQ : ;
1626 signal clk120_out_TX_SFP_DAQ : ;
1627 signal clk40_in_TX_SFP_DAQ : ;
1628 signal clk120_in_TX_SFP_DAQ : ;
1629 signal indata_TX_SFP_DAQ : (7 downto 0);
1630 signal odata_TX_SFP_DAQ : (7 downto 0);
1631 signal TXPREEMPHASIS_IN_TX_SFP_DAQ : (3 downto 0);
1632 signal TXPOSTEMPHASIS_IN_TX_SFP_DAQ : (4 downto 0);
1633 signal TXDIFFCTRL_IN_TX_SFP_DAQ : (3 downto 0);
1634 signal RXEQMIX_IN_TX_SFP_DAQ : (2 downto 0);
1635 signal DFECLKDLYADJ_TX_SFP_DAQ : (5 downto 0);
1636 signal DFECLKDLYADJMON_TX_SFP_DAQ : (5 downto 0);
1637 signal DFEDLYOVRD_TX_SFP_DAQ : ;
1638 signal DFEEYEDACMON_TX_SFP_DAQ : (4 downto 0);
1639 signal DFESENSCAL_TX_SFP_DAQ : (2 downto 0);
1640 signal DFETAP1_TX_SFP_DAQ : (4 downto 0);
1641 signal DFETAP1MONITOR_TX_SFP_DAQ : (4 downto 0);
1642 signal DFETAP2_TX_SFP_DAQ : (4 downto 0);
1643 signal DFETAP2MONITOR_TX_SFP_DAQ : (4 downto 0);
1644 signal DFETAP3_TX_SFP_DAQ : (3 downto 0);
1645 signal DFETAP3MONITOR_TX_SFP_DAQ : (3 downto 0);
1646 signal DFETAP4_TX_SFP_DAQ : (3 downto 0);
1647 signal DFETAP4MONITOR_TX_SFP_DAQ : (3 downto 0);
1648 signal DFETAPOVRD_TX_SFP_DAQ : ;
1650 signal GTXTXRESET_IN_TX_SFP_ROI : ;
1651 signal GTXRXRESET_IN_TX_SFP_ROI : ;
1652 signal local_pll_lock_out_SFP_ROI : ;
1653 signal GTX_TX_READY_OUT_TX_SFP_ROI : ;
1654 signal GTX_RX_READY_OUT_TX_SFP_ROI : ;
1655 signal PLLLKDET_diag_TX_SFP_ROI : ;
1656 signal local_gtx_reset_diag_TX_SFP_ROI : ;
1657 signal local_mmcm_reset_diag_TX_SFP_ROI : ;
1658 signal GTXTEST_diag_TX_SFP_ROI : ;
1659 signal RXN_IN_TX_SFP_ROI : ;
1660 signal RXP_IN_TX_SFP_ROI : ;
1661 signal TXN_OUT_TX_SFP_ROI : ;
1662 signal TXP_OUT_TX_SFP_ROI : ;
1663 signal clk40_out_TX_SFP_ROI : ;
1664 signal clk120_out_TX_SFP_ROI : ;
1665 signal clk40_in_TX_SFP_ROI : ;
1666 signal clk120_in_TX_SFP_ROI : ;
1667 signal indata_TX_SFP_ROI : (7 downto 0);
1668 signal odata_TX_SFP_ROI : (7 downto 0);
1669 signal TXPREEMPHASIS_IN_TX_SFP_ROI : (3 downto 0);
1670 signal TXPOSTEMPHASIS_IN_TX_SFP_ROI : (4 downto 0);
1671 signal TXDIFFCTRL_IN_TX_SFP_ROI : (3 downto 0);
1672 signal RXEQMIX_IN_TX_SFP_ROI : (2 downto 0);
1673 signal DFECLKDLYADJ_TX_SFP_ROI : (5 downto 0);
1674 signal DFECLKDLYADJMON_TX_SFP_ROI : (5 downto 0);
1675 signal DFEDLYOVRD_TX_SFP_ROI : ;
1676 signal DFEEYEDACMON_TX_SFP_ROI : (4 downto 0);
1677 signal DFESENSCAL_TX_SFP_ROI : (2 downto 0);
1678 signal DFETAP1_TX_SFP_ROI : (4 downto 0);
1679 signal DFETAP1MONITOR_TX_SFP_ROI : (4 downto 0);
1680 signal DFETAP2_TX_SFP_ROI : (4 downto 0);
1681 signal DFETAP2MONITOR_TX_SFP_ROI : (4 downto 0);
1682 signal DFETAP3_TX_SFP_ROI : (3 downto 0);
1683 signal DFETAP3MONITOR_TX_SFP_ROI : (3 downto 0);
1684 signal DFETAP4_TX_SFP_ROI : (3 downto 0);
1685 signal DFETAP4MONITOR_TX_SFP_ROI : (3 downto 0);
1686 signal DFETAPOVRD_TX_SFP_ROI : ;
1696 DAQ_IN :
in (
19 DOWNTO 0);
1697 ROI_IN :
in (
19 DOWNTO 0);
1710 -- Glink emulator signals
1712 signal daq_in : (19 DOWNTO 0);
1713 signal roi_in : (19 DOWNTO 0);
1716 signal daq_byte : (7 downto 0);
1717 signal roi_byte : (7 downto 0);
1718 signal reset_daq : ;
1719 signal daq_encoded_diag : (23 downto 0);
1720 signal daq_byte_out : (1 downto 0);
1722 signal byte_pos_out : (5 downto 0);
1723 signal word_sel_out : (1 downto 0);
1724 signal readout_rst_out : ;
1726 --component chipscope_icon_u2_c3
1728 -- CONTROL0 : inout std_logic_vector(35 downto 0);
1729 -- CONTROL1 : inout std_logic_vector(35 downto 0);
1730 -- CONTROL2 : inout std_logic_vector(35 downto 0)
1734 --signal CONTROL0 : std_logic_vector(35 downto 0);
1735 --signal CONTROL1 : std_logic_vector(35 downto 0);
1736 --signal CONTROL2 : std_logic_vector(35 downto 0);
1738 --signal data_ila_daq : std_logic_vector (53 downto 0);
1739 --signal trig_ila_daq : std_logic_vector (33 downto 0);
1741 --signal data_ila_encoder : std_logic_vector (20 downto 0);
1742 --signal trig_ila_encoder : std_logic_vector (11 downto 0);
1744 --signal data_ila_gtx_start : std_logic_vector (12 downto 0);
1745 --signal trig_ila_gtx_start : std_logic_vector (2 downto 0);
1748 ----signal data_ila_1 : std_logic_vector (16 downto 0);
1750 --component glink_chipscope_analyzer
1752 -- CONTROL: inout std_logic_vector(35 downto 0);
1753 -- CLK: in std_logic;
1754 -- DATA: in std_logic_vector(53 downto 0);
1755 -- TRIG0: in std_logic_vector(33 downto 0));
1758 --component glink_chipscope_analyzer_encoder
1760 -- CONTROL: inout std_logic_vector(35 downto 0);
1761 -- CLK: in std_logic;
1762 -- DATA: in std_logic_vector(20 downto 0);
1763 -- TRIG0: in std_logic_vector(11 downto 0));
1766 --component glink_chipscope_analyzer_gtx_start is
1768 -- CONTROL : inout std_logic_vector(35 downto 0);
1769 -- CLK : in std_logic;
1770 -- DATA : in std_logic_vector(10 downto 0);
1771 -- TRIG0 : in std_logic_vector(0 to 0));
1772 --end component glink_chipscope_analyzer_gtx_start;
1777 data_in :
in arr_96(
19 downto 0);
1788 end component daq_glink;
1790 signal RAM_global_offset : (7 downto 0);
1791 signal RAM_rel_offsets : arr_ctr_8bit(18 downto 0);
1792 signal nslices : (7 downto 0);
1794 signal data_in_daq: arr_96(19 downto 0);
1796 --control of daq delays
1797 signal data_from_vme_REG_RW_DAQ_SLICE: (15 downto 0);
1798 signal data_to_vme_REG_RW_DAQ_SLICE: (15 downto 0);
1799 signal data_from_vme_REG_RW_DAQ_RAM_OFFSET: (15 downto 0);
1800 signal data_to_vme_REG_RW_DAQ_RAM_OFFSET: (15 downto 0);
1802 signal data_from_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET: arr_16(18 downto 0);
1803 signal data_to_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET: arr_16(18 downto 0);
1806 attribute keep of start_playback_r1, BUF_TTC_L1_ACCEPT_r, BUF_TTC_BNCH_CNT_RES_r, send_align, ODATA_first_half : signal is "TRUE";
1807 attribute IOB of BUF_TTC_L1_ACCEPT_r, BUF_TTC_BNCH_CNT_RES_r : signal is "FORCE";
1809 --attribute IOB of BF_DOUT_CTP_00 : signal is "TRUE";
1810 --attribute IOB of BF_DOUT_CTP_01 : signal is "TRUE";
1811 --attribute IOB of BF_DOUT_CTP_02 : signal is "TRUE";
1812 --attribute IOB of BF_DOUT_CTP_03 : signal is "TRUE";
1813 --attribute IOB of BF_DOUT_CTP_04 : signal is "TRUE";
1814 --attribute IOB of BF_DOUT_CTP_05 : signal is "TRUE";
1815 --attribute IOB of BF_DOUT_CTP_06 : signal is "TRUE";
1816 --attribute IOB of BF_DOUT_CTP_07 : signal is "TRUE";
1817 --attribute IOB of BF_DOUT_CTP_08 : signal is "TRUE";
1818 --attribute IOB of BF_DOUT_CTP_09 : signal is "TRUE";
1819 --attribute IOB of BF_DOUT_CTP_10 : signal is "TRUE";
1820 --attribute IOB of BF_DOUT_CTP_11 : signal is "TRUE";
1821 --attribute IOB of BF_DOUT_CTP_12 : signal is "TRUE";
1822 --attribute IOB of BF_DOUT_CTP_13 : signal is "TRUE";
1823 --attribute IOB of BF_DOUT_CTP_14 : signal is "TRUE";
1824 --attribute IOB of BF_DOUT_CTP_15 : signal is "TRUE";
1825 --attribute IOB of BF_DOUT_CTP_16 : signal is "TRUE";
1826 --attribute IOB of BF_DOUT_CTP_17 : signal is "TRUE";
1827 --attribute IOB of BF_DOUT_CTP_18 : signal is "TRUE";
1828 --attribute IOB of BF_DOUT_CTP_19 : signal is "TRUE";
1829 --attribute IOB of BF_DOUT_CTP_20 : signal is "TRUE";
1830 --attribute IOB of BF_DOUT_CTP_21 : signal is "TRUE";
1831 --attribute IOB of BF_DOUT_CTP_22 : signal is "TRUE";
1832 --attribute IOB of BF_DOUT_CTP_23 : signal is "TRUE";
1833 --attribute IOB of BF_DOUT_CTP_24 : signal is "TRUE";
1834 --attribute IOB of BF_DOUT_CTP_25 : signal is "TRUE";
1835 --attribute IOB of BF_DOUT_CTP_26 : signal is "TRUE";
1836 --attribute IOB of BF_DOUT_CTP_27 : signal is "TRUE";
1837 --attribute IOB of BF_DOUT_CTP_28 : signal is "TRUE";
1838 --attribute IOB of BF_DOUT_CTP_29 : signal is "TRUE";
1839 --attribute IOB of BF_DOUT_CTP_64 : signal is "TRUE";
1841 --attribute IOB of BF_DOUT_CTP_32 : signal is "TRUE";
1842 --attribute IOB of BF_DOUT_CTP_33 : signal is "TRUE";
1843 --attribute IOB of BF_DOUT_CTP_34 : signal is "TRUE";
1844 --attribute IOB of BF_DOUT_CTP_35 : signal is "TRUE";
1845 --attribute IOB of BF_DOUT_CTP_36 : signal is "TRUE";
1846 --attribute IOB of BF_DOUT_CTP_37 : signal is "TRUE";
1847 --attribute IOB of BF_DOUT_CTP_38 : signal is "TRUE";
1848 --attribute IOB of BF_DOUT_CTP_39 : signal is "TRUE";
1849 --attribute IOB of BF_DOUT_CTP_40 : signal is "TRUE";
1850 --attribute IOB of BF_DOUT_CTP_41 : signal is "TRUE";
1851 --attribute IOB of BF_DOUT_CTP_42 : signal is "TRUE";
1852 --attribute IOB of BF_DOUT_CTP_43 : signal is "TRUE";
1853 --attribute IOB of BF_DOUT_CTP_44 : signal is "TRUE";
1854 --attribute IOB of BF_DOUT_CTP_45 : signal is "TRUE";
1855 --attribute IOB of BF_DOUT_CTP_46 : signal is "TRUE";
1856 --attribute IOB of BF_DOUT_CTP_47 : signal is "TRUE";
1857 --attribute IOB of BF_DOUT_CTP_48 : signal is "TRUE";
1858 --attribute IOB of BF_DOUT_CTP_49 : signal is "TRUE";
1859 --attribute IOB of BF_DOUT_CTP_50 : signal is "TRUE";
1860 --attribute IOB of BF_DOUT_CTP_51 : signal is "TRUE";
1861 --attribute IOB of BF_DOUT_CTP_52 : signal is "TRUE";
1862 --attribute IOB of BF_DOUT_CTP_53 : signal is "TRUE";
1863 --attribute IOB of BF_DOUT_CTP_54 : signal is "TRUE";
1864 --attribute IOB of BF_DOUT_CTP_55 : signal is "TRUE";
1865 --attribute IOB of BF_DOUT_CTP_56 : signal is "TRUE";
1866 --attribute IOB of BF_DOUT_CTP_57 : signal is "TRUE";
1867 --attribute IOB of BF_DOUT_CTP_58 : signal is "TRUE";
1868 --attribute IOB of BF_DOUT_CTP_59 : signal is "TRUE";
1869 --attribute IOB of BF_DOUT_CTP_60 : signal is "TRUE";
1870 --attribute IOB of BF_DOUT_CTP_61 : signal is "TRUE";
1893 --BF_TO_FROM_BSPT_0 <= '0';
1894 --BF_TO_FROM_BSPT_1 <= '0';
1979 --ddr_data_in_CTP2(0) <=BF_DOUT_CTP_32;
1980 --ddr_data_in_CTP2(1) <=BF_DOUT_CTP_33;
1981 --ddr_data_in_CTP2(2) <=BF_DOUT_CTP_34;
1982 --ddr_data_in_CTP2(3) <=BF_DOUT_CTP_35;
1983 --ddr_data_in_CTP2(4) <=BF_DOUT_CTP_36;
1984 --ddr_data_in_CTP2(5) <=BF_DOUT_CTP_37;
1985 --ddr_data_in_CTP2(6) <=BF_DOUT_CTP_38;
1986 --ddr_data_in_CTP2(7) <=BF_DOUT_CTP_39;
1987 --ddr_data_in_CTP2(8) <=BF_DOUT_CTP_40;
1988 --ddr_data_in_CTP2(9) <=BF_DOUT_CTP_41;
1989 --ddr_data_in_CTP2(10) <=BF_DOUT_CTP_42;
1990 --ddr_data_in_CTP2(11) <=BF_DOUT_CTP_43;
1991 --ddr_data_in_CTP2(12) <=BF_DOUT_CTP_44;
1992 --ddr_data_in_CTP2(13) <=BF_DOUT_CTP_45;
1993 --ddr_data_in_CTP2(14) <=BF_DOUT_CTP_46;
1994 --ddr_data_in_CTP2(15) <=BF_DOUT_CTP_47;
1995 --ddr_data_in_CTP2(16) <=BF_DOUT_CTP_48;
1996 --ddr_data_in_CTP2(17) <=BF_DOUT_CTP_49;
1997 --ddr_data_in_CTP2(18) <=BF_DOUT_CTP_50;
1998 --ddr_data_in_CTP2(19) <=BF_DOUT_CTP_51;
1999 --ddr_data_in_CTP2(20) <=BF_DOUT_CTP_52;
2000 --ddr_data_in_CTP2(21) <=BF_DOUT_CTP_53;
2001 --ddr_data_in_CTP2(22) <=BF_DOUT_CTP_54;
2002 --ddr_data_in_CTP2(23) <=BF_DOUT_CTP_55;
2003 --ddr_data_in_CTP2(24) <=BF_DOUT_CTP_56;
2004 --ddr_data_in_CTP2(25) <=BF_DOUT_CTP_57;
2005 --ddr_data_in_CTP2(26) <=BF_DOUT_CTP_58;
2006 --ddr_data_in_CTP2(27) <=BF_DOUT_CTP_59;
2007 --ddr_data_in_CTP2(28) <=BF_DOUT_CTP_60;
2008 --ddr_data_in_CTP2(29) <=BF_DOUT_CTP_61;
2009 --ddr_data_in_CTP2(30) <=BF_DOUT_CTP_62;
2010 --ddr_data_in_CTP2(31) <=BF_DOUT_CTP_65;
2011 --ddr_data_in_CTP2(32) <=BF_DOUT_CTP_63;
2102 --backplane bus assignment
2562 --debug pins bus assignment
2574 --BF_DEBUG(8) <= buf_clk40;
2576 ODDR_inst_buf_clk_40 : ODDR
2578 DDR_CLK_EDGE =>
"SAME_EDGE",
-- "OPPOSITE_EDGE" or "SAME_EDGE"
2579 INIT => '0',
-- Initial value for Q port ('1' or '0')
2580 SRTYPE =>
"SYNC") -- Reset Type ("ASYNC" or "SYNC")
2582 Q => BF_DEBUG
(8),
-- 1-bit DDR output
2583 C => buf_clk40,
-- 1-bit clock input
2584 CE => '1',
-- 1-bit clock enable input
2585 D1 => '1',
-- 1-bit data input (positive edge)
2586 D2 => '0',
-- 1-bit data input (negative edge)
2587 R =>
(not pll_locked
),
-- 1-bit reset input
2588 S => '0'
-- 1-bit set input
2591 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
2593 BF_DEBUG(7 downto 0)<=(others=>'0');
2619 ------------------------------------------------------------------------------
2620 -- VME interface component used in BSPT FPGA (Ian's vme_interface)
2621 ------------------------------------------------------------------------------
2624 ----------------------------------------------------------------------------
2626 ----------------------------------------------------------------------------
2627 clk40 => buf_clk40 ,
2633 ----------------------------------------------------------------------------
2635 ----------------------------------------------------------------------------
2636 board_ds =>
ds,
-- board_ds output from VME (Ian model)
2637 brdsel_n =>
ncs -- brdsel_n output from VME (Ian model)
2658 clk40 => buf_clk40 ,
2708 if rising_edge(buf_clk40) then
2722 ia_vme => ADDR_REG_RO_test ,
2735 --vme_outreg_test: vme_outreg
2737 -- ia_vme => ADDR_REG_RO_test,
2740 -- clk => buf_clk40,
2741 -- addr_vme => vme_address(16 downto 1),
2743 -- rd_nwr => OCB_WRITE_B,
2745 -- data_to_vme => data_to_vme_test_r,
2746 -- read_detect => read_detect_outreg_test,
2747 -- data_vme => OCB_D);
2752 ia_vme => ADDR_REG_RW_test ,
2768 --vme_inreg_test: vme_inreg
2770 -- ia_vme => ADDR_REG_RW_test,
2773 -- clk => buf_clk40,
2775 -- rd_nwr => OCB_WRITE_B,
2777 -- data_from_vme => data_from_vme_test_rw,
2778 -- data_to_vme => data_to_vme_test_rw,
2779 -- addr_vme => vme_address(16 downto 1),
2780 -- read_detect => read_detect_inreg_test,
2781 -- write_detect => write_detect_inreg_test,
2782 -- data_vme => OCB_D);
2788 --chipscope_icon_u2_c3_inst: chipscope_icon_u2_c3
2790 -- CONTROL0 => CONTROL0,
2791 -- CONTROL1 => CONTROL1,
2792 -- CONTROL2 => CONTROL2
2795 --WTF NO CS 20141128
2796 --WTF NO CS 20141128 chipscope_ila_CMX_top_inputmodclk_inst: chipscope_ila_CMX_top_inputmodclk
2797 --WTF NO CS 20141128 port map (
2798 --WTF NO CS 20141128 CONTROL => CONTROL0,
2799 --WTF NO CS 20141128 CLK => buf_clk40,
2800 --WTF NO CS 20141128 DATA => DATA_chipscope_ila_CMX_top_inputmodclk,
2801 --WTF NO CS 20141128 TRIG0 => TRIG0_chipscope_ila_CMX_top_inputmodclk);
2802 --WTF NO CS 20141128
2803 --WTF NO CS 20141128
2804 --WTF NO CS 20141128 TRIG0_chipscope_ila_CMX_top_inputmodclk(0)<=pll_locked;
2805 --WTF NO CS 20141128 TRIG0_chipscope_ila_CMX_top_inputmodclk(33)<=start_playback;
2806 --WTF NO CS 20141128 TRIG0_chipscope_ila_CMX_top_inputmodclk(34)<='0';
2807 --WTF NO CS 20141128 TRIG0_chipscope_ila_CMX_top_inputmodclk(35)<=data_to_RTM(0);
2808 --WTF NO CS 20141128
2809 --WTF NO CS 20141128
2810 --WTF NO CS 20141128 DATA_chipscope_ila_CMX_top_inputmodclk(0)<=pll_locked;
2811 --WTF NO CS 20141128
2812 --WTF NO CS 20141128 gen_data_chipscope_ila: for ichannel in numactchan-1 downto 0 generate
2813 --WTF NO CS 20141128
2814 --WTF NO CS 20141128 TRIG0_chipscope_ila_CMX_top_inputmodclk(1+ichannel*2)<=PAR_ERROR(ichannel);
2815 --WTF NO CS 20141128 TRIG0_chipscope_ila_CMX_top_inputmodclk(2+ichannel*2)<=counter_enable_inputmod_sig(ichannel);
2816 --WTF NO CS 20141128
2817 --WTF NO CS 20141128 DATA_chipscope_ila_CMX_top_inputmodclk(1+ichannel*98)<=PAR_ERROR(ichannel);
2818 --WTF NO CS 20141128 DATA_chipscope_ila_CMX_top_inputmodclk(2+ichannel*98)<=counter_enable_inputmod_sig(ichannel);
2819 --WTF NO CS 20141128 DATA_chipscope_ila_CMX_top_inputmodclk(95+3+ichannel*98 downto 3+ichannel*98)<=DATA96(ichannel);
2820 --WTF NO CS 20141128
2821 --WTF NO CS 20141128 end generate gen_data_chipscope_ila;
2822 --WTF NO CS 20141128
2823 --WTF NO CS 20141128 DATA_chipscope_ila_CMX_top_inputmodclk(1630 downto 1569)<=(others=>'0');
2824 --WTF NO CS 20141128 DATA_chipscope_ila_CMX_top_inputmodclk(1734 downto 1631)<=data_to_RTM;
2825 --WTF NO CS 20141128 DATA_chipscope_ila_CMX_top_inputmodclk(1735)<=start_playback;
2826 --WTF NO CS 20141128 DATA_chipscope_ila_CMX_top_inputmodclk(2375 downto 1736)<=tot_Et2;
2833 clk40 => buf_clk40 ,
2844 --upload_delays<='0';
2845 --del_register<=(others=>(others=>(others=>'0')));
2849 reset => bc_reset_synced ,
2864 if rising_edge(buf_clk40) then
2879 --ODATA_WORD0 => open,
2900 ia_vme => ADDR_REG_RW_QUIET_FORCE ,
2913 data_to_vme_REG_RW_QUIET_FORCE<=data_from_vme_REG_RW_QUIET_FORCE;
2914 quiet<=data_from_vme_REG_RW_QUIET_FORCE(1);
2915 force<=data_from_vme_REG_RW_QUIET_FORCE(0);
2931 gen_REG_RW_JET_THRESHOLD_BLOCK: for i_thr in 1599 downto 0 generate
2935 ia_vme => ADDR_REG_RW_JET_THRESHOLD_BLOCK+2*i_thr,
2945 data_from_vme => data_from_vme_REG_RW_JET_THRESHOLD_BLOCK
(i_thr
),
2946 data_to_vme => data_to_vme_REG_RW_JET_THRESHOLD_BLOCK
(i_thr
));
2949 --vme_inreg_async_REG_RW_JET_THRESHOLD_BLOCK: vme_inreg_async
2951 -- ia_vme => ADDR_REG_RW_JET_THRESHOLD_BLOCK+2*i_thr,
2955 -- rd_nwr => OCB_WRITE_B,
2957 -- addr_vme => vme_address(16 downto 1),
2958 -- data_vme => OCB_D,
2959 -- data_from_vme => data_from_vme_REG_RW_JET_THRESHOLD_BLOCK(i_thr),
2960 -- data_to_vme => data_to_vme_REG_RW_JET_THRESHOLD_BLOCK(i_thr));
2962 data_to_vme_REG_RW_JET_THRESHOLD_BLOCK(i_thr)<=data_from_vme_REG_RW_JET_THRESHOLD_BLOCK(i_thr);
2963 end generate gen_REG_RW_JET_THRESHOLD_BLOCK;
2965 thresholds<=data_from_vme_REG_RW_JET_THRESHOLD_BLOCK;
3015 dout =>
open,
--dout,
3030 reset => counter_reset ,
3031 inhibit => counter_inhibit
3034 din_cbl<="01111" & x"000000000000000";
--nothing coming 'remote', add dummy odd parity bits
3036 data_to_RTM1(14 downto 0) <= dout_cbla_mux0(14 downto 0);
3037 data_to_RTM1(40 downto 26) <= dout_cbla_mux1(14 downto 0);
3038 data_to_RTM1(25)<=dout_cbla_mux0(32);
3039 data_to_RTM1(51)<=dout_cbla_mux1(32);
3040 data_to_RTM1(24 downto 15)<=(others=>'0');
3041 data_to_RTM1(41) <= dout_lcl_ro;
3042 data_to_RTM1(50 downto 42)<=(others=>'0');
3044 data_to_RTM2(15 downto 0) <= dout_cblb_mux0(15 downto 0);
3045 data_to_RTM2(39 downto 26) <= dout_cblb_mux1(13 downto 0);
3046 data_to_RTM2(25)<=dout_cblb_mux0(32);
3047 data_to_RTM2(51)<=dout_cblb_mux1(32);
3048 data_to_RTM2(24 downto 16)<=(others=>'0');
3049 data_to_RTM2(50 downto 40)<=(others=>'0');
3052 data_to_RTM(numbits_in_RTM_connector*2 -1 downto 0)<=data_to_RTM1;
3053 data_to_RTM((numbits_in_RTM_connector*2)*2 -1 downto (numbits_in_RTM_connector*2) )<=data_to_RTM2;
3055 ddr_data_out_RTM1<=ddr_data_out_RTM(0);
3056 ddr_data_out_RTM2<=ddr_data_out_RTM(1);
3059 gen_dummy_loc_vme_bus: for i_dummy in 1640 to 1759 generate
3062 end generate gen_dummy_loc_vme_bus;
3067 data => data_to_RTM,
3083 --this address normally assigned to the rtm system cable input module
3088 --CMX_cable_clocked_80Mbps_output_module_RTM1: CMX_cable_clocked_80Mbps_output_module
3090 -- numbits_in_cable_connector => numbits_in_RTM_connector)
3092 -- data => data_to_RTM1,
3093 -- ddr_data_out => ddr_data_out_RTM1,
3094 -- buf_clk40 => buf_clk40,
3095 -- buf_clk40_center => buf_clk40_center,
3096 -- buf_clk200 => buf_clk200,
3097 -- pll_locked => pll_locked,
3098 -- del_array => del_array_RTM,
3099 -- upload_delays => '0');
3101 --CMX_cable_clocked_80Mbps_output_module_RTM2: CMX_cable_clocked_80Mbps_output_module
3103 -- numbits_in_cable_connector => numbits_in_RTM_connector)
3105 -- data => data_to_RTM2,
3106 -- ddr_data_out => ddr_data_out_RTM2,
3107 -- buf_clk40 => buf_clk40,
3108 -- buf_clk40_center => buf_clk40_center,
3109 -- buf_clk200 => buf_clk200,
3110 -- pll_locked => pll_locked,
3111 -- del_array => del_array_RTM,
3112 -- upload_delays => '0');
3114 --del_array_RTM<=(others=>(others=>'0'));
3116 -- no output to CTP -- CMX_CTP_output_module_inst: entity work.CMX_CTP_output_module
3117 -- no output to CTP -- port map (
3118 -- no output to CTP -- data => dout,
3119 -- no output to CTP -- sdr_data_out => sdr_data_CTP,
3120 -- no output to CTP -- buf_clk40 => buf_clk40,
3121 -- no output to CTP -- buf_clk40_center => buf_clk40_m180o,
3122 -- no output to CTP -- buf_clk200 => buf_clk200,
3123 -- no output to CTP -- pll_locked => pll_locked,
3124 -- no output to CTP -- start_playback => start_playback,
3125 -- no output to CTP -- spy_write_inhibit => spy_write_inhibit,
3126 -- no output to CTP -- ncs => ncs,
3127 -- no output to CTP -- rd_nwr => OCB_WRITE_B,
3128 -- no output to CTP -- ds => ds,
3129 -- no output to CTP -- addr_vme => vme_address(16 downto 1),
3130 -- no output to CTP -- data_vme => OCB_D);
3133 --CMX_system_cable_input_module_inst: entity work.CMX_system_cable_input_module
3135 -- data => data_from_RTM,
3136 -- parity_error => open,
3137 -- ddr_data_in => sig_arr_RTM,
3138 -- buf_clk40 => buf_clk40,
3139 -- buf_clk40_ds2 => buf_clk40_ds2,
3140 -- pll_locked => pll_locked,
3141 -- pll_locked_ds2 => pll_locked_ds2,
3142 -- start_playback => start_playback,
3143 -- spy_write_inhibit => spy_write_inhibit,
3145 -- rd_nwr => OCB_WRITE_B,
3147 -- addr_vme => vme_address(16 downto 1),
3148 -- data_vme => OCB_D);
3150 --chipscope_ila_LVDS_TX_CTP_RTM_inst: chipscope_ila_LVDS_TX_CTP_RTM
3152 -- CONTROL => CONTROL1,
3153 -- CLK => buf_clk40,
3154 -- DATA(31 downto 0) => sdr_data_out,
3155 -- DATA(63 downto 32) => (others=>'0'),
3156 -- DATA(115 downto 64) => data_RTM,
3157 -- DATA(116) => '0',
3158 -- DATA(117) => '0',
3191 CMX_Jet_Topo_Encoder_inst: CMX_Jet_Topo_Encoder
3193 Tobs_to_TOPO => Tobs_to_TOPO,
3194 overflow => overflow,
3195 send_align_out => send_align,
3196 Data_out => indata_Topo_TX
);
--,
3197 --clk => buf_clk40);
3217 BCID => BCID_delayed_decoder,
3218 indata => indata_Topo_TX,
3230 -- --for the test make a fake data to send topo
3231 -- gen_indata_counter_fiber: for i_fiber in 0 to 23 generate
3232 -- process(buf_clk40)
3234 -- if rising_edge(buf_clk40) then
3235 -- if counter_fake_data_Topo_TX(i_fiber)(11 downto 0)=to_unsigned(0,12) then
3236 -- send_align(i_fiber)<='1';
3238 -- send_align(i_fiber)<='0';
3240 -- counter_fake_data_Topo_TX(i_fiber)<=counter_fake_data_Topo_TX(i_fiber)+1;
3245 -- PRNG_LFSR_BIG_inst: PRNG_LFSR_BIG
3247 -- clk => buf_clk40,
3248 -- rst => (not pll_locked),
3249 -- DATA_PRN => DATA_PRN(i_fiber) );
3251 -- --counter repeated twice for the msb words
3252 -- gen_data_counter_word: for i_word in 6 to 7 generate
3253 -- indata_Topo_TX(128*(i_fiber)+16*(i_word)+15 downto 128*(i_fiber)+16*(i_word))<=std_logic_vector(counter_fake_data_Topo_TX(i_fiber));
3254 -- end generate gen_data_counter_word;
3256 -- --then the 8 msb of the counter
3257 -- indata_Topo_TX(128*(i_fiber)+95 downto 128*(i_fiber)+88) <= std_logic_vector(counter_fake_data_Topo_TX(i_fiber)(15 downto 8));
3259 -- --then the mgt number
3260 -- indata_Topo_TX(128*(i_fiber)+87 downto 128*(i_fiber)+80) <= std_logic_vector(to_unsigned(i_fiber,8));
3262 -- --then the pseudo random number
3263 -- indata_Topo_TX(128*(i_fiber)+79 downto 128*(i_fiber)+16) <= DATA_PRN(i_fiber);
3266 -- --last 12 bits must be 0, four msb bits of the last word have the counter again
3267 -- indata_Topo_TX(128*(i_fiber)+15 downto 128*(i_fiber)+12) <= std_logic_vector(counter_fake_data_Topo_TX(i_fiber)(15 downto 12));
3268 -- indata_Topo_TX(128*(i_fiber)+11 downto 128*(i_fiber))<=(others=>'0');
3270 -- end generate gen_indata_counter_fiber;
3275 ia_vme => ADDR_REG_RW_TOPOTR_GTX_RESET ,
3286 data_to_vme => data_to_vme_REG_RW_TOPOTR_GTX_RESET
3289 GTXTXRESET_IN<=data_from_vme_REG_RW_TOPOTR_GTX_RESET(1);
3290 GTXRXRESET_IN<=data_from_vme_REG_RW_TOPOTR_GTX_RESET(0);
3292 data_to_vme_REG_RW_TOPOTR_GTX_RESET<=data_from_vme_REG_RW_TOPOTR_GTX_RESET;
3297 ia_vme => ADDR_REG_RO_TOPOTR_GTX_STATUS ,
3306 data_to_vme => data_to_vme_REG_RO_TOPOTR_GTX_STATUS
);
3308 data_to_vme_REG_RO_TOPOTR_GTX_STATUS(1)<=GTX_TX_READY_OUT;
3309 data_to_vme_REG_RO_TOPOTR_GTX_STATUS(0)<=GTX_RX_READY_OUT;
3311 data_to_vme_REG_RO_TOPOTR_GTX_STATUS(15 downto 2)<=(others=>'0');
3330 RXN_IN => RXN_IN_TX_SFP_DAQ ,
3331 RXP_IN => RXP_IN_TX_SFP_DAQ ,
3332 TXN_OUT => TXN_OUT_TX_SFP_DAQ,
3333 TXP_OUT => TXP_OUT_TX_SFP_DAQ,
3338 indata => indata_TX_SFP_DAQ ,
3339 odata => odata_TX_SFP_DAQ ,
3349 DFETAP1 => DFETAP1_TX_SFP_DAQ,
3351 DFETAP2 => DFETAP2_TX_SFP_DAQ,
3353 DFETAP3 => DFETAP3_TX_SFP_DAQ,
3355 DFETAP4 => DFETAP4_TX_SFP_DAQ,
3374 RXN_IN => RXN_IN_TX_SFP_ROI ,
3375 RXP_IN => RXP_IN_TX_SFP_ROI ,
3376 TXN_OUT => TXN_OUT_TX_SFP_ROI,
3377 TXP_OUT => TXP_OUT_TX_SFP_ROI,
3382 indata => indata_TX_SFP_ROI ,
3383 odata => odata_TX_SFP_ROI ,
3393 DFETAP1 => DFETAP1_TX_SFP_ROI,
3395 DFETAP2 => DFETAP2_TX_SFP_ROI,
3397 DFETAP3 => DFETAP3_TX_SFP_ROI,
3399 DFETAP4 => DFETAP4_TX_SFP_ROI,
3408 CLK_40MHz => clk40_in_TX_SFP_ROI,
-- clk40MHz
3409 CLK_120MHz => clk120_in_TX_SFP_ROI ,
-- clk120MHz
3410 RST => reset_daq ,
--not pll_locked, --reset(0), -- reset
3411 DAQ_IN => daq_in,
-- Input data (DAQ)
3412 ROI_IN => roi_in,
-- Input data (ROI)
3413 DAQ_DAV => daq_dav,
-- Control (DAQ)
3414 ROI_DAV => roi_dav,
-- Control (ROI)
3415 DAQ_BYTE => roi_byte,
-- Output Byte (DAQ)
3416 ROI_BYTE => daq_byte,
-- Output Byte (ROI)
3425 );
-- daq_encoded_DIAG
3427 MGT_118_clk0_ibufds_i : IBUFDS_GTXE1
3430 O => MGTREFCLK_Q118,
3443 clk40_in_TX_SFP_ROI<=clk40_out_TX_SFP_DAQ;
3444 clk120_in_TX_SFP_ROI<=clk120_out_TX_SFP_DAQ;
3446 indata_TX_SFP_DAQ<=daq_byte;
-- from GLINK emulator
3447 indata_TX_SFP_ROI<=roi_byte;
-- from GLINK emulator;
3451 --vio_data_i : diagn_module_vio
3453 -- CONTROL => control1,
3454 -- ASYNC_OUT => reset);
3458 ia_vme => ADDR_REG_RW_DAQ_ROI_RESET ,
3471 reset_daq<=data_from_vme_REG_RW_DAQ_ROI_RESET(0);
3472 data_to_vme_REG_RW_DAQ_ROI_RESET<=data_from_vme_REG_RW_DAQ_ROI_RESET;
3476 ia_vme => ADDR_REG_RW_DAQ_ROI_GTX_RESET ,
3487 data_to_vme => data_to_vme_REG_RW_DAQ_ROI_GTX_RESET
);
3489 gtx_reset_SFP_DAQ<=data_from_vme_REG_RW_DAQ_ROI_GTX_RESET(0);
3490 gtx_reset_SFP_ROI<=data_from_vme_REG_RW_DAQ_ROI_GTX_RESET(1);
3491 data_to_vme_REG_RW_DAQ_ROI_GTX_RESET<=data_from_vme_REG_RW_DAQ_ROI_GTX_RESET;
3496 ia_vme => ADDR_REG_RO_DAQ_ROI_STATUS ,
3505 data_to_vme => data_to_vme_REG_RO_DAQ_ROI_STATUS
);
3507 data_to_vme_REG_RO_DAQ_ROI_STATUS(0)<=local_pll_lock_out_SFP_DAQ;
3508 data_to_vme_REG_RO_DAQ_ROI_STATUS(1)<=GTX_TX_READY_OUT_TX_SFP_DAQ;
3509 data_to_vme_REG_RO_DAQ_ROI_STATUS(2)<=GTX_RX_READY_OUT_TX_SFP_DAQ;
3510 data_to_vme_REG_RO_DAQ_ROI_STATUS(3)<=PLLLKDET_diag_TX_SFP_DAQ;
3511 data_to_vme_REG_RO_DAQ_ROI_STATUS(4)<=local_pll_lock_out_SFP_ROI;
3512 data_to_vme_REG_RO_DAQ_ROI_STATUS(5)<=GTX_TX_READY_OUT_TX_SFP_ROI;
3513 data_to_vme_REG_RO_DAQ_ROI_STATUS(6)<=GTX_RX_READY_OUT_TX_SFP_ROI;
3514 data_to_vme_REG_RO_DAQ_ROI_STATUS(7)<=PLLLKDET_diag_TX_SFP_ROI;
3515 data_to_vme_REG_RO_DAQ_ROI_STATUS(8)<=readout_rst_out;
3517 data_to_vme_REG_RO_DAQ_ROI_STATUS(15 downto 9) <= (others=>'0');
3520 -- Chipscope analyzer
3522 --ila_daq_glink : glink_chipscope_analyzer
3524 -- CONTROL => control0,
3525 -- CLK => clk40_in_TX_SFP_ROI,
3526 -- DATA => data_ila_daq,
3527 -- TRIG0 => trig_ila_daq);
3529 --ila_glink_encoder : glink_chipscope_analyzer_encoder
3531 -- CONTROL => control1,
3532 -- CLK => clk120_in_TX_SFP_ROI,
3533 -- DATA => data_ila_encoder,
3534 -- TRIG0 => trig_ila_encoder);
3536 --ila_gtx_start: entity work.glink_chipscope_analyzer_gtx_start
3538 -- CONTROL => CONTROL2,
3539 -- CLK => MGTREFCLK_Q118,
3540 -- DATA => data_ila_gtx_start,
3541 -- TRIG0 => trig_ila_gtx_start);
3543 --data_ila_daq <= daq_in &
3544 -- daq_encoded_diag &
3546 -- local_pll_lock_out_SFP_DAQ &
3547 -- GTX_TX_READY_OUT_TX_SFP_DAQ &
3548 -- GTX_RX_READY_OUT_TX_SFP_DAQ &
3549 -- local_pll_lock_out_SFP_ROI &
3550 -- GTX_TX_READY_OUT_TX_SFP_ROI &
3551 -- GTX_RX_READY_OUT_TX_SFP_ROI &
3557 --trig_ila_daq <= daq_encoded_diag &
3559 -- local_pll_lock_out_SFP_DAQ &
3560 -- GTX_TX_READY_OUT_TX_SFP_DAQ &
3561 -- GTX_RX_READY_OUT_TX_SFP_DAQ &
3562 -- local_pll_lock_out_SFP_ROI &
3563 -- GTX_TX_READY_OUT_TX_SFP_ROI &
3564 -- GTX_RX_READY_OUT_TX_SFP_ROI &
3571 --trig_ila_encoder <= GTX_TX_READY_OUT_TX_SFP_DAQ &
3577 --data_ila_encoder <= byte_pos_out &
3579 -- readout_rst_out &
3580 -- GTX_TX_READY_OUT_TX_SFP_DAQ &
3586 --trig_ila_gtx_start(0)<=pll_locked;
3587 --trig_ila_gtx_start(1)<=gtx_reset_SFP_DAQ;
3588 --trig_ila_gtx_start(2)<=gtx_reset_SFP_ROI;
3592 --data_ila_gtx_start(0)<= pll_locked;
3593 --data_ila_gtx_start(1)<= gtx_reset_SFP_DAQ;
3594 --data_ila_gtx_start(2)<= gtx_reset_SFP_ROI;
3595 --data_ila_gtx_start(3)<= GTX_TX_READY_OUT_TX_SFP_DAQ;
3596 --data_ila_gtx_start(4)<= PLLLKDET_diag_TX_SFP_DAQ;
3597 --data_ila_gtx_start(5)<= local_gtx_reset_diag_TX_SFP_DAQ;
3598 --data_ila_gtx_start(6)<= local_mmcm_reset_diag_TX_SFP_DAQ;
3599 --data_ila_gtx_start(7)<= GTXTEST_diag_TX_SFP_DAQ;
3600 --data_ila_gtx_start(8)<= GTX_TX_READY_OUT_TX_SFP_ROI;
3601 --data_ila_gtx_start(9)<= PLLLKDET_diag_TX_SFP_ROI;
3602 --data_ila_gtx_start(10)<= local_gtx_reset_diag_TX_SFP_ROI;
3603 --data_ila_gtx_start(11)<= local_mmcm_reset_diag_TX_SFP_ROI;
3604 --data_ila_gtx_start(12)<= GTXTEST_diag_TX_SFP_ROI;
3610 if rising_edge(buf_clk40) then
3611 l1a_synced<=BUF_TTC_L1_ACCEPT_r;
3614 bc_reset_synced<=BUF_TTC_BNCH_CNT_RES_r;
3627 clk4000 => clk40_out_TX_SFP_DAQ ,
3629 reset => reset_daq ,
--not pll_locked,
3635 --in this flavor roi and daq have the same behavior
3639 --readout control registers
3642 ia_vme => ADDR_REG_RW_DAQ_SLICE,
3655 nslices(1 downto 0) <= (data_to_vme_REG_RW_DAQ_SLICE(1 downto 0));
3656 nslices(7 downto 2) <= (others=>'0');
3658 data_to_vme_REG_RW_DAQ_SLICE<=data_from_vme_REG_RW_DAQ_SLICE;
3663 ia_vme => ADDR_REG_RW_DAQ_RAM_OFFSET ,
3674 data_to_vme => data_to_vme_REG_RW_DAQ_RAM_OFFSET
);
3676 data_to_vme_REG_RW_DAQ_RAM_OFFSET<=data_from_vme_REG_RW_DAQ_RAM_OFFSET;
3677 RAM_global_offset <= (data_from_vme_REG_RW_DAQ_RAM_OFFSET(7 downto 0));
3680 rel_offset_gen: for i_row in 1 to 19 generate
3683 ia_vme =>
(ADDR_REG_RW_DAQ_RAM_RELATIVE_OFFSET+2*
(i_row-
1)),
3693 data_from_vme => data_from_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET
(i_row-
1),
3694 data_to_vme => data_to_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET
(i_row-
1));
3696 data_to_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET(i_row-1)<=data_from_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET(i_row-1);
3697 RAM_rel_offsets(i_row-1)<=(data_from_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET(i_row-1)(7 downto 0));
3698 end generate rel_offset_gen;
3709 dout =>
(others =>'0'
),
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 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
thresholds_widthinteger :=10
out BF_DOUT_CTP_61std_logic
out data_in_daqarr_96 (19 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 Tobs_to_TOPOcopy_arr_TOB
in datai_first_halfarr_2Xword (max_jems - 1 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)
in counter_inhibitstd_logic
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
out MP1_F10_QUAD_111_TRN_2_DIRstd_logic
std_logic_vector (15 downto 0) data_to_vme_test_rw
out BF_DOUT_CTP_46std_logic
in start_playbackstd_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 dout_cbla_mux0std_logic_vector (33 downto 0)
out BF_DOUT_CTP_14std_logic
out BF_DOUT_CTP_47std_logic
out dout_lclstd_logic_vector (59 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
in addr_vmestd_logic_vector (15 downto 0)
out BF_LED_REQ_2std_logic
out dout_cblb_mux0std_logic_vector (33 downto 0)
in BF_TO_TP_DAQ_SLINK_RETURN_DIRstd_logic
in spy_write_inhibitstd_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 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 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
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
out BF_DOUT_CTP_45std_logic
in BF_SYSMON_07_PSTD_LOGIC
out data_vme_outstd_logic_vector (15 downto 0)
out BCID_delayedstd_logic_vector (11 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
std_logic bus_drive_up_top
out data_vme_outstd_logic_vector (15 downto 0)
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
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
thresholds_numinteger :=25
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
out dout_cbla_mux1std_logic_vector (33 downto 0)
in BF_SYSMON_10_NSTD_LOGIC
out upload_delaysstd_logic
in clk40MHz_m90ostd_logic
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)
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 datastd_logic_vector ((numbits_in_CTP_connector * 2) - 1 downto 0)
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 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
out data_vme_outstd_logic_vector (15 downto 0)
in BF_SYSMON_11_NSTD_LOGIC
in RXN_INstd_logic_vector ((num_GTX_per_group * num_GTX_groups) - 1 downto 0)
std_logic_vector (15 downto 0) data_to_vme_test_r
out MP2_F11_QUAD_114_TRN_1_CMPstd_logic
in dataiarr_4Xword (max_jems - 1 downto 0)
out DFETAP3MONITORstd_logic_vector (3 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 BCID_instd_logic_vector (11 downto 0)
in DFETAP1std_logic_vector (4 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
gen_systemstd_logic :='1'
in RAM_global_offsetunsigned (7 downto 0)
out MP1_F10_QUAD_111_TRN_2_CMPstd_logic
in BF_SYSMON_07_PSTD_LOGIC
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
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 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)
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)
in addr_vmestd_logic_vector (15 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
max_tobs_topointeger :=24
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 spy_write_inhibitstd_logic
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 overflowstd_logic_vector (num_copies - 1 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 CLK_40MHz08_DSKW_1_BF_LOGIC_CMPstd_logic
out buf_clk40_90ostd_logic
out BF_DOUT_CTP_48std_logic
in dataiarr_4Xword (max_jems - 1 downto 0)
out BF_DOUT_CTP_44std_logic
in BF_SYSMON_08_PSTD_LOGIC
in buf_clk40_centerstd_logic
out BF_DOUT_CTP_52std_logic
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
in thresholdsarr_16 (max_jems * 25 * 4 - 1 downto 0)
out MP2_F05_QUAD_113_TRN_3_CMPstd_logic
out MP1_F08_QUAD_111_TRN_3_DIRstd_logic
std_logic write_detect_inreg_test
in clk40MHz_m180ostd_logic
in data_vme_instd_logic_vector (15 downto 0)
inout OCB_Dstd_logic_vector (15 downto 0)
out dout_cblb_mux1std_logic_vector (33 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)
in data_vme_instd_logic_vector (15 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
in addr_vmestd_logic_vector (15 downto 0)
out BF_DOUT_CTP_11std_logic
in counter_resetstd_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
ADDR_REG_RW_PIPELINE_DELAY_LENGTHinteger :=0
out MP2_F06_QUAD_115_TRN_1_DIRstd_logic
out BF_DOUT_CTP_12std_logic