module top_module(
input [99:0] a, b,
input cin,
output [99:0] cout,
output [99:0] sum );
genvar i;
full_adder add100_0(a[0],b[0], cin,cout[0], sum[0]);
generate
for(i=1;i<100;i++)begin:add_g
full_adder add_100(a[i],b[i],cout[i-1],cout[i],sum[i]);
end
endgenerate
endmodule
module full_adder(
input a, b, ci,
output co, sum );
assign sum = a ^ b ^ ci;
assign co = (a & b) | ci & (a | b);
endmodule