module top_module( input [399:0] a, b, input ci, output reg co, output reg [399:0] sum ); reg carry; reg carry_temp; integer i; always @ (*) begin carry = 0; for (i = 0; i< 100; i = i + 1) begin if(i == 0) {carry_temp,sum[i*4 +: 4]} = a[i*4 +: 4] + b[i*4 +: 4] + ci; else {carry_temp,sum[i*4 +: 4]} = a[i*4 +: 4] + b[i*4 +: 4] + carry; if({carry_temp,sum[i*4 +: 4]} >= 10) begin sum[i*4 +: 4] = {carry_temp,sum[i*4 +: 4]} - 10; carry = 1; end else carry = 0; end co = carry; end endmodule