Saturday 4 July 2015

Arithmetic circuits- Ripple carry adder using full adder


RIPPLE CARRY ADDER USING FULL ADDER

HALF ADDER
module havj(sum,carry,a,b);
output sum,carry;
input a,b;
xor x1(sum,a,b);
and a1(carry,a,b);
endmodule

FULL ADDER USING HALF ADDER
module favj(sum,carry,a,b,c);
output sum,carry;
input a,b,c;
wire w1,c1,c2;
havj v1(w1,c1,a,b);
havj v2(sum,c2,c,w1);
or o1(carry,c1,c2);
endmodule
RIPPLE CARRY ADDER
module ripplevj(carry,sum,a,b,cin);
output carry;
output [3:0]sum;
input [3:0]a;
input [3:0]b;
input cin;
wire c1,c2,c3;
favj a1(sum[0],c1,a[0],b[0],cin);
favj a2(sum[1],c2,a[1],b[1],c1);
favj a3(sum[2],c3,a[2],b[2],c2);
favj a4(sum[3],carry,a[3],b[3],c3);
endmodule

No comments:

Post a Comment