data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v
1: b"%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:542: Cannot find file containing module: 'HAX1'\n  HAX1 U13609 (.A(S_0_1), .B((A[1] & B[0])), .YS(S_1_0), .YC(C_1_0));\n  ^~~~\n        ... Looked in:\n             data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse,data/full_repos/permissive/162571337/HAX1\n             data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse,data/full_repos/permissive/162571337/HAX1.v\n             data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse,data/full_repos/permissive/162571337/HAX1.sv\n             HAX1\n             HAX1.v\n             HAX1.sv\n             obj_dir/HAX1\n             obj_dir/HAX1.v\n             obj_dir/HAX1.sv\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:543: Cannot find file containing module: 'HAX1'\n  HAX1 U13610 (.A(S_0_2), .B((A[1] & B[1])), .YS(S_1_1), .YC(C_1_1));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:544: Cannot find file containing module: 'HAX1'\n  HAX1 U13611 (.A(S_0_3), .B((A[1] & B[2])), .YS(S_1_2), .YC(C_1_2));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:545: Cannot find file containing module: 'HAX1'\n  HAX1 U13612 (.A(S_0_4), .B((A[1] & B[3])), .YS(S_1_3), .YC(C_1_3));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:546: Cannot find file containing module: 'HAX1'\n  HAX1 U13613 (.A(S_0_5), .B((A[1] & B[4])), .YS(S_1_4), .YC(C_1_4));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:547: Cannot find file containing module: 'HAX1'\n  HAX1 U13614 (.A(S_0_6), .B((A[1] & B[5])), .YS(S_1_5), .YC(C_1_5));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:548: Cannot find file containing module: 'HAX1'\n  HAX1 U13615 (.A(S_0_7), .B((A[1] & B[6])), .YS(S_1_6), .YC(C_1_6));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:550: Cannot find file containing module: 'FAX1'\n  FAX1 U13617 (.A(S_1_1), .B(C_1_0), .C((A[2] & B[0])), .YS(S_2_0), .YC(C_2_0));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:551: Cannot find file containing module: 'FAX1'\n  FAX1 U13618 (.A(S_1_2), .B(C_1_1), .C((A[2] & B[1])), .YS(S_2_1), .YC(C_2_1));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:552: Cannot find file containing module: 'FAX1'\n  FAX1 U13619 (.A(S_1_3), .B(C_1_2), .C((A[2] & B[2])), .YS(S_2_2), .YC(C_2_2));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:553: Cannot find file containing module: 'FAX1'\n  FAX1 U13620 (.A(S_1_4), .B(C_1_3), .C((A[2] & B[3])), .YS(S_2_3), .YC(C_2_3));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:554: Cannot find file containing module: 'FAX1'\n  FAX1 U13621 (.A(S_1_5), .B(C_1_4), .C((A[2] & B[4])), .YS(S_2_4), .YC(C_2_4));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:555: Cannot find file containing module: 'FAX1'\n  FAX1 U13622 (.A(S_1_6), .B(C_1_5), .C((A[2] & B[5])), .YS(S_2_5), .YC(C_2_5));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:556: Cannot find file containing module: 'FAX1'\n  FAX1 U13623 (.A(S_1_7), .B(C_1_6), .C((A[2] & B[6])), .YS(S_2_6), .YC(C_2_6));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:558: Cannot find file containing module: 'FAX1'\n  FAX1 U13625 (.A(S_2_1), .B(C_2_0), .C((A[3] & B[0])), .YS(S_3_0), .YC(C_3_0));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:559: Cannot find file containing module: 'FAX1'\n  FAX1 U13626 (.A(S_2_2), .B(C_2_1), .C((A[3] & B[1])), .YS(S_3_1), .YC(C_3_1));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:560: Cannot find file containing module: 'FAX1'\n  FAX1 U13627 (.A(S_2_3), .B(C_2_2), .C((A[3] & B[2])), .YS(S_3_2), .YC(C_3_2));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:561: Cannot find file containing module: 'FAX1'\n  FAX1 U13628 (.A(S_2_4), .B(C_2_3), .C((A[3] & B[3])), .YS(S_3_3), .YC(C_3_3));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:562: Cannot find file containing module: 'FAX1'\n  FAX1 U13629 (.A(S_2_5), .B(C_2_4), .C((A[3] & B[4])), .YS(S_3_4), .YC(C_3_4));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:563: Cannot find file containing module: 'FAX1'\n  FAX1 U13630 (.A(S_2_6), .B(C_2_5), .C((A[3] & B[5])), .YS(S_3_5), .YC(C_3_5));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:564: Cannot find file containing module: 'FAX1'\n  FAX1 U13631 (.A(S_2_7), .B(C_2_6), .C((A[3] & B[6])), .YS(S_3_6), .YC(C_3_6));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:566: Cannot find file containing module: 'FAX1'\n  FAX1 U13633 (.A(S_3_1), .B(C_3_0), .C((A[4] & B[0])), .YS(S_4_0), .YC(C_4_0));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:567: Cannot find file containing module: 'FAX1'\n  FAX1 U13634 (.A(S_3_2), .B(C_3_1), .C((A[4] & B[1])), .YS(S_4_1), .YC(C_4_1));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:568: Cannot find file containing module: 'FAX1'\n  FAX1 U13635 (.A(S_3_3), .B(C_3_2), .C((A[4] & B[2])), .YS(S_4_2), .YC(C_4_2));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:569: Cannot find file containing module: 'FAX1'\n  FAX1 U13636 (.A(S_3_4), .B(C_3_3), .C((A[4] & B[3])), .YS(S_4_3), .YC(C_4_3));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:570: Cannot find file containing module: 'FAX1'\n  FAX1 U13637 (.A(S_3_5), .B(C_3_4), .C((A[4] & B[4])), .YS(S_4_4), .YC(C_4_4));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:571: Cannot find file containing module: 'FAX1'\n  FAX1 U13638 (.A(S_3_6), .B(C_3_5), .C((A[4] & B[5])), .YS(S_4_5), .YC(C_4_5));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:572: Cannot find file containing module: 'FAX1'\n  FAX1 U13639 (.A(S_3_7), .B(C_3_6), .C((A[4] & B[6])), .YS(S_4_6), .YC(C_4_6));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:574: Cannot find file containing module: 'FAX1'\n  FAX1 U13641 (.A(S_4_1), .B(C_4_0), .C((A[5] & B[0])), .YS(S_5_0), .YC(C_5_0));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:575: Cannot find file containing module: 'FAX1'\n  FAX1 U13642 (.A(S_4_2), .B(C_4_1), .C((A[5] & B[1])), .YS(S_5_1), .YC(C_5_1));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:576: Cannot find file containing module: 'FAX1'\n  FAX1 U13643 (.A(S_4_3), .B(C_4_2), .C((A[5] & B[2])), .YS(S_5_2), .YC(C_5_2));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:577: Cannot find file containing module: 'FAX1'\n  FAX1 U13644 (.A(S_4_4), .B(C_4_3), .C((A[5] & B[3])), .YS(S_5_3), .YC(C_5_3));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:578: Cannot find file containing module: 'FAX1'\n  FAX1 U13645 (.A(S_4_5), .B(C_4_4), .C((A[5] & B[4])), .YS(S_5_4), .YC(C_5_4));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:579: Cannot find file containing module: 'FAX1'\n  FAX1 U13646 (.A(S_4_6), .B(C_4_5), .C((A[5] & B[5])), .YS(S_5_5), .YC(C_5_5));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:580: Cannot find file containing module: 'FAX1'\n  FAX1 U13647 (.A(S_4_7), .B(C_4_6), .C((A[5] & B[6])), .YS(S_5_6), .YC(C_5_6));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:582: Cannot find file containing module: 'FAX1'\n  FAX1 U13649 (.A(S_5_1), .B(C_5_0), .C((A[6] & B[0])), .YS(S_6_0), .YC(C_6_0));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:583: Cannot find file containing module: 'FAX1'\n  FAX1 U13650 (.A(S_5_2), .B(C_5_1), .C((A[6] & B[1])), .YS(S_6_1), .YC(C_6_1));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:584: Cannot find file containing module: 'FAX1'\n  FAX1 U13651 (.A(S_5_3), .B(C_5_2), .C((A[6] & B[2])), .YS(S_6_2), .YC(C_6_2));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:585: Cannot find file containing module: 'FAX1'\n  FAX1 U13652 (.A(S_5_4), .B(C_5_3), .C((A[6] & B[3])), .YS(S_6_3), .YC(C_6_3));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:586: Cannot find file containing module: 'FAX1'\n  FAX1 U13653 (.A(S_5_5), .B(C_5_4), .C((A[6] & B[4])), .YS(S_6_4), .YC(C_6_4));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:587: Cannot find file containing module: 'FAX1'\n  FAX1 U13654 (.A(S_5_6), .B(C_5_5), .C((A[6] & B[5])), .YS(S_6_5), .YC(C_6_5));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:588: Cannot find file containing module: 'FAX1'\n  FAX1 U13655 (.A(S_5_7), .B(C_5_6), .C((A[6] & B[6])), .YS(S_6_6), .YC(C_6_6));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:590: Cannot find file containing module: 'FAX1'\n  FAX1 U13657 (.A(S_6_1), .B(C_6_0), .C((A[7] & B[0])), .YS(S_7_0), .YC(C_7_0));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:591: Cannot find file containing module: 'FAX1'\n  FAX1 U13658 (.A(S_6_2), .B(C_6_1), .C((A[7] & B[1])), .YS(S_7_1), .YC(C_7_1));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:592: Cannot find file containing module: 'FAX1'\n  FAX1 U13659 (.A(S_6_3), .B(C_6_2), .C((A[7] & B[2])), .YS(S_7_2), .YC(C_7_2));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:593: Cannot find file containing module: 'FAX1'\n  FAX1 U13660 (.A(S_6_4), .B(C_6_3), .C((A[7] & B[3])), .YS(S_7_3), .YC(C_7_3));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:594: Cannot find file containing module: 'FAX1'\n  FAX1 U13661 (.A(S_6_5), .B(C_6_4), .C((A[7] & B[4])), .YS(S_7_4), .YC(C_7_4));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:595: Cannot find file containing module: 'FAX1'\n  FAX1 U13662 (.A(S_6_6), .B(C_6_5), .C((A[7] & B[5])), .YS(S_7_5), .YC(C_7_5));\n  ^~~~\n%Error: data/full_repos/permissive/162571337/multiplers/16x16_unsigned/pareto_pwr_mse/mul16u_679_pdk45.v:596: Cannot find file containing module: 'FAX1'\n  FAX1 U13663 (.A(S_6_7), .B(C_6_6), .C((A[7] & B[6])), .YS(S_7_6), .YC(C_7_6));\n  ^~~~\n%Error: Exiting due to 49 error(s)\n%Error: Exiting due to too many errors encountered; --error-limit=50\n"
module CLA32bit(a,b,c_in,sum,c_out);

