Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module Lab1(
- input CLOCK_50
- );
- endmodule
- module ripple_adder(
- input [11:0] A,
- input [11:0] B,
- output [11:0] sum
- );
- wire [11:0] carry_out;
- full_adder(.a(A[0]), .b(B[0]), .cin(1'b0), .cout(carry_out[0]), .sum(sum[0]));
- full_adder(.a(A[1]), .b(B[1]), .cin(carry_out[0]), .cout(carry_out[1]), .sum(sum[1]));
- full_adder(.a(A[2]), .b(B[2]), .cin(carry_out[1]), .cout(carry_out[2]), .sum(sum[2]));
- full_adder(.a(A[3]), .b(B[3]), .cin(carry_out[2]), .cout(carry_out[3]), .sum(sum[3]));
- full_adder(.a(A[4]), .b(B[4]), .cin(carry_out[3]), .cout(carry_out[4]), .sum(sum[4]));
- full_adder(.a(A[5]), .b(B[5]), .cin(carry_out[4]), .cout(carry_out[5]), .sum(sum[5]));
- full_adder(.a(A[6]), .b(B[6]), .cin(carry_out[5]), .cout(carry_out[6]), .sum(sum[6]));
- full_adder(.a(A[7]), .b(B[7]), .cin(carry_out[6]), .cout(carry_out[7]), .sum(sum[7]));
- full_adder(.a(A[8]), .b(B[8]), .cin(carry_out[7]), .cout(carry_out[8]), .sum(sum[8]));
- full_adder(.a(A[9]), .b(B[9]), .cin(carry_out[8]), .cout(carry_out[9]), .sum(sum[9]));
- full_adder(.a(A[10]), .b(B[10]), .cin(carry_out[9]), .cout(carry_out[10]), .sum(sum[10]));
- full_adder(.a(A[11]), .b(B[11]), .cin(carry_out[10]), .cout(carry_out[11]), .sum(sum[11]));
- endmodule
- module full_adder
- (
- input a,
- input b,
- input cin,
- output sum,
- output cout
- );
- assign sum = a ^ b ^ cin;
- assign cout = (a & b) | ((a^b) & cin);
- endmodule
Advertisement
Add Comment
Please, Sign In to add comment