/* Adder de N bits */ `include "./full_adder/full_adder.v" module adder_nbit #(parameter N = 8)( input [N-1:0] a, input [N-1:0] b, input carry_in, output [N-1:0] sum, output carry_out ); wire [N:0] carry; assign carry[0] = carry_in; genvar i; generate for (i = 0; i < N; i = i + 1) begin: generar_full_adder full_adder_structural full_adder( .carry_in(carry[i]), .a(a[i]), .b(b[i]), .sum(sum[i]), .carry_out(carry[i+1]) ); end endgenerate assign carry_out = carry[N]; endmodule