input [31:0]a,b;
input c_in;
output [31:0]sum;
output c_out;

wire [31:0] sum_out,  p,  g;
wire [7:0] PPP, GGG;
wire [8:0] CC;

assign p[31:0] = a[31:0] ^ b[31:0];
assign g[31:0] = a[31:0] & b[31:0];

assign PPP[0]= p [3] & p [2] & p [1] & p [0];
assign PPP[1]= p [7] & p [6] & p [5] & p [4];
assign PPP[2]= p[11] & p[10] & p [9] & p [8];
assign PPP[3]= p[15] & p[14] & p[13] & p[12];
assign PPP[4]= p[19] & p[18] & p[17] & p[16];
assign PPP[5]= p[23] & p[22] & p[21] & p[20];
assign PPP[6]= p[27] & p[26] & p[25] & p[24];
assign PPP[7]= p[31] & p[30] & p[29] & p[28];

assign GGG[0]= g[3]  | (p [3] & g [2])  | (p [3] & p [2] & g [1])  | (p [3] & p [2] & p [1] & g [0]) ;
assign GGG[1]= g[7]  | (p [7] & g [6])  | (p [7] & p [6] & g [5])  | (p [7] & p [6] & p [5] & g [4]);
assign GGG[2]= g[11] | (p[11] & g[10])  | (p[11] & p[10] & g [9])  | (p[11] & p[10] & p [9] & g [8]);
assign GGG[3]= g[15] | (p[15] & g[14])  | (p[15] & p[14] & g[13])  | (p[15] & p[14] & p[13] & g[12]);
assign GGG[4]= g[19] | (p[19] & g[18])  | (p[19] & p[18] & g[17])  | (p[19] & p[18] & p[17] & g[16]);
assign GGG[5]= g[23] | (p[23] & g[22])  | (p[23] & p[22] & g[21])  | (p[23] & p[22] & p[21] & g[20]);
assign GGG[6]= g[27] | (p[27] & g[26])  | (p[27] & p[26] & g[25])  | (p[27] & p[26] & p[25] & g[24]);
assign GGG[7]= g[31] | (p[31] & g[30])  | (p[31] & p[30] & g[29])  | (p[31] & p[30] & p[29] & g[28]);
assign CC[0] = c_in;
assign CC[1] = GGG[0]  |  PPP[0]&  CC[0];
assign CC[2] = GGG[1]  |  PPP[1]&GGG[0]  |  PPP[1]&PPP[0]&  CC[0];
assign CC[3] = GGG[2]  |  PPP[2]&GGG[1]  |  PPP[2]&PPP[1]&GGG[0]  |  PPP[2]&PPP[1]&PPP[0]&  CC[0];
assign CC[4] = GGG[3]  |  PPP[3]&GGG[2]  |  PPP[3]&PPP[2]&GGG[1]  |  PPP[3]&PPP[2]&PPP[1]&GGG[0]  |  PPP[3]&PPP[2]&PPP[1]&PPP[0]&  CC[0];
assign CC[5] = GGG[4]  |  PPP[4]&GGG[3]  |  PPP[4]&PPP[3]&GGG[2]  |  PPP[4]&PPP[3]&PPP[2]&GGG[1]  |  PPP[4]&PPP[3]&PPP[2]&PPP[1]&GGG[0] |  PPP[4]&PPP[3]&PPP[2]&PPP[1]&PPP[0]&  CC[0];
assign CC[6] = GGG[5]  |  PPP[5]&GGG[4]  |  PPP[5]&PPP[4]&GGG[3]  |  PPP[5]&PPP[4]&PPP[3]&GGG[2]  |  PPP[5]&PPP[4]&PPP[3]&PPP[2]&GGG[1] |  PPP[5]&PPP[4]&PPP[3]&PPP[2]&PPP[1]&GGG[0] |  PPP[5]&PPP[4]&PPP[3]&PPP[2]&PPP[1]&PPP[0]& CC[0];
assign CC[7] = GGG[6]  | PPP[6]&GGG[5]  |  PPP[6]&PPP[5]&GGG[4]  |  PPP[6]&PPP[5]&PPP[4]&GGG[3]  |  PPP[6]&PPP[5]&PPP[4]&PPP[3]&GGG[2]  |  PPP[6]&PPP[5]&PPP[4]&PPP[3]&PPP[2]&GGG[1] |  PPP[6]&PPP[5]&PPP[4]&PPP[3]&PPP[2]&PPP[1]&GGG[0] |  PPP[6]&PPP[5]&PPP[4]&PPP[3]&PPP[2]&PPP[1]&PPP[0] & CC[0];
assign CC[8] = GGG[7] | PPP[7]&GGG[6]  | PPP[7]&PPP[6]&GGG[5]  |  PPP[7]&PPP[6]&PPP[5]&GGG[4]  |  PPP[7]&PPP[6]&PPP[5]&PPP[4]&GGG[3]  |  PPP[7]&PPP[6]&PPP[5]&PPP[4]&PPP[3]&GGG[2]  |  PPP[7]&PPP[6]&PPP[5]&PPP[4]&PPP[3]&PPP[2]&GGG[1] |  PPP[7]&PPP[6]&PPP[5]&PPP[4]&PPP[3]&PPP[2]&PPP[1]&GGG[0] |  PPP[7]&PPP[6]&PPP[5]&PPP[4]&PPP[3]&PPP[2]&PPP[1]&PPP[0] & CC[0];
cla_4bit cla4bit1(.aa(a  [3:0]),  .bb(b  [3:0]),  .cin(CC[0]),   .pp(p  [3:0]),  .gg(g  [3:0]),   .summ(sum  [3:0]));
cla_4bit cla4bit2(.aa(a  [7:4]),  .bb(b  [7:4]),  .cin(CC[1]),   .pp(p  [7:4]),  .gg(g  [7:4]),   .summ(sum  [7:4]));
cla_4bit cla4bit3(.aa(a [11:8]),  .bb(b [11:8]),  .cin(CC[2]),   .pp(p [11:8]),  .gg(g [11:8]),   .summ(sum [11:8]));
cla_4bit cla4bit4(.aa(a[15:12]),  .bb(b[15:12]),  .cin(CC[3]),   .pp(p[15:12]),  .gg(g[15:12]),   .summ(sum[15:12]));
cla_4bit cla4bit5(.aa(a[19:16]),  .bb(b[19:16]),  .cin(CC[4]),   .pp(p[19:16]),  .gg(g[19:16]),   .summ(sum[19:16]));
cla_4bit cla4bit6(.aa(a[23:20]),  .bb(b[23:20]),  .cin(CC[5]),   .pp(p[23:20]),  .gg(g[23:20]),   .summ(sum[23:20]));
cla_4bit cla4bit7(.aa(a[27:24]),  .bb(b[27:24]),  .cin(CC[6]),   .pp(p[27:24]),  .gg(g[27:24]),   .summ(sum[27:24]));
cla_4bit cla4bit8(.aa(a[31:28]),  .bb(b[31:28]),  .cin(CC[7]),   .pp(p[31:28]),  .gg(g[31:28]),   .summ(sum[31:28]));

