---------|---------|---------|---------|---------|---------|---------|---------| -- Author : Tom Vu -- Date : 09/07/97 -- Description : Search Unit, 24 search units per ASIC -------------------------------------------------------------------------------- library ieee; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; use IEEE.std_logic_unsigned.all; -------------------------------------------------------------------------------- entity MUX256 is port( SHIFT_OUT : in std_logic_vector(7 downto 0); PT_VECTOR : in std_logic_vector(255 downto 0); BIT_MUX : out std_logic ); end MUX256; -------------------------------------------------------------------------------- architecture beh of MUX256 is -------------------------------------------------------------------------------- begin -------------------------------------------------------------------------------- DECODER_PR: process(SHIFT_OUT,PT_VECTOR) -------------------------------------------------------------------------------- variable ii : integer; begin ii := conv_integer(SHIFT_OUT); case ii is when 0 => BIT_MUX <= PT_VECTOR(0); when 1 => BIT_MUX <= PT_VECTOR(1); when 2 => BIT_MUX <= PT_VECTOR(2); when 3 => BIT_MUX <= PT_VECTOR(3); when 4 => BIT_MUX <= PT_VECTOR(4); when 5 => BIT_MUX <= PT_VECTOR(5); when 6 => BIT_MUX <= PT_VECTOR(6); when 7 => BIT_MUX <= PT_VECTOR(7); when 8 => BIT_MUX <= PT_VECTOR(8); when 9 => BIT_MUX <= PT_VECTOR(9); when 10 => BIT_MUX <= PT_VECTOR(10); when 11 => BIT_MUX <= PT_VECTOR(11); when 12 => BIT_MUX <= PT_VECTOR(12); when 13 => BIT_MUX <= PT_VECTOR(13); when 14 => BIT_MUX <= PT_VECTOR(14); when 15 => BIT_MUX <= PT_VECTOR(15); when 16 => BIT_MUX <= PT_VECTOR(16); when 17 => BIT_MUX <= PT_VECTOR(17); when 18 => BIT_MUX <= PT_VECTOR(18); when 19 => BIT_MUX <= PT_VECTOR(19); when 20 => BIT_MUX <= PT_VECTOR(20); when 21 => BIT_MUX <= PT_VECTOR(21); when 22 => BIT_MUX <= PT_VECTOR(22); when 23 => BIT_MUX <= PT_VECTOR(23); when 24 => BIT_MUX <= PT_VECTOR(24); when 25 => BIT_MUX <= PT_VECTOR(25); when 26 => BIT_MUX <= PT_VECTOR(26); when 27 => BIT_MUX <= PT_VECTOR(27); when 28 => BIT_MUX <= PT_VECTOR(28); when 29 => BIT_MUX <= PT_VECTOR(29); when 30 => BIT_MUX <= PT_VECTOR(30); when 31 => BIT_MUX <= PT_VECTOR(31); when 32 => BIT_MUX <= PT_VECTOR(32); when 33 => BIT_MUX <= PT_VECTOR(33); when 34 => BIT_MUX <= PT_VECTOR(34); when 35 => BIT_MUX <= PT_VECTOR(35); when 36 => BIT_MUX <= PT_VECTOR(36); when 37 => BIT_MUX <= PT_VECTOR(37); when 38 => BIT_MUX <= PT_VECTOR(38); when 39 => BIT_MUX <= PT_VECTOR(39); when 40 => BIT_MUX <= PT_VECTOR(40); when 41 => BIT_MUX <= PT_VECTOR(41); when 42 => BIT_MUX <= PT_VECTOR(42); when 43 => BIT_MUX <= PT_VECTOR(43); when 44 => BIT_MUX <= PT_VECTOR(44); when 45 => BIT_MUX <= PT_VECTOR(45); when 46 => BIT_MUX <= PT_VECTOR(46); when 47 => BIT_MUX <= PT_VECTOR(47); when 48 => BIT_MUX <= PT_VECTOR(48); when 49 => BIT_MUX <= PT_VECTOR(49); when 50 => BIT_MUX <= PT_VECTOR(50); when 51 => BIT_MUX <= PT_VECTOR(51); when 52 => BIT_MUX <= PT_VECTOR(52); when 53 => BIT_MUX <= PT_VECTOR(53); when 54 => BIT_MUX <= PT_VECTOR(54); when 55 => BIT_MUX <= PT_VECTOR(55); when 56 => BIT_MUX <= PT_VECTOR(56); when 57 => BIT_MUX <= PT_VECTOR(57); when 58 => BIT_MUX <= PT_VECTOR(58); when 59 => BIT_MUX <= PT_VECTOR(59); when 60 => BIT_MUX <= PT_VECTOR(60); when 61 => BIT_MUX <= PT_VECTOR(61); when 62 => BIT_MUX <= PT_VECTOR(62); when 63 => BIT_MUX <= PT_VECTOR(63); when 64 => BIT_MUX <= PT_VECTOR(64); when 65 => BIT_MUX <= PT_VECTOR(65); when 66 => BIT_MUX <= PT_VECTOR(66); when 67 => BIT_MUX <= PT_VECTOR(67); when 68 => BIT_MUX <= PT_VECTOR(68); when 69 => BIT_MUX <= PT_VECTOR(69); when 70 => BIT_MUX <= PT_VECTOR(70); when 71 => BIT_MUX <= PT_VECTOR(71); when 72 => BIT_MUX <= PT_VECTOR(72); when 73 => BIT_MUX <= PT_VECTOR(73); when 74 => BIT_MUX <= PT_VECTOR(74); when 75 => BIT_MUX <= PT_VECTOR(75); when 76 => BIT_MUX <= PT_VECTOR(76); when 77 => BIT_MUX <= PT_VECTOR(77); when 78 => BIT_MUX <= PT_VECTOR(78); when 79 => BIT_MUX <= PT_VECTOR(79); when 80 => BIT_MUX <= PT_VECTOR(80); when 81 => BIT_MUX <= PT_VECTOR(81); when 82 => BIT_MUX <= PT_VECTOR(82); when 83 => BIT_MUX <= PT_VECTOR(83); when 84 => BIT_MUX <= PT_VECTOR(84); when 85 => BIT_MUX <= PT_VECTOR(85); when 86 => BIT_MUX <= PT_VECTOR(86); when 87 => BIT_MUX <= PT_VECTOR(87); when 88 => BIT_MUX <= PT_VECTOR(88); when 89 => BIT_MUX <= PT_VECTOR(89); when 90 => BIT_MUX <= PT_VECTOR(90); when 91 => BIT_MUX <= PT_VECTOR(91); when 92 => BIT_MUX <= PT_VECTOR(92); when 93 => BIT_MUX <= PT_VECTOR(93); when 94 => BIT_MUX <= PT_VECTOR(94); when 95 => BIT_MUX <= PT_VECTOR(95); when 96 => BIT_MUX <= PT_VECTOR(96); when 97 => BIT_MUX <= PT_VECTOR(97); when 98 => BIT_MUX <= PT_VECTOR(98); when 99 => BIT_MUX <= PT_VECTOR(99); when 100 => BIT_MUX <= PT_VECTOR(100); when 101 => BIT_MUX <= PT_VECTOR(101); when 102 => BIT_MUX <= PT_VECTOR(102); when 103 => BIT_MUX <= PT_VECTOR(103); when 104 => BIT_MUX <= PT_VECTOR(104); when 105 => BIT_MUX <= PT_VECTOR(105); when 106 => BIT_MUX <= PT_VECTOR(106); when 107 => BIT_MUX <= PT_VECTOR(107); when 108 => BIT_MUX <= PT_VECTOR(108); when 109 => BIT_MUX <= PT_VECTOR(109); when 110 => BIT_MUX <= PT_VECTOR(110); when 111 => BIT_MUX <= PT_VECTOR(111); when 112 => BIT_MUX <= PT_VECTOR(112); when 113 => BIT_MUX <= PT_VECTOR(113); when 114 => BIT_MUX <= PT_VECTOR(114); when 115 => BIT_MUX <= PT_VECTOR(115); when 116 => BIT_MUX <= PT_VECTOR(116); when 117 => BIT_MUX <= PT_VECTOR(117); when 118 => BIT_MUX <= PT_VECTOR(118); when 119 => BIT_MUX <= PT_VECTOR(119); when 120 => BIT_MUX <= PT_VECTOR(120); when 121 => BIT_MUX <= PT_VECTOR(121); when 122 => BIT_MUX <= PT_VECTOR(122); when 123 => BIT_MUX <= PT_VECTOR(123); when 124 => BIT_MUX <= PT_VECTOR(124); when 125 => BIT_MUX <= PT_VECTOR(125); when 126 => BIT_MUX <= PT_VECTOR(126); when 127 => BIT_MUX <= PT_VECTOR(127); when 128 => BIT_MUX <= PT_VECTOR(128); when 129 => BIT_MUX <= PT_VECTOR(129); when 130 => BIT_MUX <= PT_VECTOR(130); when 131 => BIT_MUX <= PT_VECTOR(131); when 132 => BIT_MUX <= PT_VECTOR(132); when 133 => BIT_MUX <= PT_VECTOR(133); when 134 => BIT_MUX <= PT_VECTOR(134); when 135 => BIT_MUX <= PT_VECTOR(135); when 136 => BIT_MUX <= PT_VECTOR(136); when 137 => BIT_MUX <= PT_VECTOR(137); when 138 => BIT_MUX <= PT_VECTOR(138); when 139 => BIT_MUX <= PT_VECTOR(139); when 140 => BIT_MUX <= PT_VECTOR(140); when 141 => BIT_MUX <= PT_VECTOR(141); when 142 => BIT_MUX <= PT_VECTOR(142); when 143 => BIT_MUX <= PT_VECTOR(143); when 144 => BIT_MUX <= PT_VECTOR(144); when 145 => BIT_MUX <= PT_VECTOR(145); when 146 => BIT_MUX <= PT_VECTOR(146); when 147 => BIT_MUX <= PT_VECTOR(147); when 148 => BIT_MUX <= PT_VECTOR(148); when 149 => BIT_MUX <= PT_VECTOR(149); when 150 => BIT_MUX <= PT_VECTOR(150); when 151 => BIT_MUX <= PT_VECTOR(151); when 152 => BIT_MUX <= PT_VECTOR(152); when 153 => BIT_MUX <= PT_VECTOR(153); when 154 => BIT_MUX <= PT_VECTOR(154); when 155 => BIT_MUX <= PT_VECTOR(155); when 156 => BIT_MUX <= PT_VECTOR(156); when 157 => BIT_MUX <= PT_VECTOR(157); when 158 => BIT_MUX <= PT_VECTOR(158); when 159 => BIT_MUX <= PT_VECTOR(159); when 160 => BIT_MUX <= PT_VECTOR(160); when 161 => BIT_MUX <= PT_VECTOR(161); when 162 => BIT_MUX <= PT_VECTOR(162); when 163 => BIT_MUX <= PT_VECTOR(163); when 164 => BIT_MUX <= PT_VECTOR(164); when 165 => BIT_MUX <= PT_VECTOR(165); when 166 => BIT_MUX <= PT_VECTOR(166); when 167 => BIT_MUX <= PT_VECTOR(167); when 168 => BIT_MUX <= PT_VECTOR(168); when 169 => BIT_MUX <= PT_VECTOR(169); when 170 => BIT_MUX <= PT_VECTOR(170); when 171 => BIT_MUX <= PT_VECTOR(171); when 172 => BIT_MUX <= PT_VECTOR(172); when 173 => BIT_MUX <= PT_VECTOR(173); when 174 => BIT_MUX <= PT_VECTOR(174); when 175 => BIT_MUX <= PT_VECTOR(175); when 176 => BIT_MUX <= PT_VECTOR(176); when 177 => BIT_MUX <= PT_VECTOR(177); when 178 => BIT_MUX <= PT_VECTOR(178); when 179 => BIT_MUX <= PT_VECTOR(179); when 180 => BIT_MUX <= PT_VECTOR(180); when 181 => BIT_MUX <= PT_VECTOR(181); when 182 => BIT_MUX <= PT_VECTOR(182); when 183 => BIT_MUX <= PT_VECTOR(183); when 184 => BIT_MUX <= PT_VECTOR(184); when 185 => BIT_MUX <= PT_VECTOR(185); when 186 => BIT_MUX <= PT_VECTOR(186); when 187 => BIT_MUX <= PT_VECTOR(187); when 188 => BIT_MUX <= PT_VECTOR(188); when 189 => BIT_MUX <= PT_VECTOR(189); when 190 => BIT_MUX <= PT_VECTOR(190); when 191 => BIT_MUX <= PT_VECTOR(191); when 192 => BIT_MUX <= PT_VECTOR(192); when 193 => BIT_MUX <= PT_VECTOR(193); when 194 => BIT_MUX <= PT_VECTOR(194); when 195 => BIT_MUX <= PT_VECTOR(195); when 196 => BIT_MUX <= PT_VECTOR(196); when 197 => BIT_MUX <= PT_VECTOR(197); when 198 => BIT_MUX <= PT_VECTOR(198); when 199 => BIT_MUX <= PT_VECTOR(199); when 200 => BIT_MUX <= PT_VECTOR(200); when 201 => BIT_MUX <= PT_VECTOR(201); when 202 => BIT_MUX <= PT_VECTOR(202); when 203 => BIT_MUX <= PT_VECTOR(203); when 204 => BIT_MUX <= PT_VECTOR(204); when 205 => BIT_MUX <= PT_VECTOR(205); when 206 => BIT_MUX <= PT_VECTOR(206); when 207 => BIT_MUX <= PT_VECTOR(207); when 208 => BIT_MUX <= PT_VECTOR(208); when 209 => BIT_MUX <= PT_VECTOR(209); when 210 => BIT_MUX <= PT_VECTOR(210); when 211 => BIT_MUX <= PT_VECTOR(211); when 212 => BIT_MUX <= PT_VECTOR(212); when 213 => BIT_MUX <= PT_VECTOR(213); when 214 => BIT_MUX <= PT_VECTOR(214); when 215 => BIT_MUX <= PT_VECTOR(215); when 216 => BIT_MUX <= PT_VECTOR(216); when 217 => BIT_MUX <= PT_VECTOR(217); when 218 => BIT_MUX <= PT_VECTOR(218); when 219 => BIT_MUX <= PT_VECTOR(219); when 220 => BIT_MUX <= PT_VECTOR(220); when 221 => BIT_MUX <= PT_VECTOR(221); when 222 => BIT_MUX <= PT_VECTOR(222); when 223 => BIT_MUX <= PT_VECTOR(223); when 224 => BIT_MUX <= PT_VECTOR(224); when 225 => BIT_MUX <= PT_VECTOR(225); when 226 => BIT_MUX <= PT_VECTOR(226); when 227 => BIT_MUX <= PT_VECTOR(227); when 228 => BIT_MUX <= PT_VECTOR(228); when 229 => BIT_MUX <= PT_VECTOR(229); when 230 => BIT_MUX <= PT_VECTOR(230); when 231 => BIT_MUX <= PT_VECTOR(231); when 232 => BIT_MUX <= PT_VECTOR(232); when 233 => BIT_MUX <= PT_VECTOR(233); when 234 => BIT_MUX <= PT_VECTOR(234); when 235 => BIT_MUX <= PT_VECTOR(235); when 236 => BIT_MUX <= PT_VECTOR(236); when 237 => BIT_MUX <= PT_VECTOR(237); when 238 => BIT_MUX <= PT_VECTOR(238); when 239 => BIT_MUX <= PT_VECTOR(239); when 240 => BIT_MUX <= PT_VECTOR(240); when 241 => BIT_MUX <= PT_VECTOR(241); when 242 => BIT_MUX <= PT_VECTOR(242); when 243 => BIT_MUX <= PT_VECTOR(243); when 244 => BIT_MUX <= PT_VECTOR(244); when 245 => BIT_MUX <= PT_VECTOR(245); when 246 => BIT_MUX <= PT_VECTOR(246); when 247 => BIT_MUX <= PT_VECTOR(247); when 248 => BIT_MUX <= PT_VECTOR(248); when 249 => BIT_MUX <= PT_VECTOR(249); when 250 => BIT_MUX <= PT_VECTOR(250); when 251 => BIT_MUX <= PT_VECTOR(251); when 252 => BIT_MUX <= PT_VECTOR(252); when 253 => BIT_MUX <= PT_VECTOR(253); when 254 => BIT_MUX <= PT_VECTOR(254); when 255 => BIT_MUX <= PT_VECTOR(255); when others => BIT_MUX <= '0'; end case; end process DECODER_PR; -------------------------------------------------------------------------------- end beh; --------------------------------------------------------------------------------