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 ----------------------------------------------------------------------------
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)
947 -- the first variable is
948 -- yet one more register
1005 P :
in mat_var (numactchan
-1 downto 0);
1010 ODATA :
out arr_4Xword (numactchan
-1 downto 0);
1034 --signal PAR_ERROR: std_logic_vector(numactchan-1 downto 0);
1039 signal data_from_vme_REG_RW_QUIET_FORCE : (15 downto 0);
1040 signal data_to_vme_REG_RW_QUIET_FORCE : (15 downto 0);
1042 signal DATA96 : arr_4Xword (numactchan-1 downto 0);
--96 bit data at 40MHz
1043 signal ODATA_first_half : arr_2Xword(numactchan-1 downto 0);
1045 signal P : mat_var (numactchan-1 downto 0);
1047 signal BF_DEBUG : (9 downto 0);
1049 signal counter_enable_inputmod_sig: (numactchan-1 downto 0);
1063 end component CMX_Memory_spy_inhibit;
1065 signal spy_write_inhibit : ;
1075 datai :
in arr_4Xword(max_cps
-1 downto 0);
1078 overflow :
out (num_copies
-1 downto 0);
1081 --tob rate counter contol
1092 end component decoder;
1094 signal Tobs_to_TOPO : copy_arr_TOB;
1095 signal overflow : (num_copies-1 downto 0);
1098 signal data_from_vme_REG_RW_JET_THRESHOLD_BLOCK : arr_16(1599 downto 0);
1099 signal data_to_vme_REG_RW_JET_THRESHOLD_BLOCK : arr_16(1599 downto 0);
1106 clk :
in T_SL;
-- clock
1107 thresholds :
in arr_16(max_cps*
16*
4-1 downto 0);
-- thresholds
1108 datai :
in arr_4Xword(max_cps
-1 downto 0);
-- input data
1109 din_cbl :
in T_SLV150;
-- remote input (multiplicty)
1113 dout_lcl :
out T_SLV48;
-- local multiplicity
1115 dout :
out T_SLV62;
-- global output data (multiplicity), including parity
1116 dout_ro :
out T_SL;
-- global overflow
1117 dout_cbla_mux0 :
out (
33 downto 0);
-- cable output data (multiplicity), including parity
1118 dout_cbla_mux1 :
out (
33 downto 0);
-- cable output data (multiplicity), including parity
1127 par_err :
in T_SLV2;
-- parity error (input module - 0, RTM - 1)
1128 force :
in T_SL;
-- force
1135 signal par_err : T_SLV2;
1140 datai :
in arr_4Xword(max_cps
-1 downto 0);
1155 signal thresholds : arr_16(16*25*4-1 downto 0);
-- thresholds
1158 -- signal p_d : nx121_array(numactchan-1 downto 0); --120 bits + parity -
1159 -- --will be connected to
1160 -- --the decoder output
1161 -- --threshold mask 25
1162 -- --threshold times 4
1163 -- --TOBs + 5 bits position/TOB
1165 signal din_cbl : T_SLV150;
1166 signal din_cbla_ro : T_SL;
-- remote overflow
1167 signal din_cblb_ro : T_SL;
-- remote overflow
1168 signal din_cblc_ro : T_SL;
-- remote overflow
1169 signal dout_lcl : T_SLV48;
-- local multiplicity
1170 signal dout_lcl_ro : T_SL;
-- local overflow
1171 signal dout : T_SLV62;
-- data to CTP from adder
1172 signal dout_ro : T_SL;
-- global overflow
1189 signal sdr_data_out_CTP1 : (31 downto 0);
1190 signal sdr_data_out_CTP2 : (31 downto 0);
1191 --signal sdr_data_out : std_logic_vector(31 downto 0);
1194 signal ddr_data_in_RTM1 : (numbits_in_RTM_connector downto 0);
1195 signal ddr_data_in_RTM2 : (numbits_in_RTM_connector downto 0);
1196 signal ddr_data_in_RTM3 : (numbits_in_RTM_connector downto 0);
1197 signal sig_arr_RTM: arr_RTM(num_RTM_cables-1 downto 0);
1198 signal data_from_RTM : (numbits_in_RTM_connector*2*num_RTM_cables - 1 downto 0);
1202 data :
out (numbits_in_RTM_connector*
2*num_RTM_cables
- 1 downto 0);
1204 ddr_data_in :
in arr_RTM(num_RTM_cables
-1 downto 0);
1218 end component CMX_system_cable_input_module;
1235 --signal forwarded_clock_CTP2 : std_logic;
1236 --signal data_CTP2 : std_logic_vector((numbits_in_CTP_connector*2)-1 downto 0);
1237 --signal parity_CTP2 : std_logic;
1238 --signal ddr_data_in_CTP2 : std_logic_vector(numbits_in_CTP_connector downto 0);
1240 --signal forwarded_clock_RTM3 : std_logic;
1241 --signal data_RTM3 : std_logic_vector((numbits_in_RTM_connector*2)-1 downto 0);
1242 --signal parity_RTM3 : std_logic;
1243 --signal ddr_data_in_RTM3 : std_logic_vector(numbits_in_RTM_connector downto 0);
1252 ncs :
in ;
--ports forwarded to the vme register instances
1261 signal BCID_counter_sig : (11 downto 0);
1262 signal BCID_delayed_decoder : (11 downto 0);
1263 signal BCID_delayed_daq : (11 downto 0);
1267 --component PRNG_LFSR_BIG is
1269 -- clk : in std_logic;
1270 -- rst : in std_logic;
1271 -- DATA_PRN : out std_logic_vector(63 downto 0));
1272 --end component PRNG_LFSR_BIG;
1273 --signal DATA_PRN: arr_64((num_GTX_per_group*num_GTX_groups)-1 downto 0);
1283 RXN_IN :
in ((num_GTX_per_group*num_GTX_groups)
-1 downto 0);
1284 RXP_IN :
in ((num_GTX_per_group*num_GTX_groups)
-1 downto 0);
1285 TXN_OUT :
out ((num_GTX_per_group*num_GTX_groups)
-1 downto 0);
1286 TXP_OUT :
out ((num_GTX_per_group*num_GTX_groups)
-1 downto 0);
1290 send_align :
in ((num_GTX_per_group*num_GTX_groups)
-1 downto 0);
1291 BCID :
in (
11 downto 0);
1292 indata :
in (TX_indata_length
-1 downto 0);
1301 end component Topo_Data_TX;
1306 overflow :
in (num_copies
-1 downto 0);
1307 send_align_out :
out (num_GTX_groups*num_GTX_per_group
- 1 downto 0);
1308 Data_out :
out (TX_indata_length
- 1 downto 0));
1309 end component CMX_CP_Topo_Encoder;
1311 signal TXN_OUT : ((num_GTX_per_group*num_GTX_groups)-1 downto 0);
1312 signal TXP_OUT : ((num_GTX_per_group*num_GTX_groups)-1 downto 0);
1314 signal MGTREFCLK_PAD_N_IN : (num_GTX_groups-1 downto 0);
1315 signal MGTREFCLK_PAD_P_IN : (num_GTX_groups-1 downto 0);
1317 signal GTX_RX_READY_OUT : ;
1318 signal GTX_TX_READY_OUT : ;
1321 signal GTXTXRESET_IN : ;
1322 signal GTXRXRESET_IN : ;
1324 signal send_align : (23 downto 0);
1326 signal indata_Topo_TX : (TX_indata_length-1 downto 0);
1328 signal data_to_vme_REG_RW_TOPOTR_GTX_RESET : (15 downto 0);
1329 signal data_from_vme_REG_RW_TOPOTR_GTX_RESET : (15 downto 0);
1331 signal data_to_vme_REG_RO_TOPOTR_GTX_STATUS : (15 downto 0);
1333 signal data_from_vme_REG_RW_DAQ_ROI_RESET : (15 downto 0);
1334 signal data_to_vme_REG_RW_DAQ_ROI_RESET : (15 downto 0);
1336 signal data_to_vme_REG_RO_DAQ_ROI_STATUS : (15 downto 0);
1338 signal data_from_vme_REG_RW_DAQ_ROI_GTX_RESET: (15 downto 0);
1339 signal data_to_vme_REG_RW_DAQ_ROI_GTX_RESET: (15 downto 0);
1340 signal gtx_reset_SFP_DAQ, gtx_reset_SFP_ROI : ;
1342 signal BUF_TTC_L1_ACCEPT_r: ;
1343 signal l1a_synced: ;
1346 signal bc_reset_synced : ;
1347 signal BUF_TTC_BNCH_CNT_RES_r : ;
1361 end component CMX_rate_counter_inhibit;
1363 signal counter_inhibit : ;
1364 signal counter_reset : ;
1368 --component chipscope_ila_CMX_top_inputmodclk
1370 -- CONTROL : inout std_logic_vector(35 downto 0);
1371 -- CLK : in std_logic;
1372 -- DATA : in std_logic_vector(2375 downto 0);
1373 -- TRIG0 : in std_logic_vector(35 downto 0));
1376 --signal DATA_chipscope_ila_CMX_top_inputmodclk : std_logic_vector(2375 downto 0);
1377 --signal TRIG0_chipscope_ila_CMX_top_inputmodclk : std_logic_vector(35 downto 0);
1378 ----signal TRIG_forward_inputmodclk_outputmodclk : std_logic_vector(0 downto 0);
1381 --component chipscope_ila_IDELAY
1383 -- CONTROL : inout std_logic_vector(35 downto 0);
1384 -- CLK : in std_logic;
1385 -- DATA : in std_logic_vector(2000 downto 0);
1386 -- TRIG0 : in std_logic_vector(0 to 0));
1389 --signal DATA_chipscope_ila_IDELAY : std_logic_vector(2000 downto 0);
1392 --component chipscope_ila_CTP2
1394 -- CONTROL : inout std_logic_vector(35 downto 0);
1395 -- CLK : in std_logic;
1396 -- DATA : in std_logic_vector(64 downto 0);
1397 -- TRIG0 : in std_logic_vector(0 to 0));
1400 --component chipscope_ila_RTM
1402 -- CONTROL : inout std_logic_vector(35 downto 0);
1403 -- CLK : in std_logic;
1404 -- DATA : in std_logic_vector(52 downto 0);
1405 -- TRIG0 : in std_logic_vector(0 to 0));
1408 --component chipscope_ila_LVDS_TX_CTP_RTM
1410 -- CONTROL : inout std_logic_vector(35 downto 0);
1411 -- CLK : in std_logic;
1412 -- DATA : in std_logic_vector(117 downto 0);
1413 -- TRIG0 : in std_logic_vector(1 downto 0));
1440 end component CMX_clock_manager;
1443 signal buf_clk40 : ;
1444 signal buf_clk40_m180o : ;
1445 signal buf_clk40_90o : ;
1446 signal buf_clk40_m90o : ;
1448 signal buf_clk320 : ;
1449 signal buf_clk160 : ;
1450 signal buf_clk200 : ;
1451 signal pll_locked : ;
1453 signal buf_clk40_ds2 : ;
1454 signal pll_locked_ds2 : ;
1474 data :
in ((numbits_in_CTP_connector*
2)
-1 downto 0);
1489 end component CMX_CTP_output_module;
1491 signal sdr_data_CTP: arr_CTP;
1493 component CMX_CTP_out_tester
1495 sdr_data_out :
out (
31 downto 0);
1501 addr_vme :
in (
15 downto 0);
1502 data_vme :
inout (
15 downto 0));
1529 indata :
in (
7 downto 0);
1530 odata :
out (
7 downto 0);
1551 signal MGTREFCLK_Q118 : ;
1553 signal GTXTXRESET_IN_TX_SFP_DAQ : ;
1554 signal GTXRXRESET_IN_TX_SFP_DAQ : ;
1555 signal local_pll_lock_out_SFP_DAQ : ;
1556 signal GTX_TX_READY_OUT_TX_SFP_DAQ : ;
1557 signal GTX_RX_READY_OUT_TX_SFP_DAQ : ;
1558 signal PLLLKDET_diag_TX_SFP_DAQ : ;
1559 signal local_gtx_reset_diag_TX_SFP_DAQ : ;
1560 signal local_mmcm_reset_diag_TX_SFP_DAQ : ;
1561 signal GTXTEST_diag_TX_SFP_DAQ : ;
1562 signal RXN_IN_TX_SFP_DAQ : ;
1563 signal RXP_IN_TX_SFP_DAQ : ;
1564 signal TXN_OUT_TX_SFP_DAQ : ;
1565 signal TXP_OUT_TX_SFP_DAQ : ;
1566 signal clk40_out_TX_SFP_DAQ : ;
1567 signal clk120_out_TX_SFP_DAQ : ;
1568 signal clk40_in_TX_SFP_DAQ : ;
1569 signal clk120_in_TX_SFP_DAQ : ;
1570 signal indata_TX_SFP_DAQ : (7 downto 0);
1571 signal odata_TX_SFP_DAQ : (7 downto 0);
1572 signal TXPREEMPHASIS_IN_TX_SFP_DAQ : (3 downto 0);
1573 signal TXPOSTEMPHASIS_IN_TX_SFP_DAQ : (4 downto 0);
1574 signal TXDIFFCTRL_IN_TX_SFP_DAQ : (3 downto 0);
1575 signal RXEQMIX_IN_TX_SFP_DAQ : (2 downto 0);
1576 signal DFECLKDLYADJ_TX_SFP_DAQ : (5 downto 0);
1577 signal DFECLKDLYADJMON_TX_SFP_DAQ : (5 downto 0);
1578 signal DFEDLYOVRD_TX_SFP_DAQ : ;
1579 signal DFEEYEDACMON_TX_SFP_DAQ : (4 downto 0);
1580 signal DFESENSCAL_TX_SFP_DAQ : (2 downto 0);
1581 signal DFETAP1_TX_SFP_DAQ : (4 downto 0);
1582 signal DFETAP1MONITOR_TX_SFP_DAQ : (4 downto 0);
1583 signal DFETAP2_TX_SFP_DAQ : (4 downto 0);
1584 signal DFETAP2MONITOR_TX_SFP_DAQ : (4 downto 0);
1585 signal DFETAP3_TX_SFP_DAQ : (3 downto 0);
1586 signal DFETAP3MONITOR_TX_SFP_DAQ : (3 downto 0);
1587 signal DFETAP4_TX_SFP_DAQ : (3 downto 0);
1588 signal DFETAP4MONITOR_TX_SFP_DAQ : (3 downto 0);
1589 signal DFETAPOVRD_TX_SFP_DAQ : ;
1591 signal GTXTXRESET_IN_TX_SFP_ROI : ;
1592 signal GTXRXRESET_IN_TX_SFP_ROI : ;
1593 signal local_pll_lock_out_SFP_ROI : ;
1594 signal GTX_TX_READY_OUT_TX_SFP_ROI : ;
1595 signal GTX_RX_READY_OUT_TX_SFP_ROI : ;
1596 signal PLLLKDET_diag_TX_SFP_ROI : ;
1597 signal local_gtx_reset_diag_TX_SFP_ROI : ;
1598 signal local_mmcm_reset_diag_TX_SFP_ROI : ;
1599 signal GTXTEST_diag_TX_SFP_ROI : ;
1600 signal RXN_IN_TX_SFP_ROI : ;
1601 signal RXP_IN_TX_SFP_ROI : ;
1602 signal TXN_OUT_TX_SFP_ROI : ;
1603 signal TXP_OUT_TX_SFP_ROI : ;
1604 signal clk40_out_TX_SFP_ROI : ;
1605 signal clk120_out_TX_SFP_ROI : ;
1606 signal clk40_in_TX_SFP_ROI : ;
1607 signal clk120_in_TX_SFP_ROI : ;
1608 signal indata_TX_SFP_ROI : (7 downto 0);
1609 signal odata_TX_SFP_ROI : (7 downto 0);
1610 signal TXPREEMPHASIS_IN_TX_SFP_ROI : (3 downto 0);
1611 signal TXPOSTEMPHASIS_IN_TX_SFP_ROI : (4 downto 0);
1612 signal TXDIFFCTRL_IN_TX_SFP_ROI : (3 downto 0);
1613 signal RXEQMIX_IN_TX_SFP_ROI : (2 downto 0);
1614 signal DFECLKDLYADJ_TX_SFP_ROI : (5 downto 0);
1615 signal DFECLKDLYADJMON_TX_SFP_ROI : (5 downto 0);
1616 signal DFEDLYOVRD_TX_SFP_ROI : ;
1617 signal DFEEYEDACMON_TX_SFP_ROI : (4 downto 0);
1618 signal DFESENSCAL_TX_SFP_ROI : (2 downto 0);
1619 signal DFETAP1_TX_SFP_ROI : (4 downto 0);
1620 signal DFETAP1MONITOR_TX_SFP_ROI : (4 downto 0);
1621 signal DFETAP2_TX_SFP_ROI : (4 downto 0);
1622 signal DFETAP2MONITOR_TX_SFP_ROI : (4 downto 0);
1623 signal DFETAP3_TX_SFP_ROI : (3 downto 0);
1624 signal DFETAP3MONITOR_TX_SFP_ROI : (3 downto 0);
1625 signal DFETAP4_TX_SFP_ROI : (3 downto 0);
1626 signal DFETAP4MONITOR_TX_SFP_ROI : (3 downto 0);
1627 signal DFETAPOVRD_TX_SFP_ROI : ;
1637 DAQ_IN :
in (
19 DOWNTO 0);
1638 ROI_IN :
in (
19 DOWNTO 0);
1651 -- Glink emulator signals
1653 signal daq_in : (19 DOWNTO 0);
1654 signal roi_in : (19 DOWNTO 0);
1657 signal daq_byte : (7 downto 0);
1658 signal roi_byte : (7 downto 0);
1659 signal reset_daq : ;
1660 signal daq_encoded_diag : (23 downto 0);
1661 signal daq_byte_out : (1 downto 0);
1663 signal byte_pos_out : (5 downto 0);
1664 signal word_sel_out : (1 downto 0);
1665 signal readout_rst_out : ;
1667 --component chipscope_icon_u2_c3
1669 -- CONTROL0 : inout std_logic_vector(35 downto 0);
1670 -- CONTROL1 : inout std_logic_vector(35 downto 0);
1671 -- CONTROL2 : inout std_logic_vector(35 downto 0)
1675 --signal CONTROL0 : std_logic_vector(35 downto 0);
1676 --signal CONTROL1 : std_logic_vector(35 downto 0);
1677 --signal CONTROL2 : std_logic_vector(35 downto 0);
1679 --signal data_ila_daq : std_logic_vector (53 downto 0);
1680 --signal trig_ila_daq : std_logic_vector (33 downto 0);
1682 --signal data_ila_encoder : std_logic_vector (20 downto 0);
1683 --signal trig_ila_encoder : std_logic_vector (11 downto 0);
1685 --signal data_ila_gtx_start : std_logic_vector (12 downto 0);
1686 --signal trig_ila_gtx_start : std_logic_vector (2 downto 0);
1689 ----signal data_ila_1 : std_logic_vector (16 downto 0);
1691 --component glink_chipscope_analyzer
1693 -- CONTROL: inout std_logic_vector(35 downto 0);
1694 -- CLK: in std_logic;
1695 -- DATA: in std_logic_vector(53 downto 0);
1696 -- TRIG0: in std_logic_vector(33 downto 0));
1699 --component glink_chipscope_analyzer_encoder
1701 -- CONTROL: inout std_logic_vector(35 downto 0);
1702 -- CLK: in std_logic;
1703 -- DATA: in std_logic_vector(20 downto 0);
1704 -- TRIG0: in std_logic_vector(11 downto 0));
1707 --component glink_chipscope_analyzer_gtx_start is
1709 -- CONTROL : inout std_logic_vector(35 downto 0);
1710 -- CLK : in std_logic;
1711 -- DATA : in std_logic_vector(10 downto 0);
1712 -- TRIG0 : in std_logic_vector(0 to 0));
1713 --end component glink_chipscope_analyzer_gtx_start;
1719 data_in :
in arr_96(
19 downto 0);
1732 signal RAM_global_offset : (7 downto 0);
1733 signal RAM_rel_offsets : arr_ctr_8bit(18 downto 0);
1734 signal nslices : (7 downto 0);
1736 signal data_in_daq: arr_96(19 downto 0);
1738 --control of daq delays
1739 signal data_from_vme_REG_RW_DAQ_SLICE: (15 downto 0);
1740 signal data_to_vme_REG_RW_DAQ_SLICE: (15 downto 0);
1741 signal data_from_vme_REG_RW_DAQ_RAM_OFFSET: (15 downto 0);
1742 signal data_to_vme_REG_RW_DAQ_RAM_OFFSET: (15 downto 0);
1744 signal data_from_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET: arr_16(18 downto 0);
1745 signal data_to_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET: arr_16(18 downto 0);
1748 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";
1749 attribute IOB of BUF_TTC_L1_ACCEPT_r, BUF_TTC_BNCH_CNT_RES_r : signal is "FORCE";
1751 --attribute IOB of BF_DOUT_CTP_00 : signal is "TRUE";
1752 --attribute IOB of BF_DOUT_CTP_01 : signal is "TRUE";
1753 --attribute IOB of BF_DOUT_CTP_02 : signal is "TRUE";
1754 --attribute IOB of BF_DOUT_CTP_03 : signal is "TRUE";
1755 --attribute IOB of BF_DOUT_CTP_04 : signal is "TRUE";
1756 --attribute IOB of BF_DOUT_CTP_05 : signal is "TRUE";
1757 --attribute IOB of BF_DOUT_CTP_06 : signal is "TRUE";
1758 --attribute IOB of BF_DOUT_CTP_07 : signal is "TRUE";
1759 --attribute IOB of BF_DOUT_CTP_08 : signal is "TRUE";
1760 --attribute IOB of BF_DOUT_CTP_09 : signal is "TRUE";
1761 --attribute IOB of BF_DOUT_CTP_10 : signal is "TRUE";
1762 --attribute IOB of BF_DOUT_CTP_11 : signal is "TRUE";
1763 --attribute IOB of BF_DOUT_CTP_12 : signal is "TRUE";
1764 --attribute IOB of BF_DOUT_CTP_13 : signal is "TRUE";
1765 --attribute IOB of BF_DOUT_CTP_14 : signal is "TRUE";
1766 --attribute IOB of BF_DOUT_CTP_15 : signal is "TRUE";
1767 --attribute IOB of BF_DOUT_CTP_16 : signal is "TRUE";
1768 --attribute IOB of BF_DOUT_CTP_17 : signal is "TRUE";
1769 --attribute IOB of BF_DOUT_CTP_18 : signal is "TRUE";
1770 --attribute IOB of BF_DOUT_CTP_19 : signal is "TRUE";
1771 --attribute IOB of BF_DOUT_CTP_20 : signal is "TRUE";
1772 --attribute IOB of BF_DOUT_CTP_21 : signal is "TRUE";
1773 --attribute IOB of BF_DOUT_CTP_22 : signal is "TRUE";
1774 --attribute IOB of BF_DOUT_CTP_23 : signal is "TRUE";
1775 --attribute IOB of BF_DOUT_CTP_24 : signal is "TRUE";
1776 --attribute IOB of BF_DOUT_CTP_25 : signal is "TRUE";
1777 --attribute IOB of BF_DOUT_CTP_26 : signal is "TRUE";
1778 --attribute IOB of BF_DOUT_CTP_27 : signal is "TRUE";
1779 --attribute IOB of BF_DOUT_CTP_28 : signal is "TRUE";
1780 --attribute IOB of BF_DOUT_CTP_29 : signal is "TRUE";
1781 --attribute IOB of BF_DOUT_CTP_64 : signal is "TRUE";
1783 --attribute IOB of BF_DOUT_CTP_32 : signal is "TRUE";
1784 --attribute IOB of BF_DOUT_CTP_33 : signal is "TRUE";
1785 --attribute IOB of BF_DOUT_CTP_34 : signal is "TRUE";
1786 --attribute IOB of BF_DOUT_CTP_35 : signal is "TRUE";
1787 --attribute IOB of BF_DOUT_CTP_36 : signal is "TRUE";
1788 --attribute IOB of BF_DOUT_CTP_37 : signal is "TRUE";
1789 --attribute IOB of BF_DOUT_CTP_38 : signal is "TRUE";
1790 --attribute IOB of BF_DOUT_CTP_39 : signal is "TRUE";
1791 --attribute IOB of BF_DOUT_CTP_40 : signal is "TRUE";
1792 --attribute IOB of BF_DOUT_CTP_41 : signal is "TRUE";
1793 --attribute IOB of BF_DOUT_CTP_42 : signal is "TRUE";
1794 --attribute IOB of BF_DOUT_CTP_43 : signal is "TRUE";
1795 --attribute IOB of BF_DOUT_CTP_44 : signal is "TRUE";
1796 --attribute IOB of BF_DOUT_CTP_45 : signal is "TRUE";
1797 --attribute IOB of BF_DOUT_CTP_46 : signal is "TRUE";
1798 --attribute IOB of BF_DOUT_CTP_47 : signal is "TRUE";
1799 --attribute IOB of BF_DOUT_CTP_48 : signal is "TRUE";
1800 --attribute IOB of BF_DOUT_CTP_49 : signal is "TRUE";
1801 --attribute IOB of BF_DOUT_CTP_50 : signal is "TRUE";
1802 --attribute IOB of BF_DOUT_CTP_51 : signal is "TRUE";
1803 --attribute IOB of BF_DOUT_CTP_52 : signal is "TRUE";
1804 --attribute IOB of BF_DOUT_CTP_53 : signal is "TRUE";
1805 --attribute IOB of BF_DOUT_CTP_54 : signal is "TRUE";
1806 --attribute IOB of BF_DOUT_CTP_55 : signal is "TRUE";
1807 --attribute IOB of BF_DOUT_CTP_56 : signal is "TRUE";
1808 --attribute IOB of BF_DOUT_CTP_57 : signal is "TRUE";
1809 --attribute IOB of BF_DOUT_CTP_58 : signal is "TRUE";
1810 --attribute IOB of BF_DOUT_CTP_59 : signal is "TRUE";
1811 --attribute IOB of BF_DOUT_CTP_60 : signal is "TRUE";
1812 --attribute IOB of BF_DOUT_CTP_61 : signal is "TRUE";
1835 --BF_TO_FROM_BSPT_0 <= '0';
1836 --BF_TO_FROM_BSPT_1 <= '0';
1921 --ddr_data_in_CTP2(0) <=BF_DOUT_CTP_32;
1922 --ddr_data_in_CTP2(1) <=BF_DOUT_CTP_33;
1923 --ddr_data_in_CTP2(2) <=BF_DOUT_CTP_34;
1924 --ddr_data_in_CTP2(3) <=BF_DOUT_CTP_35;
1925 --ddr_data_in_CTP2(4) <=BF_DOUT_CTP_36;
1926 --ddr_data_in_CTP2(5) <=BF_DOUT_CTP_37;
1927 --ddr_data_in_CTP2(6) <=BF_DOUT_CTP_38;
1928 --ddr_data_in_CTP2(7) <=BF_DOUT_CTP_39;
1929 --ddr_data_in_CTP2(8) <=BF_DOUT_CTP_40;
1930 --ddr_data_in_CTP2(9) <=BF_DOUT_CTP_41;
1931 --ddr_data_in_CTP2(10) <=BF_DOUT_CTP_42;
1932 --ddr_data_in_CTP2(11) <=BF_DOUT_CTP_43;
1933 --ddr_data_in_CTP2(12) <=BF_DOUT_CTP_44;
1934 --ddr_data_in_CTP2(13) <=BF_DOUT_CTP_45;
1935 --ddr_data_in_CTP2(14) <=BF_DOUT_CTP_46;
1936 --ddr_data_in_CTP2(15) <=BF_DOUT_CTP_47;
1937 --ddr_data_in_CTP2(16) <=BF_DOUT_CTP_48;
1938 --ddr_data_in_CTP2(17) <=BF_DOUT_CTP_49;
1939 --ddr_data_in_CTP2(18) <=BF_DOUT_CTP_50;
1940 --ddr_data_in_CTP2(19) <=BF_DOUT_CTP_51;
1941 --ddr_data_in_CTP2(20) <=BF_DOUT_CTP_52;
1942 --ddr_data_in_CTP2(21) <=BF_DOUT_CTP_53;
1943 --ddr_data_in_CTP2(22) <=BF_DOUT_CTP_54;
1944 --ddr_data_in_CTP2(23) <=BF_DOUT_CTP_55;
1945 --ddr_data_in_CTP2(24) <=BF_DOUT_CTP_56;
1946 --ddr_data_in_CTP2(25) <=BF_DOUT_CTP_57;
1947 --ddr_data_in_CTP2(26) <=BF_DOUT_CTP_58;
1948 --ddr_data_in_CTP2(27) <=BF_DOUT_CTP_59;
1949 --ddr_data_in_CTP2(28) <=BF_DOUT_CTP_60;
1950 --ddr_data_in_CTP2(29) <=BF_DOUT_CTP_61;
1951 --ddr_data_in_CTP2(30) <=BF_DOUT_CTP_62;
1952 --ddr_data_in_CTP2(31) <=BF_DOUT_CTP_65;
1953 --ddr_data_in_CTP2(32) <=BF_DOUT_CTP_63;
2042 sig_arr_RTM(0)<=ddr_data_in_RTM1;
2043 sig_arr_RTM(1)<=ddr_data_in_RTM2;
2044 sig_arr_RTM(2)<=ddr_data_in_RTM3;
2047 --D_CBL_81_B <= '0';
2048 --D_CBL_82_B <= '0';
2050 --BF_TO_TP_DAQ_SLINK_RETURN_DIR ;--<= '0';
2051 --BF_TO_TP_DAQ_SLINK_RETURN_CMP ;--<= '0';
2052 --BF_TO_TP_ROI_SLINK_RETURN_DIR ;--<= '0';
2053 --BF_TO_TP_ROI_SLINK_RETURN_CMP ;--<= '0';
2056 --backplane bus assignment
2516 --debug pins bus assignment
2529 ODDR_inst_buf_clk_40 : ODDR
2531 DDR_CLK_EDGE =>
"SAME_EDGE",
-- "OPPOSITE_EDGE" or "SAME_EDGE"
2532 INIT => '0',
-- Initial value for Q port ('1' or '0')
2533 SRTYPE =>
"SYNC") -- Reset Type ("ASYNC" or "SYNC")
2535 Q => BF_DEBUG
(8),
-- 1-bit DDR output
2536 C => buf_clk40,
-- 1-bit clock input
2537 CE => '1',
-- 1-bit clock enable input
2538 D1 => '1',
-- 1-bit data input (positive edge)
2539 D2 => '0',
-- 1-bit data input (negative edge)
2540 R =>
(not pll_locked
),
-- 1-bit reset input
2541 S => '0'
-- 1-bit set input
2544 ODDR_inst_buf_clk_40_ds2 : ODDR
2546 DDR_CLK_EDGE =>
"SAME_EDGE",
-- "OPPOSITE_EDGE" or "SAME_EDGE"
2547 INIT => '0',
-- Initial value for Q port ('1' or '0')
2548 SRTYPE =>
"SYNC") -- Reset Type ("ASYNC" or "SYNC")
2550 Q => BF_DEBUG
(9),
-- 1-bit DDR output
2551 C => buf_clk40_ds2,
-- 1-bit clock input
2552 CE => '1',
-- 1-bit clock enable input
2553 D1 => '1',
-- 1-bit data input (positive edge)
2554 D2 => '0',
-- 1-bit data input (negative edge)
2555 R =>
(not pll_locked_ds2
),
-- 1-bit reset input
2556 S => '0'
-- 1-bit set input
2560 --BF_DEBUG(8) <= buf_clk40;
2561 --BF_DEBUG(9) <= l1a_synced;--DATA96(5)(0);--start_playback;--BF_TO_TP_DAQ_SLINK_RETURN_DIR;--send_align(0);-- BUF_TTC_BNCH_CNT_RES; --bunch counter reset
2563 BF_DEBUG(7 downto 0)<=(others=>'0');
2589 ------------------------------------------------------------------------------
2590 -- VME interface component used in BSPT FPGA (Ian's vme_interface)
2591 ------------------------------------------------------------------------------
2594 ----------------------------------------------------------------------------
2596 ----------------------------------------------------------------------------
2597 clk40 => buf_clk40 ,
2603 ----------------------------------------------------------------------------
2605 ----------------------------------------------------------------------------
2606 board_ds =>
ds,
-- board_ds output from VME (Ian model)
2607 brdsel_n =>
ncs -- brdsel_n output from VME (Ian model)
2630 clk40 => buf_clk40 ,
2680 if rising_edge(buf_clk40) then
2694 ia_vme => ADDR_REG_RO_test ,
2707 --vme_outreg_test: vme_outreg
2709 -- ia_vme => ADDR_REG_RO_test,
2712 -- clk => buf_clk40,
2713 -- addr_vme => vme_address(16 downto 1),
2715 -- rd_nwr => OCB_WRITE_B,
2717 -- data_to_vme => data_to_vme_test_r,
2718 -- read_detect => read_detect_outreg_test,
2719 -- data_vme => OCB_D);
2724 ia_vme => ADDR_REG_RW_test ,
2740 --vme_inreg_test: vme_inreg
2742 -- ia_vme => ADDR_REG_RW_test,
2745 -- clk => buf_clk40,
2747 -- rd_nwr => OCB_WRITE_B,
2749 -- data_from_vme => data_from_vme_test_rw,
2750 -- data_to_vme => data_to_vme_test_rw,
2751 -- addr_vme => vme_address(16 downto 1),
2752 -- read_detect => read_detect_inreg_test,
2753 -- write_detect => write_detect_inreg_test,
2754 -- data_vme => OCB_D);
2758 --chipscope_ila_CMX_top_inputmodclk_inst: chipscope_ila_CMX_top_inputmodclk
2760 -- CONTROL => CONTROL0,
2761 -- CLK => buf_clk40,
2762 -- DATA => DATA_chipscope_ila_CMX_top_inputmodclk,
2763 -- TRIG0 => TRIG0_chipscope_ila_CMX_top_inputmodclk);
2766 --TRIG0_chipscope_ila_CMX_top_inputmodclk(0)<=pll_locked;
2767 --TRIG0_chipscope_ila_CMX_top_inputmodclk(33)<=start_playback;
2768 --TRIG0_chipscope_ila_CMX_top_inputmodclk(34)<=dout(0);
2769 --TRIG0_chipscope_ila_CMX_top_inputmodclk(35)<=data_from_RTM(0);
2772 --DATA_chipscope_ila_CMX_top_inputmodclk(0)<=pll_locked;
2774 --gen_data_chipscope_ila: for ichannel in numactchan-1 downto 0 generate
2776 -- TRIG0_chipscope_ila_CMX_top_inputmodclk(1+ichannel*2)<=PAR_ERROR(ichannel);
2777 -- TRIG0_chipscope_ila_CMX_top_inputmodclk(2+ichannel*2)<=counter_enable_inputmod_sig(ichannel);
2779 -- DATA_chipscope_ila_CMX_top_inputmodclk(1+ichannel*98)<=PAR_ERROR(ichannel);
2780 -- DATA_chipscope_ila_CMX_top_inputmodclk(2+ichannel*98)<=counter_enable_inputmod_sig(ichannel);
2781 -- DATA_chipscope_ila_CMX_top_inputmodclk(95+3+ichannel*98 downto 3+ichannel*98)<=DATA96(ichannel);
2783 --end generate gen_data_chipscope_ila;
2787 --DATA_chipscope_ila_CMX_top_inputmodclk(1630 downto 1569)<=dout;
2788 --DATA_chipscope_ila_CMX_top_inputmodclk(1734 downto 1631)<=data_from_RTM(103 downto 0);
2789 --DATA_chipscope_ila_CMX_top_inputmodclk(1735)<=start_playback;
2790 --DATA_chipscope_ila_CMX_top_inputmodclk(2375 downto 1736) <= (others=>'0');
2795 --chipscope_ila_IDELAY_1: chipscope_ila_IDELAY
2797 -- CONTROL => CONTROL1,
2798 -- CLK => buf_clk40,
2799 -- DATA => DATA_chipscope_ila_IDELAY,
2800 -- TRIG0(0) => upload_delays);
2802 --gen_chipscpe_data_idelay_ichan: for ichan in numactchan-1 downto 0 generate
2803 -- --no -1 because the clock adds one:
2804 -- gen_chipscpe_data_idelay_ibit: for ibit in numbitsinchan downto 0 generate
2805 -- DATA_chipscope_ila_IDELAY( (ichan*(numbitsinchan+1)+ibit)*5 + 4 downto (ichan*(numbitsinchan+1)+ibit)*5)<=
2806 -- del_register(ichan,ibit);
2807 -- end generate gen_chipscpe_data_idelay_ibit;
2808 --end generate gen_chipscpe_data_idelay_ichan;
2809 --DATA_chipscope_ila_IDELAY(2000)<=upload_delays;
2815 clk40 => buf_clk40 ,
2826 --upload_delays<='0';
2827 --del_register<=(others=>(others=>(others=>'0')));
2831 reset => bc_reset_synced ,
2847 if rising_edge(buf_clk40) then
2862 --ODATA_WORD0 => open,
2883 ia_vme => ADDR_REG_RW_QUIET_FORCE ,
2896 data_to_vme_REG_RW_QUIET_FORCE<=data_from_vme_REG_RW_QUIET_FORCE;
2897 quiet<=data_from_vme_REG_RW_QUIET_FORCE(1);
2898 force<=data_from_vme_REG_RW_QUIET_FORCE(0);
2913 gen_REG_RW_JET_THRESHOLD_BLOCK: for i_thr in 1599 downto 0 generate
2917 ia_vme => ADDR_REG_RW_JET_THRESHOLD_BLOCK+2*i_thr,
2927 data_from_vme => data_from_vme_REG_RW_JET_THRESHOLD_BLOCK
(i_thr
),
2928 data_to_vme => data_to_vme_REG_RW_JET_THRESHOLD_BLOCK
(i_thr
));
2931 --vme_inreg_async_REG_RW_JET_THRESHOLD_BLOCK: vme_inreg_async
2933 -- ia_vme => ADDR_REG_RW_JET_THRESHOLD_BLOCK+2*i_thr,
2937 -- rd_nwr => OCB_WRITE_B,
2939 -- addr_vme => vme_address(16 downto 1),
2940 -- data_vme => OCB_D,
2941 -- data_from_vme => data_from_vme_REG_RW_JET_THRESHOLD_BLOCK(i_thr),
2942 -- data_to_vme => data_to_vme_REG_RW_JET_THRESHOLD_BLOCK(i_thr));
2943 data_to_vme_REG_RW_JET_THRESHOLD_BLOCK(i_thr)<=data_from_vme_REG_RW_JET_THRESHOLD_BLOCK(i_thr);
2944 end generate gen_REG_RW_JET_THRESHOLD_BLOCK;
2947 thresholds<=data_from_vme_REG_RW_JET_THRESHOLD_BLOCK;
2950 decoder_inst:
entity work.
decoder
2957 datai => DATA96
(14 downto 1),
2981 datai => DATA96
(14 downto 1),
3002 reset => counter_reset ,
3003 inhibit => counter_inhibit
);
3006 din_cbl(23 downto 0) <= data_from_RTM(23 downto 0);
-- cbl_a (mux0)
3007 din_cbl(47 downto 24) <= data_from_RTM(49 downto 26);
-- cbl_a (mux1)
3008 din_cbl(71 downto 48) <= data_from_RTM(75 downto 52);
-- cbl_b (mux0)
3009 din_cbl(95 downto 72) <= data_from_RTM(101 downto 78);
-- cbl_b (mux1)
3010 din_cbl(119 downto 96) <= data_from_RTM(127 downto 104);
-- cbl_c (mux0)
3011 din_cbl(143 downto 120) <= data_from_RTM(153 downto 130);
-- cbl_c (mux1)
3013 din_cbl(144)<=data_from_RTM(25);
3014 din_cbl(145)<=data_from_RTM(51);
3015 din_cbl(146)<=data_from_RTM(77);
3016 din_cbl(147)<=data_from_RTM(103);
3017 din_cbl(148)<=data_from_RTM(129);
3018 din_cbl(149)<=data_from_RTM(155);
3020 din_cbla_ro <= data_from_RTM(50);
-- remote overflow cbla
3021 din_cblb_ro <= data_from_RTM(102);
-- remote overflow cblb
3022 din_cblc_ro <= data_from_RTM(154);
-- remote overflow cblc
3024 gen_dummy_loc_vme_bus: for i_dummy in 1640 to 1759 generate
3027 end generate gen_dummy_loc_vme_bus;
3050 data => data_from_RTM,
3069 --chipscope_ila_LVDS_TX_CTP_RTM_inst: chipscope_ila_LVDS_TX_CTP_RTM
3071 -- CONTROL => CONTROL1,
3072 -- CLK => buf_clk40,
3073 -- DATA(31 downto 0) => sdr_data_out,
3074 -- DATA(63 downto 32) => (others=>'0'),
3075 -- DATA(115 downto 64) => data_RTM,
3076 -- DATA(116) => '0',
3077 -- DATA(117) => '0',
3130 clk40 => buf_clk40_m90o,
3134 BCID => BCID_delayed_decoder,
3135 indata => indata_Topo_TX,
3147 --Topo_Data_TX_inst: Topo_Data_TX
3149 -- MGTREFCLK_PAD_N_IN => MGTREFCLK_PAD_N_IN,
3150 -- MGTREFCLK_PAD_P_IN => MGTREFCLK_PAD_P_IN,
3151 -- GTXTXRESET_IN => GTXTXRESET_IN,
3152 -- GTXRXRESET_IN => GTXRXRESET_IN,
3153 -- GTX_TX_READY_OUT => GTX_TX_READY_OUT,
3154 -- GTX_RX_READY_OUT => GTX_RX_READY_OUT,
3155 -- RXN_IN => RXN_IN,
3156 -- RXP_IN => RXP_IN,
3157 -- TXN_OUT => TXN_OUT,
3158 -- TXP_OUT => TXP_OUT,
3159 -- clk40 => buf_clk40,
3160 -- clk320 => buf_clk320,
3161 -- pll_locked => pll_locked,
3162 -- send_align => send_align,
3163 -- BCID => BCID_counter_sig,
3164 -- indata => indata_Topo_TX,
3165 -- ext_trigger => BF_TO_TP_DAQ_SLINK_RETURN_DIR,
3167 -- rd_nwr => OCB_WRITE_B,
3169 -- addr_vme => vme_address(16 downto 1),
3170 -- data_vme => OCB_D);
3174 -- --for the test make a fake data to send topo
3175 -- gen_indata_counter_fiber: for i_fiber in 0 to 23 generate
3176 -- process(buf_clk40)
3178 -- if rising_edge(buf_clk40) then
3179 -- if counter_fake_data_Topo_TX(i_fiber)(11 downto 0)=to_unsigned(0,12) then
3180 -- send_align(i_fiber)<='1';
3182 -- send_align(i_fiber)<='0';
3184 -- counter_fake_data_Topo_TX(i_fiber)<=counter_fake_data_Topo_TX(i_fiber)+1;
3189 -- PRNG_LFSR_BIG_inst: PRNG_LFSR_BIG
3191 -- clk => buf_clk40,
3192 -- rst => (not pll_locked),
3193 -- DATA_PRN => DATA_PRN(i_fiber) );
3195 -- --counter repeated twice for the msb words
3196 -- gen_data_counter_word: for i_word in 6 to 7 generate
3197 -- 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));
3198 -- end generate gen_data_counter_word;
3200 -- --then the 8 msb of the counter
3201 -- 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));
3203 -- --then the mgt number
3204 -- indata_Topo_TX(128*(i_fiber)+87 downto 128*(i_fiber)+80) <= std_logic_vector(to_unsigned(i_fiber,8));
3206 -- --then the pseudo random number
3207 -- indata_Topo_TX(128*(i_fiber)+79 downto 128*(i_fiber)+16) <= DATA_PRN(i_fiber);
3210 -- --last 12 bits must be 0, four msb bits of the last word have the counter again
3211 -- 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));
3212 -- indata_Topo_TX(128*(i_fiber)+11 downto 128*(i_fiber))<=(others=>'0');
3214 -- end generate gen_indata_counter_fiber;
3219 ia_vme => ADDR_REG_RW_TOPOTR_GTX_RESET ,
3230 data_to_vme => data_to_vme_REG_RW_TOPOTR_GTX_RESET
3233 GTXTXRESET_IN<=data_from_vme_REG_RW_TOPOTR_GTX_RESET(1);
3234 GTXRXRESET_IN<=data_from_vme_REG_RW_TOPOTR_GTX_RESET(0);
3236 data_to_vme_REG_RW_TOPOTR_GTX_RESET<=data_from_vme_REG_RW_TOPOTR_GTX_RESET;
3241 ia_vme => ADDR_REG_RO_TOPOTR_GTX_STATUS ,
3250 data_to_vme => data_to_vme_REG_RO_TOPOTR_GTX_STATUS
);
3252 data_to_vme_REG_RO_TOPOTR_GTX_STATUS(1)<=GTX_TX_READY_OUT;
3253 data_to_vme_REG_RO_TOPOTR_GTX_STATUS(0)<=GTX_RX_READY_OUT;
3255 data_to_vme_REG_RO_TOPOTR_GTX_STATUS(15 downto 2)<=(others=>'0');
3274 RXN_IN => RXN_IN_TX_SFP_DAQ ,
3275 RXP_IN => RXP_IN_TX_SFP_DAQ ,
3276 TXN_OUT => TXN_OUT_TX_SFP_DAQ,
3277 TXP_OUT => TXP_OUT_TX_SFP_DAQ,
3282 indata => indata_TX_SFP_DAQ ,
3283 odata => odata_TX_SFP_DAQ ,
3293 DFETAP1 => DFETAP1_TX_SFP_DAQ,
3295 DFETAP2 => DFETAP2_TX_SFP_DAQ,
3297 DFETAP3 => DFETAP3_TX_SFP_DAQ,
3299 DFETAP4 => DFETAP4_TX_SFP_DAQ,
3318 RXN_IN => RXN_IN_TX_SFP_ROI ,
3319 RXP_IN => RXP_IN_TX_SFP_ROI ,
3320 TXN_OUT => TXN_OUT_TX_SFP_ROI,
3321 TXP_OUT => TXP_OUT_TX_SFP_ROI,
3326 indata => indata_TX_SFP_ROI ,
3327 odata => odata_TX_SFP_ROI ,
3337 DFETAP1 => DFETAP1_TX_SFP_ROI,
3339 DFETAP2 => DFETAP2_TX_SFP_ROI,
3341 DFETAP3 => DFETAP3_TX_SFP_ROI,
3343 DFETAP4 => DFETAP4_TX_SFP_ROI,
3352 CLK_40MHz => clk40_in_TX_SFP_ROI,
-- clk40MHz
3353 CLK_120MHz => clk120_in_TX_SFP_ROI ,
-- clk120MHz
3354 RST => reset_daq ,
--not pll_locked, --reset(0), -- reset
3355 DAQ_IN => daq_in,
-- Input data (DAQ)
3356 ROI_IN => roi_in,
-- Input data (ROI)
3357 DAQ_DAV => daq_dav,
-- Control (DAQ)
3358 ROI_DAV => roi_dav,
-- Control (ROI)
3359 DAQ_BYTE => roi_byte,
-- Output Byte (DAQ)
3360 ROI_BYTE => daq_byte,
-- Output Byte (ROI)
3369 );
-- daq_encoded_DIAG
3371 MGT_118_clk0_ibufds_i : IBUFDS_GTXE1
3374 O => MGTREFCLK_Q118,
3387 clk40_in_TX_SFP_ROI<=clk40_out_TX_SFP_DAQ;
3388 clk120_in_TX_SFP_ROI<=clk120_out_TX_SFP_DAQ;
3390 indata_TX_SFP_DAQ<=daq_byte;
-- from GLINK emulator
3391 indata_TX_SFP_ROI<=roi_byte;
-- from GLINK emulator;
3395 --vio_data_i : diagn_module_vio
3397 -- CONTROL => control1,
3398 -- ASYNC_OUT => reset);
3402 ia_vme => ADDR_REG_RW_DAQ_ROI_RESET ,
3415 reset_daq<=data_from_vme_REG_RW_DAQ_ROI_RESET(0);
3416 data_to_vme_REG_RW_DAQ_ROI_RESET<=data_from_vme_REG_RW_DAQ_ROI_RESET;
3420 ia_vme => ADDR_REG_RW_DAQ_ROI_GTX_RESET ,
3431 data_to_vme => data_to_vme_REG_RW_DAQ_ROI_GTX_RESET
);
3433 gtx_reset_SFP_DAQ<=data_from_vme_REG_RW_DAQ_ROI_GTX_RESET(0);
3434 gtx_reset_SFP_ROI<=data_from_vme_REG_RW_DAQ_ROI_GTX_RESET(1);
3435 data_to_vme_REG_RW_DAQ_ROI_GTX_RESET<=data_from_vme_REG_RW_DAQ_ROI_GTX_RESET;
3440 ia_vme => ADDR_REG_RO_DAQ_ROI_STATUS ,
3449 data_to_vme => data_to_vme_REG_RO_DAQ_ROI_STATUS
);
3451 data_to_vme_REG_RO_DAQ_ROI_STATUS(0)<=local_pll_lock_out_SFP_DAQ;
3452 data_to_vme_REG_RO_DAQ_ROI_STATUS(1)<=GTX_TX_READY_OUT_TX_SFP_DAQ;
3453 data_to_vme_REG_RO_DAQ_ROI_STATUS(2)<=GTX_RX_READY_OUT_TX_SFP_DAQ;
3454 data_to_vme_REG_RO_DAQ_ROI_STATUS(3)<=PLLLKDET_diag_TX_SFP_DAQ;
3455 data_to_vme_REG_RO_DAQ_ROI_STATUS(4)<=local_pll_lock_out_SFP_ROI;
3456 data_to_vme_REG_RO_DAQ_ROI_STATUS(5)<=GTX_TX_READY_OUT_TX_SFP_ROI;
3457 data_to_vme_REG_RO_DAQ_ROI_STATUS(6)<=GTX_RX_READY_OUT_TX_SFP_ROI;
3458 data_to_vme_REG_RO_DAQ_ROI_STATUS(7)<=PLLLKDET_diag_TX_SFP_ROI;
3459 data_to_vme_REG_RO_DAQ_ROI_STATUS(8)<=readout_rst_out;
3461 data_to_vme_REG_RO_DAQ_ROI_STATUS(15 downto 9) <= (others=>'0');
3464 -- -- Chipscope analyzer
3465 -- chipscope_icon_u2_c3_inst: chipscope_icon_u2_c3
3467 -- CONTROL0 => CONTROL0,
3468 -- CONTROL1 => CONTROL1,
3469 -- CONTROL2 => CONTROL2
3472 -- ila_daq_glink : glink_chipscope_analyzer
3474 -- CONTROL => control0,
3475 -- CLK => clk40_in_TX_SFP_ROI,
3476 -- DATA => data_ila_daq,
3477 -- TRIG0 => trig_ila_daq);
3479 -- ila_glink_encoder : glink_chipscope_analyzer_encoder
3481 -- CONTROL => control1,
3482 -- CLK => clk120_in_TX_SFP_ROI,
3483 -- DATA => data_ila_encoder,
3484 -- TRIG0 => trig_ila_encoder);
3486 -- ila_gtx_start: entity work.glink_chipscope_analyzer_gtx_start
3488 -- CONTROL => CONTROL2,
3489 -- CLK => MGTREFCLK_Q118,
3490 -- DATA => data_ila_gtx_start,
3491 -- TRIG0 => trig_ila_gtx_start);
3493 -- data_ila_daq <= daq_in &
3494 -- daq_encoded_diag &
3496 -- local_pll_lock_out_SFP_DAQ &
3497 -- GTX_TX_READY_OUT_TX_SFP_DAQ &
3498 -- GTX_RX_READY_OUT_TX_SFP_DAQ &
3499 -- local_pll_lock_out_SFP_ROI &
3500 -- GTX_TX_READY_OUT_TX_SFP_ROI &
3501 -- GTX_RX_READY_OUT_TX_SFP_ROI &
3507 -- trig_ila_daq <= daq_encoded_diag &
3509 -- local_pll_lock_out_SFP_DAQ &
3510 -- GTX_TX_READY_OUT_TX_SFP_DAQ &
3511 -- GTX_RX_READY_OUT_TX_SFP_DAQ &
3512 -- local_pll_lock_out_SFP_ROI &
3513 -- GTX_TX_READY_OUT_TX_SFP_ROI &
3514 -- GTX_RX_READY_OUT_TX_SFP_ROI &
3521 -- trig_ila_encoder <= GTX_TX_READY_OUT_TX_SFP_DAQ &
3527 -- data_ila_encoder <= byte_pos_out &
3529 -- readout_rst_out &
3530 -- GTX_TX_READY_OUT_TX_SFP_DAQ &
3536 -- trig_ila_gtx_start(0)<=pll_locked;
3537 -- trig_ila_gtx_start(1)<=gtx_reset_SFP_DAQ;
3538 -- trig_ila_gtx_start(2)<=gtx_reset_SFP_ROI;
3542 -- data_ila_gtx_start(0)<= pll_locked;
3543 -- data_ila_gtx_start(1)<= gtx_reset_SFP_DAQ;
3544 -- data_ila_gtx_start(2)<= gtx_reset_SFP_ROI;
3545 -- data_ila_gtx_start(3)<= GTX_TX_READY_OUT_TX_SFP_DAQ;
3546 -- data_ila_gtx_start(4)<= PLLLKDET_diag_TX_SFP_DAQ;
3547 -- data_ila_gtx_start(5)<= local_gtx_reset_diag_TX_SFP_DAQ;
3548 -- data_ila_gtx_start(6)<= local_mmcm_reset_diag_TX_SFP_DAQ;
3549 -- data_ila_gtx_start(7)<= GTXTEST_diag_TX_SFP_DAQ;
3550 -- data_ila_gtx_start(8)<= GTX_TX_READY_OUT_TX_SFP_ROI;
3551 -- data_ila_gtx_start(9)<= PLLLKDET_diag_TX_SFP_ROI;
3552 -- data_ila_gtx_start(10)<= local_gtx_reset_diag_TX_SFP_ROI;
3553 -- data_ila_gtx_start(11)<= local_mmcm_reset_diag_TX_SFP_ROI;
3554 -- data_ila_gtx_start(12)<= GTXTEST_diag_TX_SFP_ROI;
3560 if rising_edge(buf_clk40) then
3561 l1a_synced<=BUF_TTC_L1_ACCEPT_r;
3564 bc_reset_synced<=BUF_TTC_BNCH_CNT_RES_r;
3577 clk4000 => clk40_out_TX_SFP_DAQ ,
3579 reset => reset_daq ,
--not pll_locked,
3585 --in this flavor roi and daq have the same behavior
3589 --readout control registers
3592 ia_vme => ADDR_REG_RW_DAQ_SLICE,
3605 nslices(1 downto 0) <= (data_to_vme_REG_RW_DAQ_SLICE(1 downto 0));
3606 nslices(7 downto 2) <= (others=>'0');
3608 data_to_vme_REG_RW_DAQ_SLICE<=data_from_vme_REG_RW_DAQ_SLICE;
3613 ia_vme => ADDR_REG_RW_DAQ_RAM_OFFSET ,
3624 data_to_vme => data_to_vme_REG_RW_DAQ_RAM_OFFSET
);
3626 data_to_vme_REG_RW_DAQ_RAM_OFFSET<=data_from_vme_REG_RW_DAQ_RAM_OFFSET;
3627 RAM_global_offset <= (data_from_vme_REG_RW_DAQ_RAM_OFFSET(7 downto 0));
3630 rel_offset_gen: for i_row in 1 to 19 generate
3633 ia_vme =>
(ADDR_REG_RW_DAQ_RAM_RELATIVE_OFFSET+2*
(i_row-
1)),
3643 data_from_vme => data_from_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET
(i_row-
1),
3644 data_to_vme => data_to_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET
(i_row-
1));
3646 data_to_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET(i_row-1)<=data_from_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET(i_row-1);
3647 RAM_rel_offsets(i_row-1)<=(data_from_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET(i_row-1)(7 downto 0));
3648 end generate rel_offset_gen;
3655 datai => DATA96
(14 downto 1),
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 BF_TO_FROM_BSPT_0std_logic
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)
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
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
out Data_outstd_logic_vector (TX_indata_length - 1 downto 0)
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
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 Tobs_to_TOPOcopy_arr_TOB
in BF_SYSMON_01_NSTD_LOGIC
out MP2_F04_QUAD_115_TRN_0_CMPstd_logic
out data_vme_outstd_logic_vector (15 downto 0)
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 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)
in del_arraycable_del_array_type (numbits_in_cable_connector 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
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
in buf_clk40_centerstd_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
out send_align_outstd_logic_vector (num_GTX_groups * num_GTX_per_group - 1 downto 0)
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 CLK_120MHz000_XTAL_1_BF_TRNCV_CMPstd_logic
out BF_DOUT_CTP_18std_logic
out BF_DOUT_CTP_06std_logic
out ddr_data_outstd_logic_vector (numbits_in_cable_connector downto 0)
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
numbits_in_cable_connectorinteger
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)
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 upload_delaysstd_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
in data_vme_instd_logic_vector (15 downto 0)
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 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 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
in datastd_logic_vector ((numbits_in_cable_connector * 2) - 1 downto 0)
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 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
in overflowstd_logic_vector (num_copies - 1 downto 0)
out MP2_F06_QUAD_115_TRN_1_DIRstd_logic
out BF_DOUT_CTP_12std_logic