assign c_out=CC[8];

endmodule
module CLA32bit(a,b,c_in,sum,c_out);


input [31:0]a,b;
input c_in;
output [31:0]sum;
output c_out;

wire [31:0] sum_out,  p,  g;
wire [7:0] PPP, GGG;
wire [8:0] CC;

assign p[31:0] = a[31:0] ^ b[31:0];
assign g[31:0] = a[31:0] & b[31:0];

assign PPP[0]= p [3] & p [2] & p [1] & p [0];
assign PPP[1]= p [7] & p [6] & p [5] & p [4];
assign PPP[2]= p[11] & p[10] & p [9] & p [8];
assign PPP[3]= p[15] & p[14] & p[13] & p[12];
assign PPP[4]= p[19] & p[18] & p[17] & p[16];
assign PPP[5]= p[23] & p[22] & p[21] & p[20];
assign PPP[6]= p[27] & p[26] & p[25] & p[24];
assign PPP[7]= p[31] & p[30] & p[29] & p[28];

assign GGG[0]= g[3]  | (p [3] & g [2])  | (p [3] & p [2] & g [1])  | (p [3] & p [2] & p [1] & g [0]) ;
assign GGG[1]= g[7]  | (p [7] & g [6])  | (p [7] & p [6] & g [5])  | (p [7] & p [6] & p [5] & g [4]);
assign GGG[2]= g[11] | (p[11] & g[10])  | (p[11] & p[10] & g [9])  | (p[11] & p[10] & p [9] & g [8]);
assign GGG[3]= g[15] | (p[15] & g[14])  | (p[15] & p[14] & g[13])  | (p[15] & p[14] & p[13] & g[12]);
assign GGG[4]= g[19] | (p[19] & g[18])  | (p[19] & p[18] & g[17])  | (p[19] & p[18] & p[17] & g[16]);
assign GGG[5]= g[23] | (p[23] & g[22])  | (p[23] & p[22] & g[21])  | (p[23] & p[22] & p[21] & g[20]);
assign GGG[6]= g[27] | (p[27] & g[26])  | (p[27] & p[26] & g[25])  | (p[27] & p[26] & p[25] & g[24]);
assign GGG[7]= g[31] | (p[31] & g[30])  | (p[31] & p[30] & g[29])  | (p[31] & p[30] & p[29] & g[28]);
assign CC[0] = c_in;
assign CC[1] = GGG[0]  |  PPP[0]&  CC[0];
assign CC[2] = GGG[1]  |  PPP[1]&GGG[0]  |  PPP[1]&PPP[0]&  CC[0];
assign CC[3] = GGG[2]  |  PPP[2]&GGG[1]  |  PPP[2]&PPP[1]&GGG[0]  |  PPP[2]&PPP[1]&PPP[0]&  CC[0];
assign CC[4] = GGG[3]  |  PPP[3]&GGG[2]  |  PPP[3]&PPP[2]&GGG[1]  |  PPP[3]&PPP[2]&PPP[1]&GGG[0]  |  PPP[3]&PPP[2]&PPP[1]&PPP[0]&  CC[0];
assign CC[5] = GGG[4]  |  PPP[4]&GGG[3]  |  PPP[4]&PPP[3]&GGG[2]  |  PPP[4]&PPP[3]&PPP[2]&GGG[1]  |  PPP[4]&PPP[3]&PPP[2]&PPP[1]&GGG[0] |  PPP[4]&PPP[3]&PPP[2]&PPP[1]&PPP[0]&  CC[0];
assign CC[6] = GGG[5]  |  PPP[5]&GGG[4]  |  PPP[5]&PPP[4]&GGG[3]  |  PPP[5]&PPP[4]&PPP[3]&GGG[2]  |  PPP[5]&PPP[4]&PPP[3]&PPP[2]&GGG[1] |  PPP[5]&PPP[4]&PPP[3]&PPP[2]&PPP[1]&GGG[0] |  PPP[5]&PPP[4]&PPP[3]&PPP[2]&PPP[1]&PPP[0]& CC[0];
assign CC[7] = GGG[6]  | PPP[6]&GGG[5]  |  PPP[6]&PPP[5]&GGG[4]  |  PPP[6]&PPP[5]&PPP[4]&GGG[3]  |  PPP[6]&PPP[5]&PPP[4]&PPP[3]&GGG[2]  |  PPP[6]&PPP[5]&PPP[4]&PPP[3]&PPP[2]&GGG[1] |  PPP[6]&PPP[5]&PPP[4]&PPP[3]&PPP[2]&PPP[1]&GGG[0] |  PPP[6]&PPP[5]&PPP[4]&PPP[3]&PPP[2]&PPP[1]&PPP[0] & CC[0];
assign CC[8] = GGG[7] | PPP[7]&GGG[6]  | PPP[7]&PPP[6]&GGG[5]  |  PPP[7]&PPP[6]&PPP[5]&GGG[4]  |  PPP[7]&PPP[6]&PPP[5]&PPP[4]&GGG[3]  |  PPP[7]&PPP[6]&PPP[5]&PPP[4]&PPP[3]&GGG[2]  |  PPP[7]&PPP[6]&PPP[5]&PPP[4]&PPP[3]&PPP[2]&GGG[1] |  PPP[7]&PPP[6]&PPP[5]&PPP[4]&PPP[3]&PPP[2]&PPP[1]&GGG[0] |  PPP[7]&PPP[6]&PPP[5]&PPP[4]&PPP[3]&PPP[2]&PPP[1]&PPP[0] & CC[0];
cla_4bit cla4bit1(.aa(a  [3:0]),  .bb(b  [3:0]),  .cin(CC[0]),   .pp(p  [3:0]),  .gg(g  [3:0]),   .summ(sum  [3:0]));
cla_4bit cla4bit2(.aa(a  [7:4]),  .bb(b  [7:4]),  .cin(CC[1]),   .pp(p  [7:4]),  .gg(g  [7:4]),   .summ(sum  [7:4]));
cla_4bit cla4bit3(.aa(a [11:8]),  .bb(b [11:8]),  .cin(CC[2]),   .pp(p [11:8]),  .gg(g [11:8]),   .summ(sum [11:8]));
cla_4bit cla4bit4(.aa(a[15:12]),  .bb(b[15:12]),  .cin(CC[3]),   .pp(p[15:12]),  .gg(g[15:12]),   .summ(sum[15:12]));
cla_4bit cla4bit5(.aa(a[19:16]),  .bb(b[19:16]),  .cin(CC[4]),   .pp(p[19:16]),  .gg(g[19:16]),   .summ(sum[19:16]));
cla_4bit cla4bit6(.aa(a[23:20]),  .bb(b[23:20]),  .cin(CC[5]),   .pp(p[23:20]),  .gg(g[23:20]),   .summ(sum[23:20]));
cla_4bit cla4bit7(.aa(a[27:24]),  .bb(b[27:24]),  .cin(CC[6]),   .pp(p[27:24]),  .gg(g[27:24]),   .summ(sum[27:24]));
cla_4bit cla4bit8(.aa(a[31:28]),  .bb(b[31:28]),  .cin(CC[7]),   .pp(p[31:28]),  .gg(g[31:28]),   .summ(sum[31:28]));

assign c_out=CC[8];

endmodule