module wallace24(outputreg[47:0] product,input[23:0] x,y, inputclock);
reg p [23:0][23:0]; //array whichstoresthe partial products
wire [551:0] s ,c ; //iintermediate sumandcarry
integeri,j;
always@(y,x) //x is multiplicandANDyismultiplier
begin
// creatingthe partial products.
for ( i = 0; i <= 23; i = i + 1)
for ( j = 0; j <= 23; j = j + 1)
p[j][i] <=x[j] &y[i];
//all the partial productshave beenobtainedandstoredinaarray of 8 X 8 matrix.
end
HA ha_11 ( .sum(s[0]),.carry(c[0]),.a(p[1][0]),.b( p[0][1]));//P1
FA fa_21 ( .sum(s[1]),.carry(c[1]),.a(p[2][0]),.b( p[1][1]),.cin( (c[0]) ) );
HA ha_21 ( .sum(s[2]),.carry(c[2]),.a(p[0][2]),.b( s[1])); //P2
FA fa_31 ( .sum(s[3]),.carry(c[3]),.a(p[3][0]),.b( p[2][1]),.cin( c[1]) );
FA fa_32 ( .sum(s[4]),.carry(c[4]),.a(p[1][2]),.b( s[3]),.cin(c[2]) );
HA ha_31 ( .sum(s[5]),.carry(c[5]),.a(p[0][3]),.b( s[4])); //P3
FA fa_41 ( .sum(s[6]),.carry(c[6]),.a(p[4][0]),.b( p[3][1]),.cin( c[3]) );
FA fa_42 ( .sum(s[7]),.carry(c[7]),.a(p[2][2]),.b(s[6]),.cin( c[4]) );
FA fa_43 ( .sum(s[8]),.carry(c[8]),.a(p[1][3]),.b(s[7]),.cin( c[5]) );
HA ha_41 ( .sum(s[9]),.carry(c[9]),.a(p[0][4]),.b( s[8])); //P4
FA fa_51 ( .sum(s[10]),.carry(c[10]),.a(p[5][0]),.b( p[4][1]),.cin( c[6]) );
FA fa_52 ( .sum(s[11]),.carry(c[11]),.a(p[3][2]), .b( s[10]),.cin( c[7]) );
FA fa_53 ( .sum(s[12]),.carry(c[12]),.a(p[2][3]),.b( s[11]),.cin( c[8]) );
FA fa_54 ( .sum(s[13]),.carry(c[13]),.a(p[1][4]),.b( s[12]),.cin( c[9]) );
HA ha_55 ( .sum(s[14]),.carry(c[14]), .a(p[0][5]),.b( s[13])); //P5
FA fa_61 ( .sum(s[15]),.carry(c[15]),.a(p[6][0]),.b( p[5][1]),.cin( c[10]) );
FA fa_62 ( .sum(s[16]),.carry(c[16]),.a(p[4][2]),.b( s[15]),.cin( c[11]) );
FA fa_63 ( .sum(s[17]),.carry(c[17]),.a(p[3][3]),.b( s[16]),.cin( c[12]) );
FA fa_64 ( .sum(s[18]),.carry(c[18]),.a(p[2][4]),.b( s[17]),.cin( c[13]) );
FA fa_65 ( .sum(s[19]),.carry(c[19]),.a(p[1][5]),.b( s[18]),.cin( c[14]) );
HA ha_42 ( .sum(s[20]),.carry(c[20]),.a(p[0][6]),.b( s[19])); //P6
FA fa_71 ( .sum(s[21]),.carry(c[21]),.a(p[7][0]),.b( p[6][1]),.cin( c[15]) );
FA fa_72 ( .sum(s[22]),.carry(c[22]),.a(p[5][2]),.b( s[21]),.cin( c[16]) );
FA fa_73 ( .sum(s[23]),.carry(c[23]),.a(p[4][3]),.b( s[22]),.cin( c[17]) );
FA fa_74 ( .sum(s[24]),.carry(c[24]),.a(p[3][4]),.b( s[23]),.cin( c[18]) );
FA fa_75 ( .sum(s[25]),.carry(c[25]),.a(p[2][5]),.b( s[24]),.cin( c[19]) );
FA fa_76 ( .sum(s[26]),.carry(c[26]),.a(p[1][6]),.b( s[25]),.cin( c[20]) );
HA ha_71 ( .sum(s[27]),.carry(c[27]),.a(p[0][7]),.b( s[26])); //P7
FA fa_81 ( .sum(s[28]),.carry(c[28]),.a(p[8][0]),.b( p[7][1]),.cin( c[21]) );
FA fa_82 ( .sum(s[29]),.carry(c[29]),.a(p[6][2]),.b( s[28]),.cin( c[22]) );
FA fa_83 ( .sum(s[30]),.carry(c[30]),.a(p[5][3]),.b( s[29]),.cin( c[23]) );
FA fa_84 ( .sum(s[31]),.carry(c[31]),.a(p[4][4]),.b( s[30]),.cin( c[24]) );
FA fa_85 ( .sum(s[32]),.carry(c[32]),.a(p[3][5]),.b( s[31]),.cin( c[25]) );
FA fa_86 ( .sum(s[33]),.carry(c[33]),.a(p[2][6]),.b( s[32]),.cin( c[26]) );
FA fa_87 ( .sum(s[34]),.carry(c[34]),.a(p[1][7]),.b( s[33]),.cin( c[27]) );
HA ha_81 ( .sum(s[35]),.carry(c[35]),.a(p[0][8]),.b( s[34])); //P8
FA fa_91 ( .sum(s[36]),.carry(c[36]),.a(p[9][0]),.b( p[8][1]),.cin( c[28]) );
FA fa_92 ( .sum(s[37]),.carry(c[37]),.a(p[7][2]),.b( s[36]),.cin( c[29]) );
FA fa_93 ( .sum(s[38]),.carry(c[38]),.a(p[6][3]),.b( s[37]),.cin( c[30]) );
FA fa_94 ( .sum(s[39]),.carry(c[39]),.a(p[5][4]),.b( s[38]),.cin( c[31]) );
FA fa_95 ( .sum(s[40]),.carry(c[40]),.a(p[4][5]),.b( s[39]),.cin( c[32]) );
FA fa_96 ( .sum(s[41]),.carry(c[41]),.a(p[3][6]),.b( s[40]),.cin( c[33]) );
FA fa_97 ( .sum(s[42]),.carry(c[42]),.a(p[2][7]),.b( s[41]),.cin( c[34]) );
FA fa_98 ( .sum(s[43]),.carry(c[43]),.a(p[1][8]),.b( s[42]),.cin( c[35]) );
HA ha_91 ( .sum(s[44]),.carry(c[44]),.a(p[0][9]),.b( s[43])); //P9
FA fa_101 ( .sum(s[45]),.carry(c[45]),.a(p[10][0]),.b( p[9][1]),.cin(c[36]) );
FA fa_102 ( .sum(s[46]),.carry(c[46]),.a(p[8][2]),.b( s[45]),.cin( c[37]) );
FA fa_103 ( .sum(s[47]),.carry(c[47]),.a(p[7][3]),.b( s[46]),.cin( c[38]) );
FA fa_104 ( .sum(s[48]),.carry(c[48]),.a(p[6][4]),.b( s[47]),.cin( c[39]) );
FA fa_105 ( .sum(s[49]),.carry(c[49]),.a(p[5][5]),.b( s[48]),.cin( c[40]) );
FA fa_106 ( .sum(s[50]),.carry(c[50]),.a(p[4][6]),.b( s[49]),.cin( c[41]) );
FA fa_107 ( .sum(s[51]),.carry(c[51]),.a(p[3][7]),.b( s[50]),.cin( c[42]) );
FA fa_108 ( .sum(s[52]),.carry(c[52]),.a(p[2][8]),.b( s[51]),.cin( c[43]) );
FA fa_109 ( .sum(s[53]),.carry(c[53]),.a(p[1][9]),.b( s[52]),.cin( c[44]) );
HA ha_101 ( .sum(s[54]),.carry(c[54]),.a(p[0][10]),.b( s[53])); //P10
FA fa_111 ( .sum(s[55]),.carry(c[55]),.a(p[11][0]),.b( p[10][1]),.cin( c[45]) );
FA fa_112 ( .sum(s[56]),.carry(c[56]),.a(p[9][2]),.b( s[55]),.cin( c[46]) );
FA fa_113 ( .sum(s[57]),.carry(c[57]),.a(p[8][3]),.b( s[56]),.cin( c[47]) );
FA fa_114 ( .sum(s[58]),.carry(c[58]),.a(p[7][4]),.b( s[57]),.cin( c[48]) );
FA fa_115 ( .sum(s[59]),.carry(c[59]),.a(p[6][5]),.b( s[58]),.cin( c[49]) );
FA fa_116 ( .sum(s[60]),.carry(c[60]),.a(p[5][6]),.b( s[59]),.cin( c[50]) );
FA fa_117 ( .sum(s[61]),.carry(c[61]),.a(p[4][7]),.b( s[60]),.cin( c[51]) );
FA fa_118( .sum(s[62]),.carry(c[62]),.a(p[3][8]),.b( s[61]),.cin( c[52]) );
FA fa_119 ( .sum(s[63]),.carry(c[63]),.a(p[2][9]),.b( s[62]),.cin( c[53]) );
FA fa_120 ( .sum(s[64]),.carry(c[64]),.a(p[1][10]),.b( s[63]),.cin(c[54]) );
HA ha_111 ( .sum(s[65]),.carry(c[65]),.a(p[0][11]),.b( s[64])); //P11
FA fa_121 ( .sum(s[66]),.carry(c[66]), .a(p[12][0]),.b( p[11][1]),.cin( c[55]) );
FA fa_122 ( .sum(s[67]),.carry(c[67]),.a(p[10][2]),.b( s[66]),.cin(c[56]) );
FA fa_123 ( .sum(s[68]),.carry(c[68]),.a(p[9][3]),.b( s[67]),.cin( c[57]) );
FA fa_124 ( .sum(s[69]),.carry(c[69]),.a(p[8][4]),.b( s[68]),.cin( c[58]) );
FA fa_125 ( .sum(s[70]),.carry(c[70]),.a(p[7][5]),.b( s[69]),.cin( c[59]) );
FA fa_126 ( .sum(s[71]),.carry(c[71]),.a(p[6][6]),.b( s[70]),.cin( c[60]) );
FA fa_127 ( .sum(s[72]),.carry(c[72]),.a(p[5][7]),.b( s[71]),.cin( c[61]) );
FA fa_128 ( .sum(s[73]),.carry(c[73]),.a(p[4][8]),.b( s[72]),.cin( c[62]) );
FA fa_129 ( .sum(s[74]),.carry(c[74]),.a(p[3][9]),.b( s[73]),.cin( c[63]) );
FA fa_130 ( .sum(s[75]),.carry(c[75]),.a(p[2][10]),.b( s[74]),.cin(c[64]) );
FA fa_131 ( .sum(s[76]),.carry(c[76]),.a(p[1][11]),.b( s[75]),.cin(c[65]) );
HA ha_121 ( .sum(s[77]),.carry(c[77]),.a(p[0][12]),.b( s[76])); //P12
FA fa_141 ( .sum(s[78]),.carry(c[78]),.a(p[13][0]),.b( p[12][1]),.cin( c[66]) );
FA fa_142 ( .sum(s[79]),.carry(c[79]),.a(p[11][2]),.b( s[78]),.cin(c[67]) );
FA fa_143 ( .sum(s[80]),.carry(c[80]),.a(p[10][3]),.b( s[79]),.cin(c[68]) );
FA fa_144 ( .sum(s[81]),.carry(c[81]),.a(p[9][4]),.b( s[80]),.cin( c[69]) );
FA fa_145 ( .sum(s[82]),.carry(c[82]),.a(p[8][5]),.b( s[81]),.cin( c[70]) );
FA fa_146 ( .sum(s[83]),.carry(c[83]),.a(p[7][6]),.b( s[82]),.cin( c[71]) );
FA fa_147 ( .sum(s[84]),.carry(c[84]),.a(p[6][7]),.b( s[83]),.cin( c[72]) );
FA fa_148 ( .sum(s[85]),.carry(c[85]),.a(p[5][8]),.b( s[84]),.cin( c[73]) );
FA fa_149 ( .sum(s[86]),.carry(c[86]),.a(p[4][9]),.b( s[85]),.cin( c[74]) );
FA fa_150 ( .sum(s[87]),.carry(c[87]),.a(p[3][10]),.b( s[86]),.cin(c[75]) );
FA fa_151 ( .sum(s[88]),.carry(c[88]),.a(p[2][11]),.b( s[87]),.cin(c[76]) );
FA fa_152 ( .sum(s[89]),.carry(c[89]),.a(p[1][12]),.b( s[88]),.cin(c[77]) );
HA ha_140 ( .sum(s[90]),.carry(c[90]),.a(p[0][13]),.b( s[89])); //P13
FA fa_161 ( .sum(s[91]),.carry(c[91]),.a(p[14][0]),.b( p[13][1]),.cin( c[78]) );
FA fa_162 ( .sum(s[92]),.carry(c[92]),.a(p[12][2]),.b( s[91]),.cin(c[79]) );
FA fa_163 ( .sum(s[93]),.carry(c[93]),.a(p[11][3]),.b( s[92]),.cin(c[80]) );
FA fa_164 ( .sum(s[94]),.carry(c[94]),.a(p[10][4]),.b( s[93]),.cin(c[81]) );
FA fa_165 ( .sum(s[95]),.carry(c[95]),.a(p[9][5]),.b( s[94]),.cin( c[82]) );
FA fa_166 ( .sum(s[96]),.carry(c[96]),.a(p[8][6]),.b( s[95]),.cin( c[83]) );
FA fa_167 ( .sum(s[97]),.carry(c[97]),.a(p[7][7]),.b( s[96]),.cin( c[84]) );
FA fa_168 ( .sum(s[98]),.carry(c[98]),.a(p[6][8]),.b( s[97]),.cin( c[85]) );
FA fa_169 ( .sum(s[99]),.carry(c[99]),.a(p[5][9]),.b( s[98]),.cin( c[86]) );
FA fa_170 ( .sum(s[100]),.carry(c[100]),.a(p[4][10]),.b( s[99]),.cin( c[87]) );
FA fa_171 ( .sum(s[101]),.carry(c[101]),.a(p[3][11]),.b( s[100]),.cin( c[88]) );
FA fa_172 ( .sum(s[102]),.carry(c[102]),.a(p[2][12]),.b( s[101]),.cin( c[89]) );
FA fa_173 ( .sum(s[103]),.carry(c[103]),.a(p[1][13]),.b( s[102]),.cin( c[90]) );
HA ha_160 ( .sum(s[104]),.carry(c[104]),.a(p[0][14]),.b( s[103])); //P14
FA fa_181 ( .sum(s[105]),.carry(c[105]),.a(p[15][0]),.b( p[12][1]),.cin( c[91]) );
FA fa_182 ( .sum(s[106]),.carry(c[106]),.a(p[13][2]),.b( s[105]),.cin( c[92]) );
FA fa_183 ( .sum(s[107]),.carry(c[107]),.a(p[12][3]),.b( s[106]),.cin( c[93]) );
FA fa_184 ( .sum(s[108]),.carry(c[108]),.a(p[11][4]),.b( s[107]),.cin( c[94]) );
FA fa_185 ( .sum(s[109]),.carry(c[109]),.a(p[10][5]),.b( s[108]),.cin( c[95]) );
FA fa_186 ( .sum(s[110]),.carry(c[110]),.a(p[9][6]),.b( s[109]),.cin( c[96]) );
FA fa_187 ( .sum(s[111]),.carry(c[111]),.a(p[8][7]),.b( s[110]),.cin( c[97]) );
FA fa_188 ( .sum(s[112]),.carry(c[112]),.a(p[7][8]),.b( s[111]),.cin( c[98]) );
FA fa_189 ( .sum(s[113]),.carry(c[113]),.a(p[6][9]),.b( s[112]),.cin( c[99]) );
FA fa_190 ( .sum(s[114]),.carry(c[114]),.a(p[5][10]),.b( s[113]),.cin( c[100]) );
FA fa_191 ( .sum(s[115]),.carry(c[115]),.a(p[4][11]),.b( s[114]),.cin( c[101]) );
FA fa_192 ( .sum(s[116]),.carry(c[116]),.a(p[3][12]),.b( s[115]),.cin( c[102]) );
FA fa_193 ( .sum(s[117]),.carry(c[117]),.a(p[2][13]),.b( s[116]),.cin( c[103]) );
FA fa_194 ( .sum(s[118]),.carry(c[118]),.a(p[1][14]),.b( s[117]),.cin( c[104]) );
HA ha_170 ( .sum(s[119]),.carry(c[119]),.a(p[0][15]),.b( s[118])); //P15
FA fa_201 ( .sum(s[120]),.carry(c[120]),.a(p[16][0]),.b( p[15][1]),.cin( c[105]) );
FA fa_202 ( .sum(s[121]),.carry(c[121]),.a(p[14][2]),.b( s[120]),.cin( c[106]) );
FA fa_203 ( .sum(s[122]),.carry(c[122]),.a(p[13][3]),.b( s[121]),.cin( c[107]) );
FA fa_204 ( .sum(s[123]),.carry(c[123]),.a(p[12][4]),.b( s[122]),.cin( c[108]) );
FA fa_205 ( .sum(s[124]),.carry(c[124]),.a(p[11][5]),.b( s[123]),.cin( c[109]) );
FA fa_206 ( .sum(s[125]),.carry(c[125]),.a(p[10][6]),.b( s[124]),.cin( c[110]) );
FA fa_207 ( .sum(s[126]),.carry(c[126]),.a(p[9][7]),.b( s[125]), .cin( c[111]) );
FA fa_208 ( .sum(s[127]),.carry(c[127]),.a(p[8][8]),.b( s[126]),.cin( c[112]) );
FA fa_209 ( .sum(s[128]),.carry(c[128]),.a(p[7][9]),.b( s[127]),.cin( c[113]) );
FA fa_210 ( .sum(s[129]),.carry(c[129]),.a(p[6][10]),.b( s[128]), .cin( c[114]) );
FA fa_211 ( .sum(s[130]),.carry(c[130]),.a(p[5][11]),.b( s[129]),.cin( c[115]) );
FA fa_212 ( .sum(s[131]),.carry(c[131]),.a(p[4][12]),.b( s[130]),.cin( c[116]) );
FA fa_213 ( .sum(s[132]),.carry(c[132]),.a(p[3][13]),.b( s[131]),.cin( c[117]) );
FA fa_214 ( .sum(s[133]),.carry(c[133]),.a(p[2][14]),.b( s[132]),.cin( c[118]) );
FA fa_215 ( .sum(s[134]),.carry(c[134]),.a(p[1][15]),.b( s[133]),.cin( c[119]) );
HA ha_201 ( .sum(s[135]),.carry(c[135]),.a(p[0][16]),.b( s[134])); //P16
FA fa_301 ( .sum(s[136]),.carry(c[136]),.a(p[17][0]),.b( p[16][1]),.cin( c[120]) );
FA fa_302 ( .sum(s[137]),.carry(c[137]),.a(p[15][2]),.b( s[136]),.cin( c[121]) );
FA fa_303 ( .sum(s[138]),.carry(c[138]),.a(p[14][3]),.b( s[137]),.cin( c[122]) );
FA fa_304 ( .sum(s[139]),.carry(c[139]),.a(p[13][4]),.b( s[138]),.cin( c[123]) );
FA fa_305 ( .sum(s[140]),.carry(c[140]),.a(p[12][5]),.b( s[139]),.cin( c[124]) );
FA fa_306 ( .sum(s[141]),.carry(c[141]),.a(p[11][6]),.b( s[140]),.cin( c[125]) );
FA fa_307 ( .sum(s[142]),.carry(c[142]),.a(p[10][7]),.b( s[141]),.cin( c[126]) );
FA fa_308 ( .sum(s[143]),.carry(c[143]),.a(p[9][8]),.b( s[142]),.cin( c[127]) );
FA fa_309 ( .sum(s[144]),.carry(c[144]),.a(p[8][9]),.b( s[143]),.cin( c[128]) );
FA fa_310 ( .sum(s[145]),.carry(c[145]),.a(p[7][10]),.b( s[144]),.cin( c[129]) );
FA fa_311 ( .sum(s[146]),.carry(c[146]),.a(p[6][11]),.b( s[145]),.cin( c[130]) );
FA fa_312 ( .sum(s[147]), .carry(c[147]),.a(p[5][12]),.b( s[146]),.cin( c[131]) );
FA fa_313 ( .sum(s[148]),.carry(c[148]),.a(p[4][13]),.b( s[147]),.cin( c[132]) );
FA fa_314 ( .sum(s[149]),.carry(c[149]),.a(p[3][14]),.b( s[148]),.cin( c[133]) );
FA fa_315 ( .sum(s[150]),.carry(c[150]),.a(p[2][15]),.b( s[149]),.cin( c[134]) );
FA fa_316 ( .sum(s[151]),.carry(c[151]),.a(p[1][16]),.b( s[150]),.cin( c[135]) );
HA ha_301 ( .sum(s[152]),.carry(c[152]),.a(p[0][17]),.b( s[151])); //P17
FA fa_321 ( .sum(s[153]),.carry(c[153]),.a(p[18][0]),.b( p[17][1]),.cin( c[136]) );
FA fa_322 ( .sum(s[154]),.carry(c[154]),.a(p[16][2]),.b( s[153]),.cin( c[137]) );
FA fa_323 ( .sum(s[155]),.carry(c[155]),.a(p[15][3]),.b( s[154]),.cin( c[138]) );
FA fa_324 ( .sum(s[156]),.carry(c[156]),.a(p[14][4]),.b( s[155]),.cin( c[139]) );
FA fa_325 ( .sum(s[157]),.carry(c[157]),.a(p[13][5]),.b( s[156]),.cin( c[140]) );
FA fa_326 ( .sum(s[158]),.carry(c[158]),.a(p[12][6]),.b( s[157]),.cin( c[141]) );
FA fa_327 ( .sum(s[159]),.carry(c[159]),.a(p[11][7]),.b( s[158]),.cin( c[142]) );
FA fa_328 ( .sum(s[160]),.carry(c[160]),.a(p[10][8]),.b( s[159]),.cin( c[143]) );
FA fa_329 ( .sum(s[161]),.carry(c[161]),.a(p[9][9]),.b( s[160]),.cin( c[144]) );
FA fa_330 ( .sum(s[162]),.carry(c[162]),.a(p[8][10]),.b( s[161]),.cin( c[145]) );
FA fa_331 ( .sum(s[163]),.carry(c[163]),.a(p[7][11]),.b( s[162]),.cin( c[146]) );
FA fa_332 ( .sum(s[164]),.carry(c[164]),.a(p[6][12]),.b( s[163]),.cin( c[147]) );
FA fa_333 ( .sum(s[165]),.carry(c[165]),.a(p[5][13]),.b( s[164]),.cin( c[148]) );
FA fa_334 ( .sum(s[166]),.carry(c[166]),.a(p[4][14]),.b( s[165]),.cin( c[149]) );
FA fa_335 ( .sum(s[167]),.carry(c[167]),.a(p[3][15]),.b( s[166]),.cin( c[150]) );
FA fa_336 ( .sum(s[168]),.carry(c[168]),.a(p[2][16]),.b( s[167]),.cin( c[151]) );
FA fa_337 ( .sum(s[169]),.carry(c[169]),.a(p[1][17]),.b( s[168]),.cin( c[152]) );
HA ha_320 ( .sum(s[170]),.carry(c[170]),.a(p[0][18]),.b( s[169])); //P18
FA fa_341 ( .sum(s[171]),.carry(c[171]),.a(p[19][0]),.b( p[18][1]),.cin( c[153]) );
FA fa_342 ( .sum(s[172]),.carry(c[172]),.a(p[17][2]),.b( s[171]),.cin( c[154]) );
FA fa_343 ( .sum(s[173]),.carry(c[173]), .a(p[16][3]),.b( s[172]),.cin( c[155]) );
FA fa_344 ( .sum(s[174]),.carry(c[174]),.a(p[15][4]),.b( s[173]),.cin( c[156]) );
FA fa_345 ( .sum(s[175]),.carry(c[175]),.a(p[14][5]),.b( s[174]),.cin( c[157]) );
FA fa_346 ( .sum(s[176]),.carry(c[176]),.a(p[13][6]),.b( s[175]),.cin( c[158]) );
FA fa_347 ( .sum(s[177]),.carry(c[177]),.a(p[12][7]),.b( s[176]),.cin( c[159]) );
FA fa_348 ( .sum(s[178]),.carry(c[178]),.a(p[11][8]),.b( s[177]),.cin( c[160]) );
FA fa_349 ( .sum(s[179]),.carry(c[179]),.a(p[10][9]),.b( s[178]),.cin( c[161]) );
FA fa_350 ( .sum(s[180]),.carry(c[180]),.a(p[9][10]),.b( s[179]),.cin( c[162]) );
FA fa_351 ( .sum(s[181]),.carry(c[181]),.a(p[8][11]),.b( s[180]),.cin( c[163]) );
FA fa_352 ( .sum(s[182]),.carry(c[182]),.a(p[7][12]),.b( s[181]),.cin( c[164]) );
FA fa_353 ( .sum(s[183]),.carry(c[183]),.a(p[6][13]),.b( s[182]),.cin( c[165]) );
FA fa_354 ( .sum(s[184]),.carry(c[184]),.a(p[5][14]),.b( s[183]),.cin( c[166]) );
FA fa_355 ( .sum(s[185]),.carry(c[185]),.a(p[4][15]),.b( s[184]),.cin( c[167]) );
FA fa_356 ( .sum(s[186]),.carry(c[186]),.a(p[3][16]),.b( s[185]),.cin( c[168]) );
FA fa_357 ( .sum(s[187]),.carry(c[187]),.a(p[2][17]),.b( s[186]),.cin( c[169]) );
FA fa_358 ( .sum(s[188]),.carry(c[188]),.a(p[1][18]),.b( s[187]),.cin( c[170]) );
HA ha_330 ( .sum(s[189]),.carry(c[189]),.a(p[0][19]),.b( s[188])); //P19
FA fa_361 ( .sum(s[190]),.carry(c[190]),.a(p[20][0]),.b( p[19][1]),.cin( c[171]) );
FA fa_362 ( .sum(s[191]),.carry(c[191]),.a(p[18][2]),.b( s[190]),.cin( c[172]) );
FA fa_363 ( .sum(s[192]),.carry(c[192]),.a(p[17][3]),.b( s[191]),.cin( c[173]) );
FA fa_364 ( .sum(s[193]),.carry(c[193]),.a(p[16][4]),.b( s[192]),.cin( c[174]) );
FA fa_365 ( .sum(s[194]),.carry(c[194]),.a(p[15][5]),.b( s[193]),.cin( c[175]) );
FA fa_366 ( .sum(s[195]),.carry(c[195]),.a(p[14][6]),.b( s[194]),.cin( c[176]) );
FA fa_367 ( .sum(s[196]),.carry(c[196]),.a(p[13][7]),.b( s[195]),.cin( c[177]) );
FA fa_368 ( .sum(s[197]),.carry(c[197]),.a(p[12][8]),.b( s[196]),.cin( c[178]) );
FA fa_369 ( .sum(s[198]),.carry(c[198]),.a(p[11][9]),.b( s[197]),.cin( c[179]) );
FA fa_370 ( .sum(s[199]),.carry(c[199]),.a(p[10][10]),.b( s[198]),.cin( c[180]) );
FA fa_371 ( .sum(s[200]),.carry(c[200]),.a(p[9][11]),.b( s[199]),.cin( c[181]) );
FA fa_372 ( .sum(s[201]),.carry(c[201]),.a(p[8][12]),.b( s[200]),.cin( c[182]) );
FA fa_373 ( .sum(s[202]),.carry(c[202]),.a(p[7][13]),.b( s[201]),.cin( c[183]) );
FA fa_374 ( .sum(s[203]),.carry(c[203]),.a(p[6][14]),.b( s[202]),.cin( c[184]) );
FA fa_375 ( .sum(s[204]),.carry(c[204]),.a(p[5][15]),.b( s[203]),.cin( c[185]) );
FA fa_376 ( .sum(s[205]),.carry(c[205]),.a(p[4][16]),.b( s[204]),.cin( c[186]) );
FA fa_377 ( .sum(s[206]),.carry(c[206]),.a(p[3][17]),.b( s[205]),.cin( c[187]) );
FA fa_378 ( .sum(s[207]),.carry(c[207]),.a(p[2][18]),.b( s[206]),.cin( c[188]) );
FA fa_379 ( .sum(s[208]),.carry(c[208]),.a(p[1][19]),.b( s[207]),.cin( c[189]) );
HA ha_340 ( .sum(s[209]),.carry(c[209]),.a(p[0][20]),.b( s[208])); //P20
FA fa_381 ( .sum(s[210]),.carry(c[210]),.a(p[21][0]),.b( p[20][1]),.cin( c[190]) );
FA fa_382 ( .sum(s[211]),.carry(c[211]),.a(p[19][2]),.b( s[210]),.cin( c[191]) );
FA fa_383 ( .sum(s[212]),.carry(c[212]),.a(p[18][3]),.b( s[211]),.cin( c[192]) );
FA fa_384 ( .sum(s[213]),.carry(c[213]),.a(p[17][4]),.b( s[212]),.cin( c[193]) );
FA fa_385 ( .sum(s[214]),.carry(c[214]),.a(p[16][5]),.b( s[213]),.cin( c[194]) );
FA fa_386 ( .sum(s[215]),.carry(c[215]),.a(p[15][6]),.b( s[214]),.cin( c[195]) );
FA fa_387 ( .sum(s[216]),.carry(c[216]),.a(p[14][7]),.b( s[215]),.cin( c[196]) );
FA fa_388 ( .sum(s[217]),.carry(c[217]),.a(p[13][8]),.b( s[216]),.cin( c[197]) );
FA fa_389 ( .sum(s[218]),.carry(c[218]),.a(p[12][9]),.b( s[217]),.cin( c[198]) );
FA fa_390 ( .sum(s[219]),.carry(c[219]),.a(p[11][10]),.b( s[218]),.cin( c[199]) );
FA fa_391 ( .sum(s[220]),.carry(c[220]),.a(p[10][11]),.b( s[219]),.cin( c[200]) );
FA fa_392 ( .sum(s[221]),.carry(c[221]),.a(p[9][12]),.b( s[220]),.cin( c[201]) );
FA fa_393 ( .sum(s[222]),.carry(c[222]),.a(p[8][13]),.b( s[221]),.cin( c[202]) );
FA fa_394 ( .sum(s[223]),.carry(c[223]),.a(p[7][14]),.b( s[222]),.cin( c[203]) );
FA fa_395 ( .sum(s[224]),.carry(c[224]),.a(p[6][15]),.b( s[223]),.cin( c[204]) );
FA fa_396 ( .sum(s[225]),.carry(c[225]),.a(p[5][16]),.b( s[224]),.cin( c[205]) );
FA fa_397 ( .sum(s[226]),.carry(c[226]), .a(p[4][17]),.b( s[225]),.cin( c[206]) );
FA fa_398 ( .sum(s[227]),.carry(c[227]),.a(p[3][18]),.b( s[226]),.cin( c[207]) );
FA fa_399 ( .sum(s[228]),.carry(c[228]),.a(p[2][19]),.b( s[227]),.cin( c[208]) );
FA fa_400 ( .sum(s[229]), .carry(c[229]),.a(p[1][20]),.b( s[228]),.cin( c[209]) );
HA ha_350 ( .sum(s[230]),.carry(c[230]),.a(p[0][21]),.b( s[229])); //P21
FA fa_401 ( .sum(s[231]),.carry(c[231]),.a(p[22][0]),.b( p[21][1]),.cin( c[210]) );
FA fa_402 ( .sum(s[232]),.carry(c[232]),.a(p[20][2]),.b( s[231]),.cin( c[211]) );
FA fa_403 ( .sum(s[233]),.carry(c[233]),.a(p[19][3]),.b( s[232]),.cin( c[212]) );
FA fa_404 ( .sum(s[234]),.carry(c[234]),.a(p[18][4]),.b( s[233]),.cin( c[213]) );
FA fa_405 ( .sum(s[235]),.carry(c[235]),.a(p[17][5]),.b( s[234]),.cin( c[214]) );
FA fa_406 ( .sum(s[236]),.carry(c[236]),.a(p[16][6]),.b( s[235]),.cin( c[215]) );
FA fa_407 ( .sum(s[237]),.carry(c[237]),.a(p[15][7]),.b( s[236]),.cin( c[216]) );
FA fa_408 ( .sum(s[238]),.carry(c[238]),.a(p[14][8]),.b( s[237]),.cin( c[217]) );
FA fa_409 ( .sum(s[239]),.carry(c[239]),.a(p[13][9]),.b( s[238]),.cin( c[218]) );
FA fa_410 ( .sum(s[240]),.carry(c[240]),.a(p[12][10]),.b( s[239]),.cin( c[219]) );
FA fa_411 ( .sum(s[241]),.carry(c[241]),.a(p[11][11]),.b( s[240]),.cin( c[220]) );
FA fa_412 ( .sum(s[242]),.carry(c[242]),.a(p[10][12]),.b( s[241]),.cin( c[221]) );
FA fa_413 ( .sum(s[243]),.carry(c[243]),.a(p[9][13]),.b( s[242]),.cin( c[222]) );
FA fa_414 ( .sum(s[244]),.carry(c[244]),.a(p[8][14]),.b( s[243]),.cin( c[223]) );
FA fa_415 ( .sum(s[245]),.carry(c[245]),.a(p[7][15]),.b( s[244]),.cin( c[224]) );
FA fa_416 ( .sum(s[246]),.carry(c[246]),.a(p[6][16]),.b( s[245]),.cin( c[225]) );
FA fa_417 ( .sum(s[247]),.carry(c[247]),.a(p[5][17]),.b( s[246]),.cin( c[226]) );
FA fa_418 ( .sum(s[248]),.carry(c[248]),.a(p[4][18]),.b( s[247]),.cin( c[227]) );
FA fa_419 ( .sum(s[249]),.carry(c[249]),.a(p[3][19]),.b( s[248]),.cin( c[228]) );
FA fa_420 ( .sum(s[250]),.carry(c[250]),.a(p[2][20]),.b( s[249]),.cin( c[229]) );
FA fa_421 ( .sum(s[251]),.carry(c[251]),.a(p[1][21]),.b( s[250]),.cin( c[230]) );
HA ha_422 ( .sum(s[252]),.carry(c[252]),.a(p[0][22]),.b( s[251])); //P22
FA fa_431 ( .sum(s[253]),.carry(c[253]),.a(p[23][0]),.b( p[22][1]),.cin( c[231]) );
FA fa_432 ( .sum(s[254]),.carry(c[254]),.a(p[21][2]),.b( s[253]),.cin( c[232]) );
FA fa_433 ( .sum(s[255]),.carry(c[255]), .a(p[20][3]),.b( s[254]),.cin( c[233]) );
FA fa_434 ( .sum(s[256]),.carry(c[256]),.a(p[19][4]),.b( s[255]),.cin( c[234]) );
FA fa_435 ( .sum(s[257]),.carry(c[257]),.a(p[18][5]),.b( s[256]),.cin( c[235]) );
FA fa_436 ( .sum(s[258]),.carry(c[258]),.a(p[17][6]),.b( s[257]),.cin( c[236]) );
FA fa_437 ( .sum(s[259]),.carry(c[259]),.a(p[16][7]),.b( s[258]),.cin( c[237]) );
FA fa_438 ( .sum(s[260]),.carry(c[260]),.a(p[15][8]),.b( s[259]),.cin( c[238]) );
FA fa_439 ( .sum(s[261]),.carry(c[261]),.a(p[14][9]),.b( s[260]),.cin( c[239]) );
FA fa_440 ( .sum(s[262]),.carry(c[262]),.a(p[13][10]),.b( s[261]),.cin( c[240]) );
FA fa_441 ( .sum(s[263]),.carry(c[263]),.a(p[12][11]),.b( s[262]),.cin( c[241]) );
FA fa_442 ( .sum(s[264]),.carry(c[264]),.a(p[11][12]),.b( s[263]),.cin( c[242]) );
FA fa_443 ( .sum(s[265]),.carry(c[265]),.a(p[10][13]),.b( s[264]),.cin( c[243]) );
FA fa_444 ( .sum(s[266]),.carry(c[266]),.a(p[9][14]),.b( s[265]),.cin( c[244]) );
FA fa_445 ( .sum(s[267]),.carry(c[267]),.a(p[8][15]),.b( s[266]),.cin( c[245]) );
FA fa_446 ( .sum(s[268]),.carry(c[268]),.a(p[7][16]),.b( s[267]),.cin( c[246]) );
FA fa_447 ( .sum(s[269]),.carry(c[269]),.a(p[6][17]),.b( s[268]),.cin( c[247]) );
FA fa_448 ( .sum(s[270]),.carry(c[270]),.a(p[5][18]),.b( s[269]),.cin( c[248]) );
FA fa_449 ( .sum(s[271]),.carry(c[271]),.a(p[4][19]),.b( s[270]),.cin( c[249]) );
FA fa_450 ( .sum(s[272]),.carry(c[272]),.a(p[3][20]),.b( s[271]),.cin( c[250]) );
FA fa_451 ( .sum(s[273]), .carry(c[273]),.a(p[2][21]),.b( s[272]),.cin( c[251]) );
FA fa_452 ( .sum(s[274]),.carry(c[274]),.a(p[1][22]),.b( s[273]),.cin( c[252]) );
HA ha_423 ( .sum(s[275]),.carry(c[275]),.a(p[0][23]),.b( s[274])); //P23
FA fa_461 ( .sum(s[276]),.carry(c[276]),.a(p[23][1]),.b( p[22][2]),.cin( c[253]) );
FA fa_462 ( .sum(s[277]),.carry(c[277]),.a(p[21][3]),.b( s[276]),.cin( c[254]) );
FA fa_463 ( .sum(s[278]),.carry(c[278]),.a(p[20][4]),.b( s[277]),.cin( c[255]) );
FA fa_464 ( .sum(s[279]),.carry(c[279]),.a(p[19][5]),.b( s[278]),.cin( c[256]) );
FA fa_465 ( .sum(s[280]),.carry(c[280]),.a(p[18][6]),.b( s[279]),.cin( c[257]) );
FA fa_466 ( .sum(s[281]),.carry(c[281]),.a(p[17][7]),.b( s[280]),.cin( c[258]) );
FA fa_467 ( .sum(s[282]),.carry(c[282]),.a(p[16][8]),.b( s[281]),.cin( c[259]) );
FA fa_468 ( .sum(s[283]),.carry(c[283]),.a(p[15][9]),.b( s[282]),.cin( c[260]) );
FA fa_469 ( .sum(s[284]),.carry(c[284]),.a(p[14][10]),.b( s[283]),.cin( c[261]) );
FA fa_470 ( .sum(s[285]),.carry(c[285]),.a(p[13][11]),.b( s[284]),.cin( c[262]) );
FA fa_471 ( .sum(s[286]),.carry(c[286]),.a(p[12][12]),.b( s[285]),.cin( c[263]) );
FA fa_472 ( .sum(s[287]),.carry(c[287]),.a(p[11][13]),.b( s[286]),.cin( c[264]) );
FA fa_473 ( .sum(s[288]),.carry(c[288]),.a(p[10][14]),.b( s[287]),.cin( c[265]) );
FA fa_474 ( .sum(s[289]),.carry(c[289]),.a(p[9][15]),.b( s[288]),.cin( c[266]) );
FA fa_475 ( .sum(s[290]),.carry(c[290]),.a(p[8][16]),.b( s[289]),.cin( c[267]) );
FA fa_476 ( .sum(s[291]),.carry(c[291]),.a(p[7][17]),.b( s[290]),.cin( c[268]) );
FA fa_477 ( .sum(s[292]),.carry(c[292]),.a(p[6][18]),.b( s[291]),.cin( c[269]) );
FA fa_478 ( .sum(s[293]),.carry(c[293]),.a(p[5][19]),.b( s[292]),.cin( c[270]) );
FA fa_479 ( .sum(s[294]),.carry(c[294]),.a(p[4][20]),.b( s[293]),.cin( c[271]) );
FA fa_480 ( .sum(s[295]),.carry(c[295]),.a(p[3][21]),.b( s[294]),.cin( c[272]) );
FA fa_481 ( .sum(s[296]),.carry(c[296]),.a(p[2][22]),.b( s[295]),.cin( c[273]) );
FA fa_482 ( .sum(s[297]),.carry(c[297]),.a(p[1][23]),.b( s[296]),.cin( c[274]) );
HA ha_424 ( .sum(s[298]),.carry(c[298]),.a(s[297]),.b( c[275])); //P24
FA fa_483 ( .sum(s[299]),.carry(c[299]), .a(p[23][2]),.b( p[22][3]),.cin( c[276]) );
FA fa_484 ( .sum(s[300]),.carry(c[300]),.a(p[21][4]),.b( s[299]),.cin( c[277]) );
FA fa_485 ( .sum(s[301]),.carry(c[301]),.a(p[20][5]),.b( s[300]),.cin( c[278]) );
FA fa_486 ( .sum(s[302]),.carry(c[302]),.a(p[19][6]),.b( s[301]),.cin( c[279]) );
FA fa_487 ( .sum(s[303]),.carry(c[303]),.a(p[18][7]),.b( s[302]),.cin( c[280]) );
FA fa_488 ( .sum(s[304]),.carry(c[304]),.a(p[17][8]),.b( s[303]),.cin( c[281]) );
FA fa_489 ( .sum(s[305]),.carry(c[305]),.a(p[16][9]),.b( s[304]),.cin( c[282]) );
FA fa_490 ( .sum(s[306]),.carry(c[306]),.a(p[15][10]),.b( s[305]),.cin( c[283]) );
FA fa_491 ( .sum(s[307]),.carry(c[307]),.a(p[14][11]),.b( s[306]),.cin( c[284]) );
FA fa_492 ( .sum(s[308]),.carry(c[308]),.a(p[13][12]),.b( s[307]),.cin( c[285]) );
FA fa_493 ( .sum(s[309]),.carry(c[309]),.a(p[12][13]),.b( s[308]),.cin( c[286]) );
FA fa_494 ( .sum(s[310]),.carry(c[310]),.a(p[11][14]),.b( s[309]),.cin( c[287]) );
FA fa_495 ( .sum(s[311]), .carry(c[311]),.a(p[10][15]),.b( s[310]),.cin( c[288]) );
FA fa_496 ( .sum(s[312]),.carry(c[312]),.a(p[9][16]),.b( s[311]),.cin( c[289]) );
FA fa_497 ( .sum(s[313]),.carry(c[313]),.a(p[8][17]),.b( s[312]),.cin( c[290]) );
FA fa_498 ( .sum(s[314]),.carry(c[314]),.a(p[7][18]),.b( s[313]),.cin( c[291]) );
FA fa_499 ( .sum(s[315]),.carry(c[315]),.a(p[6][19]),.b( s[314]),.cin( c[292]) );
FA fa_500 ( .sum(s[316]),.carry(c[316]),.a(p[5][20]),.b( s[315]),.cin( c[293]) );
FA fa_501 ( .sum(s[317]),.carry(c[317]),.a(p[4][21]),.b( s[316]),.cin( c[294]) );
FA fa_502 ( .sum(s[318]),.carry(c[318]),.a(p[3][22]),.b( s[317]),.cin( c[295]) );
FA fa_503 ( .sum(s[319]),.carry(c[319]),.a(p[2][23]),.b( s[318]),.cin( c[296]) );
FA fa_504 ( .sum(s[320]),.carry(c[320]),.a(s[319]),.b( c[297]),.cin( c[298]) ); //P25
FA fa_505 ( .sum(s[321]),.carry(c[321]),.a(p[23][3]),.b( p[22][4]),.cin( c[299]) );
FA fa_506 ( .sum(s[322]),.carry(c[322]),.a(p[21][5]),.b( s[321]),.cin( c[300]) );
FA fa_507 ( .sum(s[323]),.carry(c[323]),.a(p[20][6]),.b( s[322]),.cin( c[301]) );
FA fa_508 ( .sum(s[324]),.carry(c[324]),.a(p[19][7]),.b( s[323]),.cin( c[302]) );
FA fa_509 ( .sum(s[325]),.carry(c[325]),.a(p[18][8]),.b( s[324]),.cin( c[303]) );
FA fa_510 ( .sum(s[326]),.carry(c[326]),.a(p[17][9]),.b( s[325]),.cin( c[304]) );
FA fa_511 ( .sum(s[327]),.carry(c[327]),.a(p[16][10]),.b( s[326]),.cin( c[305]) );
FA fa_512 ( .sum(s[328]),.carry(c[328]),.a(p[15][11]),.b( s[327]),.cin( c[306]) );
FA fa_513 ( .sum(s[329]),.carry(c[329]),.a(p[14][12]),.b( s[328]),.cin( c[307]) );
FA fa_514 ( .sum(s[330]),.carry(c[330]),.a(p[13][13]),.b( s[329]),.cin( c[308]) );
FA fa_515 ( .sum(s[331]),.carry(c[331]),.a(p[12][14]),.b( s[330]), .cin( c[309]) );
FA fa_516 ( .sum(s[332]),.carry(c[332]),.a(p[11][15]),.b( s[331]),.cin( c[310]) );
FA fa_517 ( .sum(s[333]),.carry(c[333]),.a(p[10][16]),.b( s[332]),.cin( c[311]) );
FA fa_518 ( .sum(s[334]),.carry(c[334]),.a(p[9][17]),.b( s[333]),.cin( c[312]) );
FA fa_519 ( .sum(s[335]),.carry(c[335]),.a(p[8][18]),.b( s[334]),.cin( c[313]) );
FA fa_520 ( .sum(s[336]),.carry(c[336]),.a(p[7][19]),.b( s[335]),.cin( c[314]) );
FA fa_521 ( .sum(s[337]),.carry(c[337]),.a(p[6][20]),.b( s[336]),.cin( c[315]) );
FA fa_522 ( .sum(s[338]),.carry(c[338]),.a(p[5][21]),.b( s[337]),.cin( c[316]) );
FA fa_523 ( .sum(s[339]),.carry(c[339]),.a(p[4][22]),.b( s[338]),.cin( c[317]) );
FA fa_524 ( .sum(s[340]),.carry(c[340]),.a(p[3][23]),.b( s[339]),.cin( c[318]) );
FA fa_525 ( .sum(s[341]),.carry(c[341]),.a(s[340]),.b( c[319]),.cin( c[320]) ); //P26
FA fa_526 ( .sum(s[342]),.carry(c[342]),.a(p[23][4]),.b( p[22][5]),.cin( c[321]) );
FA fa_527 ( .sum(s[343]),.carry(c[343]),.a(p[21][6]),.b( s[342]),.cin( c[322]) );
FA fa_528 ( .sum(s[344]),.carry(c[344]),.a(p[20][7]),.b( s[343]),.cin( c[323]) );
FA fa_529 ( .sum(s[345]),.carry(c[345]),.a(p[19][8]),.b( s[344]),.cin( c[324]) );
FA fa_530 ( .sum(s[346]),.carry(c[346]),.a(p[18][9]),.b( s[345]),.cin( c[325]) );
FA fa_531 ( .sum(s[347]),.carry(c[347]),.a(p[17][10]),.b( s[346]),.cin( c[326]) );
FA fa_532 ( .sum(s[348]),.carry(c[348]),.a(p[16][11]),.b( s[347]),.cin( c[327]) );
FA fa_533 ( .sum(s[349]),.carry(c[349]),.a(p[15][12]),.b( s[348]),.cin( c[328]) );
FA fa_534 ( .sum(s[350]),.carry(c[350]),.a(p[14][13]),.b( s[349]),.cin( c[329]) );
FA fa_535 ( .sum(s[351]),.carry(c[351]),.a(p[13][14]),.b( s[350]),.cin( c[330]) );
FA fa_536 ( .sum(s[352]),.carry(c[352]),.a(p[12][15]),.b( s[351]),.cin( c[331]) );
FA fa_537 ( .sum(s[353]),.carry(c[353]),.a(p[11][16]),.b( s[352]),.cin( c[332]) );
FA fa_538 ( .sum(s[354]),.carry(c[354]),.a(p[10][17]),.b( s[353]),.cin( c[333]) );
FA fa_539 ( .sum(s[355]),.carry(c[355]),.a(p[9][18]),.b( s[354]),.cin( c[334]) );
FA fa_540 ( .sum(s[356]),.carry(c[356]),.a(p[8][19]),.b( s[355]),.cin( c[335]) );
FA fa_541 ( .sum(s[357]),.carry(c[357]),.a(p[7][20]),.b( s[356]),.cin( c[336]) );
FA fa_542 ( .sum(s[358]),.carry(c[358]),.a(p[6][21]),.b( s[357]),.cin( c[337]) );
FA fa_543 ( .sum(s[359]),.carry(c[359]),.a(p[5][22]),.b( s[358]),.cin( c[338]) );
FA fa_544 ( .sum(s[360]),.carry(c[360]),.a(p[4][23]),.b( s[359]),.cin( c[339]) );
FA fa_545 ( .sum(s[361]),.carry(c[361]),.a(s[360]),.b( c[340]),.cin( c[341]) ); //P27
FA fa_546 ( .sum(s[362]),.carry(c[362]),.a(p[23][5]),.b( p[22][6]),.cin( c[342]) );
FA fa_547 ( .sum(s[363]),.carry(c[363]),.a(p[21][7]),.b( s[342]),.cin( c[343]) );
FA fa_548 ( .sum(s[364]),.carry(c[364]),.a(p[20][8]),.b( s[343]),.cin( c[344]) );
FA fa_549 ( .sum(s[365]),.carry(c[365]),.a(p[19][9]),.b( s[344]),.cin( c[345]) );
FA fa_550 ( .sum(s[366]),.carry(c[366]),.a(p[18][10]),.b( s[345]), .cin( c[346]) );
FA fa_551 ( .sum(s[367]),.carry(c[367]),.a(p[17][11]),.b( s[346]),.cin( c[347]) );
FA fa_552 ( .sum(s[368]),.carry(c[368]),.a(p[16][12]),.b( s[347]),.cin( c[348]) );
FA fa_553 ( .sum(s[369]),.carry(c[369]),.a(p[15][13]),.b( s[348]),.cin( c[349]) );
FA fa_554 ( .sum(s[370]),.carry(c[370]),.a(p[14][14]),.b( s[349]),.cin( c[350]) );
FA fa_555 ( .sum(s[371]),.carry(c[371]),.a(p[13][15]),.b( s[350]),.cin( c[351]) );
FA fa_556 ( .sum(s[372]),.carry(c[372]),.a(p[12][16]),.b( s[351]),.cin( c[352]) );
FA fa_557 ( .sum(s[373]),.carry(c[373]),.a(p[11][17]),.b( s[352]),.cin( c[353]) );
FA fa_558 ( .sum(s[374]),.carry(c[374]),.a(p[10][18]),.b( s[353]),.cin( c[354]) );
FA fa_559 ( .sum(s[375]),.carry(c[375]),.a(p[9][19]), .b( s[354]),.cin( c[355]) );
FA fa_560 ( .sum(s[376]),.carry(c[376]),.a(p[8][20]),.b( s[355]),.cin( c[356]) );
FA fa_561 ( .sum(s[377]),.carry(c[377]),.a(p[7][21]),.b( s[356]),.cin( c[357]) );
FA fa_562 ( .sum(s[378]),.carry(c[378]),.a(p[6][22]),.b( s[357]),.cin( c[358]) );
FA fa_563 ( .sum(s[379]),.carry(c[379]),.a(p[5][23]),.b( s[358]),.cin( c[359]) );
FA fa_564 ( .sum(s[380]),.carry(c[380]),.a(s[379]),.b( c[360]),.cin( c[361]) ); //P28
FA fa_565 ( .sum(s[381]),.carry(c[381]),.a(p[23][6]),.b( p[22][7]),.cin( c[362]) );
FA fa_566 ( .sum(s[382]),.carry(c[382]),.a(p[21][8]),.b( s[381]),.cin( c[363]) );
FA fa_567 ( .sum(s[383]),.carry(c[383]),.a(p[20][9]),.b( s[382]),.cin( c[364]) );
FA fa_568 ( .sum(s[384]), .carry(c[384]),.a(p[19][10]),.b( s[383]),.cin( c[365]) );
FA fa_569 ( .sum(s[385]),.carry(c[385]),.a(p[18][11]),.b( s[384]),.cin( c[366]) );
FA fa_570 ( .sum(s[386]),.carry(c[386]),.a(p[17][12]),.b( s[385]),.cin( c[367]) );
FA fa_571 ( .sum(s[387]),.carry(c[387]),.a(p[16][13]),.b( s[386]),.cin( c[368]) );
FA fa_572 ( .sum(s[388]),.carry(c[388]),.a(p[15][14]),.b( s[387]),.cin( c[369]) );
FA fa_573 ( .sum(s[389]),.carry(c[389]),.a(p[14][15]),.b( s[388]),.cin( c[370]) );
FA fa_574 ( .sum(s[390]),.carry(c[390]),.a(p[13][16]),.b( s[389]),.cin( c[371]) );
FA fa_575 ( .sum(s[391]),.carry(c[391]),.a(p[12][17]),.b( s[390]),.cin( c[372]) );
FA fa_576 ( .sum(s[392]),.carry(c[392]),.a(p[11][18]),.b( s[391]),.cin( c[373]) );
FA fa_577 ( .sum(s[393]),.carry(c[393]),.a(p[10][19]),.b( s[392]),.cin( c[374]) );
FA fa_578 ( .sum(s[394]),.carry(c[394]),.a(p[9][20]),.b( s[393]),.cin( c[375]) );
FA fa_579 ( .sum(s[395]),.carry(c[395]),.a(p[8][21]),.b( s[394]),.cin( c[376]) );
FA fa_580 ( .sum(s[396]),.carry(c[396]),.a(p[7][22]),.b( s[395]),.cin( c[377]) );
FA fa_581 ( .sum(s[397]),.carry(c[397]),.a(p[6][23]),.b( s[396]),.cin( c[378]) );
FA fa_582 ( .sum(s[398]),.carry(c[398]),.a(s[397]),.b( c[379]),.cin( c[380]) ); //P29
FA fa_583 ( .sum(s[399]),.carry(c[399]),.a(p[23][7]),.b( p[22][8]),.cin( c[381]) );
FA fa_584 ( .sum(s[400]),.carry(c[400]),.a(p[21][9]),.b( s[399]),.cin( c[382]) );
FA fa_585 ( .sum(s[401]),.carry(c[401]),.a(p[20][10]),.b( s[400]),.cin( c[383]) );
FA fa_586 ( .sum(s[402]),.carry(c[402]),.a(p[19][11]),.b( s[401]),.cin( c[384]) );
FA fa_587 ( .sum(s[403]),.carry(c[403]),.a(p[18][12]),.b( s[402]),.cin( c[385]) );
FA fa_588 ( .sum(s[404]),.carry(c[404]),.a(p[17][13]),.b( s[403]),.cin( c[386]) );
FA fa_589 ( .sum(s[405]),.carry(c[405]),.a(p[16][14]),.b( s[404]),.cin( c[387]) );
FA fa_590 ( .sum(s[406]),.carry(c[406]),.a(p[15][15]),.b( s[405]),.cin( c[388]) );
FA fa_591 ( .sum(s[407]),.carry(c[407]),.a(p[14][16]), .b( s[406]),.cin( c[389]) );
FA fa_592 ( .sum(s[408]),.carry(c[408]),.a(p[13][17]),.b( s[407]),.cin( c[390]) );
FA fa_593 ( .sum(s[409]),.carry(c[409]),.a(p[12][18]),.b( s[408]),.cin( c[391]) );
FA fa_594 ( .sum(s[410]),.carry(c[410]),.a(p[11][19]),.b( s[409]),.cin( c[392]) );
FA fa_595 ( .sum(s[411]),.carry(c[411]),.a(p[10][20]),.b( s[410]),.cin( c[393]) );
FA fa_596 ( .sum(s[412]),.carry(c[412]),.a(p[9][21]),.b( s[411]),.cin( c[394]) );
FA fa_597 ( .sum(s[413]),.carry(c[413]),.a(p[8][22]),.b( s[412]),.cin( c[395]) );
FA fa_598 ( .sum(s[414]),.carry(c[414]),.a(p[7][23]),.b( s[413]),.cin( c[396]) );
FA fa_599 ( .sum(s[415]),.carry(c[415]),.a(s[414]),.b( c[397]),.cin( c[398]) ); //P30
FA fa_600 ( .sum(s[416]), .carry(c[416]),.a(p[23][8]),.b( p[22][9]),.cin( c[399]) );
FA fa_601 ( .sum(s[417]),.carry(c[417]),.a(p[21][10]),.b( s[416]),.cin( c[400]) );
FA fa_602 ( .sum(s[418]),.carry(c[418]),.a(p[20][11]),.b( s[417]),.cin( c[401]) );
FA fa_603 ( .sum(s[419]),.carry(c[419]),.a(p[19][12]),.b( s[418]),.cin( c[402]) );
FA fa_604 ( .sum(s[420]),.carry(c[420]),.a(p[18][13]),.b( s[419]),.cin( c[403]) );
FA fa_605 ( .sum(s[421]),.carry(c[421]),.a(p[17][14]),.b( s[420]),.cin( c[404]) );
FA fa_606 ( .sum(s[422]),.carry(c[422]),.a(p[16][15]),.b( s[421]),.cin( c[405]) );
FA fa_607 ( .sum(s[423]),.carry(c[423]),.a(p[15][16]),.b( s[422]),.cin( c[406]) );
FA fa_608 ( .sum(s[424]),.carry(c[424]),.a(p[14][17]),.b( s[423]),.cin( c[407]) );
FA fa_609 ( .sum(s[425]),.carry(c[425]),.a(p[13][18]),.b( s[424]),.cin( c[408]) );
FA fa_610 ( .sum(s[426]),.carry(c[426]),.a(p[12][19]),.b( s[425]),.cin( c[409]) );
FA fa_611 ( .sum(s[427]),.carry(c[427]),.a(p[11][20]),.b( s[426]),.cin( c[410]) );
FA fa_612 ( .sum(s[428]),.carry(c[428]),.a(p[10][21]),.b( s[427]),.cin( c[411]) );
FA fa_613 ( .sum(s[429]),.carry(c[429]),.a(p[9][22]),.b( s[428]),.cin( c[412]) );
FA fa_614 ( .sum(s[430]),.carry(c[430]),.a(p[8][23]),.b( s[429]),.cin( c[413]) );
FA fa_615 ( .sum(s[431]),.carry(c[431]),.a(s[430]),.b( c[414]),.cin( c[415]) ); //P31
FA fa_616 ( .sum(s[432]),.carry(c[432]),.a(p[23][9]),.b( p[22][10]),.cin( c[416]) );
FA fa_617 ( .sum(s[433]),.carry(c[433]),.a(p[21][11]),.b( s[432]),.cin( c[417]) );
FA fa_618 ( .sum(s[434]),.carry(c[434]),.a(p[20][12]),.b( s[433]),.cin( c[418]) );
FA fa_619 ( .sum(s[435]),.carry(c[435]),.a(p[19][13]),.b( s[434]),.cin( c[419]) );
FA fa_620 ( .sum(s[436]),.carry(c[436]),.a(p[18][14]),.b( s[435]),.cin( c[420]) );
FA fa_621 ( .sum(s[437]),.carry(c[437]),.a(p[17][15]),.b( s[436]),.cin( c[421]) );
FA fa_622 ( .sum(s[438]),.carry(c[438]),.a(p[16][16]),.b( s[437]),.cin( c[422]) );
FA fa_623 ( .sum(s[439]),.carry(c[439]),.a(p[15][17]),.b( s[438]),.cin( c[423]) );
FA fa_624 ( .sum(s[440]),.carry(c[440]),.a(p[14][18]),.b( s[439]),.cin( c[424]) );
FA fa_625 ( .sum(s[441]),.carry(c[441]),.a(p[13][19]),.b( s[440]),.cin( c[425]) );
FA fa_626 ( .sum(s[442]),.carry(c[442]),.a(p[12][20]),.b( s[441]),.cin( c[426]) );
FA fa_627 ( .sum(s[443]),.carry(c[443]),.a(p[11][21]),.b( s[442]),.cin( c[427]) );
FA fa_628 ( .sum(s[444]),.carry(c[444]),.a(p[10][22]),.b( s[443]),.cin( c[428]) );
FA fa_629 ( .sum(s[445]),.carry(c[445]),.a(p[9][23]),.b( s[444]),.cin( c[429]) );
FA fa_630 ( .sum(s[446]),.carry(c[446]),.a(s[445]),.b( c[430]),.cin( c[431]) ); //P32
FA fa_631 ( .sum(s[447]),.carry(c[447]),.a(p[23][10]),.b( p[22][11]),.cin( c[432]) );
FA fa_632 ( .sum(s[448]),.carry(c[448]),.a(p[21][12]),.b( s[447]),.cin( c[433]) );
FA fa_633 ( .sum(s[449]),.carry(c[449]),.a(p[20][13]),.b( s[448]),.cin( c[434]) );
FA fa_634 ( .sum(s[450]),.carry(c[450]),.a(p[19][14]),.b( s[449]),.cin( c[435]) );
FA fa_635 ( .sum(s[451]),.carry(c[451]),.a(p[18][15]),.b( s[450]),.cin( c[436]) );
FA fa_636 ( .sum(s[452]),.carry(c[452]),.a(p[17][16]),.b( s[451]),.cin( c[437]) );
FA fa_637 ( .sum(s[453]),.carry(c[453]),.a(p[16][17]),.b( s[452]),.cin( c[438]) );
FA fa_638 ( .sum(s[454]),.carry(c[454]),.a(p[15][18]),.b( s[453]),.cin( c[439]) );
FA fa_639 ( .sum(s[455]),.carry(c[455]),.a(p[14][19]),.b( s[454]),.cin( c[440]) );
FA fa_640 ( .sum(s[456]),.carry(c[456]),.a(p[13][20]),.b( s[455]),.cin( c[441]) );
FA fa_641 ( .sum(s[457]),.carry(c[457]),.a(p[12][21]),.b( s[456]),.cin( c[442]) );
FA fa_642 ( .sum(s[458]),.carry(c[458]),.a(p[11][22]),.b( s[457]),.cin( c[443]) );
FA fa_643 ( .sum(s[459]),.carry(c[459]),.a(p[10][23]),.b( s[458]),.cin( c[444]) );
FA fa_644 ( .sum(s[460]),.carry(c[460]),.a(s[459]),.b( c[445]),.cin( c[446]) ); //P33
FA fa_645 ( .sum(s[461]),.carry(c[461]),.a(p[23][11]),.b( p[22][12]),.cin( c[447]) );
FA fa_646 ( .sum(s[462]),.carry(c[462]),.a(p[21][13]),.b( s[461]),.cin( c[448]) );
FA fa_647 ( .sum(s[463]),.carry(c[463]),.a(p[20][14]),.b( s[462]),.cin( c[449]) );
FA fa_648 ( .sum(s[464]),.carry(c[464]),.a(p[19][15]),.b( s[463]),.cin( c[450]) );
FA fa_649 ( .sum(s[465]),.carry(c[465]),.a(p[18][16]),.b( s[464]),.cin( c[451]) );
FA fa_650 ( .sum(s[466]),.carry(c[466]),.a(p[17][17]),.b( s[465]),.cin( c[452]) );
FA fa_651 ( .sum(s[467]),.carry(c[467]),.a(p[16][18]),.b( s[466]),.cin( c[453]) );
FA fa_652 ( .sum(s[468]),.carry(c[468]), .a(p[15][19]),.b( s[467]),.cin( c[454]) );
FA fa_653 ( .sum(s[469]),.carry(c[469]),.a(p[14][20]),.b( s[468]),.cin( c[455]) );
FA fa_654 ( .sum(s[470]),.carry(c[470]),.a(p[13][21]),.b( s[469]),.cin( c[456]) );
FA fa_655 ( .sum(s[471]),.carry(c[471]),.a(p[12][22]),.b( s[470]),.cin( c[457]) );
FA fa_656 ( .sum(s[472]),.carry(c[472]),.a(p[11][23]),.b( s[471]),.cin( c[458]) );
FA fa_657 ( .sum(s[473]),.carry(c[473]),.a(s[472]),.b( c[459]),.cin( c[460]) ); //P34
FA fa_658 ( .sum(s[474]),.carry(c[474]),.a(p[23][12]),.b( p[22][13]),.cin( c[461]) );
FA fa_659 ( .sum(s[475]),.carry(c[475]),.a(p[21][14]),.b( s[474]),.cin( c[462]) );
FA fa_660 ( .sum(s[476]),.carry(c[476]),.a(p[20][15]),.b( s[475]),.cin( c[463]) );
FA fa_661 ( .sum(s[477]),.carry(c[477]),.a(p[19][16]),.b( s[476]),.cin( c[464]) );
FA fa_662 ( .sum(s[478]),.carry(c[478]),.a(p[18][17]),.b( s[477]),.cin( c[465]) );
FA fa_663 ( .sum(s[479]),.carry(c[479]),.a(p[17][18]),.b( s[478]),.cin( c[466]) );
FA fa_664 ( .sum(s[480]),.carry(c[480]),.a(p[16][19]),.b( s[479]),.cin( c[467]) );
FA fa_665 ( .sum(s[481]),.carry(c[481]),.a(p[15][20]),.b( s[480]),.cin( c[468]) );
FA fa_666 ( .sum(s[482]),.carry(c[482]),.a(p[14][21]),.b( s[481]),.cin( c[469]) );
FA fa_667 ( .sum(s[483]),.carry(c[483]),.a(p[13][22]),.b( s[482]),.cin( c[470]) );
FA fa_668 ( .sum(s[484]),.carry(c[484]),.a(p[12][23]),.b( s[483]),.cin( c[471]) );
FA fa_669 ( .sum(s[485]),.carry(c[485]),.a(s[484]),.b( c[472]),.cin( c[473]) ); //P35
FA fa_670 ( .sum(s[486]),.carry(c[486]),.a(p[23][13]),.b( p[22][14]),.cin( c[474]) );
FA fa_671 ( .sum(s[487]),.carry(c[487]),.a(p[21][15]),.b( s[486]),.cin( c[475]) );
FA fa_672 ( .sum(s[488]),.carry(c[488]),.a(p[20][16]),.b( s[487]),.cin( c[476]) );
FA fa_673 ( .sum(s[489]),.carry(c[489]),.a(p[19][17]),.b( s[488]),.cin( c[477]) );
FA fa_674 ( .sum(s[490]),.carry(c[490]),.a(p[18][18]),.b( s[489]),.cin( c[478]) );
FA fa_675 ( .sum(s[491]),.carry(c[491]), .a(p[17][19]),.b( s[490]),.cin( c[479]) );
FA fa_676 ( .sum(s[492]),.carry(c[492]),.a(p[16][20]),.b( s[491]),.cin( c[480]) );
FA fa_677 ( .sum(s[493]),.carry(c[493]),.a(p[15][22]),.b( s[492]),.cin( c[481]) );
FA fa_678 ( .sum(s[494]),.carry(c[494]),.a(p[14][22]),.b( s[493]),.cin( c[482]) );
FA fa_679 ( .sum(s[495]),.carry(c[495]),.a(p[13][23]),.b( s[494]),.cin( c[483]) );
FA fa_680 ( .sum(s[496]),.carry(c[496]),.a(s[495]),.b( c[484]),.cin( c[485]) ); //P36
FA fa_681 ( .sum(s[497]),.carry(c[497]),.a(p[23][14]),.b( p[22][15]),.cin( c[486]) );
FA fa_682 ( .sum(s[498]),.carry(c[498]),.a(p[21][16]),.b( s[497]),.cin( c[487]) );
FA fa_683 ( .sum(s[499]),.carry(c[499]),.a(p[20][17]),.b( s[498]),.cin( c[488]) );
FA fa_684 ( .sum(s[500]),.carry(c[500]),.a(p[19][18]),.b( s[499]),.cin( c[489]) );
FA fa_685 ( .sum(s[501]),.carry(c[501]),.a(p[18][19]),.b( s[500]),.cin( c[490]) );
FA fa_686 ( .sum(s[502]),.carry(c[502]),.a(p[17][20]),.b( s[501]),.cin( c[491]) );
FA fa_687 ( .sum(s[503]),.carry(c[503]),.a(p[16][21]),.b( s[502]),.cin( c[492]) );
FA fa_688 ( .sum(s[504]),.carry(c[504]),.a(p[15][22]),.b( s[503]),.cin( c[493]) );
FA fa_689 ( .sum(s[505]),.carry(c[505]),.a(p[14][23]),.b( s[504]),.cin( c[494]) );
FA fa_690 ( .sum(s[506]),.carry(c[506]),.a(s[505]),.b( c[495]),.cin( c[496]) ); //P37
FA fa_691 ( .sum(s[507]),.carry(c[507]),.a(p[23][15]),.b( p[22][16]),.cin( c[497]) );
FA fa_692 ( .sum(s[508]),.carry(c[508]),.a(p[21][17]),.b( s[507]),.cin( c[498]) );
FA fa_693 ( .sum(s[509]),.carry(c[509]),.a(p[20][18]),.b( s[508]),.cin( c[499]) );
FA fa_694 ( .sum(s[510]),.carry(c[510]),.a(p[19][19]),.b( s[509]),.cin( c[500]) );
FA fa_695 ( .sum(s[511]),.carry(c[511]),.a(p[18][20]),.b( s[510]),.cin( c[501]) );
FA fa_696 ( .sum(s[512]),.carry(c[512]),.a(p[17][21]),.b( s[511]),.cin( c[502]) );
FA fa_697 ( .sum(s[513]),.carry(c[513]),.a(p[16][22]),.b( s[512]),.cin( c[503]) );
FA fa_698 ( .sum(s[514]),.carry(c[514]),.a(p[15][23]),.b( s[513]),.cin( c[504]) );
FA fa_699 ( .sum(s[515]),.carry(c[515]),.a(s[514]),.b( c[505]),.cin( c[506]) ); //P38
FA fa_700 ( .sum(s[516]),.carry(c[516]),.a(p[23][16]),.b( p[22][17]),.cin( c[507]) );
FA fa_701 ( .sum(s[517]),.carry(c[517]),.a(p[21][18]),.b( s[516]),.cin( c[508]) );
FA fa_702 ( .sum(s[518]),.carry(c[518]),.a(p[20][19]),.b( s[517]),.cin( c[509]) );
FA fa_703 ( .sum(s[519]),.carry(c[519]),.a(p[19][20]),.b( s[518]),.cin( c[510]) );
FA fa_704 ( .sum(s[520]),.carry(c[520]),.a(p[18][21]),.b( s[519]),.cin( c[511]) );
FA fa_705 ( .sum(s[521]),.carry(c[521]),.a(p[17][22]),.b( s[520]),.cin( c[512]) );
FA fa_706 ( .sum(s[522]),.carry(c[522]),.a(p[16][23]),.b( s[521]),.cin( c[513]) );
FA fa_707 ( .sum(s[523]),.carry(c[523]),.a(s[522]),.b( c[514]),.cin( c[515]) ); //P39
FA fa_708 ( .sum(s[524]),.carry(c[524]),.a(p[23][17]),.b( p[22][18]),.cin( c[516]) );
FA fa_709 ( .sum(s[525]),.carry(c[525]),.a(p[21][19]),.b( s[524]),.cin( c[517]) );
FA fa_710 ( .sum(s[526]),.carry(c[526]),.a(p[20][20]),.b( s[525]),.cin( c[518]) );
FA fa_711 ( .sum(s[527]),.carry(c[527]),.a(p[19][21]),.b( s[526]),.cin( c[519]) );
FA fa_712 ( .sum(s[528]),.carry(c[528]),.a(p[18][22]), .b( s[527]),.cin( c[520]) );
FA fa_713 ( .sum(s[529]),.carry(c[529]),.a(p[17][23]),.b( s[528]),.cin( c[521]) );
FA fa_714 ( .sum(s[530]),.carry(c[530]),.a(s[529]),.b( c[522]),.cin( c[523]) ); //P40
FA fa_715 ( .sum(s[531]),.carry(c[531]),.a(p[23][18]),.b( p[22][19]),.cin( c[524]) );
FA fa_716 ( .sum(s[532]),.carry(c[532]),.a(p[21][20]),.b( s[531]),.cin( c[525]) );
FA fa_717 ( .sum(s[533]),.carry(c[533]),.a(p[20][21]),.b( s[532]),.cin( c[526]) );
FA fa_718 ( .sum(s[534]),.carry(c[534]),.a(p[19][22]),.b( s[533]),.cin( c[527]) );
FA fa_719 ( .sum(s[535]),.carry(c[535]),.a(p[18][23]),.b( s[534]),.cin( c[528]) );
FA fa_720 ( .sum(s[536]),.carry(c[536]),.a(s[535]),.b( c[529]),.cin( c[530]) ); //P41
FA fa_721 ( .sum(s[537]),.carry(c[537]),.a(p[23][19]),.b( p[22][20]),.cin( c[531]) );
FA fa_722 ( .sum(s[538]),.carry(c[538]),.a(p[21][21]),.b( s[537]),.cin( c[532]) );
FA fa_723 ( .sum(s[539]),.carry(c[539]),.a(p[20][22]),.b( s[538]),.cin( c[533]) );
FA fa_724 ( .sum(s[540]),.carry(c[540]),.a(p[19][23]),.b( s[539]),.cin( c[534]) );
FA fa_725 ( .sum(s[541]),.carry(c[541]),.a(s[540]),.b( c[535]),.cin( c[536]) ); //P42
FA fa_726 ( .sum(s[542]),.carry(c[542]),.a(p[23][20]),.b( p[22][21]),.cin( c[537]) );
FA fa_727 ( .sum(s[543]),.carry(c[543]),.a(p[21][22]),.b( s[542]),.cin( c[538]) );
FA fa_728 ( .sum(s[544]),.carry(c[544]),.a(p[20][23]),.b( s[543]),.cin( c[539]) );
FA fa_729 ( .sum(s[545]),.carry(c[545]),.a(s[544]),.b( c[540]),.cin( c[541]) ); //P43
FA fa_730 ( .sum(s[546]),.carry(c[546]),.a(p[23][21]),.b( p[22][22]),.cin( c[542]) );
FA fa_731 ( .sum(s[547]),.carry(c[547]),.a(p[21][23]),.b( s[546]),.cin( c[543]) );
FA fa_732 ( .sum(s[548]),.carry(c[548]),.a(s[547]),.b( c[544]),.cin( c[545]) ); //P44
FA fa_733 ( .sum(s[549]),.carry(c[549]),.a(p[23][22]),.b( p[22][23]),.cin( c[546]) );
FA fa_734 ( .sum(s[550]),.carry(c[550]),.a(s[549]),.b( c[547]),.cin( c[548]) ); //P45
FA fa_735 ( .sum(s[551]),.carry(c[551]),.a(p[23][23]),.b( c[549]),.cin( c[550]) ); //P45
/*FA fa_81 ( .sum(s[28]),.carry(c[28]),.a(p[7][1]),.b( p[6][2]),.cin( c[21]) );
FA fa_82 ( .sum(s[29]), .carry(c[29]),.a(p[5][3]),.b( s[28]),.cin( c[22]) );
FA fa_83 ( .sum(s[30]),.carry(c[30]),.a(p[4][4]),.b( s[29]),.cin( c[23]) );
FA fa_84 ( .sum(s[31]),.carry(c[31]),.a(p[3][5]),.b( s[30]),.cin( c[24]) );
FA fa_85 ( .sum(s[32]),.carry(c[32]),.a(p[2][6]),.b( s[31]),.cin( c[25]) );
FA fa_86 ( .sum(s[33]),.carry(c[33]),.a(p[1][7]),.b( s[32]),.cin( c[26]) );
HA ha_81 ( .sum(s[34]),.carry(c[34]),.a(s[33]),.b( c[27])); //P8
FA fa_91 ( .sum(s[35]),.carry(c[35]),.a(p[7][2]),.b( p[6][3]),.cin( c[28]) );
FA fa_92 ( .sum(s[36]),.carry(c[36]),.a(p[5][4]),.b( s[35]),.cin( c[29]) );
FA fa_93 ( .sum(s[37]),.carry(c[37]),.a(p[4][5]),.b( s[36]),.cin( c[30]) );
FA fa_94 ( .sum(s[38]),.carry(c[38]),.a(p[3][6]),.b( s[37]),.cin( c[31]) );
FA fa_95 ( .sum(s[39]),.carry(c[39]),.a(p[2][7]),.b( s[38]),.cin( c[32]) );
FA fa_96 ( .sum(s[40]),.carry(c[40]),.a(s[39]),.b( c[33]),.cin( c[34]) ); //P9
FA fa_101 ( .sum(s[41]),.carry(c[41]),.a(p[7][3]),.b( p[6][4]),.cin( c[35]) );
FA fa_102 ( .sum(s[42]),.carry(c[42]),.a(p[5][5]),.b( s[41]),.cin( c[36]) );
FA fa_103 ( .sum(s[43]),.carry(c[43]),.a(p[4][6]),.b( s[42]),.cin( c[37]) );
FA fa_104 ( .sum(s[44]),.carry(c[44]), .a(p[3][7]),.b( s[43]),.cin( c[38]) );
FA fa_105 ( .sum(s[45]),.carry(c[45]),.a(s[44]),.b( c[39]),.cin( c[40]) ); //P10
FA fa_111 ( .sum(s[46]),.carry(c[46]),.a(p[7][4]),.b( p[6][5]),.cin( c[41]) );
FA fa_112 ( .sum(s[47]),.carry(c[47]),.a(p[5][6]),.b( s[46]),.cin( c[42]) );
FA fa_113 ( .sum(s[48]),.carry(c[48]),.a(p[4][7]),.b( s[47]),.cin( c[43]) );
FA fa_114 ( .sum(s[49]),.carry(c[49]),.a(s[48]),.b( c[44]),.cin( c[45]) ); //P11
FA fa_121 ( .sum(s[50]),.carry(c[50]),.a(p[7][5]),.b( p[6][6]),.cin( c[46]) );
FA fa_122 ( .sum(s[51]),.carry(c[51]),.a(p[5][7]),.b(s[50]),.cin( c[47]) );
FA fa_123 ( .sum(s[52]),.carry(c[52]),.a(s[51]),.b(c[48]),.cin( c[49]) ); //P12
FA fa_131 ( .sum(s[53]),.carry(c[53]),.a(p[7][6]),.b( p[6][7]),.cin( c[50]) );
FA fa_132 ( .sum(s[54]),.carry(c[54]),.a(s[53]),.b(c[51]),.cin( c[52]) ); //P13
FA fa_141 ( .sum(s[55]),.carry(c[55]),.a(p[7][7]),.b(c[53]),.cin( c[54]) ); //P14*/
// Multiplierproductisobtained
/*always@(posedge clock)
product<= {c[55],s[55],s[54],s[52],s[49],s[45],s[40],s[34],s[27],s[20],s[14],s[9],s[5],s[2],s[0],p[0][0]};
//p[0][0]=P0
endmodule*/
always@(posedge clock)
product<= {c[551], s[551],
s[550],s[548],s[545],s[541],s[536],s[530],s[523],s[515],s[506],s[496],s[485],s[473],s[460],s[446],
s[431], s[415], s[398], s[380], s[361], s[341], s[320], s[298], s[275], s[252], s[230], s[209], s[189], s[170],
s[152],
s[135], s[119], s[104], s[90], s[77],s[65], s[54],s[44], s[35], s[27],s[20], s[14],s[9], s[5],s[2],s[0],
p[0][0]}; //p[0][0]=P0
endmodule
module FA(a,b,cin,sum,carry);
inputa,b,cin;
outputsum,carry;
reg T1,T2,T3,carry;
assignsum=a^b^cin;
always@(a or b or cin)
begin
T1=a&b;
T2=a&cin;
T3=b&cin;
carry=T1|T2|T3;
end
endmodule
module HA(a,b,sum,carry);
inputa,b;
outputsum,carry;
assignsum=a^b;
assigncarry=a&b;
endmodule

