根据一位全加器,从低位逐位相加,有进位就往高位递,像极了小时候学的竖式加法运算。
`timescale 1ns/1ns
module add_4(
input [3:0] A ,
input [3:0] B ,
input Ci ,
output wire [3:0] S ,
output wire Co
);
wire [3:0] C;
add_full add_full_inst1(A[0], B[0], Ci , S[0], C[0]);
add_full add_full_inst2(A[1], B[1], C[0], S[1], C[1]);
add_full add_full_inst3(A[2], B[2], C[1], S[2], C[2]);
add_full add_full_inst4(A[3], B[3], C[2], S[3], Co );
endmodule