-- High granularity coincidence Matrix with fixed coincidence settings -- SCSN interface (we, address, IBO/OBI) for future ewxpansion -- -- trigger(0) : back-to-back +/- 0 -- -- combination of 576 Signal inputs to 180 hgbits (high granularity bits, 10 per SM): -- example SM 0, input Signals (sorted): -- -- A-side C-side -- Stack -- 0 1 2 3 4 -- +----+----+-------+----+----+ -- | 08 | 11 | 14 30 | 27 | 24 | -- | 09 | 12 | 15 31 | 28 | 25 | A-side -- | 10 | 13 | | 29 | 26 | -- +----+----+-------+----+----+ -- | 0 | 3 | 6 22 | 19 | 16 | -- | 1 | 4 | 7 23 | 20 | 17 | B-side -- | 2 | 5 | | 21 | 18 | -- +----+----+-------+----+----+ -- -- | -- SM0, hgbits: V -- +----+----+-------+----+----+ -- | | | | | | -- | 00 | 02 | 04 | 06 | 08 | A-side (even) -- | | | | | | -- +----+----+-------+----+----+ -- | | | | | | -- | 01 | 03 | 05 | 07 | 09 | B-side (odd) -- | | | | | | -- +----+----+-------+----+----+ library IEEE; use IEEE.STD_LOGIC_1164.all; entity coinc_hg is generic ( width : integer := 576); port ( reset_n : in std_logic; clk : in std_logic; S_in : in std_logic_vector(width-1 downto 0); trigger : out std_logic_vector(3 downto 0); -- future use: back-to-back +/- 1,2,3 we : in std_logic; address : in std_logic_vector(9 downto 0); coinc_hg_IBO : in std_logic_vector(31 downto 0); coinc_hg_OBI : out std_logic_vector(31 downto 0)); end coinc_hg; architecture behv of coinc_hg is component orx generic ( width : integer); port ( ix : in std_logic_vector(width-1 downto 0); ox : out std_logic); end component; -- combine 3 or 4 bits by logic OR to one high gran bit signal hgbits : std_logic_vector(179 downto 0); -- coincidence back to back +/- 0 signal coinc_0btb : std_logic_vector(89 downto 0); -- Hierarchical or stage, one sig per SM-SM signal orstage0btb : std_logic_vector(8 downto 0); -- Single OR for 0BTB: signal or0btb : std_logic; begin -- behv -- generate hgbits hgbitsgen: for i in 0 to 17 generate ABgen: for ab in 0 to 1 generate hgbits(i*10+0+ab) <= S_in(i*32 + 08 - ab*8) or S_in(i*32 + 09 - ab*8) or S_in(i*32 + 10 - ab*8); hgbits(i*10+2+ab) <= S_in(i*32 + 11 - ab*8) or S_in(i*32 + 12 - ab*8) or S_in(i*32 + 13 - ab*8); hgbits(i*10+4+ab) <= S_in(i*32 + 14 - ab*8) or S_in(i*32 + 15 - ab*8) or S_in(i*32 + 30 - ab*8) or S_in(i*32 + 31 - ab*8); hgbits(i*10+6+ab) <= S_in(i*32 + 27 - ab*8) or S_in(i*32 + 28 - ab*8) or S_in(i*32 + 29 - ab*8); hgbits(i*10+8+ab) <= S_in(i*32 + 24 - ab*8) or S_in(i*32 + 25 - ab*8) or S_in(i*32 + 26 - ab*8); end generate ABgen; end generate hgbitsgen; -- coincidences back to back +/- 0 coinc_0btb_gen: for sm in 0 to 8 generate stack_g: for stack in 0 to 4 generate ab: for ab in 0 to 1 generate coinc_0btb(sm*10+stack*2+ab) <= hgbits(sm*10 + stack*2 + ab) and hgbits((9+sm)*10 + (4-stack)*2 + ab) ; end generate ab; end generate stack_g; end generate coinc_0btb_gen; -- stage for 0 BTB OR: or the 10 coincidences per SM-SM orstage_g: for sm in 0 to 8 generate orx_1: orx generic map ( width => 10) port map ( ix => coinc_0btb(sm*10+9 downto sm*10), ox => orstage0btb(sm)); end generate orstage_g; -- or the 9 signals to one single or orx_2: orx generic map ( width => 9) port map ( ix => orstage0btb, ox => or0btb); trigger(0) <= or0btb; trigger (3 downto 1) <= "000"; end behv; -- before addition (map.txt): -- Design Summary -- -------------- -- Number of errors: 0 -- Number of warnings: 63 -- Logic Utilization: -- Number of Slice Flip Flops: 16,993 out of 36,864 46% -- Number of 4 input LUTs: 15,689 out of 36,864 42% -- Logic Distribution: -- Number of occupied Slices: 14,373 out of 18,432 77% -- Number of Slices containing only related logic: 14,373 out of 14,373 100% -- Number of Slices containing unrelated logic: 0 out of 14,373 0% -- *See NOTES below for an explanation of the effects of unrelated logic -- Total Number of 4 input LUTs: 22,392 out of 36,864 60% -- Number used as logic: 15,689 -- Number used as a route-thru: 6,698 -- Number used as Shift registers: 5 -- Number of bonded IOBs: 620 out of 640 96% -- Number of BUFG/BUFGCTRLs: 5 out of 32 15% -- Number used as BUFGs: 4 -- Number used as BUFGCTRLs: 1 -- Number of FIFO16/RAMB16s: 24 out of 96 25% -- Number used as FIFO16s: 1 -- Number used as RAMB16s: 23 -- Number of DCM_ADVs: 5 out of 8 62% -- -- Total equivalent gate count for design: 1,866,035 -- Additional JTAG gate count for IOBs: 29,760 -- Peak Memory Usage: 815 MB -- Total REAL time to MAP completion: 11 mins 7 secs -- Total CPU time to MAP completion: 10 mins 59 secs -- after addition (map.txt): -- Design Summary -- -------------- -- Number of errors: 0 -- Number of warnings: 63 -- Logic Utilization: -- Number of Slice Flip Flops: 16,998 out of 36,864 46% -- Number of 4 input LUTs: 16,520 out of 36,864 44% -- Logic Distribution: -- Number of occupied Slices: 14,141 out of 18,432 76% -- Number of Slices containing only related logic: 14,141 out of 14,141 100% -- Number of Slices containing unrelated logic: 0 out of 14,141 0% -- *See NOTES below for an explanation of the effects of unrelated logic -- Total Number of 4 input LUTs: 23,221 out of 36,864 62% -- Number used as logic: 16,520 -- Number used as a route-thru: 6,696 -- Number used as Shift registers: 5 -- Number of bonded IOBs: 620 out of 640 96% -- Number of BUFG/BUFGCTRLs: 5 out of 32 15% -- Number used as BUFGs: 4 -- Number used as BUFGCTRLs: 1 -- Number of FIFO16/RAMB16s: 24 out of 96 25% -- Number used as FIFO16s: 1 -- Number used as RAMB16s: 23 -- Number of DCM_ADVs: 5 out of 8 62% -- -- Total equivalent gate count for design: 1,869,342 -- Additional JTAG gate count for IOBs: 29,760 -- Peak Memory Usage: 822 MB -- Total REAL time to MAP completion: 11 mins 46 secs -- Total CPU time to MAP completion: 11 mins 33 secs -- -- Total Number of 4 input LUTs: 22,392(->23,221) out of 36,864 60%(->62%) -- Number of 4 input LUTs: 16520 - 15689= + 831 -- --SM00-------------------------------------------------------- -- hgbits(000) <= S(008) or S(009) or S(010); -- hgbits(002) <= S(011) or S(012) or S(013); -- hgbits(004) <= S(014) or S(015) or S(030) or S(031); -- hgbits(006) <= S(027) or S(028) or S(029); -- hgbits(008) <= S(024) or S(025) or S(026); -- --------------------------------------------- -- hgbits(001) <= S(000) or S(001) or S(002); -- hgbits(003) <= S(003) or S(004) or S(005); -- hgbits(005) <= S(006) or S(007) or S(022) or S(023); -- hgbits(007) <= S(019) or S(020) or S(021); -- hgbits(009) <= S(016) or S(017) or S(018); -- --SM01-------------------------------------------------------- -- hgbits(010) <= S(040) or S(041) or S(042); -- hgbits(012) <= S(043) or S(044) or S(045); -- hgbits(014) <= S(046) or S(047) or S(062) or S(063); -- hgbits(016) <= S(059) or S(060) or S(061); -- hgbits(018) <= S(056) or S(057) or S(058); -- --------------------------------------------- -- hgbits(011) <= S(032) or S(033) or S(034); -- hgbits(013) <= S(035) or S(036) or S(037); -- hgbits(015) <= S(038) or S(039) or S(054) or S(055); -- hgbits(017) <= S(051) or S(052) or S(053); -- hgbits(019) <= S(048) or S(049) or S(050); -- --SM02-------------------------------------------------------- -- hgbits(020) <= S(072) or S(073) or S(074); -- hgbits(022) <= S(075) or S(076) or S(077); -- hgbits(024) <= S(078) or S(079) or S(094) or S(095); -- hgbits(026) <= S(091) or S(092) or S(093); -- hgbits(028) <= S(088) or S(089) or S(090); -- --------------------------------------------- -- hgbits(021) <= S(064) or S(065) or S(066); -- hgbits(023) <= S(067) or S(068) or S(069); -- hgbits(025) <= S(070) or S(071) or S(086) or S(087); -- hgbits(027) <= S(083) or S(084) or S(085); -- hgbits(029) <= S(080) or S(081) or S(082); -- --SM03-------------------------------------------------------- -- hgbits(030) <= S(104) or S(105) or S(106); -- hgbits(032) <= S(107) or S(108) or S(109); -- hgbits(034) <= S(110) or S(111) or S(126) or S(127); -- hgbits(036) <= S(123) or S(124) or S(125); -- hgbits(038) <= S(120) or S(121) or S(122); -- --------------------------------------------- -- hgbits(031) <= S(096) or S(097) or S(098); -- hgbits(033) <= S(099) or S(100) or S(101); -- hgbits(035) <= S(102) or S(103) or S(118) or S(119); -- hgbits(037) <= S(115) or S(116) or S(117); -- hgbits(039) <= S(112) or S(113) or S(114); -- --SM04-------------------------------------------------------- -- hgbits(040) <= S(136) or S(137) or S(138); -- hgbits(042) <= S(139) or S(140) or S(141); -- hgbits(044) <= S(142) or S(143) or S(158) or S(159); -- hgbits(046) <= S(155) or S(156) or S(157); -- hgbits(048) <= S(152) or S(153) or S(154); -- --------------------------------------------- -- hgbits(041) <= S(128) or S(129) or S(130); -- hgbits(043) <= S(131) or S(132) or S(133); -- hgbits(045) <= S(134) or S(135) or S(150) or S(151); -- hgbits(047) <= S(147) or S(148) or S(149); -- hgbits(049) <= S(144) or S(145) or S(146); -- --SM05-------------------------------------------------------- -- hgbits(050) <= S(168) or S(169) or S(170); -- hgbits(052) <= S(171) or S(172) or S(173); -- hgbits(054) <= S(174) or S(175) or S(190) or S(191); -- hgbits(056) <= S(187) or S(188) or S(189); -- hgbits(058) <= S(184) or S(185) or S(186); -- --------------------------------------------- -- hgbits(051) <= S(160) or S(161) or S(162); -- hgbits(053) <= S(163) or S(164) or S(165); -- hgbits(055) <= S(166) or S(167) or S(182) or S(183); -- hgbits(057) <= S(179) or S(180) or S(181); -- hgbits(059) <= S(176) or S(177) or S(178); -- --SM06-------------------------------------------------------- -- hgbits(060) <= S(200) or S(201) or S(202); -- hgbits(062) <= S(203) or S(204) or S(205); -- hgbits(064) <= S(206) or S(207) or S(222) or S(223); -- hgbits(066) <= S(219) or S(220) or S(221); -- hgbits(068) <= S(216) or S(217) or S(218); -- --------------------------------------------- -- hgbits(061) <= S(192) or S(193) or S(194); -- hgbits(063) <= S(195) or S(196) or S(197); -- hgbits(065) <= S(198) or S(199) or S(214) or S(215); -- hgbits(067) <= S(211) or S(212) or S(213); -- hgbits(069) <= S(208) or S(209) or S(210); -- --SM07-------------------------------------------------------- -- hgbits(070) <= S(232) or S(233) or S(234); -- hgbits(072) <= S(235) or S(236) or S(237); -- hgbits(074) <= S(238) or S(239) or S(254) or S(255); -- hgbits(076) <= S(251) or S(252) or S(253); -- hgbits(078) <= S(248) or S(249) or S(250); -- --------------------------------------------- -- hgbits(071) <= S(224) or S(225) or S(226); -- hgbits(073) <= S(227) or S(228) or S(229); -- hgbits(075) <= S(230) or S(231) or S(246) or S(247); -- hgbits(077) <= S(243) or S(244) or S(245); -- hgbits(079) <= S(240) or S(241) or S(242); -- --SM08-------------------------------------------------------- -- hgbits(080) <= S(264) or S(265) or S(266); -- hgbits(082) <= S(267) or S(268) or S(269); -- hgbits(084) <= S(270) or S(271) or S(286) or S(287); -- hgbits(086) <= S(283) or S(284) or S(285); -- hgbits(088) <= S(280) or S(281) or S(282); -- --------------------------------------------- -- hgbits(081) <= S(256) or S(257) or S(258); -- hgbits(083) <= S(259) or S(260) or S(261); -- hgbits(085) <= S(262) or S(263) or S(278) or S(279); -- hgbits(087) <= S(275) or S(276) or S(277); -- hgbits(089) <= S(272) or S(273) or S(274); -- --SM09-------------------------------------------------------- -- hgbits(090) <= S(296) or S(297) or S(298); -- hgbits(092) <= S(299) or S(300) or S(301); -- hgbits(094) <= S(302) or S(303) or S(318) or S(319); -- hgbits(096) <= S(315) or S(316) or S(317); -- hgbits(098) <= S(312) or S(313) or S(314); -- --------------------------------------------- -- hgbits(091) <= S(288) or S(289) or S(290); -- hgbits(093) <= S(291) or S(292) or S(293); -- hgbits(095) <= S(294) or S(295) or S(310) or S(311); -- hgbits(097) <= S(307) or S(308) or S(309); -- hgbits(099) <= S(304) or S(305) or S(306); -- --SM10-------------------------------------------------------- -- hgbits(100) <= S(328) or S(329) or S(330); -- hgbits(102) <= S(331) or S(332) or S(333); -- hgbits(104) <= S(334) or S(335) or S(350) or S(351); -- hgbits(106) <= S(347) or S(348) or S(349); -- hgbits(108) <= S(344) or S(345) or S(346); -- --------------------------------------------- -- hgbits(101) <= S(320) or S(321) or S(322); -- hgbits(103) <= S(323) or S(324) or S(325); -- hgbits(105) <= S(326) or S(327) or S(342) or S(343); -- hgbits(107) <= S(339) or S(340) or S(341); -- hgbits(109) <= S(336) or S(337) or S(338); -- --SM11-------------------------------------------------------- -- hgbits(110) <= S(360) or S(361) or S(362); -- hgbits(112) <= S(363) or S(364) or S(365); -- hgbits(114) <= S(366) or S(367) or S(382) or S(383); -- hgbits(116) <= S(379) or S(380) or S(381); -- hgbits(118) <= S(376) or S(377) or S(378); -- --------------------------------------------- -- hgbits(111) <= S(352) or S(353) or S(354); -- hgbits(113) <= S(355) or S(356) or S(357); -- hgbits(115) <= S(358) or S(359) or S(374) or S(375); -- hgbits(117) <= S(371) or S(372) or S(373); -- hgbits(119) <= S(368) or S(369) or S(370); -- --SM12-------------------------------------------------------- -- hgbits(120) <= S(392) or S(393) or S(394); -- hgbits(122) <= S(395) or S(396) or S(397); -- hgbits(124) <= S(398) or S(399) or S(414) or S(415); -- hgbits(126) <= S(411) or S(412) or S(413); -- hgbits(128) <= S(408) or S(409) or S(410); -- --------------------------------------------- -- hgbits(121) <= S(384) or S(385) or S(386); -- hgbits(123) <= S(387) or S(388) or S(389); -- hgbits(125) <= S(390) or S(391) or S(406) or S(407); -- hgbits(127) <= S(403) or S(404) or S(405); -- hgbits(129) <= S(400) or S(401) or S(402); -- --SM13-------------------------------------------------------- -- hgbits(130) <= S(424) or S(425) or S(426); -- hgbits(132) <= S(427) or S(428) or S(429); -- hgbits(134) <= S(430) or S(431) or S(446) or S(447); -- hgbits(136) <= S(443) or S(444) or S(445); -- hgbits(138) <= S(440) or S(441) or S(442); -- --------------------------------------------- -- hgbits(131) <= S(416) or S(417) or S(418); -- hgbits(133) <= S(419) or S(420) or S(421); -- hgbits(135) <= S(422) or S(423) or S(438) or S(439); -- hgbits(137) <= S(435) or S(436) or S(437); -- hgbits(139) <= S(432) or S(433) or S(434); -- --SM14-------------------------------------------------------- -- hgbits(140) <= S(456) or S(457) or S(458); -- hgbits(142) <= S(459) or S(460) or S(461); -- hgbits(144) <= S(462) or S(463) or S(478) or S(479); -- hgbits(146) <= S(475) or S(476) or S(477); -- hgbits(148) <= S(472) or S(473) or S(474); -- --------------------------------------------- -- hgbits(141) <= S(448) or S(449) or S(450); -- hgbits(143) <= S(451) or S(452) or S(453); -- hgbits(145) <= S(454) or S(455) or S(470) or S(471); -- hgbits(147) <= S(467) or S(468) or S(469); -- hgbits(149) <= S(464) or S(465) or S(466); -- --SM15-------------------------------------------------------- -- hgbits(150) <= S(488) or S(489) or S(490); -- hgbits(152) <= S(491) or S(492) or S(493); -- hgbits(154) <= S(494) or S(495) or S(510) or S(511); -- hgbits(156) <= S(507) or S(508) or S(509); -- hgbits(158) <= S(504) or S(505) or S(506); -- --------------------------------------------- -- hgbits(151) <= S(480) or S(481) or S(482); -- hgbits(153) <= S(483) or S(484) or S(485); -- hgbits(155) <= S(486) or S(487) or S(502) or S(503); -- hgbits(157) <= S(499) or S(500) or S(501); -- hgbits(159) <= S(496) or S(497) or S(498); -- --SM16-------------------------------------------------------- -- hgbits(160) <= S(520) or S(521) or S(522); -- hgbits(162) <= S(523) or S(524) or S(525); -- hgbits(164) <= S(526) or S(527) or S(542) or S(543); -- hgbits(166) <= S(539) or S(540) or S(541); -- hgbits(168) <= S(536) or S(537) or S(538); -- --------------------------------------------- -- hgbits(161) <= S(512) or S(513) or S(514); -- hgbits(163) <= S(515) or S(516) or S(517); -- hgbits(165) <= S(518) or S(519) or S(534) or S(535); -- hgbits(167) <= S(531) or S(532) or S(533); -- hgbits(169) <= S(528) or S(529) or S(530); -- --SM17-------------------------------------------------------- -- hgbits(170) <= S(552) or S(553) or S(554); -- hgbits(172) <= S(555) or S(556) or S(557); -- hgbits(174) <= S(558) or S(559) or S(574) or S(575); -- hgbits(176) <= S(571) or S(572) or S(573); -- hgbits(178) <= S(568) or S(569) or S(570); -- --------------------------------------------- -- hgbits(171) <= S(544) or S(545) or S(546); -- hgbits(173) <= S(547) or S(548) or S(549); -- hgbits(175) <= S(550) or S(551) or S(566) or S(567); -- hgbits(177) <= S(563) or S(564) or S(565); -- hgbits(179) <= S(560) or S(561) or S(562); -- ############################################################# -- Supermodules 0 - 9 : -- coinc_0btb(00) <= hgbits(000) and hgbits(098); -- coinc_0btb(01) <= hgbits(001) and hgbits(099); -- coinc_0btb(02) <= hgbits(002) and hgbits(096); -- coinc_0btb(03) <= hgbits(003) and hgbits(097); -- coinc_0btb(04) <= hgbits(004) and hgbits(094); -- coinc_0btb(05) <= hgbits(005) and hgbits(095); -- coinc_0btb(06) <= hgbits(006) and hgbits(092); -- coinc_0btb(07) <= hgbits(007) and hgbits(093); -- coinc_0btb(08) <= hgbits(008) and hgbits(090); -- coinc_0btb(09) <= hgbits(009) and hgbits(091); -- Supermodules 1 - 10 : -- coinc_0btb(10) <= hgbits(010) and hgbits(108); -- coinc_0btb(11) <= hgbits(011) and hgbits(109); -- coinc_0btb(12) <= hgbits(012) and hgbits(106); -- coinc_0btb(13) <= hgbits(013) and hgbits(107); -- coinc_0btb(14) <= hgbits(014) and hgbits(104); -- coinc_0btb(15) <= hgbits(015) and hgbits(105); -- coinc_0btb(16) <= hgbits(016) and hgbits(102); -- coinc_0btb(17) <= hgbits(017) and hgbits(103); -- coinc_0btb(18) <= hgbits(018) and hgbits(100); -- coinc_0btb(19) <= hgbits(019) and hgbits(101); -- Supermodules 2 - 11 : -- coinc_0btb(20) <= hgbits(020) and hgbits(118); -- coinc_0btb(21) <= hgbits(021) and hgbits(119); -- coinc_0btb(22) <= hgbits(022) and hgbits(116); -- coinc_0btb(23) <= hgbits(023) and hgbits(117); -- coinc_0btb(24) <= hgbits(024) and hgbits(114); -- coinc_0btb(25) <= hgbits(025) and hgbits(115); -- coinc_0btb(26) <= hgbits(026) and hgbits(112); -- coinc_0btb(27) <= hgbits(027) and hgbits(113); -- coinc_0btb(28) <= hgbits(028) and hgbits(110); -- coinc_0btb(29) <= hgbits(029) and hgbits(111); -- Supermodules 3 - 12 : -- coinc_0btb(30) <= hgbits(030) and hgbits(128); -- coinc_0btb(31) <= hgbits(031) and hgbits(129); -- coinc_0btb(32) <= hgbits(032) and hgbits(126); -- coinc_0btb(33) <= hgbits(033) and hgbits(127); -- coinc_0btb(34) <= hgbits(034) and hgbits(124); -- coinc_0btb(35) <= hgbits(035) and hgbits(125); -- coinc_0btb(36) <= hgbits(036) and hgbits(122); -- coinc_0btb(37) <= hgbits(037) and hgbits(123); -- coinc_0btb(38) <= hgbits(038) and hgbits(120); -- coinc_0btb(39) <= hgbits(039) and hgbits(121); -- Supermodules 4 - 13 : -- coinc_0btb(40) <= hgbits(040) and hgbits(138); -- coinc_0btb(41) <= hgbits(041) and hgbits(139); -- coinc_0btb(42) <= hgbits(042) and hgbits(136); -- coinc_0btb(43) <= hgbits(043) and hgbits(137); -- coinc_0btb(44) <= hgbits(044) and hgbits(134); -- coinc_0btb(45) <= hgbits(045) and hgbits(135); -- coinc_0btb(46) <= hgbits(046) and hgbits(132); -- coinc_0btb(47) <= hgbits(047) and hgbits(133); -- coinc_0btb(48) <= hgbits(048) and hgbits(130); -- coinc_0btb(49) <= hgbits(049) and hgbits(131); -- Supermodules 5 - 14 : -- coinc_0btb(50) <= hgbits(050) and hgbits(148); -- coinc_0btb(51) <= hgbits(051) and hgbits(149); -- coinc_0btb(52) <= hgbits(052) and hgbits(146); -- coinc_0btb(53) <= hgbits(053) and hgbits(147); -- coinc_0btb(54) <= hgbits(054) and hgbits(144); -- coinc_0btb(55) <= hgbits(055) and hgbits(145); -- coinc_0btb(56) <= hgbits(056) and hgbits(142); -- coinc_0btb(57) <= hgbits(057) and hgbits(143); -- coinc_0btb(58) <= hgbits(058) and hgbits(140); -- coinc_0btb(59) <= hgbits(059) and hgbits(141); -- Supermodules 6 - 15 : -- coinc_0btb(60) <= hgbits(060) and hgbits(158); -- coinc_0btb(61) <= hgbits(061) and hgbits(159); -- coinc_0btb(62) <= hgbits(062) and hgbits(156); -- coinc_0btb(63) <= hgbits(063) and hgbits(157); -- coinc_0btb(64) <= hgbits(064) and hgbits(154); -- coinc_0btb(65) <= hgbits(065) and hgbits(155); -- coinc_0btb(66) <= hgbits(066) and hgbits(152); -- coinc_0btb(67) <= hgbits(067) and hgbits(153); -- coinc_0btb(68) <= hgbits(068) and hgbits(150); -- coinc_0btb(69) <= hgbits(069) and hgbits(151); -- Supermodules 7 - 16 : -- coinc_0btb(70) <= hgbits(070) and hgbits(168); -- coinc_0btb(71) <= hgbits(071) and hgbits(169); -- coinc_0btb(72) <= hgbits(072) and hgbits(166); -- coinc_0btb(73) <= hgbits(073) and hgbits(167); -- coinc_0btb(74) <= hgbits(074) and hgbits(164); -- coinc_0btb(75) <= hgbits(075) and hgbits(165); -- coinc_0btb(76) <= hgbits(076) and hgbits(162); -- coinc_0btb(77) <= hgbits(077) and hgbits(163); -- coinc_0btb(78) <= hgbits(078) and hgbits(160); -- coinc_0btb(79) <= hgbits(079) and hgbits(161); -- Supermodules 8 - 17 : -- coinc_0btb(80) <= hgbits(080) and hgbits(178); -- coinc_0btb(81) <= hgbits(081) and hgbits(179); -- coinc_0btb(82) <= hgbits(082) and hgbits(176); -- coinc_0btb(83) <= hgbits(083) and hgbits(177); -- coinc_0btb(84) <= hgbits(084) and hgbits(174); -- coinc_0btb(85) <= hgbits(085) and hgbits(175); -- coinc_0btb(86) <= hgbits(086) and hgbits(172); -- coinc_0btb(87) <= hgbits(087) and hgbits(173); -- coinc_0btb(88) <= hgbits(088) and hgbits(170); -- coinc_0btb(89) <= hgbits(089) and hgbits(171);