24 bit wallace_tree_multiplier

  • 1.
    module wallace24(outputreg[47:0] product,input[23:0]x,y, inputclock); reg p [23:0][23:0]; //array whichstoresthe partial products wire [551:0] s ,c ; //iintermediate sumandcarry integeri,j; always@(y,x) //x is multiplicandANDyismultiplier begin // creatingthe partial products. for ( i = 0; i <= 23; i = i + 1) for ( j = 0; j <= 23; j = j + 1) p[j][i] <=x[j] &y[i]; //all the partial productshave beenobtainedandstoredinaarray of 8 X 8 matrix. end HA ha_11 ( .sum(s[0]),.carry(c[0]),.a(p[1][0]),.b( p[0][1]));//P1 FA fa_21 ( .sum(s[1]),.carry(c[1]),.a(p[2][0]),.b( p[1][1]),.cin( (c[0]) ) ); HA ha_21 ( .sum(s[2]),.carry(c[2]),.a(p[0][2]),.b( s[1])); //P2 FA fa_31 ( .sum(s[3]),.carry(c[3]),.a(p[3][0]),.b( p[2][1]),.cin( c[1]) ); FA fa_32 ( .sum(s[4]),.carry(c[4]),.a(p[1][2]),.b( s[3]),.cin(c[2]) ); HA ha_31 ( .sum(s[5]),.carry(c[5]),.a(p[0][3]),.b( s[4])); //P3 FA fa_41 ( .sum(s[6]),.carry(c[6]),.a(p[4][0]),.b( p[3][1]),.cin( c[3]) ); FA fa_42 ( .sum(s[7]),.carry(c[7]),.a(p[2][2]),.b(s[6]),.cin( c[4]) ); FA fa_43 ( .sum(s[8]),.carry(c[8]),.a(p[1][3]),.b(s[7]),.cin( c[5]) ); HA ha_41 ( .sum(s[9]),.carry(c[9]),.a(p[0][4]),.b( s[8])); //P4 FA fa_51 ( .sum(s[10]),.carry(c[10]),.a(p[5][0]),.b( p[4][1]),.cin( c[6]) ); FA fa_52 ( .sum(s[11]),.carry(c[11]),.a(p[3][2]), .b( s[10]),.cin( c[7]) );
  • 2.
    FA fa_53 (.sum(s[12]),.carry(c[12]),.a(p[2][3]),.b( s[11]),.cin( c[8]) ); FA fa_54 ( .sum(s[13]),.carry(c[13]),.a(p[1][4]),.b( s[12]),.cin( c[9]) ); HA ha_55 ( .sum(s[14]),.carry(c[14]), .a(p[0][5]),.b( s[13])); //P5 FA fa_61 ( .sum(s[15]),.carry(c[15]),.a(p[6][0]),.b( p[5][1]),.cin( c[10]) ); FA fa_62 ( .sum(s[16]),.carry(c[16]),.a(p[4][2]),.b( s[15]),.cin( c[11]) ); FA fa_63 ( .sum(s[17]),.carry(c[17]),.a(p[3][3]),.b( s[16]),.cin( c[12]) ); FA fa_64 ( .sum(s[18]),.carry(c[18]),.a(p[2][4]),.b( s[17]),.cin( c[13]) ); FA fa_65 ( .sum(s[19]),.carry(c[19]),.a(p[1][5]),.b( s[18]),.cin( c[14]) ); HA ha_42 ( .sum(s[20]),.carry(c[20]),.a(p[0][6]),.b( s[19])); //P6 FA fa_71 ( .sum(s[21]),.carry(c[21]),.a(p[7][0]),.b( p[6][1]),.cin( c[15]) ); FA fa_72 ( .sum(s[22]),.carry(c[22]),.a(p[5][2]),.b( s[21]),.cin( c[16]) ); FA fa_73 ( .sum(s[23]),.carry(c[23]),.a(p[4][3]),.b( s[22]),.cin( c[17]) ); FA fa_74 ( .sum(s[24]),.carry(c[24]),.a(p[3][4]),.b( s[23]),.cin( c[18]) ); FA fa_75 ( .sum(s[25]),.carry(c[25]),.a(p[2][5]),.b( s[24]),.cin( c[19]) ); FA fa_76 ( .sum(s[26]),.carry(c[26]),.a(p[1][6]),.b( s[25]),.cin( c[20]) ); HA ha_71 ( .sum(s[27]),.carry(c[27]),.a(p[0][7]),.b( s[26])); //P7 FA fa_81 ( .sum(s[28]),.carry(c[28]),.a(p[8][0]),.b( p[7][1]),.cin( c[21]) ); FA fa_82 ( .sum(s[29]),.carry(c[29]),.a(p[6][2]),.b( s[28]),.cin( c[22]) ); FA fa_83 ( .sum(s[30]),.carry(c[30]),.a(p[5][3]),.b( s[29]),.cin( c[23]) ); FA fa_84 ( .sum(s[31]),.carry(c[31]),.a(p[4][4]),.b( s[30]),.cin( c[24]) ); FA fa_85 ( .sum(s[32]),.carry(c[32]),.a(p[3][5]),.b( s[31]),.cin( c[25]) ); FA fa_86 ( .sum(s[33]),.carry(c[33]),.a(p[2][6]),.b( s[32]),.cin( c[26]) ); FA fa_87 ( .sum(s[34]),.carry(c[34]),.a(p[1][7]),.b( s[33]),.cin( c[27]) ); HA ha_81 ( .sum(s[35]),.carry(c[35]),.a(p[0][8]),.b( s[34])); //P8 FA fa_91 ( .sum(s[36]),.carry(c[36]),.a(p[9][0]),.b( p[8][1]),.cin( c[28]) );
  • 3.
    FA fa_92 (.sum(s[37]),.carry(c[37]),.a(p[7][2]),.b( s[36]),.cin( c[29]) ); FA fa_93 ( .sum(s[38]),.carry(c[38]),.a(p[6][3]),.b( s[37]),.cin( c[30]) ); FA fa_94 ( .sum(s[39]),.carry(c[39]),.a(p[5][4]),.b( s[38]),.cin( c[31]) ); FA fa_95 ( .sum(s[40]),.carry(c[40]),.a(p[4][5]),.b( s[39]),.cin( c[32]) ); FA fa_96 ( .sum(s[41]),.carry(c[41]),.a(p[3][6]),.b( s[40]),.cin( c[33]) ); FA fa_97 ( .sum(s[42]),.carry(c[42]),.a(p[2][7]),.b( s[41]),.cin( c[34]) ); FA fa_98 ( .sum(s[43]),.carry(c[43]),.a(p[1][8]),.b( s[42]),.cin( c[35]) ); HA ha_91 ( .sum(s[44]),.carry(c[44]),.a(p[0][9]),.b( s[43])); //P9 FA fa_101 ( .sum(s[45]),.carry(c[45]),.a(p[10][0]),.b( p[9][1]),.cin(c[36]) ); FA fa_102 ( .sum(s[46]),.carry(c[46]),.a(p[8][2]),.b( s[45]),.cin( c[37]) ); FA fa_103 ( .sum(s[47]),.carry(c[47]),.a(p[7][3]),.b( s[46]),.cin( c[38]) ); FA fa_104 ( .sum(s[48]),.carry(c[48]),.a(p[6][4]),.b( s[47]),.cin( c[39]) ); FA fa_105 ( .sum(s[49]),.carry(c[49]),.a(p[5][5]),.b( s[48]),.cin( c[40]) ); FA fa_106 ( .sum(s[50]),.carry(c[50]),.a(p[4][6]),.b( s[49]),.cin( c[41]) ); FA fa_107 ( .sum(s[51]),.carry(c[51]),.a(p[3][7]),.b( s[50]),.cin( c[42]) ); FA fa_108 ( .sum(s[52]),.carry(c[52]),.a(p[2][8]),.b( s[51]),.cin( c[43]) ); FA fa_109 ( .sum(s[53]),.carry(c[53]),.a(p[1][9]),.b( s[52]),.cin( c[44]) ); HA ha_101 ( .sum(s[54]),.carry(c[54]),.a(p[0][10]),.b( s[53])); //P10 FA fa_111 ( .sum(s[55]),.carry(c[55]),.a(p[11][0]),.b( p[10][1]),.cin( c[45]) ); FA fa_112 ( .sum(s[56]),.carry(c[56]),.a(p[9][2]),.b( s[55]),.cin( c[46]) ); FA fa_113 ( .sum(s[57]),.carry(c[57]),.a(p[8][3]),.b( s[56]),.cin( c[47]) ); FA fa_114 ( .sum(s[58]),.carry(c[58]),.a(p[7][4]),.b( s[57]),.cin( c[48]) ); FA fa_115 ( .sum(s[59]),.carry(c[59]),.a(p[6][5]),.b( s[58]),.cin( c[49]) ); FA fa_116 ( .sum(s[60]),.carry(c[60]),.a(p[5][6]),.b( s[59]),.cin( c[50]) ); FA fa_117 ( .sum(s[61]),.carry(c[61]),.a(p[4][7]),.b( s[60]),.cin( c[51]) ); FA fa_118( .sum(s[62]),.carry(c[62]),.a(p[3][8]),.b( s[61]),.cin( c[52]) ); FA fa_119 ( .sum(s[63]),.carry(c[63]),.a(p[2][9]),.b( s[62]),.cin( c[53]) );
  • 4.
    FA fa_120 (.sum(s[64]),.carry(c[64]),.a(p[1][10]),.b( s[63]),.cin(c[54]) ); HA ha_111 ( .sum(s[65]),.carry(c[65]),.a(p[0][11]),.b( s[64])); //P11 FA fa_121 ( .sum(s[66]),.carry(c[66]), .a(p[12][0]),.b( p[11][1]),.cin( c[55]) ); FA fa_122 ( .sum(s[67]),.carry(c[67]),.a(p[10][2]),.b( s[66]),.cin(c[56]) ); FA fa_123 ( .sum(s[68]),.carry(c[68]),.a(p[9][3]),.b( s[67]),.cin( c[57]) ); FA fa_124 ( .sum(s[69]),.carry(c[69]),.a(p[8][4]),.b( s[68]),.cin( c[58]) ); FA fa_125 ( .sum(s[70]),.carry(c[70]),.a(p[7][5]),.b( s[69]),.cin( c[59]) ); FA fa_126 ( .sum(s[71]),.carry(c[71]),.a(p[6][6]),.b( s[70]),.cin( c[60]) ); FA fa_127 ( .sum(s[72]),.carry(c[72]),.a(p[5][7]),.b( s[71]),.cin( c[61]) ); FA fa_128 ( .sum(s[73]),.carry(c[73]),.a(p[4][8]),.b( s[72]),.cin( c[62]) ); FA fa_129 ( .sum(s[74]),.carry(c[74]),.a(p[3][9]),.b( s[73]),.cin( c[63]) ); FA fa_130 ( .sum(s[75]),.carry(c[75]),.a(p[2][10]),.b( s[74]),.cin(c[64]) ); FA fa_131 ( .sum(s[76]),.carry(c[76]),.a(p[1][11]),.b( s[75]),.cin(c[65]) ); HA ha_121 ( .sum(s[77]),.carry(c[77]),.a(p[0][12]),.b( s[76])); //P12 FA fa_141 ( .sum(s[78]),.carry(c[78]),.a(p[13][0]),.b( p[12][1]),.cin( c[66]) ); FA fa_142 ( .sum(s[79]),.carry(c[79]),.a(p[11][2]),.b( s[78]),.cin(c[67]) ); FA fa_143 ( .sum(s[80]),.carry(c[80]),.a(p[10][3]),.b( s[79]),.cin(c[68]) ); FA fa_144 ( .sum(s[81]),.carry(c[81]),.a(p[9][4]),.b( s[80]),.cin( c[69]) ); FA fa_145 ( .sum(s[82]),.carry(c[82]),.a(p[8][5]),.b( s[81]),.cin( c[70]) ); FA fa_146 ( .sum(s[83]),.carry(c[83]),.a(p[7][6]),.b( s[82]),.cin( c[71]) ); FA fa_147 ( .sum(s[84]),.carry(c[84]),.a(p[6][7]),.b( s[83]),.cin( c[72]) ); FA fa_148 ( .sum(s[85]),.carry(c[85]),.a(p[5][8]),.b( s[84]),.cin( c[73]) ); FA fa_149 ( .sum(s[86]),.carry(c[86]),.a(p[4][9]),.b( s[85]),.cin( c[74]) ); FA fa_150 ( .sum(s[87]),.carry(c[87]),.a(p[3][10]),.b( s[86]),.cin(c[75]) ); FA fa_151 ( .sum(s[88]),.carry(c[88]),.a(p[2][11]),.b( s[87]),.cin(c[76]) ); FA fa_152 ( .sum(s[89]),.carry(c[89]),.a(p[1][12]),.b( s[88]),.cin(c[77]) ); HA ha_140 ( .sum(s[90]),.carry(c[90]),.a(p[0][13]),.b( s[89])); //P13
  • 5.
    FA fa_161 (.sum(s[91]),.carry(c[91]),.a(p[14][0]),.b( p[13][1]),.cin( c[78]) ); FA fa_162 ( .sum(s[92]),.carry(c[92]),.a(p[12][2]),.b( s[91]),.cin(c[79]) ); FA fa_163 ( .sum(s[93]),.carry(c[93]),.a(p[11][3]),.b( s[92]),.cin(c[80]) ); FA fa_164 ( .sum(s[94]),.carry(c[94]),.a(p[10][4]),.b( s[93]),.cin(c[81]) ); FA fa_165 ( .sum(s[95]),.carry(c[95]),.a(p[9][5]),.b( s[94]),.cin( c[82]) ); FA fa_166 ( .sum(s[96]),.carry(c[96]),.a(p[8][6]),.b( s[95]),.cin( c[83]) ); FA fa_167 ( .sum(s[97]),.carry(c[97]),.a(p[7][7]),.b( s[96]),.cin( c[84]) ); FA fa_168 ( .sum(s[98]),.carry(c[98]),.a(p[6][8]),.b( s[97]),.cin( c[85]) ); FA fa_169 ( .sum(s[99]),.carry(c[99]),.a(p[5][9]),.b( s[98]),.cin( c[86]) ); FA fa_170 ( .sum(s[100]),.carry(c[100]),.a(p[4][10]),.b( s[99]),.cin( c[87]) ); FA fa_171 ( .sum(s[101]),.carry(c[101]),.a(p[3][11]),.b( s[100]),.cin( c[88]) ); FA fa_172 ( .sum(s[102]),.carry(c[102]),.a(p[2][12]),.b( s[101]),.cin( c[89]) ); FA fa_173 ( .sum(s[103]),.carry(c[103]),.a(p[1][13]),.b( s[102]),.cin( c[90]) ); HA ha_160 ( .sum(s[104]),.carry(c[104]),.a(p[0][14]),.b( s[103])); //P14 FA fa_181 ( .sum(s[105]),.carry(c[105]),.a(p[15][0]),.b( p[12][1]),.cin( c[91]) ); FA fa_182 ( .sum(s[106]),.carry(c[106]),.a(p[13][2]),.b( s[105]),.cin( c[92]) ); FA fa_183 ( .sum(s[107]),.carry(c[107]),.a(p[12][3]),.b( s[106]),.cin( c[93]) ); FA fa_184 ( .sum(s[108]),.carry(c[108]),.a(p[11][4]),.b( s[107]),.cin( c[94]) ); FA fa_185 ( .sum(s[109]),.carry(c[109]),.a(p[10][5]),.b( s[108]),.cin( c[95]) ); FA fa_186 ( .sum(s[110]),.carry(c[110]),.a(p[9][6]),.b( s[109]),.cin( c[96]) ); FA fa_187 ( .sum(s[111]),.carry(c[111]),.a(p[8][7]),.b( s[110]),.cin( c[97]) ); FA fa_188 ( .sum(s[112]),.carry(c[112]),.a(p[7][8]),.b( s[111]),.cin( c[98]) ); FA fa_189 ( .sum(s[113]),.carry(c[113]),.a(p[6][9]),.b( s[112]),.cin( c[99]) ); FA fa_190 ( .sum(s[114]),.carry(c[114]),.a(p[5][10]),.b( s[113]),.cin( c[100]) ); FA fa_191 ( .sum(s[115]),.carry(c[115]),.a(p[4][11]),.b( s[114]),.cin( c[101]) ); FA fa_192 ( .sum(s[116]),.carry(c[116]),.a(p[3][12]),.b( s[115]),.cin( c[102]) ); FA fa_193 ( .sum(s[117]),.carry(c[117]),.a(p[2][13]),.b( s[116]),.cin( c[103]) );
  • 6.
    FA fa_194 (.sum(s[118]),.carry(c[118]),.a(p[1][14]),.b( s[117]),.cin( c[104]) ); HA ha_170 ( .sum(s[119]),.carry(c[119]),.a(p[0][15]),.b( s[118])); //P15 FA fa_201 ( .sum(s[120]),.carry(c[120]),.a(p[16][0]),.b( p[15][1]),.cin( c[105]) ); FA fa_202 ( .sum(s[121]),.carry(c[121]),.a(p[14][2]),.b( s[120]),.cin( c[106]) ); FA fa_203 ( .sum(s[122]),.carry(c[122]),.a(p[13][3]),.b( s[121]),.cin( c[107]) ); FA fa_204 ( .sum(s[123]),.carry(c[123]),.a(p[12][4]),.b( s[122]),.cin( c[108]) ); FA fa_205 ( .sum(s[124]),.carry(c[124]),.a(p[11][5]),.b( s[123]),.cin( c[109]) ); FA fa_206 ( .sum(s[125]),.carry(c[125]),.a(p[10][6]),.b( s[124]),.cin( c[110]) ); FA fa_207 ( .sum(s[126]),.carry(c[126]),.a(p[9][7]),.b( s[125]), .cin( c[111]) ); FA fa_208 ( .sum(s[127]),.carry(c[127]),.a(p[8][8]),.b( s[126]),.cin( c[112]) ); FA fa_209 ( .sum(s[128]),.carry(c[128]),.a(p[7][9]),.b( s[127]),.cin( c[113]) ); FA fa_210 ( .sum(s[129]),.carry(c[129]),.a(p[6][10]),.b( s[128]), .cin( c[114]) ); FA fa_211 ( .sum(s[130]),.carry(c[130]),.a(p[5][11]),.b( s[129]),.cin( c[115]) ); FA fa_212 ( .sum(s[131]),.carry(c[131]),.a(p[4][12]),.b( s[130]),.cin( c[116]) ); FA fa_213 ( .sum(s[132]),.carry(c[132]),.a(p[3][13]),.b( s[131]),.cin( c[117]) ); FA fa_214 ( .sum(s[133]),.carry(c[133]),.a(p[2][14]),.b( s[132]),.cin( c[118]) ); FA fa_215 ( .sum(s[134]),.carry(c[134]),.a(p[1][15]),.b( s[133]),.cin( c[119]) ); HA ha_201 ( .sum(s[135]),.carry(c[135]),.a(p[0][16]),.b( s[134])); //P16 FA fa_301 ( .sum(s[136]),.carry(c[136]),.a(p[17][0]),.b( p[16][1]),.cin( c[120]) ); FA fa_302 ( .sum(s[137]),.carry(c[137]),.a(p[15][2]),.b( s[136]),.cin( c[121]) ); FA fa_303 ( .sum(s[138]),.carry(c[138]),.a(p[14][3]),.b( s[137]),.cin( c[122]) ); FA fa_304 ( .sum(s[139]),.carry(c[139]),.a(p[13][4]),.b( s[138]),.cin( c[123]) ); FA fa_305 ( .sum(s[140]),.carry(c[140]),.a(p[12][5]),.b( s[139]),.cin( c[124]) ); FA fa_306 ( .sum(s[141]),.carry(c[141]),.a(p[11][6]),.b( s[140]),.cin( c[125]) ); FA fa_307 ( .sum(s[142]),.carry(c[142]),.a(p[10][7]),.b( s[141]),.cin( c[126]) ); FA fa_308 ( .sum(s[143]),.carry(c[143]),.a(p[9][8]),.b( s[142]),.cin( c[127]) ); FA fa_309 ( .sum(s[144]),.carry(c[144]),.a(p[8][9]),.b( s[143]),.cin( c[128]) );
  • 7.
    FA fa_310 (.sum(s[145]),.carry(c[145]),.a(p[7][10]),.b( s[144]),.cin( c[129]) ); FA fa_311 ( .sum(s[146]),.carry(c[146]),.a(p[6][11]),.b( s[145]),.cin( c[130]) ); FA fa_312 ( .sum(s[147]), .carry(c[147]),.a(p[5][12]),.b( s[146]),.cin( c[131]) ); FA fa_313 ( .sum(s[148]),.carry(c[148]),.a(p[4][13]),.b( s[147]),.cin( c[132]) ); FA fa_314 ( .sum(s[149]),.carry(c[149]),.a(p[3][14]),.b( s[148]),.cin( c[133]) ); FA fa_315 ( .sum(s[150]),.carry(c[150]),.a(p[2][15]),.b( s[149]),.cin( c[134]) ); FA fa_316 ( .sum(s[151]),.carry(c[151]),.a(p[1][16]),.b( s[150]),.cin( c[135]) ); HA ha_301 ( .sum(s[152]),.carry(c[152]),.a(p[0][17]),.b( s[151])); //P17 FA fa_321 ( .sum(s[153]),.carry(c[153]),.a(p[18][0]),.b( p[17][1]),.cin( c[136]) ); FA fa_322 ( .sum(s[154]),.carry(c[154]),.a(p[16][2]),.b( s[153]),.cin( c[137]) ); FA fa_323 ( .sum(s[155]),.carry(c[155]),.a(p[15][3]),.b( s[154]),.cin( c[138]) ); FA fa_324 ( .sum(s[156]),.carry(c[156]),.a(p[14][4]),.b( s[155]),.cin( c[139]) ); FA fa_325 ( .sum(s[157]),.carry(c[157]),.a(p[13][5]),.b( s[156]),.cin( c[140]) ); FA fa_326 ( .sum(s[158]),.carry(c[158]),.a(p[12][6]),.b( s[157]),.cin( c[141]) ); FA fa_327 ( .sum(s[159]),.carry(c[159]),.a(p[11][7]),.b( s[158]),.cin( c[142]) ); FA fa_328 ( .sum(s[160]),.carry(c[160]),.a(p[10][8]),.b( s[159]),.cin( c[143]) ); FA fa_329 ( .sum(s[161]),.carry(c[161]),.a(p[9][9]),.b( s[160]),.cin( c[144]) ); FA fa_330 ( .sum(s[162]),.carry(c[162]),.a(p[8][10]),.b( s[161]),.cin( c[145]) ); FA fa_331 ( .sum(s[163]),.carry(c[163]),.a(p[7][11]),.b( s[162]),.cin( c[146]) ); FA fa_332 ( .sum(s[164]),.carry(c[164]),.a(p[6][12]),.b( s[163]),.cin( c[147]) ); FA fa_333 ( .sum(s[165]),.carry(c[165]),.a(p[5][13]),.b( s[164]),.cin( c[148]) ); FA fa_334 ( .sum(s[166]),.carry(c[166]),.a(p[4][14]),.b( s[165]),.cin( c[149]) ); FA fa_335 ( .sum(s[167]),.carry(c[167]),.a(p[3][15]),.b( s[166]),.cin( c[150]) ); FA fa_336 ( .sum(s[168]),.carry(c[168]),.a(p[2][16]),.b( s[167]),.cin( c[151]) ); FA fa_337 ( .sum(s[169]),.carry(c[169]),.a(p[1][17]),.b( s[168]),.cin( c[152]) ); HA ha_320 ( .sum(s[170]),.carry(c[170]),.a(p[0][18]),.b( s[169])); //P18 FA fa_341 ( .sum(s[171]),.carry(c[171]),.a(p[19][0]),.b( p[18][1]),.cin( c[153]) );
  • 8.
    FA fa_342 (.sum(s[172]),.carry(c[172]),.a(p[17][2]),.b( s[171]),.cin( c[154]) ); FA fa_343 ( .sum(s[173]),.carry(c[173]), .a(p[16][3]),.b( s[172]),.cin( c[155]) ); FA fa_344 ( .sum(s[174]),.carry(c[174]),.a(p[15][4]),.b( s[173]),.cin( c[156]) ); FA fa_345 ( .sum(s[175]),.carry(c[175]),.a(p[14][5]),.b( s[174]),.cin( c[157]) ); FA fa_346 ( .sum(s[176]),.carry(c[176]),.a(p[13][6]),.b( s[175]),.cin( c[158]) ); FA fa_347 ( .sum(s[177]),.carry(c[177]),.a(p[12][7]),.b( s[176]),.cin( c[159]) ); FA fa_348 ( .sum(s[178]),.carry(c[178]),.a(p[11][8]),.b( s[177]),.cin( c[160]) ); FA fa_349 ( .sum(s[179]),.carry(c[179]),.a(p[10][9]),.b( s[178]),.cin( c[161]) ); FA fa_350 ( .sum(s[180]),.carry(c[180]),.a(p[9][10]),.b( s[179]),.cin( c[162]) ); FA fa_351 ( .sum(s[181]),.carry(c[181]),.a(p[8][11]),.b( s[180]),.cin( c[163]) ); FA fa_352 ( .sum(s[182]),.carry(c[182]),.a(p[7][12]),.b( s[181]),.cin( c[164]) ); FA fa_353 ( .sum(s[183]),.carry(c[183]),.a(p[6][13]),.b( s[182]),.cin( c[165]) ); FA fa_354 ( .sum(s[184]),.carry(c[184]),.a(p[5][14]),.b( s[183]),.cin( c[166]) ); FA fa_355 ( .sum(s[185]),.carry(c[185]),.a(p[4][15]),.b( s[184]),.cin( c[167]) ); FA fa_356 ( .sum(s[186]),.carry(c[186]),.a(p[3][16]),.b( s[185]),.cin( c[168]) ); FA fa_357 ( .sum(s[187]),.carry(c[187]),.a(p[2][17]),.b( s[186]),.cin( c[169]) ); FA fa_358 ( .sum(s[188]),.carry(c[188]),.a(p[1][18]),.b( s[187]),.cin( c[170]) ); HA ha_330 ( .sum(s[189]),.carry(c[189]),.a(p[0][19]),.b( s[188])); //P19 FA fa_361 ( .sum(s[190]),.carry(c[190]),.a(p[20][0]),.b( p[19][1]),.cin( c[171]) ); FA fa_362 ( .sum(s[191]),.carry(c[191]),.a(p[18][2]),.b( s[190]),.cin( c[172]) ); FA fa_363 ( .sum(s[192]),.carry(c[192]),.a(p[17][3]),.b( s[191]),.cin( c[173]) ); FA fa_364 ( .sum(s[193]),.carry(c[193]),.a(p[16][4]),.b( s[192]),.cin( c[174]) ); FA fa_365 ( .sum(s[194]),.carry(c[194]),.a(p[15][5]),.b( s[193]),.cin( c[175]) ); FA fa_366 ( .sum(s[195]),.carry(c[195]),.a(p[14][6]),.b( s[194]),.cin( c[176]) ); FA fa_367 ( .sum(s[196]),.carry(c[196]),.a(p[13][7]),.b( s[195]),.cin( c[177]) ); FA fa_368 ( .sum(s[197]),.carry(c[197]),.a(p[12][8]),.b( s[196]),.cin( c[178]) ); FA fa_369 ( .sum(s[198]),.carry(c[198]),.a(p[11][9]),.b( s[197]),.cin( c[179]) ); FA fa_370 ( .sum(s[199]),.carry(c[199]),.a(p[10][10]),.b( s[198]),.cin( c[180]) );
  • 9.
    FA fa_371 (.sum(s[200]),.carry(c[200]),.a(p[9][11]),.b( s[199]),.cin( c[181]) ); FA fa_372 ( .sum(s[201]),.carry(c[201]),.a(p[8][12]),.b( s[200]),.cin( c[182]) ); FA fa_373 ( .sum(s[202]),.carry(c[202]),.a(p[7][13]),.b( s[201]),.cin( c[183]) ); FA fa_374 ( .sum(s[203]),.carry(c[203]),.a(p[6][14]),.b( s[202]),.cin( c[184]) ); FA fa_375 ( .sum(s[204]),.carry(c[204]),.a(p[5][15]),.b( s[203]),.cin( c[185]) ); FA fa_376 ( .sum(s[205]),.carry(c[205]),.a(p[4][16]),.b( s[204]),.cin( c[186]) ); FA fa_377 ( .sum(s[206]),.carry(c[206]),.a(p[3][17]),.b( s[205]),.cin( c[187]) ); FA fa_378 ( .sum(s[207]),.carry(c[207]),.a(p[2][18]),.b( s[206]),.cin( c[188]) ); FA fa_379 ( .sum(s[208]),.carry(c[208]),.a(p[1][19]),.b( s[207]),.cin( c[189]) ); HA ha_340 ( .sum(s[209]),.carry(c[209]),.a(p[0][20]),.b( s[208])); //P20 FA fa_381 ( .sum(s[210]),.carry(c[210]),.a(p[21][0]),.b( p[20][1]),.cin( c[190]) ); FA fa_382 ( .sum(s[211]),.carry(c[211]),.a(p[19][2]),.b( s[210]),.cin( c[191]) ); FA fa_383 ( .sum(s[212]),.carry(c[212]),.a(p[18][3]),.b( s[211]),.cin( c[192]) ); FA fa_384 ( .sum(s[213]),.carry(c[213]),.a(p[17][4]),.b( s[212]),.cin( c[193]) ); FA fa_385 ( .sum(s[214]),.carry(c[214]),.a(p[16][5]),.b( s[213]),.cin( c[194]) ); FA fa_386 ( .sum(s[215]),.carry(c[215]),.a(p[15][6]),.b( s[214]),.cin( c[195]) ); FA fa_387 ( .sum(s[216]),.carry(c[216]),.a(p[14][7]),.b( s[215]),.cin( c[196]) ); FA fa_388 ( .sum(s[217]),.carry(c[217]),.a(p[13][8]),.b( s[216]),.cin( c[197]) ); FA fa_389 ( .sum(s[218]),.carry(c[218]),.a(p[12][9]),.b( s[217]),.cin( c[198]) ); FA fa_390 ( .sum(s[219]),.carry(c[219]),.a(p[11][10]),.b( s[218]),.cin( c[199]) ); FA fa_391 ( .sum(s[220]),.carry(c[220]),.a(p[10][11]),.b( s[219]),.cin( c[200]) ); FA fa_392 ( .sum(s[221]),.carry(c[221]),.a(p[9][12]),.b( s[220]),.cin( c[201]) ); FA fa_393 ( .sum(s[222]),.carry(c[222]),.a(p[8][13]),.b( s[221]),.cin( c[202]) ); FA fa_394 ( .sum(s[223]),.carry(c[223]),.a(p[7][14]),.b( s[222]),.cin( c[203]) ); FA fa_395 ( .sum(s[224]),.carry(c[224]),.a(p[6][15]),.b( s[223]),.cin( c[204]) ); FA fa_396 ( .sum(s[225]),.carry(c[225]),.a(p[5][16]),.b( s[224]),.cin( c[205]) ); FA fa_397 ( .sum(s[226]),.carry(c[226]), .a(p[4][17]),.b( s[225]),.cin( c[206]) ); FA fa_398 ( .sum(s[227]),.carry(c[227]),.a(p[3][18]),.b( s[226]),.cin( c[207]) );
  • 10.
    FA fa_399 (.sum(s[228]),.carry(c[228]),.a(p[2][19]),.b( s[227]),.cin( c[208]) ); FA fa_400 ( .sum(s[229]), .carry(c[229]),.a(p[1][20]),.b( s[228]),.cin( c[209]) ); HA ha_350 ( .sum(s[230]),.carry(c[230]),.a(p[0][21]),.b( s[229])); //P21 FA fa_401 ( .sum(s[231]),.carry(c[231]),.a(p[22][0]),.b( p[21][1]),.cin( c[210]) ); FA fa_402 ( .sum(s[232]),.carry(c[232]),.a(p[20][2]),.b( s[231]),.cin( c[211]) ); FA fa_403 ( .sum(s[233]),.carry(c[233]),.a(p[19][3]),.b( s[232]),.cin( c[212]) ); FA fa_404 ( .sum(s[234]),.carry(c[234]),.a(p[18][4]),.b( s[233]),.cin( c[213]) ); FA fa_405 ( .sum(s[235]),.carry(c[235]),.a(p[17][5]),.b( s[234]),.cin( c[214]) ); FA fa_406 ( .sum(s[236]),.carry(c[236]),.a(p[16][6]),.b( s[235]),.cin( c[215]) ); FA fa_407 ( .sum(s[237]),.carry(c[237]),.a(p[15][7]),.b( s[236]),.cin( c[216]) ); FA fa_408 ( .sum(s[238]),.carry(c[238]),.a(p[14][8]),.b( s[237]),.cin( c[217]) ); FA fa_409 ( .sum(s[239]),.carry(c[239]),.a(p[13][9]),.b( s[238]),.cin( c[218]) ); FA fa_410 ( .sum(s[240]),.carry(c[240]),.a(p[12][10]),.b( s[239]),.cin( c[219]) ); FA fa_411 ( .sum(s[241]),.carry(c[241]),.a(p[11][11]),.b( s[240]),.cin( c[220]) ); FA fa_412 ( .sum(s[242]),.carry(c[242]),.a(p[10][12]),.b( s[241]),.cin( c[221]) ); FA fa_413 ( .sum(s[243]),.carry(c[243]),.a(p[9][13]),.b( s[242]),.cin( c[222]) ); FA fa_414 ( .sum(s[244]),.carry(c[244]),.a(p[8][14]),.b( s[243]),.cin( c[223]) ); FA fa_415 ( .sum(s[245]),.carry(c[245]),.a(p[7][15]),.b( s[244]),.cin( c[224]) ); FA fa_416 ( .sum(s[246]),.carry(c[246]),.a(p[6][16]),.b( s[245]),.cin( c[225]) ); FA fa_417 ( .sum(s[247]),.carry(c[247]),.a(p[5][17]),.b( s[246]),.cin( c[226]) ); FA fa_418 ( .sum(s[248]),.carry(c[248]),.a(p[4][18]),.b( s[247]),.cin( c[227]) ); FA fa_419 ( .sum(s[249]),.carry(c[249]),.a(p[3][19]),.b( s[248]),.cin( c[228]) ); FA fa_420 ( .sum(s[250]),.carry(c[250]),.a(p[2][20]),.b( s[249]),.cin( c[229]) ); FA fa_421 ( .sum(s[251]),.carry(c[251]),.a(p[1][21]),.b( s[250]),.cin( c[230]) ); HA ha_422 ( .sum(s[252]),.carry(c[252]),.a(p[0][22]),.b( s[251])); //P22 FA fa_431 ( .sum(s[253]),.carry(c[253]),.a(p[23][0]),.b( p[22][1]),.cin( c[231]) ); FA fa_432 ( .sum(s[254]),.carry(c[254]),.a(p[21][2]),.b( s[253]),.cin( c[232]) );
  • 11.
    FA fa_433 (.sum(s[255]),.carry(c[255]), .a(p[20][3]),.b( s[254]),.cin( c[233]) ); FA fa_434 ( .sum(s[256]),.carry(c[256]),.a(p[19][4]),.b( s[255]),.cin( c[234]) ); FA fa_435 ( .sum(s[257]),.carry(c[257]),.a(p[18][5]),.b( s[256]),.cin( c[235]) ); FA fa_436 ( .sum(s[258]),.carry(c[258]),.a(p[17][6]),.b( s[257]),.cin( c[236]) ); FA fa_437 ( .sum(s[259]),.carry(c[259]),.a(p[16][7]),.b( s[258]),.cin( c[237]) ); FA fa_438 ( .sum(s[260]),.carry(c[260]),.a(p[15][8]),.b( s[259]),.cin( c[238]) ); FA fa_439 ( .sum(s[261]),.carry(c[261]),.a(p[14][9]),.b( s[260]),.cin( c[239]) ); FA fa_440 ( .sum(s[262]),.carry(c[262]),.a(p[13][10]),.b( s[261]),.cin( c[240]) ); FA fa_441 ( .sum(s[263]),.carry(c[263]),.a(p[12][11]),.b( s[262]),.cin( c[241]) ); FA fa_442 ( .sum(s[264]),.carry(c[264]),.a(p[11][12]),.b( s[263]),.cin( c[242]) ); FA fa_443 ( .sum(s[265]),.carry(c[265]),.a(p[10][13]),.b( s[264]),.cin( c[243]) ); FA fa_444 ( .sum(s[266]),.carry(c[266]),.a(p[9][14]),.b( s[265]),.cin( c[244]) ); FA fa_445 ( .sum(s[267]),.carry(c[267]),.a(p[8][15]),.b( s[266]),.cin( c[245]) ); FA fa_446 ( .sum(s[268]),.carry(c[268]),.a(p[7][16]),.b( s[267]),.cin( c[246]) ); FA fa_447 ( .sum(s[269]),.carry(c[269]),.a(p[6][17]),.b( s[268]),.cin( c[247]) ); FA fa_448 ( .sum(s[270]),.carry(c[270]),.a(p[5][18]),.b( s[269]),.cin( c[248]) ); FA fa_449 ( .sum(s[271]),.carry(c[271]),.a(p[4][19]),.b( s[270]),.cin( c[249]) ); FA fa_450 ( .sum(s[272]),.carry(c[272]),.a(p[3][20]),.b( s[271]),.cin( c[250]) ); FA fa_451 ( .sum(s[273]), .carry(c[273]),.a(p[2][21]),.b( s[272]),.cin( c[251]) ); FA fa_452 ( .sum(s[274]),.carry(c[274]),.a(p[1][22]),.b( s[273]),.cin( c[252]) ); HA ha_423 ( .sum(s[275]),.carry(c[275]),.a(p[0][23]),.b( s[274])); //P23 FA fa_461 ( .sum(s[276]),.carry(c[276]),.a(p[23][1]),.b( p[22][2]),.cin( c[253]) ); FA fa_462 ( .sum(s[277]),.carry(c[277]),.a(p[21][3]),.b( s[276]),.cin( c[254]) ); FA fa_463 ( .sum(s[278]),.carry(c[278]),.a(p[20][4]),.b( s[277]),.cin( c[255]) ); FA fa_464 ( .sum(s[279]),.carry(c[279]),.a(p[19][5]),.b( s[278]),.cin( c[256]) ); FA fa_465 ( .sum(s[280]),.carry(c[280]),.a(p[18][6]),.b( s[279]),.cin( c[257]) ); FA fa_466 ( .sum(s[281]),.carry(c[281]),.a(p[17][7]),.b( s[280]),.cin( c[258]) );
  • 12.
    FA fa_467 (.sum(s[282]),.carry(c[282]),.a(p[16][8]),.b( s[281]),.cin( c[259]) ); FA fa_468 ( .sum(s[283]),.carry(c[283]),.a(p[15][9]),.b( s[282]),.cin( c[260]) ); FA fa_469 ( .sum(s[284]),.carry(c[284]),.a(p[14][10]),.b( s[283]),.cin( c[261]) ); FA fa_470 ( .sum(s[285]),.carry(c[285]),.a(p[13][11]),.b( s[284]),.cin( c[262]) ); FA fa_471 ( .sum(s[286]),.carry(c[286]),.a(p[12][12]),.b( s[285]),.cin( c[263]) ); FA fa_472 ( .sum(s[287]),.carry(c[287]),.a(p[11][13]),.b( s[286]),.cin( c[264]) ); FA fa_473 ( .sum(s[288]),.carry(c[288]),.a(p[10][14]),.b( s[287]),.cin( c[265]) ); FA fa_474 ( .sum(s[289]),.carry(c[289]),.a(p[9][15]),.b( s[288]),.cin( c[266]) ); FA fa_475 ( .sum(s[290]),.carry(c[290]),.a(p[8][16]),.b( s[289]),.cin( c[267]) ); FA fa_476 ( .sum(s[291]),.carry(c[291]),.a(p[7][17]),.b( s[290]),.cin( c[268]) ); FA fa_477 ( .sum(s[292]),.carry(c[292]),.a(p[6][18]),.b( s[291]),.cin( c[269]) ); FA fa_478 ( .sum(s[293]),.carry(c[293]),.a(p[5][19]),.b( s[292]),.cin( c[270]) ); FA fa_479 ( .sum(s[294]),.carry(c[294]),.a(p[4][20]),.b( s[293]),.cin( c[271]) ); FA fa_480 ( .sum(s[295]),.carry(c[295]),.a(p[3][21]),.b( s[294]),.cin( c[272]) ); FA fa_481 ( .sum(s[296]),.carry(c[296]),.a(p[2][22]),.b( s[295]),.cin( c[273]) ); FA fa_482 ( .sum(s[297]),.carry(c[297]),.a(p[1][23]),.b( s[296]),.cin( c[274]) ); HA ha_424 ( .sum(s[298]),.carry(c[298]),.a(s[297]),.b( c[275])); //P24 FA fa_483 ( .sum(s[299]),.carry(c[299]), .a(p[23][2]),.b( p[22][3]),.cin( c[276]) ); FA fa_484 ( .sum(s[300]),.carry(c[300]),.a(p[21][4]),.b( s[299]),.cin( c[277]) ); FA fa_485 ( .sum(s[301]),.carry(c[301]),.a(p[20][5]),.b( s[300]),.cin( c[278]) ); FA fa_486 ( .sum(s[302]),.carry(c[302]),.a(p[19][6]),.b( s[301]),.cin( c[279]) ); FA fa_487 ( .sum(s[303]),.carry(c[303]),.a(p[18][7]),.b( s[302]),.cin( c[280]) ); FA fa_488 ( .sum(s[304]),.carry(c[304]),.a(p[17][8]),.b( s[303]),.cin( c[281]) ); FA fa_489 ( .sum(s[305]),.carry(c[305]),.a(p[16][9]),.b( s[304]),.cin( c[282]) ); FA fa_490 ( .sum(s[306]),.carry(c[306]),.a(p[15][10]),.b( s[305]),.cin( c[283]) ); FA fa_491 ( .sum(s[307]),.carry(c[307]),.a(p[14][11]),.b( s[306]),.cin( c[284]) ); FA fa_492 ( .sum(s[308]),.carry(c[308]),.a(p[13][12]),.b( s[307]),.cin( c[285]) ); FA fa_493 ( .sum(s[309]),.carry(c[309]),.a(p[12][13]),.b( s[308]),.cin( c[286]) );
  • 13.
    FA fa_494 (.sum(s[310]),.carry(c[310]),.a(p[11][14]),.b( s[309]),.cin( c[287]) ); FA fa_495 ( .sum(s[311]), .carry(c[311]),.a(p[10][15]),.b( s[310]),.cin( c[288]) ); FA fa_496 ( .sum(s[312]),.carry(c[312]),.a(p[9][16]),.b( s[311]),.cin( c[289]) ); FA fa_497 ( .sum(s[313]),.carry(c[313]),.a(p[8][17]),.b( s[312]),.cin( c[290]) ); FA fa_498 ( .sum(s[314]),.carry(c[314]),.a(p[7][18]),.b( s[313]),.cin( c[291]) ); FA fa_499 ( .sum(s[315]),.carry(c[315]),.a(p[6][19]),.b( s[314]),.cin( c[292]) ); FA fa_500 ( .sum(s[316]),.carry(c[316]),.a(p[5][20]),.b( s[315]),.cin( c[293]) ); FA fa_501 ( .sum(s[317]),.carry(c[317]),.a(p[4][21]),.b( s[316]),.cin( c[294]) ); FA fa_502 ( .sum(s[318]),.carry(c[318]),.a(p[3][22]),.b( s[317]),.cin( c[295]) ); FA fa_503 ( .sum(s[319]),.carry(c[319]),.a(p[2][23]),.b( s[318]),.cin( c[296]) ); FA fa_504 ( .sum(s[320]),.carry(c[320]),.a(s[319]),.b( c[297]),.cin( c[298]) ); //P25 FA fa_505 ( .sum(s[321]),.carry(c[321]),.a(p[23][3]),.b( p[22][4]),.cin( c[299]) ); FA fa_506 ( .sum(s[322]),.carry(c[322]),.a(p[21][5]),.b( s[321]),.cin( c[300]) ); FA fa_507 ( .sum(s[323]),.carry(c[323]),.a(p[20][6]),.b( s[322]),.cin( c[301]) ); FA fa_508 ( .sum(s[324]),.carry(c[324]),.a(p[19][7]),.b( s[323]),.cin( c[302]) ); FA fa_509 ( .sum(s[325]),.carry(c[325]),.a(p[18][8]),.b( s[324]),.cin( c[303]) ); FA fa_510 ( .sum(s[326]),.carry(c[326]),.a(p[17][9]),.b( s[325]),.cin( c[304]) ); FA fa_511 ( .sum(s[327]),.carry(c[327]),.a(p[16][10]),.b( s[326]),.cin( c[305]) ); FA fa_512 ( .sum(s[328]),.carry(c[328]),.a(p[15][11]),.b( s[327]),.cin( c[306]) ); FA fa_513 ( .sum(s[329]),.carry(c[329]),.a(p[14][12]),.b( s[328]),.cin( c[307]) ); FA fa_514 ( .sum(s[330]),.carry(c[330]),.a(p[13][13]),.b( s[329]),.cin( c[308]) ); FA fa_515 ( .sum(s[331]),.carry(c[331]),.a(p[12][14]),.b( s[330]), .cin( c[309]) ); FA fa_516 ( .sum(s[332]),.carry(c[332]),.a(p[11][15]),.b( s[331]),.cin( c[310]) ); FA fa_517 ( .sum(s[333]),.carry(c[333]),.a(p[10][16]),.b( s[332]),.cin( c[311]) ); FA fa_518 ( .sum(s[334]),.carry(c[334]),.a(p[9][17]),.b( s[333]),.cin( c[312]) ); FA fa_519 ( .sum(s[335]),.carry(c[335]),.a(p[8][18]),.b( s[334]),.cin( c[313]) ); FA fa_520 ( .sum(s[336]),.carry(c[336]),.a(p[7][19]),.b( s[335]),.cin( c[314]) ); FA fa_521 ( .sum(s[337]),.carry(c[337]),.a(p[6][20]),.b( s[336]),.cin( c[315]) );
  • 14.
    FA fa_522 (.sum(s[338]),.carry(c[338]),.a(p[5][21]),.b( s[337]),.cin( c[316]) ); FA fa_523 ( .sum(s[339]),.carry(c[339]),.a(p[4][22]),.b( s[338]),.cin( c[317]) ); FA fa_524 ( .sum(s[340]),.carry(c[340]),.a(p[3][23]),.b( s[339]),.cin( c[318]) ); FA fa_525 ( .sum(s[341]),.carry(c[341]),.a(s[340]),.b( c[319]),.cin( c[320]) ); //P26 FA fa_526 ( .sum(s[342]),.carry(c[342]),.a(p[23][4]),.b( p[22][5]),.cin( c[321]) ); FA fa_527 ( .sum(s[343]),.carry(c[343]),.a(p[21][6]),.b( s[342]),.cin( c[322]) ); FA fa_528 ( .sum(s[344]),.carry(c[344]),.a(p[20][7]),.b( s[343]),.cin( c[323]) ); FA fa_529 ( .sum(s[345]),.carry(c[345]),.a(p[19][8]),.b( s[344]),.cin( c[324]) ); FA fa_530 ( .sum(s[346]),.carry(c[346]),.a(p[18][9]),.b( s[345]),.cin( c[325]) ); FA fa_531 ( .sum(s[347]),.carry(c[347]),.a(p[17][10]),.b( s[346]),.cin( c[326]) ); FA fa_532 ( .sum(s[348]),.carry(c[348]),.a(p[16][11]),.b( s[347]),.cin( c[327]) ); FA fa_533 ( .sum(s[349]),.carry(c[349]),.a(p[15][12]),.b( s[348]),.cin( c[328]) ); FA fa_534 ( .sum(s[350]),.carry(c[350]),.a(p[14][13]),.b( s[349]),.cin( c[329]) ); FA fa_535 ( .sum(s[351]),.carry(c[351]),.a(p[13][14]),.b( s[350]),.cin( c[330]) ); FA fa_536 ( .sum(s[352]),.carry(c[352]),.a(p[12][15]),.b( s[351]),.cin( c[331]) ); FA fa_537 ( .sum(s[353]),.carry(c[353]),.a(p[11][16]),.b( s[352]),.cin( c[332]) ); FA fa_538 ( .sum(s[354]),.carry(c[354]),.a(p[10][17]),.b( s[353]),.cin( c[333]) ); FA fa_539 ( .sum(s[355]),.carry(c[355]),.a(p[9][18]),.b( s[354]),.cin( c[334]) ); FA fa_540 ( .sum(s[356]),.carry(c[356]),.a(p[8][19]),.b( s[355]),.cin( c[335]) ); FA fa_541 ( .sum(s[357]),.carry(c[357]),.a(p[7][20]),.b( s[356]),.cin( c[336]) ); FA fa_542 ( .sum(s[358]),.carry(c[358]),.a(p[6][21]),.b( s[357]),.cin( c[337]) ); FA fa_543 ( .sum(s[359]),.carry(c[359]),.a(p[5][22]),.b( s[358]),.cin( c[338]) ); FA fa_544 ( .sum(s[360]),.carry(c[360]),.a(p[4][23]),.b( s[359]),.cin( c[339]) ); FA fa_545 ( .sum(s[361]),.carry(c[361]),.a(s[360]),.b( c[340]),.cin( c[341]) ); //P27 FA fa_546 ( .sum(s[362]),.carry(c[362]),.a(p[23][5]),.b( p[22][6]),.cin( c[342]) ); FA fa_547 ( .sum(s[363]),.carry(c[363]),.a(p[21][7]),.b( s[342]),.cin( c[343]) ); FA fa_548 ( .sum(s[364]),.carry(c[364]),.a(p[20][8]),.b( s[343]),.cin( c[344]) );
  • 15.
    FA fa_549 (.sum(s[365]),.carry(c[365]),.a(p[19][9]),.b( s[344]),.cin( c[345]) ); FA fa_550 ( .sum(s[366]),.carry(c[366]),.a(p[18][10]),.b( s[345]), .cin( c[346]) ); FA fa_551 ( .sum(s[367]),.carry(c[367]),.a(p[17][11]),.b( s[346]),.cin( c[347]) ); FA fa_552 ( .sum(s[368]),.carry(c[368]),.a(p[16][12]),.b( s[347]),.cin( c[348]) ); FA fa_553 ( .sum(s[369]),.carry(c[369]),.a(p[15][13]),.b( s[348]),.cin( c[349]) ); FA fa_554 ( .sum(s[370]),.carry(c[370]),.a(p[14][14]),.b( s[349]),.cin( c[350]) ); FA fa_555 ( .sum(s[371]),.carry(c[371]),.a(p[13][15]),.b( s[350]),.cin( c[351]) ); FA fa_556 ( .sum(s[372]),.carry(c[372]),.a(p[12][16]),.b( s[351]),.cin( c[352]) ); FA fa_557 ( .sum(s[373]),.carry(c[373]),.a(p[11][17]),.b( s[352]),.cin( c[353]) ); FA fa_558 ( .sum(s[374]),.carry(c[374]),.a(p[10][18]),.b( s[353]),.cin( c[354]) ); FA fa_559 ( .sum(s[375]),.carry(c[375]),.a(p[9][19]), .b( s[354]),.cin( c[355]) ); FA fa_560 ( .sum(s[376]),.carry(c[376]),.a(p[8][20]),.b( s[355]),.cin( c[356]) ); FA fa_561 ( .sum(s[377]),.carry(c[377]),.a(p[7][21]),.b( s[356]),.cin( c[357]) ); FA fa_562 ( .sum(s[378]),.carry(c[378]),.a(p[6][22]),.b( s[357]),.cin( c[358]) ); FA fa_563 ( .sum(s[379]),.carry(c[379]),.a(p[5][23]),.b( s[358]),.cin( c[359]) ); FA fa_564 ( .sum(s[380]),.carry(c[380]),.a(s[379]),.b( c[360]),.cin( c[361]) ); //P28 FA fa_565 ( .sum(s[381]),.carry(c[381]),.a(p[23][6]),.b( p[22][7]),.cin( c[362]) ); FA fa_566 ( .sum(s[382]),.carry(c[382]),.a(p[21][8]),.b( s[381]),.cin( c[363]) ); FA fa_567 ( .sum(s[383]),.carry(c[383]),.a(p[20][9]),.b( s[382]),.cin( c[364]) ); FA fa_568 ( .sum(s[384]), .carry(c[384]),.a(p[19][10]),.b( s[383]),.cin( c[365]) ); FA fa_569 ( .sum(s[385]),.carry(c[385]),.a(p[18][11]),.b( s[384]),.cin( c[366]) ); FA fa_570 ( .sum(s[386]),.carry(c[386]),.a(p[17][12]),.b( s[385]),.cin( c[367]) ); FA fa_571 ( .sum(s[387]),.carry(c[387]),.a(p[16][13]),.b( s[386]),.cin( c[368]) ); FA fa_572 ( .sum(s[388]),.carry(c[388]),.a(p[15][14]),.b( s[387]),.cin( c[369]) ); FA fa_573 ( .sum(s[389]),.carry(c[389]),.a(p[14][15]),.b( s[388]),.cin( c[370]) ); FA fa_574 ( .sum(s[390]),.carry(c[390]),.a(p[13][16]),.b( s[389]),.cin( c[371]) ); FA fa_575 ( .sum(s[391]),.carry(c[391]),.a(p[12][17]),.b( s[390]),.cin( c[372]) ); FA fa_576 ( .sum(s[392]),.carry(c[392]),.a(p[11][18]),.b( s[391]),.cin( c[373]) );
  • 16.
    FA fa_577 (.sum(s[393]),.carry(c[393]),.a(p[10][19]),.b( s[392]),.cin( c[374]) ); FA fa_578 ( .sum(s[394]),.carry(c[394]),.a(p[9][20]),.b( s[393]),.cin( c[375]) ); FA fa_579 ( .sum(s[395]),.carry(c[395]),.a(p[8][21]),.b( s[394]),.cin( c[376]) ); FA fa_580 ( .sum(s[396]),.carry(c[396]),.a(p[7][22]),.b( s[395]),.cin( c[377]) ); FA fa_581 ( .sum(s[397]),.carry(c[397]),.a(p[6][23]),.b( s[396]),.cin( c[378]) ); FA fa_582 ( .sum(s[398]),.carry(c[398]),.a(s[397]),.b( c[379]),.cin( c[380]) ); //P29 FA fa_583 ( .sum(s[399]),.carry(c[399]),.a(p[23][7]),.b( p[22][8]),.cin( c[381]) ); FA fa_584 ( .sum(s[400]),.carry(c[400]),.a(p[21][9]),.b( s[399]),.cin( c[382]) ); FA fa_585 ( .sum(s[401]),.carry(c[401]),.a(p[20][10]),.b( s[400]),.cin( c[383]) ); FA fa_586 ( .sum(s[402]),.carry(c[402]),.a(p[19][11]),.b( s[401]),.cin( c[384]) ); FA fa_587 ( .sum(s[403]),.carry(c[403]),.a(p[18][12]),.b( s[402]),.cin( c[385]) ); FA fa_588 ( .sum(s[404]),.carry(c[404]),.a(p[17][13]),.b( s[403]),.cin( c[386]) ); FA fa_589 ( .sum(s[405]),.carry(c[405]),.a(p[16][14]),.b( s[404]),.cin( c[387]) ); FA fa_590 ( .sum(s[406]),.carry(c[406]),.a(p[15][15]),.b( s[405]),.cin( c[388]) ); FA fa_591 ( .sum(s[407]),.carry(c[407]),.a(p[14][16]), .b( s[406]),.cin( c[389]) ); FA fa_592 ( .sum(s[408]),.carry(c[408]),.a(p[13][17]),.b( s[407]),.cin( c[390]) ); FA fa_593 ( .sum(s[409]),.carry(c[409]),.a(p[12][18]),.b( s[408]),.cin( c[391]) ); FA fa_594 ( .sum(s[410]),.carry(c[410]),.a(p[11][19]),.b( s[409]),.cin( c[392]) ); FA fa_595 ( .sum(s[411]),.carry(c[411]),.a(p[10][20]),.b( s[410]),.cin( c[393]) ); FA fa_596 ( .sum(s[412]),.carry(c[412]),.a(p[9][21]),.b( s[411]),.cin( c[394]) ); FA fa_597 ( .sum(s[413]),.carry(c[413]),.a(p[8][22]),.b( s[412]),.cin( c[395]) ); FA fa_598 ( .sum(s[414]),.carry(c[414]),.a(p[7][23]),.b( s[413]),.cin( c[396]) ); FA fa_599 ( .sum(s[415]),.carry(c[415]),.a(s[414]),.b( c[397]),.cin( c[398]) ); //P30 FA fa_600 ( .sum(s[416]), .carry(c[416]),.a(p[23][8]),.b( p[22][9]),.cin( c[399]) ); FA fa_601 ( .sum(s[417]),.carry(c[417]),.a(p[21][10]),.b( s[416]),.cin( c[400]) ); FA fa_602 ( .sum(s[418]),.carry(c[418]),.a(p[20][11]),.b( s[417]),.cin( c[401]) ); FA fa_603 ( .sum(s[419]),.carry(c[419]),.a(p[19][12]),.b( s[418]),.cin( c[402]) );
  • 17.
    FA fa_604 (.sum(s[420]),.carry(c[420]),.a(p[18][13]),.b( s[419]),.cin( c[403]) ); FA fa_605 ( .sum(s[421]),.carry(c[421]),.a(p[17][14]),.b( s[420]),.cin( c[404]) ); FA fa_606 ( .sum(s[422]),.carry(c[422]),.a(p[16][15]),.b( s[421]),.cin( c[405]) ); FA fa_607 ( .sum(s[423]),.carry(c[423]),.a(p[15][16]),.b( s[422]),.cin( c[406]) ); FA fa_608 ( .sum(s[424]),.carry(c[424]),.a(p[14][17]),.b( s[423]),.cin( c[407]) ); FA fa_609 ( .sum(s[425]),.carry(c[425]),.a(p[13][18]),.b( s[424]),.cin( c[408]) ); FA fa_610 ( .sum(s[426]),.carry(c[426]),.a(p[12][19]),.b( s[425]),.cin( c[409]) ); FA fa_611 ( .sum(s[427]),.carry(c[427]),.a(p[11][20]),.b( s[426]),.cin( c[410]) ); FA fa_612 ( .sum(s[428]),.carry(c[428]),.a(p[10][21]),.b( s[427]),.cin( c[411]) ); FA fa_613 ( .sum(s[429]),.carry(c[429]),.a(p[9][22]),.b( s[428]),.cin( c[412]) ); FA fa_614 ( .sum(s[430]),.carry(c[430]),.a(p[8][23]),.b( s[429]),.cin( c[413]) ); FA fa_615 ( .sum(s[431]),.carry(c[431]),.a(s[430]),.b( c[414]),.cin( c[415]) ); //P31 FA fa_616 ( .sum(s[432]),.carry(c[432]),.a(p[23][9]),.b( p[22][10]),.cin( c[416]) ); FA fa_617 ( .sum(s[433]),.carry(c[433]),.a(p[21][11]),.b( s[432]),.cin( c[417]) ); FA fa_618 ( .sum(s[434]),.carry(c[434]),.a(p[20][12]),.b( s[433]),.cin( c[418]) ); FA fa_619 ( .sum(s[435]),.carry(c[435]),.a(p[19][13]),.b( s[434]),.cin( c[419]) ); FA fa_620 ( .sum(s[436]),.carry(c[436]),.a(p[18][14]),.b( s[435]),.cin( c[420]) ); FA fa_621 ( .sum(s[437]),.carry(c[437]),.a(p[17][15]),.b( s[436]),.cin( c[421]) ); FA fa_622 ( .sum(s[438]),.carry(c[438]),.a(p[16][16]),.b( s[437]),.cin( c[422]) ); FA fa_623 ( .sum(s[439]),.carry(c[439]),.a(p[15][17]),.b( s[438]),.cin( c[423]) ); FA fa_624 ( .sum(s[440]),.carry(c[440]),.a(p[14][18]),.b( s[439]),.cin( c[424]) ); FA fa_625 ( .sum(s[441]),.carry(c[441]),.a(p[13][19]),.b( s[440]),.cin( c[425]) ); FA fa_626 ( .sum(s[442]),.carry(c[442]),.a(p[12][20]),.b( s[441]),.cin( c[426]) ); FA fa_627 ( .sum(s[443]),.carry(c[443]),.a(p[11][21]),.b( s[442]),.cin( c[427]) ); FA fa_628 ( .sum(s[444]),.carry(c[444]),.a(p[10][22]),.b( s[443]),.cin( c[428]) ); FA fa_629 ( .sum(s[445]),.carry(c[445]),.a(p[9][23]),.b( s[444]),.cin( c[429]) ); FA fa_630 ( .sum(s[446]),.carry(c[446]),.a(s[445]),.b( c[430]),.cin( c[431]) ); //P32
  • 18.
    FA fa_631 (.sum(s[447]),.carry(c[447]),.a(p[23][10]),.b( p[22][11]),.cin( c[432]) ); FA fa_632 ( .sum(s[448]),.carry(c[448]),.a(p[21][12]),.b( s[447]),.cin( c[433]) ); FA fa_633 ( .sum(s[449]),.carry(c[449]),.a(p[20][13]),.b( s[448]),.cin( c[434]) ); FA fa_634 ( .sum(s[450]),.carry(c[450]),.a(p[19][14]),.b( s[449]),.cin( c[435]) ); FA fa_635 ( .sum(s[451]),.carry(c[451]),.a(p[18][15]),.b( s[450]),.cin( c[436]) ); FA fa_636 ( .sum(s[452]),.carry(c[452]),.a(p[17][16]),.b( s[451]),.cin( c[437]) ); FA fa_637 ( .sum(s[453]),.carry(c[453]),.a(p[16][17]),.b( s[452]),.cin( c[438]) ); FA fa_638 ( .sum(s[454]),.carry(c[454]),.a(p[15][18]),.b( s[453]),.cin( c[439]) ); FA fa_639 ( .sum(s[455]),.carry(c[455]),.a(p[14][19]),.b( s[454]),.cin( c[440]) ); FA fa_640 ( .sum(s[456]),.carry(c[456]),.a(p[13][20]),.b( s[455]),.cin( c[441]) ); FA fa_641 ( .sum(s[457]),.carry(c[457]),.a(p[12][21]),.b( s[456]),.cin( c[442]) ); FA fa_642 ( .sum(s[458]),.carry(c[458]),.a(p[11][22]),.b( s[457]),.cin( c[443]) ); FA fa_643 ( .sum(s[459]),.carry(c[459]),.a(p[10][23]),.b( s[458]),.cin( c[444]) ); FA fa_644 ( .sum(s[460]),.carry(c[460]),.a(s[459]),.b( c[445]),.cin( c[446]) ); //P33 FA fa_645 ( .sum(s[461]),.carry(c[461]),.a(p[23][11]),.b( p[22][12]),.cin( c[447]) ); FA fa_646 ( .sum(s[462]),.carry(c[462]),.a(p[21][13]),.b( s[461]),.cin( c[448]) ); FA fa_647 ( .sum(s[463]),.carry(c[463]),.a(p[20][14]),.b( s[462]),.cin( c[449]) ); FA fa_648 ( .sum(s[464]),.carry(c[464]),.a(p[19][15]),.b( s[463]),.cin( c[450]) ); FA fa_649 ( .sum(s[465]),.carry(c[465]),.a(p[18][16]),.b( s[464]),.cin( c[451]) ); FA fa_650 ( .sum(s[466]),.carry(c[466]),.a(p[17][17]),.b( s[465]),.cin( c[452]) ); FA fa_651 ( .sum(s[467]),.carry(c[467]),.a(p[16][18]),.b( s[466]),.cin( c[453]) ); FA fa_652 ( .sum(s[468]),.carry(c[468]), .a(p[15][19]),.b( s[467]),.cin( c[454]) ); FA fa_653 ( .sum(s[469]),.carry(c[469]),.a(p[14][20]),.b( s[468]),.cin( c[455]) ); FA fa_654 ( .sum(s[470]),.carry(c[470]),.a(p[13][21]),.b( s[469]),.cin( c[456]) ); FA fa_655 ( .sum(s[471]),.carry(c[471]),.a(p[12][22]),.b( s[470]),.cin( c[457]) ); FA fa_656 ( .sum(s[472]),.carry(c[472]),.a(p[11][23]),.b( s[471]),.cin( c[458]) ); FA fa_657 ( .sum(s[473]),.carry(c[473]),.a(s[472]),.b( c[459]),.cin( c[460]) ); //P34
  • 19.
    FA fa_658 (.sum(s[474]),.carry(c[474]),.a(p[23][12]),.b( p[22][13]),.cin( c[461]) ); FA fa_659 ( .sum(s[475]),.carry(c[475]),.a(p[21][14]),.b( s[474]),.cin( c[462]) ); FA fa_660 ( .sum(s[476]),.carry(c[476]),.a(p[20][15]),.b( s[475]),.cin( c[463]) ); FA fa_661 ( .sum(s[477]),.carry(c[477]),.a(p[19][16]),.b( s[476]),.cin( c[464]) ); FA fa_662 ( .sum(s[478]),.carry(c[478]),.a(p[18][17]),.b( s[477]),.cin( c[465]) ); FA fa_663 ( .sum(s[479]),.carry(c[479]),.a(p[17][18]),.b( s[478]),.cin( c[466]) ); FA fa_664 ( .sum(s[480]),.carry(c[480]),.a(p[16][19]),.b( s[479]),.cin( c[467]) ); FA fa_665 ( .sum(s[481]),.carry(c[481]),.a(p[15][20]),.b( s[480]),.cin( c[468]) ); FA fa_666 ( .sum(s[482]),.carry(c[482]),.a(p[14][21]),.b( s[481]),.cin( c[469]) ); FA fa_667 ( .sum(s[483]),.carry(c[483]),.a(p[13][22]),.b( s[482]),.cin( c[470]) ); FA fa_668 ( .sum(s[484]),.carry(c[484]),.a(p[12][23]),.b( s[483]),.cin( c[471]) ); FA fa_669 ( .sum(s[485]),.carry(c[485]),.a(s[484]),.b( c[472]),.cin( c[473]) ); //P35 FA fa_670 ( .sum(s[486]),.carry(c[486]),.a(p[23][13]),.b( p[22][14]),.cin( c[474]) ); FA fa_671 ( .sum(s[487]),.carry(c[487]),.a(p[21][15]),.b( s[486]),.cin( c[475]) ); FA fa_672 ( .sum(s[488]),.carry(c[488]),.a(p[20][16]),.b( s[487]),.cin( c[476]) ); FA fa_673 ( .sum(s[489]),.carry(c[489]),.a(p[19][17]),.b( s[488]),.cin( c[477]) ); FA fa_674 ( .sum(s[490]),.carry(c[490]),.a(p[18][18]),.b( s[489]),.cin( c[478]) ); FA fa_675 ( .sum(s[491]),.carry(c[491]), .a(p[17][19]),.b( s[490]),.cin( c[479]) ); FA fa_676 ( .sum(s[492]),.carry(c[492]),.a(p[16][20]),.b( s[491]),.cin( c[480]) ); FA fa_677 ( .sum(s[493]),.carry(c[493]),.a(p[15][22]),.b( s[492]),.cin( c[481]) ); FA fa_678 ( .sum(s[494]),.carry(c[494]),.a(p[14][22]),.b( s[493]),.cin( c[482]) ); FA fa_679 ( .sum(s[495]),.carry(c[495]),.a(p[13][23]),.b( s[494]),.cin( c[483]) ); FA fa_680 ( .sum(s[496]),.carry(c[496]),.a(s[495]),.b( c[484]),.cin( c[485]) ); //P36 FA fa_681 ( .sum(s[497]),.carry(c[497]),.a(p[23][14]),.b( p[22][15]),.cin( c[486]) ); FA fa_682 ( .sum(s[498]),.carry(c[498]),.a(p[21][16]),.b( s[497]),.cin( c[487]) ); FA fa_683 ( .sum(s[499]),.carry(c[499]),.a(p[20][17]),.b( s[498]),.cin( c[488]) ); FA fa_684 ( .sum(s[500]),.carry(c[500]),.a(p[19][18]),.b( s[499]),.cin( c[489]) );
  • 20.
    FA fa_685 (.sum(s[501]),.carry(c[501]),.a(p[18][19]),.b( s[500]),.cin( c[490]) ); FA fa_686 ( .sum(s[502]),.carry(c[502]),.a(p[17][20]),.b( s[501]),.cin( c[491]) ); FA fa_687 ( .sum(s[503]),.carry(c[503]),.a(p[16][21]),.b( s[502]),.cin( c[492]) ); FA fa_688 ( .sum(s[504]),.carry(c[504]),.a(p[15][22]),.b( s[503]),.cin( c[493]) ); FA fa_689 ( .sum(s[505]),.carry(c[505]),.a(p[14][23]),.b( s[504]),.cin( c[494]) ); FA fa_690 ( .sum(s[506]),.carry(c[506]),.a(s[505]),.b( c[495]),.cin( c[496]) ); //P37 FA fa_691 ( .sum(s[507]),.carry(c[507]),.a(p[23][15]),.b( p[22][16]),.cin( c[497]) ); FA fa_692 ( .sum(s[508]),.carry(c[508]),.a(p[21][17]),.b( s[507]),.cin( c[498]) ); FA fa_693 ( .sum(s[509]),.carry(c[509]),.a(p[20][18]),.b( s[508]),.cin( c[499]) ); FA fa_694 ( .sum(s[510]),.carry(c[510]),.a(p[19][19]),.b( s[509]),.cin( c[500]) ); FA fa_695 ( .sum(s[511]),.carry(c[511]),.a(p[18][20]),.b( s[510]),.cin( c[501]) ); FA fa_696 ( .sum(s[512]),.carry(c[512]),.a(p[17][21]),.b( s[511]),.cin( c[502]) ); FA fa_697 ( .sum(s[513]),.carry(c[513]),.a(p[16][22]),.b( s[512]),.cin( c[503]) ); FA fa_698 ( .sum(s[514]),.carry(c[514]),.a(p[15][23]),.b( s[513]),.cin( c[504]) ); FA fa_699 ( .sum(s[515]),.carry(c[515]),.a(s[514]),.b( c[505]),.cin( c[506]) ); //P38 FA fa_700 ( .sum(s[516]),.carry(c[516]),.a(p[23][16]),.b( p[22][17]),.cin( c[507]) ); FA fa_701 ( .sum(s[517]),.carry(c[517]),.a(p[21][18]),.b( s[516]),.cin( c[508]) ); FA fa_702 ( .sum(s[518]),.carry(c[518]),.a(p[20][19]),.b( s[517]),.cin( c[509]) ); FA fa_703 ( .sum(s[519]),.carry(c[519]),.a(p[19][20]),.b( s[518]),.cin( c[510]) ); FA fa_704 ( .sum(s[520]),.carry(c[520]),.a(p[18][21]),.b( s[519]),.cin( c[511]) ); FA fa_705 ( .sum(s[521]),.carry(c[521]),.a(p[17][22]),.b( s[520]),.cin( c[512]) ); FA fa_706 ( .sum(s[522]),.carry(c[522]),.a(p[16][23]),.b( s[521]),.cin( c[513]) ); FA fa_707 ( .sum(s[523]),.carry(c[523]),.a(s[522]),.b( c[514]),.cin( c[515]) ); //P39 FA fa_708 ( .sum(s[524]),.carry(c[524]),.a(p[23][17]),.b( p[22][18]),.cin( c[516]) ); FA fa_709 ( .sum(s[525]),.carry(c[525]),.a(p[21][19]),.b( s[524]),.cin( c[517]) ); FA fa_710 ( .sum(s[526]),.carry(c[526]),.a(p[20][20]),.b( s[525]),.cin( c[518]) );
  • 21.
    FA fa_711 (.sum(s[527]),.carry(c[527]),.a(p[19][21]),.b( s[526]),.cin( c[519]) ); FA fa_712 ( .sum(s[528]),.carry(c[528]),.a(p[18][22]), .b( s[527]),.cin( c[520]) ); FA fa_713 ( .sum(s[529]),.carry(c[529]),.a(p[17][23]),.b( s[528]),.cin( c[521]) ); FA fa_714 ( .sum(s[530]),.carry(c[530]),.a(s[529]),.b( c[522]),.cin( c[523]) ); //P40 FA fa_715 ( .sum(s[531]),.carry(c[531]),.a(p[23][18]),.b( p[22][19]),.cin( c[524]) ); FA fa_716 ( .sum(s[532]),.carry(c[532]),.a(p[21][20]),.b( s[531]),.cin( c[525]) ); FA fa_717 ( .sum(s[533]),.carry(c[533]),.a(p[20][21]),.b( s[532]),.cin( c[526]) ); FA fa_718 ( .sum(s[534]),.carry(c[534]),.a(p[19][22]),.b( s[533]),.cin( c[527]) ); FA fa_719 ( .sum(s[535]),.carry(c[535]),.a(p[18][23]),.b( s[534]),.cin( c[528]) ); FA fa_720 ( .sum(s[536]),.carry(c[536]),.a(s[535]),.b( c[529]),.cin( c[530]) ); //P41 FA fa_721 ( .sum(s[537]),.carry(c[537]),.a(p[23][19]),.b( p[22][20]),.cin( c[531]) ); FA fa_722 ( .sum(s[538]),.carry(c[538]),.a(p[21][21]),.b( s[537]),.cin( c[532]) ); FA fa_723 ( .sum(s[539]),.carry(c[539]),.a(p[20][22]),.b( s[538]),.cin( c[533]) ); FA fa_724 ( .sum(s[540]),.carry(c[540]),.a(p[19][23]),.b( s[539]),.cin( c[534]) ); FA fa_725 ( .sum(s[541]),.carry(c[541]),.a(s[540]),.b( c[535]),.cin( c[536]) ); //P42 FA fa_726 ( .sum(s[542]),.carry(c[542]),.a(p[23][20]),.b( p[22][21]),.cin( c[537]) ); FA fa_727 ( .sum(s[543]),.carry(c[543]),.a(p[21][22]),.b( s[542]),.cin( c[538]) ); FA fa_728 ( .sum(s[544]),.carry(c[544]),.a(p[20][23]),.b( s[543]),.cin( c[539]) ); FA fa_729 ( .sum(s[545]),.carry(c[545]),.a(s[544]),.b( c[540]),.cin( c[541]) ); //P43 FA fa_730 ( .sum(s[546]),.carry(c[546]),.a(p[23][21]),.b( p[22][22]),.cin( c[542]) ); FA fa_731 ( .sum(s[547]),.carry(c[547]),.a(p[21][23]),.b( s[546]),.cin( c[543]) ); FA fa_732 ( .sum(s[548]),.carry(c[548]),.a(s[547]),.b( c[544]),.cin( c[545]) ); //P44 FA fa_733 ( .sum(s[549]),.carry(c[549]),.a(p[23][22]),.b( p[22][23]),.cin( c[546]) ); FA fa_734 ( .sum(s[550]),.carry(c[550]),.a(s[549]),.b( c[547]),.cin( c[548]) ); //P45
  • 22.
    FA fa_735 (.sum(s[551]),.carry(c[551]),.a(p[23][23]),.b( c[549]),.cin( c[550]) ); //P45 /*FA fa_81 ( .sum(s[28]),.carry(c[28]),.a(p[7][1]),.b( p[6][2]),.cin( c[21]) ); FA fa_82 ( .sum(s[29]), .carry(c[29]),.a(p[5][3]),.b( s[28]),.cin( c[22]) ); FA fa_83 ( .sum(s[30]),.carry(c[30]),.a(p[4][4]),.b( s[29]),.cin( c[23]) ); FA fa_84 ( .sum(s[31]),.carry(c[31]),.a(p[3][5]),.b( s[30]),.cin( c[24]) ); FA fa_85 ( .sum(s[32]),.carry(c[32]),.a(p[2][6]),.b( s[31]),.cin( c[25]) ); FA fa_86 ( .sum(s[33]),.carry(c[33]),.a(p[1][7]),.b( s[32]),.cin( c[26]) ); HA ha_81 ( .sum(s[34]),.carry(c[34]),.a(s[33]),.b( c[27])); //P8 FA fa_91 ( .sum(s[35]),.carry(c[35]),.a(p[7][2]),.b( p[6][3]),.cin( c[28]) ); FA fa_92 ( .sum(s[36]),.carry(c[36]),.a(p[5][4]),.b( s[35]),.cin( c[29]) ); FA fa_93 ( .sum(s[37]),.carry(c[37]),.a(p[4][5]),.b( s[36]),.cin( c[30]) ); FA fa_94 ( .sum(s[38]),.carry(c[38]),.a(p[3][6]),.b( s[37]),.cin( c[31]) ); FA fa_95 ( .sum(s[39]),.carry(c[39]),.a(p[2][7]),.b( s[38]),.cin( c[32]) ); FA fa_96 ( .sum(s[40]),.carry(c[40]),.a(s[39]),.b( c[33]),.cin( c[34]) ); //P9 FA fa_101 ( .sum(s[41]),.carry(c[41]),.a(p[7][3]),.b( p[6][4]),.cin( c[35]) ); FA fa_102 ( .sum(s[42]),.carry(c[42]),.a(p[5][5]),.b( s[41]),.cin( c[36]) ); FA fa_103 ( .sum(s[43]),.carry(c[43]),.a(p[4][6]),.b( s[42]),.cin( c[37]) ); FA fa_104 ( .sum(s[44]),.carry(c[44]), .a(p[3][7]),.b( s[43]),.cin( c[38]) ); FA fa_105 ( .sum(s[45]),.carry(c[45]),.a(s[44]),.b( c[39]),.cin( c[40]) ); //P10 FA fa_111 ( .sum(s[46]),.carry(c[46]),.a(p[7][4]),.b( p[6][5]),.cin( c[41]) ); FA fa_112 ( .sum(s[47]),.carry(c[47]),.a(p[5][6]),.b( s[46]),.cin( c[42]) ); FA fa_113 ( .sum(s[48]),.carry(c[48]),.a(p[4][7]),.b( s[47]),.cin( c[43]) ); FA fa_114 ( .sum(s[49]),.carry(c[49]),.a(s[48]),.b( c[44]),.cin( c[45]) ); //P11
  • 23.
    FA fa_121 (.sum(s[50]),.carry(c[50]),.a(p[7][5]),.b( p[6][6]),.cin( c[46]) ); FA fa_122 ( .sum(s[51]),.carry(c[51]),.a(p[5][7]),.b(s[50]),.cin( c[47]) ); FA fa_123 ( .sum(s[52]),.carry(c[52]),.a(s[51]),.b(c[48]),.cin( c[49]) ); //P12 FA fa_131 ( .sum(s[53]),.carry(c[53]),.a(p[7][6]),.b( p[6][7]),.cin( c[50]) ); FA fa_132 ( .sum(s[54]),.carry(c[54]),.a(s[53]),.b(c[51]),.cin( c[52]) ); //P13 FA fa_141 ( .sum(s[55]),.carry(c[55]),.a(p[7][7]),.b(c[53]),.cin( c[54]) ); //P14*/ // Multiplierproductisobtained /*always@(posedge clock) product<= {c[55],s[55],s[54],s[52],s[49],s[45],s[40],s[34],s[27],s[20],s[14],s[9],s[5],s[2],s[0],p[0][0]}; //p[0][0]=P0 endmodule*/ always@(posedge clock) product<= {c[551], s[551], s[550],s[548],s[545],s[541],s[536],s[530],s[523],s[515],s[506],s[496],s[485],s[473],s[460],s[446], s[431], s[415], s[398], s[380], s[361], s[341], s[320], s[298], s[275], s[252], s[230], s[209], s[189], s[170], s[152], s[135], s[119], s[104], s[90], s[77],s[65], s[54],s[44], s[35], s[27],s[20], s[14],s[9], s[5],s[2],s[0], p[0][0]}; //p[0][0]=P0 endmodule module FA(a,b,cin,sum,carry); inputa,b,cin; outputsum,carry; reg T1,T2,T3,carry; assignsum=a^b^cin; always@(a or b or cin) begin T1=a&b;
  • 24.