module cla_32bit(a,b,cin,sum,cout);
input [31:0]a,b;
input cin;
output [31:0]sum;
output cout;
//assign cin=1'b0;
wire p0,p1,g0,w0;
and (g0,a[0],b[0]);
xor (p0,a[0],b[0]);
and (w0,p0,cin);
or (cout,g0,w0);
xor (p0,a[0],b[0]);
xor (p1,a[1],b[1]);
xor (p2,a[2],b[2]);
xor (p3,a[3],b[3]);
xor (p4,a[4],b[4]);
xor (p5,a[5],b[5]);
xor (p6,a[6],b[6]);
xor (p7,a[7],b[7]);
xor (p8,a[8],b[8]);
xor (p9,a[9],b[9]);
xor (p10,a[10],b[10]);
xor (p11,a[11],b[11]);
xor (p12,a[12],b[12]);
xor (p13,a[13],b[13]);
xor (p14,a[14],b[14]);
xor (p15,a[15],b[15]);
xor (p16,a[16],b[16]);
xor (p17,a[17],b[17]);
xor (p18,a[18],b[18]);
xor (p19,a[19],b[19]);
xor (p21,a[20],b[20]);
xor (p20,a[21],b[21]);
xor (p22,a[22],b[22]);
xor (p23,a[23],b[23]);
xor (p24,a[24],b[24]);
xor (p25,a[25],b[25]);
xor (p26,a[26],b[26]);
xor (p27,a[27],b[27]);
xor (p28,a[28],b[28]);
xor (p29,a[29],b[29]);
xor (p30,a[30],b[30]);
xor (p31,a[31],b[31]);
xor (sum[0],p0,cin);
xor (sum[1],p1,c1);
xor (sum[2],p2,c2);
xor (sum[3],p3,c3);
xor (sum[4],p4,c4);
xor (sum[5],p5,c5);
xor (sum[6],p6,c6);
xor (sum[7],p7,c7);
xor (sum[8],p8,c8);
xor (sum[9],p9,c9);
xor (sum[10],p10,c10);
xor (sum[11],p11,c11);
xor (sum[12],p12,c12);
xor (sum[13],p13,c13);
xor (sum[14],p14,c14);
xor (sum[15],p15,c15);
xor (sum[16],p16,c16);
xor (sum[17],p17,c17);
xor (sum[18],p18,c18);
xor (sum[19],p19,c19);
xor (sum[20],p20,c20);
xor (sum[21],p21,c21);
xor (sum[22],p22,c22);
xor (sum[23],p23,c23);
xor (sum[24],p24,c24);
xor (sum[25],p25,c25);
xor (sum[26],p26,c26);
xor (sum[27],p27,c27);
xor (sum[28],p28,c28);
xor (sum[29],p29,c29);
xor (sum[30],p30,c30);
xor (sum[31],p31,cout);
endmodule;
input [31:0]a,b;
input cin;
output [31:0]sum;
output cout;
//assign cin=1'b0;
wire p0,p1,g0,w0;
and (g0,a[0],b[0]);
xor (p0,a[0],b[0]);
and (w0,p0,cin);
or (cout,g0,w0);
xor (p0,a[0],b[0]);
xor (p1,a[1],b[1]);
xor (p2,a[2],b[2]);
xor (p3,a[3],b[3]);
xor (p4,a[4],b[4]);
xor (p5,a[5],b[5]);
xor (p6,a[6],b[6]);
xor (p7,a[7],b[7]);
xor (p8,a[8],b[8]);
xor (p9,a[9],b[9]);
xor (p10,a[10],b[10]);
xor (p11,a[11],b[11]);
xor (p12,a[12],b[12]);
xor (p13,a[13],b[13]);
xor (p14,a[14],b[14]);
xor (p15,a[15],b[15]);
xor (p16,a[16],b[16]);
xor (p17,a[17],b[17]);
xor (p18,a[18],b[18]);
xor (p19,a[19],b[19]);
xor (p21,a[20],b[20]);
xor (p20,a[21],b[21]);
xor (p22,a[22],b[22]);
xor (p23,a[23],b[23]);
xor (p24,a[24],b[24]);
xor (p25,a[25],b[25]);
xor (p26,a[26],b[26]);
xor (p27,a[27],b[27]);
xor (p28,a[28],b[28]);
xor (p29,a[29],b[29]);
xor (p30,a[30],b[30]);
xor (p31,a[31],b[31]);
xor (sum[0],p0,cin);
xor (sum[1],p1,c1);
xor (sum[2],p2,c2);
xor (sum[3],p3,c3);
xor (sum[4],p4,c4);
xor (sum[5],p5,c5);
xor (sum[6],p6,c6);
xor (sum[7],p7,c7);
xor (sum[8],p8,c8);
xor (sum[9],p9,c9);
xor (sum[10],p10,c10);
xor (sum[11],p11,c11);
xor (sum[12],p12,c12);
xor (sum[13],p13,c13);
xor (sum[14],p14,c14);
xor (sum[15],p15,c15);
xor (sum[16],p16,c16);
xor (sum[17],p17,c17);
xor (sum[18],p18,c18);
xor (sum[19],p19,c19);
xor (sum[20],p20,c20);
xor (sum[21],p21,c21);
xor (sum[22],p22,c22);
xor (sum[23],p23,c23);
xor (sum[24],p24,c24);
xor (sum[25],p25,c25);
xor (sum[26],p26,c26);
xor (sum[27],p27,c27);
xor (sum[28],p28,c28);
xor (sum[29],p29,c29);
xor (sum[30],p30,c30);
xor (sum[31],p31,cout);
endmodule;
No comments:
Post a Comment