blob: 7f00d750944aa1fa59f16ce9b61af232bcc6f960 [file] [log] [blame]
/*
* Copyright 2019 Google Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met: redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer;
* redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution;
* neither the name of the copyright holders nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* Authors: Gabe Black
* Chun-Chen TK Hsu
*/
component GIC
{
composition
{
gic : GIC_IRI();
// Bridges
// For the main interface with memory.
mem_out : PVBus2AMBAPV();
mem_in : AMBAPV2PVBus();
// For the CPU interfaces.
gic_gic2pv : GICv3CommsPVBus();
gic_pv2amba : PVBus2AMBAPV();
gic_amba2pv : AMBAPV2PVBus();
}
connection
{
// For the main interface with memory.
gic.pvbus_m => mem_out.pvbus_s;
mem_out.amba_pv_m => self.amba_m;
self.amba_s => mem_in.amba_pv_s;
mem_in.pvbus_m => gic.pvbus_s;
// For the CPU interface.
gic.redistributor_m => self.redistributor;
// Internal ports for PPI and SPI programmatic access.
self.ppi_0 => gic.ppi_in_0;
self.ppi_1 => gic.ppi_in_1;
self.ppi_2 => gic.ppi_in_2;
self.ppi_3 => gic.ppi_in_3;
self.ppi_4 => gic.ppi_in_4;
self.ppi_5 => gic.ppi_in_5;
self.ppi_6 => gic.ppi_in_6;
self.ppi_7 => gic.ppi_in_7;
self.ppi_8 => gic.ppi_in_8;
self.ppi_9 => gic.ppi_in_9;
self.ppi_10 => gic.ppi_in_10;
self.ppi_11 => gic.ppi_in_11;
self.ppi_12 => gic.ppi_in_12;
self.ppi_13 => gic.ppi_in_13;
self.ppi_14 => gic.ppi_in_14;
self.ppi_15 => gic.ppi_in_15;
self.ppi_16 => gic.ppi_in_16;
self.ppi_17 => gic.ppi_in_17;
self.ppi_18 => gic.ppi_in_18;
self.ppi_19 => gic.ppi_in_19;
self.ppi_20 => gic.ppi_in_20;
self.ppi_21 => gic.ppi_in_21;
self.ppi_22 => gic.ppi_in_22;
self.ppi_23 => gic.ppi_in_23;
self.ppi_24 => gic.ppi_in_24;
self.ppi_25 => gic.ppi_in_25;
self.ppi_26 => gic.ppi_in_26;
self.ppi_27 => gic.ppi_in_27;
self.ppi_28 => gic.ppi_in_28;
self.ppi_29 => gic.ppi_in_29;
self.ppi_30 => gic.ppi_in_30;
self.ppi_31 => gic.ppi_in_31;
self.ppi_32 => gic.ppi_in_32;
self.ppi_33 => gic.ppi_in_33;
self.ppi_34 => gic.ppi_in_34;
self.ppi_35 => gic.ppi_in_35;
self.ppi_36 => gic.ppi_in_36;
self.ppi_37 => gic.ppi_in_37;
self.ppi_38 => gic.ppi_in_38;
self.ppi_39 => gic.ppi_in_39;
self.ppi_40 => gic.ppi_in_40;
self.ppi_41 => gic.ppi_in_41;
self.ppi_42 => gic.ppi_in_42;
self.ppi_43 => gic.ppi_in_43;
self.ppi_44 => gic.ppi_in_44;
self.ppi_45 => gic.ppi_in_45;
self.ppi_46 => gic.ppi_in_46;
self.ppi_47 => gic.ppi_in_47;
self.ppi_48 => gic.ppi_in_48;
self.ppi_49 => gic.ppi_in_49;
self.ppi_50 => gic.ppi_in_50;
self.ppi_51 => gic.ppi_in_51;
self.ppi_52 => gic.ppi_in_52;
self.ppi_53 => gic.ppi_in_53;
self.ppi_54 => gic.ppi_in_54;
self.ppi_55 => gic.ppi_in_55;
self.ppi_56 => gic.ppi_in_56;
self.ppi_57 => gic.ppi_in_57;
self.ppi_58 => gic.ppi_in_58;
self.ppi_59 => gic.ppi_in_59;
self.ppi_60 => gic.ppi_in_60;
self.ppi_61 => gic.ppi_in_61;
self.ppi_62 => gic.ppi_in_62;
self.ppi_63 => gic.ppi_in_63;
self.ppi_64 => gic.ppi_in_64;
self.ppi_65 => gic.ppi_in_65;
self.ppi_66 => gic.ppi_in_66;
self.ppi_67 => gic.ppi_in_67;
self.ppi_68 => gic.ppi_in_68;
self.ppi_69 => gic.ppi_in_69;
self.ppi_70 => gic.ppi_in_70;
self.ppi_71 => gic.ppi_in_71;
self.ppi_72 => gic.ppi_in_72;
self.ppi_73 => gic.ppi_in_73;
self.ppi_74 => gic.ppi_in_74;
self.ppi_75 => gic.ppi_in_75;
self.ppi_76 => gic.ppi_in_76;
self.ppi_77 => gic.ppi_in_77;
self.ppi_78 => gic.ppi_in_78;
self.ppi_79 => gic.ppi_in_79;
self.ppi_80 => gic.ppi_in_80;
self.ppi_81 => gic.ppi_in_81;
self.ppi_82 => gic.ppi_in_82;
self.ppi_83 => gic.ppi_in_83;
self.ppi_84 => gic.ppi_in_84;
self.ppi_85 => gic.ppi_in_85;
self.ppi_86 => gic.ppi_in_86;
self.ppi_87 => gic.ppi_in_87;
self.ppi_88 => gic.ppi_in_88;
self.ppi_89 => gic.ppi_in_89;
self.ppi_90 => gic.ppi_in_90;
self.ppi_91 => gic.ppi_in_91;
self.ppi_92 => gic.ppi_in_92;
self.ppi_93 => gic.ppi_in_93;
self.ppi_94 => gic.ppi_in_94;
self.ppi_95 => gic.ppi_in_95;
self.ppi_96 => gic.ppi_in_96;
self.ppi_97 => gic.ppi_in_97;
self.ppi_98 => gic.ppi_in_98;
self.ppi_99 => gic.ppi_in_99;
self.ppi_100 => gic.ppi_in_100;
self.ppi_101 => gic.ppi_in_101;
self.ppi_102 => gic.ppi_in_102;
self.ppi_103 => gic.ppi_in_103;
self.ppi_104 => gic.ppi_in_104;
self.ppi_105 => gic.ppi_in_105;
self.ppi_106 => gic.ppi_in_106;
self.ppi_107 => gic.ppi_in_107;
self.ppi_108 => gic.ppi_in_108;
self.ppi_109 => gic.ppi_in_109;
self.ppi_110 => gic.ppi_in_110;
self.ppi_111 => gic.ppi_in_111;
self.ppi_112 => gic.ppi_in_112;
self.ppi_113 => gic.ppi_in_113;
self.ppi_114 => gic.ppi_in_114;
self.ppi_115 => gic.ppi_in_115;
self.ppi_116 => gic.ppi_in_116;
self.ppi_117 => gic.ppi_in_117;
self.ppi_118 => gic.ppi_in_118;
self.ppi_119 => gic.ppi_in_119;
self.ppi_120 => gic.ppi_in_120;
self.ppi_121 => gic.ppi_in_121;
self.ppi_122 => gic.ppi_in_122;
self.ppi_123 => gic.ppi_in_123;
self.ppi_124 => gic.ppi_in_124;
self.ppi_125 => gic.ppi_in_125;
self.ppi_126 => gic.ppi_in_126;
self.ppi_127 => gic.ppi_in_127;
self.ppi_128 => gic.ppi_in_128;
self.ppi_129 => gic.ppi_in_129;
self.ppi_130 => gic.ppi_in_130;
self.ppi_131 => gic.ppi_in_131;
self.ppi_132 => gic.ppi_in_132;
self.ppi_133 => gic.ppi_in_133;
self.ppi_134 => gic.ppi_in_134;
self.ppi_135 => gic.ppi_in_135;
self.ppi_136 => gic.ppi_in_136;
self.ppi_137 => gic.ppi_in_137;
self.ppi_138 => gic.ppi_in_138;
self.ppi_139 => gic.ppi_in_139;
self.ppi_140 => gic.ppi_in_140;
self.ppi_141 => gic.ppi_in_141;
self.ppi_142 => gic.ppi_in_142;
self.ppi_143 => gic.ppi_in_143;
self.ppi_144 => gic.ppi_in_144;
self.ppi_145 => gic.ppi_in_145;
self.ppi_146 => gic.ppi_in_146;
self.ppi_147 => gic.ppi_in_147;
self.ppi_148 => gic.ppi_in_148;
self.ppi_149 => gic.ppi_in_149;
self.ppi_150 => gic.ppi_in_150;
self.ppi_151 => gic.ppi_in_151;
self.ppi_152 => gic.ppi_in_152;
self.ppi_153 => gic.ppi_in_153;
self.ppi_154 => gic.ppi_in_154;
self.ppi_155 => gic.ppi_in_155;
self.ppi_156 => gic.ppi_in_156;
self.ppi_157 => gic.ppi_in_157;
self.ppi_158 => gic.ppi_in_158;
self.ppi_159 => gic.ppi_in_159;
self.ppi_160 => gic.ppi_in_160;
self.ppi_161 => gic.ppi_in_161;
self.ppi_162 => gic.ppi_in_162;
self.ppi_163 => gic.ppi_in_163;
self.ppi_164 => gic.ppi_in_164;
self.ppi_165 => gic.ppi_in_165;
self.ppi_166 => gic.ppi_in_166;
self.ppi_167 => gic.ppi_in_167;
self.ppi_168 => gic.ppi_in_168;
self.ppi_169 => gic.ppi_in_169;
self.ppi_170 => gic.ppi_in_170;
self.ppi_171 => gic.ppi_in_171;
self.ppi_172 => gic.ppi_in_172;
self.ppi_173 => gic.ppi_in_173;
self.ppi_174 => gic.ppi_in_174;
self.ppi_175 => gic.ppi_in_175;
self.ppi_176 => gic.ppi_in_176;
self.ppi_177 => gic.ppi_in_177;
self.ppi_178 => gic.ppi_in_178;
self.ppi_179 => gic.ppi_in_179;
self.ppi_180 => gic.ppi_in_180;
self.ppi_181 => gic.ppi_in_181;
self.ppi_182 => gic.ppi_in_182;
self.ppi_183 => gic.ppi_in_183;
self.ppi_184 => gic.ppi_in_184;
self.ppi_185 => gic.ppi_in_185;
self.ppi_186 => gic.ppi_in_186;
self.ppi_187 => gic.ppi_in_187;
self.ppi_188 => gic.ppi_in_188;
self.ppi_189 => gic.ppi_in_189;
self.ppi_190 => gic.ppi_in_190;
self.ppi_191 => gic.ppi_in_191;
self.ppi_192 => gic.ppi_in_192;
self.ppi_193 => gic.ppi_in_193;
self.ppi_194 => gic.ppi_in_194;
self.ppi_195 => gic.ppi_in_195;
self.ppi_196 => gic.ppi_in_196;
self.ppi_197 => gic.ppi_in_197;
self.ppi_198 => gic.ppi_in_198;
self.ppi_199 => gic.ppi_in_199;
self.ppi_200 => gic.ppi_in_200;
self.ppi_201 => gic.ppi_in_201;
self.ppi_202 => gic.ppi_in_202;
self.ppi_203 => gic.ppi_in_203;
self.ppi_204 => gic.ppi_in_204;
self.ppi_205 => gic.ppi_in_205;
self.ppi_206 => gic.ppi_in_206;
self.ppi_207 => gic.ppi_in_207;
self.ppi_208 => gic.ppi_in_208;
self.ppi_209 => gic.ppi_in_209;
self.ppi_210 => gic.ppi_in_210;
self.ppi_211 => gic.ppi_in_211;
self.ppi_212 => gic.ppi_in_212;
self.ppi_213 => gic.ppi_in_213;
self.ppi_214 => gic.ppi_in_214;
self.ppi_215 => gic.ppi_in_215;
self.ppi_216 => gic.ppi_in_216;
self.ppi_217 => gic.ppi_in_217;
self.ppi_218 => gic.ppi_in_218;
self.ppi_219 => gic.ppi_in_219;
self.ppi_220 => gic.ppi_in_220;
self.ppi_221 => gic.ppi_in_221;
self.ppi_222 => gic.ppi_in_222;
self.ppi_223 => gic.ppi_in_223;
self.ppi_224 => gic.ppi_in_224;
self.ppi_225 => gic.ppi_in_225;
self.ppi_226 => gic.ppi_in_226;
self.ppi_227 => gic.ppi_in_227;
self.ppi_228 => gic.ppi_in_228;
self.ppi_229 => gic.ppi_in_229;
self.ppi_230 => gic.ppi_in_230;
self.ppi_231 => gic.ppi_in_231;
self.ppi_232 => gic.ppi_in_232;
self.ppi_233 => gic.ppi_in_233;
self.ppi_234 => gic.ppi_in_234;
self.ppi_235 => gic.ppi_in_235;
self.ppi_236 => gic.ppi_in_236;
self.ppi_237 => gic.ppi_in_237;
self.ppi_238 => gic.ppi_in_238;
self.ppi_239 => gic.ppi_in_239;
self.ppi_240 => gic.ppi_in_240;
self.ppi_241 => gic.ppi_in_241;
self.ppi_242 => gic.ppi_in_242;
self.ppi_243 => gic.ppi_in_243;
self.ppi_244 => gic.ppi_in_244;
self.ppi_245 => gic.ppi_in_245;
self.ppi_246 => gic.ppi_in_246;
self.ppi_247 => gic.ppi_in_247;
self.ppi_248 => gic.ppi_in_248;
self.ppi_249 => gic.ppi_in_249;
self.ppi_250 => gic.ppi_in_250;
self.ppi_251 => gic.ppi_in_251;
self.ppi_252 => gic.ppi_in_252;
self.ppi_253 => gic.ppi_in_253;
self.ppi_254 => gic.ppi_in_254;
self.ppi_255 => gic.ppi_in_255;
self.spi => gic.spi_in;
}
properties
{
component_type = "System";
}
master port<AMBAPV> amba_m;
slave port<AMBAPV> amba_s;
master port<GICv3Comms> redistributor[256];
#define setPPI(C) \
case C: ppi_##C[num].setValue(state); \
break
slave port<SignalInterrupt> signal_interrupt
{
behavior ppi(uint8_t cpu, uint32_t num, bool state_val)
{
sg::Signal::State state =
state_val ? sg::Signal::Set : sg::Signal::Clear;
switch (cpu) {
setPPI(0); setPPI(1); setPPI(2); setPPI(3); setPPI(4);
setPPI(5); setPPI(6); setPPI(7); setPPI(8); setPPI(9);
setPPI(10); setPPI(11); setPPI(12); setPPI(13); setPPI(14);
setPPI(15); setPPI(16); setPPI(17); setPPI(18); setPPI(19);
setPPI(20); setPPI(21); setPPI(22); setPPI(23); setPPI(24);
setPPI(25); setPPI(26); setPPI(27); setPPI(28); setPPI(29);
setPPI(30); setPPI(31); setPPI(32); setPPI(33); setPPI(34);
setPPI(35); setPPI(36); setPPI(37); setPPI(38); setPPI(39);
setPPI(40); setPPI(41); setPPI(42); setPPI(43); setPPI(44);
setPPI(45); setPPI(46); setPPI(47); setPPI(48); setPPI(49);
setPPI(50); setPPI(51); setPPI(52); setPPI(53); setPPI(54);
setPPI(55); setPPI(56); setPPI(57); setPPI(58); setPPI(59);
setPPI(60); setPPI(61); setPPI(62); setPPI(63); setPPI(64);
setPPI(65); setPPI(66); setPPI(67); setPPI(68); setPPI(69);
setPPI(70); setPPI(71); setPPI(72); setPPI(73); setPPI(74);
setPPI(75); setPPI(76); setPPI(77); setPPI(78); setPPI(79);
setPPI(80); setPPI(81); setPPI(82); setPPI(83); setPPI(84);
setPPI(85); setPPI(86); setPPI(87); setPPI(88); setPPI(89);
setPPI(90); setPPI(91); setPPI(92); setPPI(93); setPPI(94);
setPPI(95); setPPI(96); setPPI(97); setPPI(98); setPPI(99);
setPPI(100); setPPI(101); setPPI(102); setPPI(103); setPPI(104);
setPPI(105); setPPI(106); setPPI(107); setPPI(108); setPPI(109);
setPPI(110); setPPI(111); setPPI(112); setPPI(113); setPPI(114);
setPPI(115); setPPI(116); setPPI(117); setPPI(118); setPPI(119);
setPPI(120); setPPI(121); setPPI(122); setPPI(123); setPPI(124);
setPPI(125); setPPI(126); setPPI(127); setPPI(128); setPPI(129);
setPPI(130); setPPI(131); setPPI(132); setPPI(133); setPPI(134);
setPPI(135); setPPI(136); setPPI(137); setPPI(138); setPPI(139);
setPPI(140); setPPI(141); setPPI(142); setPPI(143); setPPI(144);
setPPI(145); setPPI(146); setPPI(147); setPPI(148); setPPI(149);
setPPI(150); setPPI(151); setPPI(152); setPPI(153); setPPI(154);
setPPI(155); setPPI(156); setPPI(157); setPPI(158); setPPI(159);
setPPI(160); setPPI(161); setPPI(162); setPPI(163); setPPI(164);
setPPI(165); setPPI(166); setPPI(167); setPPI(168); setPPI(169);
setPPI(170); setPPI(171); setPPI(172); setPPI(173); setPPI(174);
setPPI(175); setPPI(176); setPPI(177); setPPI(178); setPPI(179);
setPPI(180); setPPI(181); setPPI(182); setPPI(183); setPPI(184);
setPPI(185); setPPI(186); setPPI(187); setPPI(188); setPPI(189);
setPPI(190); setPPI(191); setPPI(192); setPPI(193); setPPI(194);
setPPI(195); setPPI(196); setPPI(197); setPPI(198); setPPI(199);
setPPI(200); setPPI(201); setPPI(202); setPPI(203); setPPI(204);
setPPI(205); setPPI(206); setPPI(207); setPPI(208); setPPI(209);
setPPI(210); setPPI(211); setPPI(212); setPPI(213); setPPI(214);
setPPI(215); setPPI(216); setPPI(217); setPPI(218); setPPI(219);
setPPI(220); setPPI(221); setPPI(222); setPPI(223); setPPI(224);
setPPI(225); setPPI(226); setPPI(227); setPPI(228); setPPI(229);
setPPI(230); setPPI(231); setPPI(232); setPPI(233); setPPI(234);
setPPI(235); setPPI(236); setPPI(237); setPPI(238); setPPI(239);
setPPI(240); setPPI(241); setPPI(242); setPPI(243); setPPI(244);
setPPI(245); setPPI(246); setPPI(247); setPPI(248); setPPI(249);
setPPI(250); setPPI(251); setPPI(252); setPPI(253); setPPI(254);
setPPI(255);
default:
sc_assert(false);
}
}
behavior spi(uint32_t num, bool state_val)
{
sg::Signal::State state =
state_val ? sg::Signal::Set : sg::Signal::Clear;
spi[num].setValue(state);
}
}
internal slave port<Signal> spi[988];
internal slave port<Signal> ppi_0[16];
internal slave port<Signal> ppi_1[16];
internal slave port<Signal> ppi_2[16];
internal slave port<Signal> ppi_3[16];
internal slave port<Signal> ppi_4[16];
internal slave port<Signal> ppi_5[16];
internal slave port<Signal> ppi_6[16];
internal slave port<Signal> ppi_7[16];
internal slave port<Signal> ppi_8[16];
internal slave port<Signal> ppi_9[16];
internal slave port<Signal> ppi_10[16];
internal slave port<Signal> ppi_11[16];
internal slave port<Signal> ppi_12[16];
internal slave port<Signal> ppi_13[16];
internal slave port<Signal> ppi_14[16];
internal slave port<Signal> ppi_15[16];
internal slave port<Signal> ppi_16[16];
internal slave port<Signal> ppi_17[16];
internal slave port<Signal> ppi_18[16];
internal slave port<Signal> ppi_19[16];
internal slave port<Signal> ppi_20[16];
internal slave port<Signal> ppi_21[16];
internal slave port<Signal> ppi_22[16];
internal slave port<Signal> ppi_23[16];
internal slave port<Signal> ppi_24[16];
internal slave port<Signal> ppi_25[16];
internal slave port<Signal> ppi_26[16];
internal slave port<Signal> ppi_27[16];
internal slave port<Signal> ppi_28[16];
internal slave port<Signal> ppi_29[16];
internal slave port<Signal> ppi_30[16];
internal slave port<Signal> ppi_31[16];
internal slave port<Signal> ppi_32[16];
internal slave port<Signal> ppi_33[16];
internal slave port<Signal> ppi_34[16];
internal slave port<Signal> ppi_35[16];
internal slave port<Signal> ppi_36[16];
internal slave port<Signal> ppi_37[16];
internal slave port<Signal> ppi_38[16];
internal slave port<Signal> ppi_39[16];
internal slave port<Signal> ppi_40[16];
internal slave port<Signal> ppi_41[16];
internal slave port<Signal> ppi_42[16];
internal slave port<Signal> ppi_43[16];
internal slave port<Signal> ppi_44[16];
internal slave port<Signal> ppi_45[16];
internal slave port<Signal> ppi_46[16];
internal slave port<Signal> ppi_47[16];
internal slave port<Signal> ppi_48[16];
internal slave port<Signal> ppi_49[16];
internal slave port<Signal> ppi_50[16];
internal slave port<Signal> ppi_51[16];
internal slave port<Signal> ppi_52[16];
internal slave port<Signal> ppi_53[16];
internal slave port<Signal> ppi_54[16];
internal slave port<Signal> ppi_55[16];
internal slave port<Signal> ppi_56[16];
internal slave port<Signal> ppi_57[16];
internal slave port<Signal> ppi_58[16];
internal slave port<Signal> ppi_59[16];
internal slave port<Signal> ppi_60[16];
internal slave port<Signal> ppi_61[16];
internal slave port<Signal> ppi_62[16];
internal slave port<Signal> ppi_63[16];
internal slave port<Signal> ppi_64[16];
internal slave port<Signal> ppi_65[16];
internal slave port<Signal> ppi_66[16];
internal slave port<Signal> ppi_67[16];
internal slave port<Signal> ppi_68[16];
internal slave port<Signal> ppi_69[16];
internal slave port<Signal> ppi_70[16];
internal slave port<Signal> ppi_71[16];
internal slave port<Signal> ppi_72[16];
internal slave port<Signal> ppi_73[16];
internal slave port<Signal> ppi_74[16];
internal slave port<Signal> ppi_75[16];
internal slave port<Signal> ppi_76[16];
internal slave port<Signal> ppi_77[16];
internal slave port<Signal> ppi_78[16];
internal slave port<Signal> ppi_79[16];
internal slave port<Signal> ppi_80[16];
internal slave port<Signal> ppi_81[16];
internal slave port<Signal> ppi_82[16];
internal slave port<Signal> ppi_83[16];
internal slave port<Signal> ppi_84[16];
internal slave port<Signal> ppi_85[16];
internal slave port<Signal> ppi_86[16];
internal slave port<Signal> ppi_87[16];
internal slave port<Signal> ppi_88[16];
internal slave port<Signal> ppi_89[16];
internal slave port<Signal> ppi_90[16];
internal slave port<Signal> ppi_91[16];
internal slave port<Signal> ppi_92[16];
internal slave port<Signal> ppi_93[16];
internal slave port<Signal> ppi_94[16];
internal slave port<Signal> ppi_95[16];
internal slave port<Signal> ppi_96[16];
internal slave port<Signal> ppi_97[16];
internal slave port<Signal> ppi_98[16];
internal slave port<Signal> ppi_99[16];
internal slave port<Signal> ppi_100[16];
internal slave port<Signal> ppi_101[16];
internal slave port<Signal> ppi_102[16];
internal slave port<Signal> ppi_103[16];
internal slave port<Signal> ppi_104[16];
internal slave port<Signal> ppi_105[16];
internal slave port<Signal> ppi_106[16];
internal slave port<Signal> ppi_107[16];
internal slave port<Signal> ppi_108[16];
internal slave port<Signal> ppi_109[16];
internal slave port<Signal> ppi_110[16];
internal slave port<Signal> ppi_111[16];
internal slave port<Signal> ppi_112[16];
internal slave port<Signal> ppi_113[16];
internal slave port<Signal> ppi_114[16];
internal slave port<Signal> ppi_115[16];
internal slave port<Signal> ppi_116[16];
internal slave port<Signal> ppi_117[16];
internal slave port<Signal> ppi_118[16];
internal slave port<Signal> ppi_119[16];
internal slave port<Signal> ppi_120[16];
internal slave port<Signal> ppi_121[16];
internal slave port<Signal> ppi_122[16];
internal slave port<Signal> ppi_123[16];
internal slave port<Signal> ppi_124[16];
internal slave port<Signal> ppi_125[16];
internal slave port<Signal> ppi_126[16];
internal slave port<Signal> ppi_127[16];
internal slave port<Signal> ppi_128[16];
internal slave port<Signal> ppi_129[16];
internal slave port<Signal> ppi_130[16];
internal slave port<Signal> ppi_131[16];
internal slave port<Signal> ppi_132[16];
internal slave port<Signal> ppi_133[16];
internal slave port<Signal> ppi_134[16];
internal slave port<Signal> ppi_135[16];
internal slave port<Signal> ppi_136[16];
internal slave port<Signal> ppi_137[16];
internal slave port<Signal> ppi_138[16];
internal slave port<Signal> ppi_139[16];
internal slave port<Signal> ppi_140[16];
internal slave port<Signal> ppi_141[16];
internal slave port<Signal> ppi_142[16];
internal slave port<Signal> ppi_143[16];
internal slave port<Signal> ppi_144[16];
internal slave port<Signal> ppi_145[16];
internal slave port<Signal> ppi_146[16];
internal slave port<Signal> ppi_147[16];
internal slave port<Signal> ppi_148[16];
internal slave port<Signal> ppi_149[16];
internal slave port<Signal> ppi_150[16];
internal slave port<Signal> ppi_151[16];
internal slave port<Signal> ppi_152[16];
internal slave port<Signal> ppi_153[16];
internal slave port<Signal> ppi_154[16];
internal slave port<Signal> ppi_155[16];
internal slave port<Signal> ppi_156[16];
internal slave port<Signal> ppi_157[16];
internal slave port<Signal> ppi_158[16];
internal slave port<Signal> ppi_159[16];
internal slave port<Signal> ppi_160[16];
internal slave port<Signal> ppi_161[16];
internal slave port<Signal> ppi_162[16];
internal slave port<Signal> ppi_163[16];
internal slave port<Signal> ppi_164[16];
internal slave port<Signal> ppi_165[16];
internal slave port<Signal> ppi_166[16];
internal slave port<Signal> ppi_167[16];
internal slave port<Signal> ppi_168[16];
internal slave port<Signal> ppi_169[16];
internal slave port<Signal> ppi_170[16];
internal slave port<Signal> ppi_171[16];
internal slave port<Signal> ppi_172[16];
internal slave port<Signal> ppi_173[16];
internal slave port<Signal> ppi_174[16];
internal slave port<Signal> ppi_175[16];
internal slave port<Signal> ppi_176[16];
internal slave port<Signal> ppi_177[16];
internal slave port<Signal> ppi_178[16];
internal slave port<Signal> ppi_179[16];
internal slave port<Signal> ppi_180[16];
internal slave port<Signal> ppi_181[16];
internal slave port<Signal> ppi_182[16];
internal slave port<Signal> ppi_183[16];
internal slave port<Signal> ppi_184[16];
internal slave port<Signal> ppi_185[16];
internal slave port<Signal> ppi_186[16];
internal slave port<Signal> ppi_187[16];
internal slave port<Signal> ppi_188[16];
internal slave port<Signal> ppi_189[16];
internal slave port<Signal> ppi_190[16];
internal slave port<Signal> ppi_191[16];
internal slave port<Signal> ppi_192[16];
internal slave port<Signal> ppi_193[16];
internal slave port<Signal> ppi_194[16];
internal slave port<Signal> ppi_195[16];
internal slave port<Signal> ppi_196[16];
internal slave port<Signal> ppi_197[16];
internal slave port<Signal> ppi_198[16];
internal slave port<Signal> ppi_199[16];
internal slave port<Signal> ppi_200[16];
internal slave port<Signal> ppi_201[16];
internal slave port<Signal> ppi_202[16];
internal slave port<Signal> ppi_203[16];
internal slave port<Signal> ppi_204[16];
internal slave port<Signal> ppi_205[16];
internal slave port<Signal> ppi_206[16];
internal slave port<Signal> ppi_207[16];
internal slave port<Signal> ppi_208[16];
internal slave port<Signal> ppi_209[16];
internal slave port<Signal> ppi_210[16];
internal slave port<Signal> ppi_211[16];
internal slave port<Signal> ppi_212[16];
internal slave port<Signal> ppi_213[16];
internal slave port<Signal> ppi_214[16];
internal slave port<Signal> ppi_215[16];
internal slave port<Signal> ppi_216[16];
internal slave port<Signal> ppi_217[16];
internal slave port<Signal> ppi_218[16];
internal slave port<Signal> ppi_219[16];
internal slave port<Signal> ppi_220[16];
internal slave port<Signal> ppi_221[16];
internal slave port<Signal> ppi_222[16];
internal slave port<Signal> ppi_223[16];
internal slave port<Signal> ppi_224[16];
internal slave port<Signal> ppi_225[16];
internal slave port<Signal> ppi_226[16];
internal slave port<Signal> ppi_227[16];
internal slave port<Signal> ppi_228[16];
internal slave port<Signal> ppi_229[16];
internal slave port<Signal> ppi_230[16];
internal slave port<Signal> ppi_231[16];
internal slave port<Signal> ppi_232[16];
internal slave port<Signal> ppi_233[16];
internal slave port<Signal> ppi_234[16];
internal slave port<Signal> ppi_235[16];
internal slave port<Signal> ppi_236[16];
internal slave port<Signal> ppi_237[16];
internal slave port<Signal> ppi_238[16];
internal slave port<Signal> ppi_239[16];
internal slave port<Signal> ppi_240[16];
internal slave port<Signal> ppi_241[16];
internal slave port<Signal> ppi_242[16];
internal slave port<Signal> ppi_243[16];
internal slave port<Signal> ppi_244[16];
internal slave port<Signal> ppi_245[16];
internal slave port<Signal> ppi_246[16];
internal slave port<Signal> ppi_247[16];
internal slave port<Signal> ppi_248[16];
internal slave port<Signal> ppi_249[16];
internal slave port<Signal> ppi_250[16];
internal slave port<Signal> ppi_251[16];
internal slave port<Signal> ppi_252[16];
internal slave port<Signal> ppi_253[16];
internal slave port<Signal> ppi_254[16];
internal slave port<Signal> ppi_255[16];
}