module Rip32(sum_o, cout, a_i, b_i, cin);
    //main module of 16 bit Ripple carry adder
    input [31:0]a_i;
    input [31:0]b_i;
    input cin;
    output cout;
    output [31:0]sum_o;
    
    wire c16, cout;
    Rip16 m1(sum_o[15:0], c16, a_i[15:0], b_i[15:0], cin);
    Rip16 m2(sum_o[31:16], cout, a_i[31:16], b_i[31:16], c16);
endmodule