Ripple-Carry Adder

It is possible to create a logical circuit using multiple full adders to add N-bit numbers. Each full adder inputs a Cin, which is the Cout of the previous adder. This kind of adder is a ripple carry adder, since each carry bit "ripples" to the next full adder. Note that the first (and only the first) full adder may be replaced by a half adder.

For a N-bit Ripple-Carry Adder, the propagation delay is (2N+1) ∆t. That is, the propagation delay of a N-bit Ripple-Carry Adder will be monotonously increasing according to the bit width of input data.

So, the propagation delay will be very large if the bit width increased to a large number. It’s very slow.


//Edit by [email protected]

//Jan 10th, 2011

//Ver. 1.0

//It's a 4-bit ripple-carry adder using 4 Full_Adder

module Ripple_Carry_Adder_Bit(A, B, Cin, Sum, Cout);

input [3:0] A, B;

input Cin;

output [3:0]Sum;

output Cout;

wire Cout_0, Cout_1, Cout_2;

Full_Adder u0(A[0],B[0],Cin, Sum[0], Cout_0);

Full_Adder u1(A[1],B[1],Cout_0, Sum[1], Cout_1);

Full_Adder u2(A[2],B[2],Cout_1, Sum[2], Cout_2);

Full_Adder u3(A[3],B[3],Cout_2, Sum[3], Cout);

endmodule


你可能感兴趣的:(Ripple-Carry Adder)