Skip to content

Instantly share code, notes, and snippets.

@hughperkins
Created March 24, 2022 10:33
Show Gist options
  • Save hughperkins/3b49b4cc5a5e75b64862a4d7c6717272 to your computer and use it in GitHub Desktop.
Save hughperkins/3b49b4cc5a5e75b64862a4d7c6717272 to your computer and use it in GitHub Desktop.
// This is a GENERATED file. Do not modify by hand.
// Created by toy_proc/generation/dadda.py
// Multiply two 24-bit integers 'a' and 'b', and put result in 47-bit integer 'out'.
module dadda(
input [23:0] a,
input [23:0] b,
output [46:0] out
);
wire wire_0;
wire wire_1;
wire wire_2;
wire wire_3;
wire wire_4;
wire wire_5;
wire wire_6;
wire wire_7;
wire wire_8;
wire wire_9;
wire wire_10;
wire wire_11;
wire wire_12;
wire wire_13;
wire wire_14;
wire wire_15;
wire wire_16;
wire wire_17;
wire wire_18;
wire wire_19;
wire wire_20;
wire wire_21;
wire wire_22;
wire wire_23;
wire wire_24;
wire wire_25;
wire wire_26;
wire wire_27;
wire wire_28;
wire wire_29;
wire wire_30;
wire wire_31;
wire wire_32;
wire wire_33;
wire wire_34;
wire wire_35;
wire wire_36;
wire wire_37;
wire wire_38;
wire wire_39;
wire wire_40;
wire wire_41;
wire wire_42;
wire wire_43;
wire wire_44;
wire wire_45;
wire wire_46;
wire wire_47;
wire wire_48;
wire wire_49;
wire wire_50;
wire wire_51;
wire wire_52;
wire wire_53;
wire wire_54;
wire wire_55;
wire wire_56;
wire wire_57;
wire wire_58;
wire wire_59;
wire wire_60;
wire wire_61;
wire wire_62;
wire wire_63;
wire wire_64;
wire wire_65;
wire wire_66;
wire wire_67;
wire wire_68;
wire wire_69;
wire wire_70;
wire wire_71;
wire wire_72;
wire wire_73;
wire wire_74;
wire wire_75;
wire wire_76;
wire wire_77;
wire wire_78;
wire wire_79;
wire wire_80;
wire wire_81;
wire wire_82;
wire wire_83;
wire wire_84;
wire wire_85;
wire wire_86;
wire wire_87;
wire wire_88;
wire wire_89;
wire wire_90;
wire wire_91;
wire wire_92;
wire wire_93;
wire wire_94;
wire wire_95;
wire wire_96;
wire wire_97;
wire wire_98;
wire wire_99;
wire wire_100;
wire wire_101;
wire wire_102;
wire wire_103;
wire wire_104;
wire wire_105;
wire wire_106;
wire wire_107;
wire wire_108;
wire wire_109;
wire wire_110;
wire wire_111;
wire wire_112;
wire wire_113;
wire wire_114;
wire wire_115;
wire wire_116;
wire wire_117;
wire wire_118;
wire wire_119;
wire wire_120;
wire wire_121;
wire wire_122;
wire wire_123;
wire wire_124;
wire wire_125;
wire wire_126;
wire wire_127;
wire wire_128;
wire wire_129;
wire wire_130;
wire wire_131;
wire wire_132;
wire wire_133;
wire wire_134;
wire wire_135;
wire wire_136;
wire wire_137;
wire wire_138;
wire wire_139;
wire wire_140;
wire wire_141;
wire wire_142;
wire wire_143;
wire wire_144;
wire wire_145;
wire wire_146;
wire wire_147;
wire wire_148;
wire wire_149;
wire wire_150;
wire wire_151;
wire wire_152;
wire wire_153;
wire wire_154;
wire wire_155;
wire wire_156;
wire wire_157;
wire wire_158;
wire wire_159;
wire wire_160;
wire wire_161;
wire wire_162;
wire wire_163;
wire wire_164;
wire wire_165;
wire wire_166;
wire wire_167;
wire wire_168;
wire wire_169;
wire wire_170;
wire wire_171;
wire wire_172;
wire wire_173;
wire wire_174;
wire wire_175;
wire wire_176;
wire wire_177;
wire wire_178;
wire wire_179;
wire wire_180;
wire wire_181;
wire wire_182;
wire wire_183;
wire wire_184;
wire wire_185;
wire wire_186;
wire wire_187;
wire wire_188;
wire wire_189;
wire wire_190;
wire wire_191;
wire wire_192;
wire wire_193;
wire wire_194;
wire wire_195;
wire wire_196;
wire wire_197;
wire wire_198;
wire wire_199;
wire wire_200;
wire wire_201;
wire wire_202;
wire wire_203;
wire wire_204;
wire wire_205;
wire wire_206;
wire wire_207;
wire wire_208;
wire wire_209;
wire wire_210;
wire wire_211;
wire wire_212;
wire wire_213;
wire wire_214;
wire wire_215;
wire wire_216;
wire wire_217;
wire wire_218;
wire wire_219;
wire wire_220;
wire wire_221;
wire wire_222;
wire wire_223;
wire wire_224;
wire wire_225;
wire wire_226;
wire wire_227;
wire wire_228;
wire wire_229;
wire wire_230;
wire wire_231;
wire wire_232;
wire wire_233;
wire wire_234;
wire wire_235;
wire wire_236;
wire wire_237;
wire wire_238;
wire wire_239;
wire wire_240;
wire wire_241;
wire wire_242;
wire wire_243;
wire wire_244;
wire wire_245;
wire wire_246;
wire wire_247;
wire wire_248;
wire wire_249;
wire wire_250;
wire wire_251;
wire wire_252;
wire wire_253;
wire wire_254;
wire wire_255;
wire wire_256;
wire wire_257;
wire wire_258;
wire wire_259;
wire wire_260;
wire wire_261;
wire wire_262;
wire wire_263;
wire wire_264;
wire wire_265;
wire wire_266;
wire wire_267;
wire wire_268;
wire wire_269;
wire wire_270;
wire wire_271;
wire wire_272;
wire wire_273;
wire wire_274;
wire wire_275;
wire wire_276;
wire wire_277;
wire wire_278;
wire wire_279;
wire wire_280;
wire wire_281;
wire wire_282;
wire wire_283;
wire wire_284;
wire wire_285;
wire wire_286;
wire wire_287;
wire wire_288;
wire wire_289;
wire wire_290;
wire wire_291;
wire wire_292;
wire wire_293;
wire wire_294;
wire wire_295;
wire wire_296;
wire wire_297;
wire wire_298;
wire wire_299;
wire wire_300;
wire wire_301;
wire wire_302;
wire wire_303;
wire wire_304;
wire wire_305;
wire wire_306;
wire wire_307;
wire wire_308;
wire wire_309;
wire wire_310;
wire wire_311;
wire wire_312;
wire wire_313;
wire wire_314;
wire wire_315;
wire wire_316;
wire wire_317;
wire wire_318;
wire wire_319;
wire wire_320;
wire wire_321;
wire wire_322;
wire wire_323;
wire wire_324;
wire wire_325;
wire wire_326;
wire wire_327;
wire wire_328;
wire wire_329;
wire wire_330;
wire wire_331;
wire wire_332;
wire wire_333;
wire wire_334;
wire wire_335;
wire wire_336;
wire wire_337;
wire wire_338;
wire wire_339;
wire wire_340;
wire wire_341;
wire wire_342;
wire wire_343;
wire wire_344;
wire wire_345;
wire wire_346;
wire wire_347;
wire wire_348;
wire wire_349;
wire wire_350;
wire wire_351;
wire wire_352;
wire wire_353;
wire wire_354;
wire wire_355;
wire wire_356;
wire wire_357;
wire wire_358;
wire wire_359;
wire wire_360;
wire wire_361;
wire wire_362;
wire wire_363;
wire wire_364;
wire wire_365;
wire wire_366;
wire wire_367;
wire wire_368;
wire wire_369;
wire wire_370;
wire wire_371;
wire wire_372;
wire wire_373;
wire wire_374;
wire wire_375;
wire wire_376;
wire wire_377;
wire wire_378;
wire wire_379;
wire wire_380;
wire wire_381;
wire wire_382;
wire wire_383;
wire wire_384;
wire wire_385;
wire wire_386;
wire wire_387;
wire wire_388;
wire wire_389;
wire wire_390;
wire wire_391;
wire wire_392;
wire wire_393;
wire wire_394;
wire wire_395;
wire wire_396;
wire wire_397;
wire wire_398;
wire wire_399;
wire wire_400;
wire wire_401;
wire wire_402;
wire wire_403;
wire wire_404;
wire wire_405;
wire wire_406;
wire wire_407;
wire wire_408;
wire wire_409;
wire wire_410;
wire wire_411;
wire wire_412;
wire wire_413;
wire wire_414;
wire wire_415;
wire wire_416;
wire wire_417;
wire wire_418;
wire wire_419;
wire wire_420;
wire wire_421;
wire wire_422;
wire wire_423;
wire wire_424;
wire wire_425;
wire wire_426;
wire wire_427;
wire wire_428;
wire wire_429;
wire wire_430;
wire wire_431;
wire wire_432;
wire wire_433;
wire wire_434;
wire wire_435;
wire wire_436;
wire wire_437;
wire wire_438;
wire wire_439;
wire wire_440;
wire wire_441;
wire wire_442;
wire wire_443;
wire wire_444;
wire wire_445;
wire wire_446;
wire wire_447;
wire wire_448;
wire wire_449;
wire wire_450;
wire wire_451;
wire wire_452;
wire wire_453;
wire wire_454;
wire wire_455;
wire wire_456;
wire wire_457;
wire wire_458;
wire wire_459;
wire wire_460;
wire wire_461;
wire wire_462;
wire wire_463;
wire wire_464;
wire wire_465;
wire wire_466;
wire wire_467;
wire wire_468;
wire wire_469;
wire wire_470;
wire wire_471;
wire wire_472;
wire wire_473;
wire wire_474;
wire wire_475;
wire wire_476;
wire wire_477;
wire wire_478;
wire wire_479;
wire wire_480;
wire wire_481;
wire wire_482;
wire wire_483;
wire wire_484;
wire wire_485;
wire wire_486;
wire wire_487;
wire wire_488;
wire wire_489;
wire wire_490;
wire wire_491;
wire wire_492;
wire wire_493;
wire wire_494;
wire wire_495;
wire wire_496;
wire wire_497;
wire wire_498;
wire wire_499;
wire wire_500;
wire wire_501;
wire wire_502;
wire wire_503;
wire wire_504;
wire wire_505;
wire wire_506;
wire wire_507;
wire wire_508;
wire wire_509;
wire wire_510;
wire wire_511;
wire wire_512;
wire wire_513;
wire wire_514;
wire wire_515;
wire wire_516;
wire wire_517;
wire wire_518;
wire wire_519;
wire wire_520;
wire wire_521;
wire wire_522;
wire wire_523;
wire wire_524;
wire wire_525;
wire wire_526;
wire wire_527;
wire wire_528;
wire wire_529;
wire wire_530;
wire wire_531;
wire wire_532;
wire wire_533;
wire wire_534;
wire wire_535;
wire wire_536;
wire wire_537;
wire wire_538;
wire wire_539;
wire wire_540;
wire wire_541;
wire wire_542;
wire wire_543;
wire wire_544;
wire wire_545;
wire wire_546;
wire wire_547;
wire wire_548;
wire wire_549;
wire wire_550;
wire wire_551;
wire wire_552;
wire wire_553;
wire wire_554;
wire wire_555;
wire wire_556;
wire wire_557;
wire wire_558;
wire wire_559;
wire wire_560;
wire wire_561;
wire wire_562;
wire wire_563;
wire wire_564;
wire wire_565;
wire wire_566;
wire wire_567;
wire wire_568;
wire wire_569;
wire wire_570;
wire wire_571;
wire wire_572;
wire wire_573;
wire wire_574;
wire wire_575;
wire wire_576;
wire wire_577;
wire wire_578;
wire wire_579;
wire wire_580;
wire wire_581;
wire wire_582;
wire wire_583;
wire wire_584;
wire wire_585;
wire wire_586;
wire wire_587;
wire wire_588;
wire wire_589;
wire wire_590;
wire wire_591;
wire wire_592;
wire wire_593;
wire wire_594;
wire wire_595;
wire wire_596;
wire wire_597;
wire wire_598;
wire wire_599;
wire wire_600;
wire wire_601;
wire wire_602;
wire wire_603;
wire wire_604;
wire wire_605;
wire wire_606;
wire wire_607;
wire wire_608;
wire wire_609;
wire wire_610;
wire wire_611;
wire wire_612;
wire wire_613;
wire wire_614;
wire wire_615;
wire wire_616;
wire wire_617;
wire wire_618;
wire wire_619;
wire wire_620;
wire wire_621;
wire wire_622;
wire wire_623;
wire wire_624;
wire wire_625;
wire wire_626;
wire wire_627;
wire wire_628;
wire wire_629;
wire wire_630;
wire wire_631;
wire wire_632;
wire wire_633;
wire wire_634;
wire wire_635;
wire wire_636;
wire wire_637;
wire wire_638;
wire wire_639;
wire wire_640;
wire wire_641;
wire wire_642;
wire wire_643;
wire wire_644;
wire wire_645;
wire wire_646;
wire wire_647;
wire wire_648;
wire wire_649;
wire wire_650;
wire wire_651;
wire wire_652;
wire wire_653;
wire wire_654;
wire wire_655;
wire wire_656;
wire wire_657;
wire wire_658;
wire wire_659;
wire wire_660;
wire wire_661;
wire wire_662;
wire wire_663;
wire wire_664;
wire wire_665;
wire wire_666;
wire wire_667;
wire wire_668;
wire wire_669;
wire wire_670;
wire wire_671;
wire wire_672;
wire wire_673;
wire wire_674;
wire wire_675;
wire wire_676;
wire wire_677;
wire wire_678;
wire wire_679;
wire wire_680;
wire wire_681;
wire wire_682;
wire wire_683;
wire wire_684;
wire wire_685;
wire wire_686;
wire wire_687;
wire wire_688;
wire wire_689;
wire wire_690;
wire wire_691;
wire wire_692;
wire wire_693;
wire wire_694;
wire wire_695;
wire wire_696;
wire wire_697;
wire wire_698;
wire wire_699;
wire wire_700;
wire wire_701;
wire wire_702;
wire wire_703;
wire wire_704;
wire wire_705;
wire wire_706;
wire wire_707;
wire wire_708;
wire wire_709;
wire wire_710;
wire wire_711;
wire wire_712;
wire wire_713;
wire wire_714;
wire wire_715;
wire wire_716;
wire wire_717;
wire wire_718;
wire wire_719;
wire wire_720;
wire wire_721;
wire wire_722;
wire wire_723;
wire wire_724;
wire wire_725;
wire wire_726;
wire wire_727;
wire wire_728;
wire wire_729;
wire wire_730;
wire wire_731;
wire wire_732;
wire wire_733;
wire wire_734;
wire wire_735;
wire wire_736;
wire wire_737;
wire wire_738;
wire wire_739;
wire wire_740;
wire wire_741;
wire wire_742;
wire wire_743;
wire wire_744;
wire wire_745;
wire wire_746;
wire wire_747;
wire wire_748;
wire wire_749;
wire wire_750;
wire wire_751;
wire wire_752;
wire wire_753;
wire wire_754;
wire wire_755;
wire wire_756;
wire wire_757;
wire wire_758;
wire wire_759;
wire wire_760;
wire wire_761;
wire wire_762;
wire wire_763;
wire wire_764;
wire wire_765;
wire wire_766;
wire wire_767;
wire wire_768;
wire wire_769;
wire wire_770;
wire wire_771;
wire wire_772;
wire wire_773;
wire wire_774;
wire wire_775;
wire wire_776;
wire wire_777;
wire wire_778;
wire wire_779;
wire wire_780;
wire wire_781;
wire wire_782;
wire wire_783;
wire wire_784;
wire wire_785;
wire wire_786;
wire wire_787;
wire wire_788;
wire wire_789;
wire wire_790;
wire wire_791;
wire wire_792;
wire wire_793;
wire wire_794;
wire wire_795;
wire wire_796;
wire wire_797;
wire wire_798;
wire wire_799;
wire wire_800;
wire wire_801;
wire wire_802;
wire wire_803;
wire wire_804;
wire wire_805;
wire wire_806;
wire wire_807;
wire wire_808;
wire wire_809;
wire wire_810;
wire wire_811;
wire wire_812;
wire wire_813;
wire wire_814;
wire wire_815;
wire wire_816;
wire wire_817;
wire wire_818;
wire wire_819;
wire wire_820;
wire wire_821;
wire wire_822;
wire wire_823;
wire wire_824;
wire wire_825;
wire wire_826;
wire wire_827;
wire wire_828;
wire wire_829;
wire wire_830;
wire wire_831;
wire wire_832;
wire wire_833;
wire wire_834;
wire wire_835;
wire wire_836;
wire wire_837;
wire wire_838;
wire wire_839;
wire wire_840;
wire wire_841;
wire wire_842;
wire wire_843;
wire wire_844;
wire wire_845;
wire wire_846;
wire wire_847;
wire wire_848;
wire wire_849;
wire wire_850;
wire wire_851;
wire wire_852;
wire wire_853;
wire wire_854;
wire wire_855;
wire wire_856;
wire wire_857;
wire wire_858;
wire wire_859;
wire wire_860;
wire wire_861;
wire wire_862;
wire wire_863;
wire wire_864;
wire wire_865;
wire wire_866;
wire wire_867;
wire wire_868;
wire wire_869;
wire wire_870;
wire wire_871;
wire wire_872;
wire wire_873;
wire wire_874;
wire wire_875;
wire wire_876;
wire wire_877;
wire wire_878;
wire wire_879;
wire wire_880;
wire wire_881;
wire wire_882;
wire wire_883;
wire wire_884;
wire wire_885;
wire wire_886;
wire wire_887;
wire wire_888;
wire wire_889;
wire wire_890;
wire wire_891;
wire wire_892;
wire wire_893;
wire wire_894;
wire wire_895;
wire wire_896;
wire wire_897;
wire wire_898;
wire wire_899;
wire wire_900;
wire wire_901;
wire wire_902;
wire wire_903;
wire wire_904;
wire wire_905;
wire wire_906;
wire wire_907;
wire wire_908;
wire wire_909;
wire wire_910;
wire wire_911;
wire wire_912;
wire wire_913;
wire wire_914;
wire wire_915;
wire wire_916;
wire wire_917;
wire wire_918;
wire wire_919;
wire wire_920;
wire wire_921;
wire wire_922;
wire wire_923;
wire wire_924;
wire wire_925;
wire wire_926;
wire wire_927;
wire wire_928;
wire wire_929;
wire wire_930;
wire wire_931;
wire wire_932;
wire wire_933;
wire wire_934;
wire wire_935;
wire wire_936;
wire wire_937;
wire wire_938;
wire wire_939;
wire wire_940;
wire wire_941;
wire wire_942;
wire wire_943;
wire wire_944;
wire wire_945;
wire wire_946;
wire wire_947;
wire wire_948;
wire wire_949;
wire wire_950;
wire wire_951;
wire wire_952;
wire wire_953;
wire wire_954;
wire wire_955;
wire wire_956;
wire wire_957;
wire wire_958;
wire wire_959;
wire wire_960;
wire wire_961;
wire wire_962;
wire wire_963;
wire wire_964;
wire wire_965;
wire wire_966;
wire wire_967;
wire wire_968;
wire wire_969;
wire wire_970;
wire wire_971;
wire wire_972;
wire wire_973;
wire wire_974;
wire wire_975;
wire wire_976;
wire wire_977;
wire wire_978;
wire wire_979;
wire wire_980;
wire wire_981;
wire wire_982;
wire wire_983;
wire wire_984;
wire wire_985;
wire wire_986;
wire wire_987;
wire wire_988;
wire wire_989;
wire wire_990;
wire wire_991;
wire wire_992;
wire wire_993;
wire wire_994;
wire wire_995;
wire wire_996;
wire wire_997;
wire wire_998;
wire wire_999;
wire wire_1000;
wire wire_1001;
wire wire_1002;
wire wire_1003;
wire wire_1004;
wire wire_1005;
wire wire_1006;
wire wire_1007;
wire wire_1008;
wire wire_1009;
wire wire_1010;
wire wire_1011;
assign { wire_0, wire_1 } = (a[19] & b[0]) + (a[18] & b[1]);
assign { wire_2, wire_3 } = wire_0 + (a[20] & b[0]) + (a[19] & b[1]);
assign { wire_4, wire_5 } = wire_3 + (a[18] & b[2]);
assign { wire_6, wire_7 } = wire_4 + wire_2 + (a[21] & b[0]);
assign { wire_8, wire_9 } = wire_7 + (a[20] & b[1]) + (a[19] & b[2]);
assign { wire_10, wire_11 } = wire_9 + (a[18] & b[3]);
assign { wire_12, wire_13 } = wire_10 + wire_8 + wire_6;
assign { wire_14, wire_15 } = wire_13 + (a[22] & b[0]) + (a[21] & b[1]);
assign { wire_16, wire_17 } = wire_15 + (a[20] & b[2]) + (a[19] & b[3]);
assign { wire_18, wire_19 } = wire_17 + (a[18] & b[4]);
assign { wire_20, wire_21 } = wire_18 + wire_16 + wire_14;
assign { wire_22, wire_23 } = wire_21 + wire_12 + (a[23] & b[0]);
assign { wire_24, wire_25 } = wire_23 + (a[22] & b[1]) + (a[21] & b[2]);
assign { wire_26, wire_27 } = wire_25 + (a[20] & b[3]) + (a[19] & b[4]);
assign { wire_28, wire_29 } = wire_27 + (a[18] & b[5]);
assign { wire_30, wire_31 } = wire_28 + wire_26 + wire_24;
assign { wire_32, wire_33 } = wire_31 + wire_22 + wire_20;
assign { wire_34, wire_35 } = wire_33 + (a[23] & b[1]) + (a[22] & b[2]);
assign { wire_36, wire_37 } = wire_35 + (a[21] & b[3]) + (a[20] & b[4]);
assign { wire_38, wire_39 } = wire_37 + (a[19] & b[5]);
assign { wire_40, wire_41 } = wire_38 + wire_36 + wire_34;
assign { wire_42, wire_43 } = wire_41 + wire_32 + wire_30;
assign { wire_44, wire_45 } = wire_43 + (a[23] & b[2]) + (a[22] & b[3]);
assign { wire_46, wire_47 } = wire_45 + (a[21] & b[4]) + (a[20] & b[5]);
assign { wire_48, wire_49 } = wire_46 + wire_44 + wire_42;
assign { wire_50, wire_51 } = wire_49 + wire_40 + (a[23] & b[3]);
assign { wire_52, wire_53 } = wire_51 + (a[22] & b[4]) + (a[21] & b[5]);
assign { wire_54, wire_55 } = wire_52 + wire_50 + wire_48;
assign { wire_56, wire_57 } = wire_55 + (a[23] & b[4]) + (a[22] & b[5]);
assign { wire_58, wire_59 } = wire_56 + wire_54 + (a[23] & b[5]);
assign { wire_60, wire_61 } = (a[13] & b[0]) + (a[12] & b[1]);
assign { wire_62, wire_63 } = wire_60 + (a[14] & b[0]) + (a[13] & b[1]);
assign { wire_64, wire_65 } = wire_63 + (a[12] & b[2]);
assign { wire_66, wire_67 } = wire_64 + wire_62 + (a[15] & b[0]);
assign { wire_68, wire_69 } = wire_67 + (a[14] & b[1]) + (a[13] & b[2]);
assign { wire_70, wire_71 } = wire_69 + (a[12] & b[3]);
assign { wire_72, wire_73 } = wire_70 + wire_68 + wire_66;
assign { wire_74, wire_75 } = wire_73 + (a[16] & b[0]) + (a[15] & b[1]);
assign { wire_76, wire_77 } = wire_75 + (a[14] & b[2]) + (a[13] & b[3]);
assign { wire_78, wire_79 } = wire_77 + (a[12] & b[4]);
assign { wire_80, wire_81 } = wire_78 + wire_76 + wire_74;
assign { wire_82, wire_83 } = wire_81 + wire_72 + (a[17] & b[0]);
assign { wire_84, wire_85 } = wire_83 + (a[16] & b[1]) + (a[15] & b[2]);
assign { wire_86, wire_87 } = wire_85 + (a[14] & b[3]) + (a[13] & b[4]);
assign { wire_88, wire_89 } = wire_87 + (a[12] & b[5]);
assign { wire_90, wire_91 } = wire_88 + wire_86 + wire_84;
assign { wire_92, wire_93 } = wire_91 + wire_82 + wire_80;
assign { wire_94, wire_95 } = wire_93 + (a[18] & b[0]) + (a[17] & b[1]);
assign { wire_96, wire_97 } = wire_95 + (a[16] & b[2]) + (a[15] & b[3]);
assign { wire_98, wire_99 } = wire_97 + (a[14] & b[4]) + (a[13] & b[5]);
assign { wire_100, wire_101 } = wire_99 + (a[12] & b[6]);
assign { wire_102, wire_103 } = wire_100 + wire_98 + wire_96;
assign { wire_104, wire_105 } = wire_103 + wire_94 + wire_92;
assign { wire_106, wire_107 } = wire_105 + wire_90 + wire_1;
assign { wire_108, wire_109 } = wire_107 + (a[17] & b[2]) + (a[16] & b[3]);
assign { wire_110, wire_111 } = wire_109 + (a[15] & b[4]) + (a[14] & b[5]);
assign { wire_112, wire_113 } = wire_111 + (a[13] & b[6]) + (a[12] & b[7]);
assign { wire_114, wire_115 } = wire_112 + wire_110 + wire_108;
assign { wire_116, wire_117 } = wire_115 + wire_106 + wire_104;
assign { wire_118, wire_119 } = wire_117 + wire_102 + wire_5;
assign { wire_120, wire_121 } = wire_119 + (a[17] & b[3]) + (a[16] & b[4]);
assign { wire_122, wire_123 } = wire_121 + (a[15] & b[5]) + (a[14] & b[6]);
assign { wire_124, wire_125 } = wire_123 + (a[13] & b[7]) + (a[12] & b[8]);
assign { wire_126, wire_127 } = wire_124 + wire_122 + wire_120;
assign { wire_128, wire_129 } = wire_127 + wire_118 + wire_116;
assign { wire_130, wire_131 } = wire_129 + wire_114 + wire_11;
assign { wire_132, wire_133 } = wire_131 + (a[17] & b[4]) + (a[16] & b[5]);
assign { wire_134, wire_135 } = wire_133 + (a[15] & b[6]) + (a[14] & b[7]);
assign { wire_136, wire_137 } = wire_135 + (a[13] & b[8]) + (a[12] & b[9]);
assign { wire_138, wire_139 } = wire_136 + wire_134 + wire_132;
assign { wire_140, wire_141 } = wire_139 + wire_130 + wire_128;
assign { wire_142, wire_143 } = wire_141 + wire_126 + wire_19;
assign { wire_144, wire_145 } = wire_143 + (a[17] & b[5]) + (a[16] & b[6]);
assign { wire_146, wire_147 } = wire_145 + (a[15] & b[7]) + (a[14] & b[8]);
assign { wire_148, wire_149 } = wire_147 + (a[13] & b[9]) + (a[12] & b[10]);
assign { wire_150, wire_151 } = wire_148 + wire_146 + wire_144;
assign { wire_152, wire_153 } = wire_151 + wire_142 + wire_140;
assign { wire_154, wire_155 } = wire_153 + wire_138 + wire_29;
assign { wire_156, wire_157 } = wire_155 + (a[17] & b[6]) + (a[16] & b[7]);
assign { wire_158, wire_159 } = wire_157 + (a[15] & b[8]) + (a[14] & b[9]);
assign { wire_160, wire_161 } = wire_159 + (a[13] & b[10]) + (a[12] & b[11]);
assign { wire_162, wire_163 } = wire_160 + wire_158 + wire_156;
assign { wire_164, wire_165 } = wire_163 + wire_154 + wire_152;
assign { wire_166, wire_167 } = wire_165 + wire_150 + wire_39;
assign { wire_168, wire_169 } = wire_167 + (a[18] & b[6]) + (a[17] & b[7]);
assign { wire_170, wire_171 } = wire_169 + (a[16] & b[8]) + (a[15] & b[9]);
assign { wire_172, wire_173 } = wire_171 + (a[14] & b[10]) + (a[13] & b[11]);
assign { wire_174, wire_175 } = wire_172 + wire_170 + wire_168;
assign { wire_176, wire_177 } = wire_175 + wire_166 + wire_164;
assign { wire_178, wire_179 } = wire_177 + wire_162 + wire_47;
assign { wire_180, wire_181 } = wire_179 + (a[19] & b[6]) + (a[18] & b[7]);
assign { wire_182, wire_183 } = wire_181 + (a[17] & b[8]) + (a[16] & b[9]);
assign { wire_184, wire_185 } = wire_183 + (a[15] & b[10]) + (a[14] & b[11]);
assign { wire_186, wire_187 } = wire_184 + wire_182 + wire_180;
assign { wire_188, wire_189 } = wire_187 + wire_178 + wire_176;
assign { wire_190, wire_191 } = wire_189 + wire_174 + wire_53;
assign { wire_192, wire_193 } = wire_191 + (a[20] & b[6]) + (a[19] & b[7]);
assign { wire_194, wire_195 } = wire_193 + (a[18] & b[8]) + (a[17] & b[9]);
assign { wire_196, wire_197 } = wire_195 + (a[16] & b[10]) + (a[15] & b[11]);
assign { wire_198, wire_199 } = wire_196 + wire_194 + wire_192;
assign { wire_200, wire_201 } = wire_199 + wire_190 + wire_188;
assign { wire_202, wire_203 } = wire_201 + wire_186 + wire_57;
assign { wire_204, wire_205 } = wire_203 + (a[21] & b[6]) + (a[20] & b[7]);
assign { wire_206, wire_207 } = wire_205 + (a[19] & b[8]) + (a[18] & b[9]);
assign { wire_208, wire_209 } = wire_207 + (a[17] & b[10]) + (a[16] & b[11]);
assign { wire_210, wire_211 } = wire_208 + wire_206 + wire_204;
assign { wire_212, wire_213 } = wire_211 + wire_202 + wire_200;
assign { wire_214, wire_215 } = wire_213 + wire_198 + wire_59;
assign { wire_216, wire_217 } = wire_215 + (a[22] & b[6]) + (a[21] & b[7]);
assign { wire_218, wire_219 } = wire_217 + (a[20] & b[8]) + (a[19] & b[9]);
assign { wire_220, wire_221 } = wire_219 + (a[18] & b[10]) + (a[17] & b[11]);
assign { wire_222, wire_223 } = wire_220 + wire_218 + wire_216;
assign { wire_224, wire_225 } = wire_223 + wire_214 + wire_212;
assign { wire_226, wire_227 } = wire_225 + wire_210 + wire_58;
assign { wire_228, wire_229 } = wire_227 + (a[23] & b[6]) + (a[22] & b[7]);
assign { wire_230, wire_231 } = wire_229 + (a[21] & b[8]) + (a[20] & b[9]);
assign { wire_232, wire_233 } = wire_231 + (a[19] & b[10]) + (a[18] & b[11]);
assign { wire_234, wire_235 } = wire_232 + wire_230 + wire_228;
assign { wire_236, wire_237 } = wire_235 + wire_226 + wire_224;
assign { wire_238, wire_239 } = wire_237 + wire_222 + (a[23] & b[7]);
assign { wire_240, wire_241 } = wire_239 + (a[22] & b[8]) + (a[21] & b[9]);
assign { wire_242, wire_243 } = wire_241 + (a[20] & b[10]) + (a[19] & b[11]);
assign { wire_244, wire_245 } = wire_242 + wire_240 + wire_238;
assign { wire_246, wire_247 } = wire_245 + wire_236 + wire_234;
assign { wire_248, wire_249 } = wire_247 + (a[23] & b[8]) + (a[22] & b[9]);
assign { wire_250, wire_251 } = wire_249 + (a[21] & b[10]) + (a[20] & b[11]);
assign { wire_252, wire_253 } = wire_250 + wire_248 + wire_246;
assign { wire_254, wire_255 } = wire_253 + wire_244 + (a[23] & b[9]);
assign { wire_256, wire_257 } = wire_255 + (a[22] & b[10]) + (a[21] & b[11]);
assign { wire_258, wire_259 } = wire_256 + wire_254 + wire_252;
assign { wire_260, wire_261 } = wire_259 + (a[23] & b[10]) + (a[22] & b[11]);
assign { wire_262, wire_263 } = wire_260 + wire_258 + (a[23] & b[11]);
assign { wire_264, wire_265 } = (a[9] & b[0]) + (a[8] & b[1]);
assign { wire_266, wire_267 } = wire_264 + (a[10] & b[0]) + (a[9] & b[1]);
assign { wire_268, wire_269 } = wire_267 + (a[8] & b[2]);
assign { wire_270, wire_271 } = wire_268 + wire_266 + (a[11] & b[0]);
assign { wire_272, wire_273 } = wire_271 + (a[10] & b[1]) + (a[9] & b[2]);
assign { wire_274, wire_275 } = wire_273 + (a[8] & b[3]);
assign { wire_276, wire_277 } = wire_274 + wire_272 + wire_270;
assign { wire_278, wire_279 } = wire_277 + (a[12] & b[0]) + (a[11] & b[1]);
assign { wire_280, wire_281 } = wire_279 + (a[10] & b[2]) + (a[9] & b[3]);
assign { wire_282, wire_283 } = wire_281 + (a[8] & b[4]);
assign { wire_284, wire_285 } = wire_282 + wire_280 + wire_278;
assign { wire_286, wire_287 } = wire_285 + wire_276 + wire_61;
assign { wire_288, wire_289 } = wire_287 + (a[11] & b[2]) + (a[10] & b[3]);
assign { wire_290, wire_291 } = wire_289 + (a[9] & b[4]) + (a[8] & b[5]);
assign { wire_292, wire_293 } = wire_290 + wire_288 + wire_286;
assign { wire_294, wire_295 } = wire_293 + wire_284 + wire_65;
assign { wire_296, wire_297 } = wire_295 + (a[11] & b[3]) + (a[10] & b[4]);
assign { wire_298, wire_299 } = wire_297 + (a[9] & b[5]) + (a[8] & b[6]);
assign { wire_300, wire_301 } = wire_298 + wire_296 + wire_294;
assign { wire_302, wire_303 } = wire_301 + wire_292 + wire_71;
assign { wire_304, wire_305 } = wire_303 + (a[11] & b[4]) + (a[10] & b[5]);
assign { wire_306, wire_307 } = wire_305 + (a[9] & b[6]) + (a[8] & b[7]);
assign { wire_308, wire_309 } = wire_306 + wire_304 + wire_302;
assign { wire_310, wire_311 } = wire_309 + wire_300 + wire_79;
assign { wire_312, wire_313 } = wire_311 + (a[11] & b[5]) + (a[10] & b[6]);
assign { wire_314, wire_315 } = wire_313 + (a[9] & b[7]) + (a[8] & b[8]);
assign { wire_316, wire_317 } = wire_314 + wire_312 + wire_310;
assign { wire_318, wire_319 } = wire_317 + wire_308 + wire_89;
assign { wire_320, wire_321 } = wire_319 + (a[11] & b[6]) + (a[10] & b[7]);
assign { wire_322, wire_323 } = wire_321 + (a[9] & b[8]) + (a[8] & b[9]);
assign { wire_324, wire_325 } = wire_322 + wire_320 + wire_318;
assign { wire_326, wire_327 } = wire_325 + wire_316 + wire_101;
assign { wire_328, wire_329 } = wire_327 + (a[11] & b[7]) + (a[10] & b[8]);
assign { wire_330, wire_331 } = wire_329 + (a[9] & b[9]) + (a[8] & b[10]);
assign { wire_332, wire_333 } = wire_330 + wire_328 + wire_326;
assign { wire_334, wire_335 } = wire_333 + wire_324 + wire_113;
assign { wire_336, wire_337 } = wire_335 + (a[11] & b[8]) + (a[10] & b[9]);
assign { wire_338, wire_339 } = wire_337 + (a[9] & b[10]) + (a[8] & b[11]);
assign { wire_340, wire_341 } = wire_338 + wire_336 + wire_334;
assign { wire_342, wire_343 } = wire_341 + wire_332 + wire_125;
assign { wire_344, wire_345 } = wire_343 + (a[11] & b[9]) + (a[10] & b[10]);
assign { wire_346, wire_347 } = wire_345 + (a[9] & b[11]) + (a[8] & b[12]);
assign { wire_348, wire_349 } = wire_346 + wire_344 + wire_342;
assign { wire_350, wire_351 } = wire_349 + wire_340 + wire_137;
assign { wire_352, wire_353 } = wire_351 + (a[11] & b[10]) + (a[10] & b[11]);
assign { wire_354, wire_355 } = wire_353 + (a[9] & b[12]) + (a[8] & b[13]);
assign { wire_356, wire_357 } = wire_354 + wire_352 + wire_350;
assign { wire_358, wire_359 } = wire_357 + wire_348 + wire_149;
assign { wire_360, wire_361 } = wire_359 + (a[11] & b[11]) + (a[10] & b[12]);
assign { wire_362, wire_363 } = wire_361 + (a[9] & b[13]) + (a[8] & b[14]);
assign { wire_364, wire_365 } = wire_362 + wire_360 + wire_358;
assign { wire_366, wire_367 } = wire_365 + wire_356 + wire_161;
assign { wire_368, wire_369 } = wire_367 + (a[11] & b[12]) + (a[10] & b[13]);
assign { wire_370, wire_371 } = wire_369 + (a[9] & b[14]) + (a[8] & b[15]);
assign { wire_372, wire_373 } = wire_370 + wire_368 + wire_366;
assign { wire_374, wire_375 } = wire_373 + wire_364 + wire_173;
assign { wire_376, wire_377 } = wire_375 + (a[12] & b[12]) + (a[11] & b[13]);
assign { wire_378, wire_379 } = wire_377 + (a[10] & b[14]) + (a[9] & b[15]);
assign { wire_380, wire_381 } = wire_378 + wire_376 + wire_374;
assign { wire_382, wire_383 } = wire_381 + wire_372 + wire_185;
assign { wire_384, wire_385 } = wire_383 + (a[13] & b[12]) + (a[12] & b[13]);
assign { wire_386, wire_387 } = wire_385 + (a[11] & b[14]) + (a[10] & b[15]);
assign { wire_388, wire_389 } = wire_386 + wire_384 + wire_382;
assign { wire_390, wire_391 } = wire_389 + wire_380 + wire_197;
assign { wire_392, wire_393 } = wire_391 + (a[14] & b[12]) + (a[13] & b[13]);
assign { wire_394, wire_395 } = wire_393 + (a[12] & b[14]) + (a[11] & b[15]);
assign { wire_396, wire_397 } = wire_394 + wire_392 + wire_390;
assign { wire_398, wire_399 } = wire_397 + wire_388 + wire_209;
assign { wire_400, wire_401 } = wire_399 + (a[15] & b[12]) + (a[14] & b[13]);
assign { wire_402, wire_403 } = wire_401 + (a[13] & b[14]) + (a[12] & b[15]);
assign { wire_404, wire_405 } = wire_402 + wire_400 + wire_398;
assign { wire_406, wire_407 } = wire_405 + wire_396 + wire_221;
assign { wire_408, wire_409 } = wire_407 + (a[16] & b[12]) + (a[15] & b[13]);
assign { wire_410, wire_411 } = wire_409 + (a[14] & b[14]) + (a[13] & b[15]);
assign { wire_412, wire_413 } = wire_410 + wire_408 + wire_406;
assign { wire_414, wire_415 } = wire_413 + wire_404 + wire_233;
assign { wire_416, wire_417 } = wire_415 + (a[17] & b[12]) + (a[16] & b[13]);
assign { wire_418, wire_419 } = wire_417 + (a[15] & b[14]) + (a[14] & b[15]);
assign { wire_420, wire_421 } = wire_418 + wire_416 + wire_414;
assign { wire_422, wire_423 } = wire_421 + wire_412 + wire_243;
assign { wire_424, wire_425 } = wire_423 + (a[18] & b[12]) + (a[17] & b[13]);
assign { wire_426, wire_427 } = wire_425 + (a[16] & b[14]) + (a[15] & b[15]);
assign { wire_428, wire_429 } = wire_426 + wire_424 + wire_422;
assign { wire_430, wire_431 } = wire_429 + wire_420 + wire_251;
assign { wire_432, wire_433 } = wire_431 + (a[19] & b[12]) + (a[18] & b[13]);
assign { wire_434, wire_435 } = wire_433 + (a[17] & b[14]) + (a[16] & b[15]);
assign { wire_436, wire_437 } = wire_434 + wire_432 + wire_430;
assign { wire_438, wire_439 } = wire_437 + wire_428 + wire_257;
assign { wire_440, wire_441 } = wire_439 + (a[20] & b[12]) + (a[19] & b[13]);
assign { wire_442, wire_443 } = wire_441 + (a[18] & b[14]) + (a[17] & b[15]);
assign { wire_444, wire_445 } = wire_442 + wire_440 + wire_438;
assign { wire_446, wire_447 } = wire_445 + wire_436 + wire_261;
assign { wire_448, wire_449 } = wire_447 + (a[21] & b[12]) + (a[20] & b[13]);
assign { wire_450, wire_451 } = wire_449 + (a[19] & b[14]) + (a[18] & b[15]);
assign { wire_452, wire_453 } = wire_450 + wire_448 + wire_446;
assign { wire_454, wire_455 } = wire_453 + wire_444 + wire_263;
assign { wire_456, wire_457 } = wire_455 + (a[22] & b[12]) + (a[21] & b[13]);
assign { wire_458, wire_459 } = wire_457 + (a[20] & b[14]) + (a[19] & b[15]);
assign { wire_460, wire_461 } = wire_458 + wire_456 + wire_454;
assign { wire_462, wire_463 } = wire_461 + wire_452 + wire_262;
assign { wire_464, wire_465 } = wire_463 + (a[23] & b[12]) + (a[22] & b[13]);
assign { wire_466, wire_467 } = wire_465 + (a[21] & b[14]) + (a[20] & b[15]);
assign { wire_468, wire_469 } = wire_466 + wire_464 + wire_462;
assign { wire_470, wire_471 } = wire_469 + wire_460 + (a[23] & b[13]);
assign { wire_472, wire_473 } = wire_471 + (a[22] & b[14]) + (a[21] & b[15]);
assign { wire_474, wire_475 } = wire_472 + wire_470 + wire_468;
assign { wire_476, wire_477 } = wire_475 + (a[23] & b[14]) + (a[22] & b[15]);
assign { wire_478, wire_479 } = wire_476 + wire_474 + (a[23] & b[15]);
assign { wire_480, wire_481 } = (a[6] & b[0]) + (a[5] & b[1]);
assign { wire_482, wire_483 } = wire_480 + (a[7] & b[0]) + (a[6] & b[1]);
assign { wire_484, wire_485 } = wire_483 + (a[5] & b[2]);
assign { wire_486, wire_487 } = wire_484 + wire_482 + (a[8] & b[0]);
assign { wire_488, wire_489 } = wire_487 + (a[7] & b[1]) + (a[6] & b[2]);
assign { wire_490, wire_491 } = wire_489 + (a[5] & b[3]);
assign { wire_492, wire_493 } = wire_490 + wire_488 + wire_486;
assign { wire_494, wire_495 } = wire_493 + wire_265 + (a[7] & b[2]);
assign { wire_496, wire_497 } = wire_495 + (a[6] & b[3]) + (a[5] & b[4]);
assign { wire_498, wire_499 } = wire_496 + wire_494 + wire_492;
assign { wire_500, wire_501 } = wire_499 + wire_269 + (a[7] & b[3]);
assign { wire_502, wire_503 } = wire_501 + (a[6] & b[4]) + (a[5] & b[5]);
assign { wire_504, wire_505 } = wire_502 + wire_500 + wire_498;
assign { wire_506, wire_507 } = wire_505 + wire_275 + (a[7] & b[4]);
assign { wire_508, wire_509 } = wire_507 + (a[6] & b[5]) + (a[5] & b[6]);
assign { wire_510, wire_511 } = wire_508 + wire_506 + wire_504;
assign { wire_512, wire_513 } = wire_511 + wire_283 + (a[7] & b[5]);
assign { wire_514, wire_515 } = wire_513 + (a[6] & b[6]) + (a[5] & b[7]);
assign { wire_516, wire_517 } = wire_514 + wire_512 + wire_510;
assign { wire_518, wire_519 } = wire_517 + wire_291 + (a[7] & b[6]);
assign { wire_520, wire_521 } = wire_519 + (a[6] & b[7]) + (a[5] & b[8]);
assign { wire_522, wire_523 } = wire_520 + wire_518 + wire_516;
assign { wire_524, wire_525 } = wire_523 + wire_299 + (a[7] & b[7]);
assign { wire_526, wire_527 } = wire_525 + (a[6] & b[8]) + (a[5] & b[9]);
assign { wire_528, wire_529 } = wire_526 + wire_524 + wire_522;
assign { wire_530, wire_531 } = wire_529 + wire_307 + (a[7] & b[8]);
assign { wire_532, wire_533 } = wire_531 + (a[6] & b[9]) + (a[5] & b[10]);
assign { wire_534, wire_535 } = wire_532 + wire_530 + wire_528;
assign { wire_536, wire_537 } = wire_535 + wire_315 + (a[7] & b[9]);
assign { wire_538, wire_539 } = wire_537 + (a[6] & b[10]) + (a[5] & b[11]);
assign { wire_540, wire_541 } = wire_538 + wire_536 + wire_534;
assign { wire_542, wire_543 } = wire_541 + wire_323 + (a[7] & b[10]);
assign { wire_544, wire_545 } = wire_543 + (a[6] & b[11]) + (a[5] & b[12]);
assign { wire_546, wire_547 } = wire_544 + wire_542 + wire_540;
assign { wire_548, wire_549 } = wire_547 + wire_331 + (a[7] & b[11]);
assign { wire_550, wire_551 } = wire_549 + (a[6] & b[12]) + (a[5] & b[13]);
assign { wire_552, wire_553 } = wire_550 + wire_548 + wire_546;
assign { wire_554, wire_555 } = wire_553 + wire_339 + (a[7] & b[12]);
assign { wire_556, wire_557 } = wire_555 + (a[6] & b[13]) + (a[5] & b[14]);
assign { wire_558, wire_559 } = wire_556 + wire_554 + wire_552;
assign { wire_560, wire_561 } = wire_559 + wire_347 + (a[7] & b[13]);
assign { wire_562, wire_563 } = wire_561 + (a[6] & b[14]) + (a[5] & b[15]);
assign { wire_564, wire_565 } = wire_562 + wire_560 + wire_558;
assign { wire_566, wire_567 } = wire_565 + wire_355 + (a[7] & b[14]);
assign { wire_568, wire_569 } = wire_567 + (a[6] & b[15]) + (a[5] & b[16]);
assign { wire_570, wire_571 } = wire_568 + wire_566 + wire_564;
assign { wire_572, wire_573 } = wire_571 + wire_363 + (a[7] & b[15]);
assign { wire_574, wire_575 } = wire_573 + (a[6] & b[16]) + (a[5] & b[17]);
assign { wire_576, wire_577 } = wire_574 + wire_572 + wire_570;
assign { wire_578, wire_579 } = wire_577 + wire_371 + (a[7] & b[16]);
assign { wire_580, wire_581 } = wire_579 + (a[6] & b[17]) + (a[5] & b[18]);
assign { wire_582, wire_583 } = wire_580 + wire_578 + wire_576;
assign { wire_584, wire_585 } = wire_583 + wire_379 + (a[8] & b[16]);
assign { wire_586, wire_587 } = wire_585 + (a[7] & b[17]) + (a[6] & b[18]);
assign { wire_588, wire_589 } = wire_586 + wire_584 + wire_582;
assign { wire_590, wire_591 } = wire_589 + wire_387 + (a[9] & b[16]);
assign { wire_592, wire_593 } = wire_591 + (a[8] & b[17]) + (a[7] & b[18]);
assign { wire_594, wire_595 } = wire_592 + wire_590 + wire_588;
assign { wire_596, wire_597 } = wire_595 + wire_395 + (a[10] & b[16]);
assign { wire_598, wire_599 } = wire_597 + (a[9] & b[17]) + (a[8] & b[18]);
assign { wire_600, wire_601 } = wire_598 + wire_596 + wire_594;
assign { wire_602, wire_603 } = wire_601 + wire_403 + (a[11] & b[16]);
assign { wire_604, wire_605 } = wire_603 + (a[10] & b[17]) + (a[9] & b[18]);
assign { wire_606, wire_607 } = wire_604 + wire_602 + wire_600;
assign { wire_608, wire_609 } = wire_607 + wire_411 + (a[12] & b[16]);
assign { wire_610, wire_611 } = wire_609 + (a[11] & b[17]) + (a[10] & b[18]);
assign { wire_612, wire_613 } = wire_610 + wire_608 + wire_606;
assign { wire_614, wire_615 } = wire_613 + wire_419 + (a[13] & b[16]);
assign { wire_616, wire_617 } = wire_615 + (a[12] & b[17]) + (a[11] & b[18]);
assign { wire_618, wire_619 } = wire_616 + wire_614 + wire_612;
assign { wire_620, wire_621 } = wire_619 + wire_427 + (a[14] & b[16]);
assign { wire_622, wire_623 } = wire_621 + (a[13] & b[17]) + (a[12] & b[18]);
assign { wire_624, wire_625 } = wire_622 + wire_620 + wire_618;
assign { wire_626, wire_627 } = wire_625 + wire_435 + (a[15] & b[16]);
assign { wire_628, wire_629 } = wire_627 + (a[14] & b[17]) + (a[13] & b[18]);
assign { wire_630, wire_631 } = wire_628 + wire_626 + wire_624;
assign { wire_632, wire_633 } = wire_631 + wire_443 + (a[16] & b[16]);
assign { wire_634, wire_635 } = wire_633 + (a[15] & b[17]) + (a[14] & b[18]);
assign { wire_636, wire_637 } = wire_634 + wire_632 + wire_630;
assign { wire_638, wire_639 } = wire_637 + wire_451 + (a[17] & b[16]);
assign { wire_640, wire_641 } = wire_639 + (a[16] & b[17]) + (a[15] & b[18]);
assign { wire_642, wire_643 } = wire_640 + wire_638 + wire_636;
assign { wire_644, wire_645 } = wire_643 + wire_459 + (a[18] & b[16]);
assign { wire_646, wire_647 } = wire_645 + (a[17] & b[17]) + (a[16] & b[18]);
assign { wire_648, wire_649 } = wire_646 + wire_644 + wire_642;
assign { wire_650, wire_651 } = wire_649 + wire_467 + (a[19] & b[16]);
assign { wire_652, wire_653 } = wire_651 + (a[18] & b[17]) + (a[17] & b[18]);
assign { wire_654, wire_655 } = wire_652 + wire_650 + wire_648;
assign { wire_656, wire_657 } = wire_655 + wire_473 + (a[20] & b[16]);
assign { wire_658, wire_659 } = wire_657 + (a[19] & b[17]) + (a[18] & b[18]);
assign { wire_660, wire_661 } = wire_658 + wire_656 + wire_654;
assign { wire_662, wire_663 } = wire_661 + wire_477 + (a[21] & b[16]);
assign { wire_664, wire_665 } = wire_663 + (a[20] & b[17]) + (a[19] & b[18]);
assign { wire_666, wire_667 } = wire_664 + wire_662 + wire_660;
assign { wire_668, wire_669 } = wire_667 + wire_479 + (a[22] & b[16]);
assign { wire_670, wire_671 } = wire_669 + (a[21] & b[17]) + (a[20] & b[18]);
assign { wire_672, wire_673 } = wire_670 + wire_668 + wire_666;
assign { wire_674, wire_675 } = wire_673 + wire_478 + (a[23] & b[16]);
assign { wire_676, wire_677 } = wire_675 + (a[22] & b[17]) + (a[21] & b[18]);
assign { wire_678, wire_679 } = wire_676 + wire_674 + wire_672;
assign { wire_680, wire_681 } = wire_679 + (a[23] & b[17]) + (a[22] & b[18]);
assign { wire_682, wire_683 } = wire_680 + wire_678 + (a[23] & b[18]);
assign { wire_684, wire_685 } = (a[4] & b[0]) + (a[3] & b[1]);
assign { wire_686, wire_687 } = wire_684 + (a[5] & b[0]) + (a[4] & b[1]);
assign { wire_688, wire_689 } = wire_687 + (a[3] & b[2]);
assign { wire_690, wire_691 } = wire_688 + wire_686 + wire_481;
assign { wire_692, wire_693 } = wire_691 + (a[4] & b[2]) + (a[3] & b[3]);
assign { wire_694, wire_695 } = wire_692 + wire_690 + wire_485;
assign { wire_696, wire_697 } = wire_695 + (a[4] & b[3]) + (a[3] & b[4]);
assign { wire_698, wire_699 } = wire_696 + wire_694 + wire_491;
assign { wire_700, wire_701 } = wire_699 + (a[4] & b[4]) + (a[3] & b[5]);
assign { wire_702, wire_703 } = wire_700 + wire_698 + wire_497;
assign { wire_704, wire_705 } = wire_703 + (a[4] & b[5]) + (a[3] & b[6]);
assign { wire_706, wire_707 } = wire_704 + wire_702 + wire_503;
assign { wire_708, wire_709 } = wire_707 + (a[4] & b[6]) + (a[3] & b[7]);
assign { wire_710, wire_711 } = wire_708 + wire_706 + wire_509;
assign { wire_712, wire_713 } = wire_711 + (a[4] & b[7]) + (a[3] & b[8]);
assign { wire_714, wire_715 } = wire_712 + wire_710 + wire_515;
assign { wire_716, wire_717 } = wire_715 + (a[4] & b[8]) + (a[3] & b[9]);
assign { wire_718, wire_719 } = wire_716 + wire_714 + wire_521;
assign { wire_720, wire_721 } = wire_719 + (a[4] & b[9]) + (a[3] & b[10]);
assign { wire_722, wire_723 } = wire_720 + wire_718 + wire_527;
assign { wire_724, wire_725 } = wire_723 + (a[4] & b[10]) + (a[3] & b[11]);
assign { wire_726, wire_727 } = wire_724 + wire_722 + wire_533;
assign { wire_728, wire_729 } = wire_727 + (a[4] & b[11]) + (a[3] & b[12]);
assign { wire_730, wire_731 } = wire_728 + wire_726 + wire_539;
assign { wire_732, wire_733 } = wire_731 + (a[4] & b[12]) + (a[3] & b[13]);
assign { wire_734, wire_735 } = wire_732 + wire_730 + wire_545;
assign { wire_736, wire_737 } = wire_735 + (a[4] & b[13]) + (a[3] & b[14]);
assign { wire_738, wire_739 } = wire_736 + wire_734 + wire_551;
assign { wire_740, wire_741 } = wire_739 + (a[4] & b[14]) + (a[3] & b[15]);
assign { wire_742, wire_743 } = wire_740 + wire_738 + wire_557;
assign { wire_744, wire_745 } = wire_743 + (a[4] & b[15]) + (a[3] & b[16]);
assign { wire_746, wire_747 } = wire_744 + wire_742 + wire_563;
assign { wire_748, wire_749 } = wire_747 + (a[4] & b[16]) + (a[3] & b[17]);
assign { wire_750, wire_751 } = wire_748 + wire_746 + wire_569;
assign { wire_752, wire_753 } = wire_751 + (a[4] & b[17]) + (a[3] & b[18]);
assign { wire_754, wire_755 } = wire_752 + wire_750 + wire_575;
assign { wire_756, wire_757 } = wire_755 + (a[4] & b[18]) + (a[3] & b[19]);
assign { wire_758, wire_759 } = wire_756 + wire_754 + wire_581;
assign { wire_760, wire_761 } = wire_759 + (a[4] & b[19]) + (a[3] & b[20]);
assign { wire_762, wire_763 } = wire_760 + wire_758 + wire_587;
assign { wire_764, wire_765 } = wire_763 + (a[5] & b[19]) + (a[4] & b[20]);
assign { wire_766, wire_767 } = wire_764 + wire_762 + wire_593;
assign { wire_768, wire_769 } = wire_767 + (a[6] & b[19]) + (a[5] & b[20]);
assign { wire_770, wire_771 } = wire_768 + wire_766 + wire_599;
assign { wire_772, wire_773 } = wire_771 + (a[7] & b[19]) + (a[6] & b[20]);
assign { wire_774, wire_775 } = wire_772 + wire_770 + wire_605;
assign { wire_776, wire_777 } = wire_775 + (a[8] & b[19]) + (a[7] & b[20]);
assign { wire_778, wire_779 } = wire_776 + wire_774 + wire_611;
assign { wire_780, wire_781 } = wire_779 + (a[9] & b[19]) + (a[8] & b[20]);
assign { wire_782, wire_783 } = wire_780 + wire_778 + wire_617;
assign { wire_784, wire_785 } = wire_783 + (a[10] & b[19]) + (a[9] & b[20]);
assign { wire_786, wire_787 } = wire_784 + wire_782 + wire_623;
assign { wire_788, wire_789 } = wire_787 + (a[11] & b[19]) + (a[10] & b[20]);
assign { wire_790, wire_791 } = wire_788 + wire_786 + wire_629;
assign { wire_792, wire_793 } = wire_791 + (a[12] & b[19]) + (a[11] & b[20]);
assign { wire_794, wire_795 } = wire_792 + wire_790 + wire_635;
assign { wire_796, wire_797 } = wire_795 + (a[13] & b[19]) + (a[12] & b[20]);
assign { wire_798, wire_799 } = wire_796 + wire_794 + wire_641;
assign { wire_800, wire_801 } = wire_799 + (a[14] & b[19]) + (a[13] & b[20]);
assign { wire_802, wire_803 } = wire_800 + wire_798 + wire_647;
assign { wire_804, wire_805 } = wire_803 + (a[15] & b[19]) + (a[14] & b[20]);
assign { wire_806, wire_807 } = wire_804 + wire_802 + wire_653;
assign { wire_808, wire_809 } = wire_807 + (a[16] & b[19]) + (a[15] & b[20]);
assign { wire_810, wire_811 } = wire_808 + wire_806 + wire_659;
assign { wire_812, wire_813 } = wire_811 + (a[17] & b[19]) + (a[16] & b[20]);
assign { wire_814, wire_815 } = wire_812 + wire_810 + wire_665;
assign { wire_816, wire_817 } = wire_815 + (a[18] & b[19]) + (a[17] & b[20]);
assign { wire_818, wire_819 } = wire_816 + wire_814 + wire_671;
assign { wire_820, wire_821 } = wire_819 + (a[19] & b[19]) + (a[18] & b[20]);
assign { wire_822, wire_823 } = wire_820 + wire_818 + wire_677;
assign { wire_824, wire_825 } = wire_823 + (a[20] & b[19]) + (a[19] & b[20]);
assign { wire_826, wire_827 } = wire_824 + wire_822 + wire_681;
assign { wire_828, wire_829 } = wire_827 + (a[21] & b[19]) + (a[20] & b[20]);
assign { wire_830, wire_831 } = wire_828 + wire_826 + wire_683;
assign { wire_832, wire_833 } = wire_831 + (a[22] & b[19]) + (a[21] & b[20]);
assign { wire_834, wire_835 } = wire_832 + wire_830 + wire_682;
assign { wire_836, wire_837 } = wire_835 + (a[23] & b[19]) + (a[22] & b[20]);
assign { wire_838, wire_839 } = wire_836 + wire_834 + (a[23] & b[20]);
assign { wire_840, wire_841 } = (a[3] & b[0]) + (a[2] & b[1]);
assign { wire_842, wire_843 } = wire_840 + wire_685 + (a[2] & b[2]);
assign { wire_844, wire_845 } = wire_842 + wire_689 + (a[2] & b[3]);
assign { wire_846, wire_847 } = wire_844 + wire_693 + (a[2] & b[4]);
assign { wire_848, wire_849 } = wire_846 + wire_697 + (a[2] & b[5]);
assign { wire_850, wire_851 } = wire_848 + wire_701 + (a[2] & b[6]);
assign { wire_852, wire_853 } = wire_850 + wire_705 + (a[2] & b[7]);
assign { wire_854, wire_855 } = wire_852 + wire_709 + (a[2] & b[8]);
assign { wire_856, wire_857 } = wire_854 + wire_713 + (a[2] & b[9]);
assign { wire_858, wire_859 } = wire_856 + wire_717 + (a[2] & b[10]);
assign { wire_860, wire_861 } = wire_858 + wire_721 + (a[2] & b[11]);
assign { wire_862, wire_863 } = wire_860 + wire_725 + (a[2] & b[12]);
assign { wire_864, wire_865 } = wire_862 + wire_729 + (a[2] & b[13]);
assign { wire_866, wire_867 } = wire_864 + wire_733 + (a[2] & b[14]);
assign { wire_868, wire_869 } = wire_866 + wire_737 + (a[2] & b[15]);
assign { wire_870, wire_871 } = wire_868 + wire_741 + (a[2] & b[16]);
assign { wire_872, wire_873 } = wire_870 + wire_745 + (a[2] & b[17]);
assign { wire_874, wire_875 } = wire_872 + wire_749 + (a[2] & b[18]);
assign { wire_876, wire_877 } = wire_874 + wire_753 + (a[2] & b[19]);
assign { wire_878, wire_879 } = wire_876 + wire_757 + (a[2] & b[20]);
assign { wire_880, wire_881 } = wire_878 + wire_761 + (a[2] & b[21]);
assign { wire_882, wire_883 } = wire_880 + wire_765 + (a[3] & b[21]);
assign { wire_884, wire_885 } = wire_882 + wire_769 + (a[4] & b[21]);
assign { wire_886, wire_887 } = wire_884 + wire_773 + (a[5] & b[21]);
assign { wire_888, wire_889 } = wire_886 + wire_777 + (a[6] & b[21]);
assign { wire_890, wire_891 } = wire_888 + wire_781 + (a[7] & b[21]);
assign { wire_892, wire_893 } = wire_890 + wire_785 + (a[8] & b[21]);
assign { wire_894, wire_895 } = wire_892 + wire_789 + (a[9] & b[21]);
assign { wire_896, wire_897 } = wire_894 + wire_793 + (a[10] & b[21]);
assign { wire_898, wire_899 } = wire_896 + wire_797 + (a[11] & b[21]);
assign { wire_900, wire_901 } = wire_898 + wire_801 + (a[12] & b[21]);
assign { wire_902, wire_903 } = wire_900 + wire_805 + (a[13] & b[21]);
assign { wire_904, wire_905 } = wire_902 + wire_809 + (a[14] & b[21]);
assign { wire_906, wire_907 } = wire_904 + wire_813 + (a[15] & b[21]);
assign { wire_908, wire_909 } = wire_906 + wire_817 + (a[16] & b[21]);
assign { wire_910, wire_911 } = wire_908 + wire_821 + (a[17] & b[21]);
assign { wire_912, wire_913 } = wire_910 + wire_825 + (a[18] & b[21]);
assign { wire_914, wire_915 } = wire_912 + wire_829 + (a[19] & b[21]);
assign { wire_916, wire_917 } = wire_914 + wire_833 + (a[20] & b[21]);
assign { wire_918, wire_919 } = wire_916 + wire_837 + (a[21] & b[21]);
assign { wire_920, wire_921 } = wire_918 + wire_839 + (a[22] & b[21]);
assign { wire_922, wire_923 } = wire_920 + wire_838 + (a[23] & b[21]);
assign { wire_924, wire_925 } = (a[2] & b[0]) + (a[1] & b[1]);
assign { wire_926, wire_927 } = wire_924 + wire_841 + (a[1] & b[2]);
assign { wire_928, wire_929 } = wire_926 + wire_843 + (a[1] & b[3]);
assign { wire_930, wire_931 } = wire_928 + wire_845 + (a[1] & b[4]);
assign { wire_932, wire_933 } = wire_930 + wire_847 + (a[1] & b[5]);
assign { wire_934, wire_935 } = wire_932 + wire_849 + (a[1] & b[6]);
assign { wire_936, wire_937 } = wire_934 + wire_851 + (a[1] & b[7]);
assign { wire_938, wire_939 } = wire_936 + wire_853 + (a[1] & b[8]);
assign { wire_940, wire_941 } = wire_938 + wire_855 + (a[1] & b[9]);
assign { wire_942, wire_943 } = wire_940 + wire_857 + (a[1] & b[10]);
assign { wire_944, wire_945 } = wire_942 + wire_859 + (a[1] & b[11]);
assign { wire_946, wire_947 } = wire_944 + wire_861 + (a[1] & b[12]);
assign { wire_948, wire_949 } = wire_946 + wire_863 + (a[1] & b[13]);
assign { wire_950, wire_951 } = wire_948 + wire_865 + (a[1] & b[14]);
assign { wire_952, wire_953 } = wire_950 + wire_867 + (a[1] & b[15]);
assign { wire_954, wire_955 } = wire_952 + wire_869 + (a[1] & b[16]);
assign { wire_956, wire_957 } = wire_954 + wire_871 + (a[1] & b[17]);
assign { wire_958, wire_959 } = wire_956 + wire_873 + (a[1] & b[18]);
assign { wire_960, wire_961 } = wire_958 + wire_875 + (a[1] & b[19]);
assign { wire_962, wire_963 } = wire_960 + wire_877 + (a[1] & b[20]);
assign { wire_964, wire_965 } = wire_962 + wire_879 + (a[1] & b[21]);
assign { wire_966, wire_967 } = wire_964 + wire_881 + (a[1] & b[22]);
assign { wire_968, wire_969 } = wire_966 + wire_883 + (a[2] & b[22]);
assign { wire_970, wire_971 } = wire_968 + wire_885 + (a[3] & b[22]);
assign { wire_972, wire_973 } = wire_970 + wire_887 + (a[4] & b[22]);
assign { wire_974, wire_975 } = wire_972 + wire_889 + (a[5] & b[22]);
assign { wire_976, wire_977 } = wire_974 + wire_891 + (a[6] & b[22]);
assign { wire_978, wire_979 } = wire_976 + wire_893 + (a[7] & b[22]);
assign { wire_980, wire_981 } = wire_978 + wire_895 + (a[8] & b[22]);
assign { wire_982, wire_983 } = wire_980 + wire_897 + (a[9] & b[22]);
assign { wire_984, wire_985 } = wire_982 + wire_899 + (a[10] & b[22]);
assign { wire_986, wire_987 } = wire_984 + wire_901 + (a[11] & b[22]);
assign { wire_988, wire_989 } = wire_986 + wire_903 + (a[12] & b[22]);
assign { wire_990, wire_991 } = wire_988 + wire_905 + (a[13] & b[22]);
assign { wire_992, wire_993 } = wire_990 + wire_907 + (a[14] & b[22]);
assign { wire_994, wire_995 } = wire_992 + wire_909 + (a[15] & b[22]);
assign { wire_996, wire_997 } = wire_994 + wire_911 + (a[16] & b[22]);
assign { wire_998, wire_999 } = wire_996 + wire_913 + (a[17] & b[22]);
assign { wire_1000, wire_1001 } = wire_998 + wire_915 + (a[18] & b[22]);
assign { wire_1002, wire_1003 } = wire_1000 + wire_917 + (a[19] & b[22]);
assign { wire_1004, wire_1005 } = wire_1002 + wire_919 + (a[20] & b[22]);
assign { wire_1006, wire_1007 } = wire_1004 + wire_921 + (a[21] & b[22]);
assign { wire_1008, wire_1009 } = wire_1006 + wire_923 + (a[22] & b[22]);
assign { wire_1010, wire_1011 } = wire_1008 + wire_922 + (a[23] & b[22]);
assign out = {(a[23] & b[23]), (a[22] & b[23]), (a[21] & b[23]), (a[20] & b[23]), (a[19] & b[23]), (a[18] & b[23]), (a[17] & b[23]), (a[16] & b[23]), (a[15] & b[23]), (a[14] & b[23]), (a[13] & b[23]), (a[12] & b[23]), (a[11] & b[23]), (a[10] & b[23]), (a[9] & b[23]), (a[8] & b[23]), (a[7] & b[23]), (a[6] & b[23]), (a[5] & b[23]), (a[4] & b[23]), (a[3] & b[23]), (a[2] & b[23]), (a[1] & b[23]), (a[0] & b[23]), (a[0] & b[22]), (a[0] & b[21]), (a[0] & b[20]), (a[0] & b[19]), (a[0] & b[18]), (a[0] & b[17]), (a[0] & b[16]), (a[0] & b[15]), (a[0] & b[14]), (a[0] & b[13]), (a[0] & b[12]), (a[0] & b[11]), (a[0] & b[10]), (a[0] & b[9]), (a[0] & b[8]), (a[0] & b[7]), (a[0] & b[6]), (a[0] & b[5]), (a[0] & b[4]), (a[0] & b[3]), (a[0] & b[2]), (a[0] & b[1]), (a[0] & b[0])} + {wire_1010, wire_1011, wire_1009, wire_1007, wire_1005, wire_1003, wire_1001, wire_999, wire_997, wire_995, wire_993, wire_991, wire_989, wire_987, wire_985, wire_983, wire_981, wire_979, wire_977, wire_975, wire_973, wire_971, wire_969, wire_967, wire_965, wire_963, wire_961, wire_959, wire_957, wire_955, wire_953, wire_951, wire_949, wire_947, wire_945, wire_943, wire_941, wire_939, wire_937, wire_935, wire_933, wire_931, wire_929, wire_927, wire_925, (a[1] & b[0]), 1'b0};
endmodule
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment