module cla_16bit(a,b,cin,sum,cout);
input [15:0]a,b;
input cin;
output [15: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 (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 (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,cout);
endmodule;
input [15:0]a,b;
input cin;
output [15: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 (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 (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,cout);
endmodule;
No comments:
Post a Comment