TheLegace

Lab1-dsp

Feb 7th, 2012
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module Lab1(
  2.                 input CLOCK_50
  3. );
  4.  
  5. endmodule
  6.  
  7. module ripple_adder(
  8.                             input [11:0] A,
  9.                             input [11:0] B,
  10.                             output [11:0] sum
  11.                             );
  12. wire [11:0] carry_out;
  13.  
  14. full_adder(.a(A[0]), .b(B[0]), .cin(1'b0), .cout(carry_out[0]), .sum(sum[0]));
  15. full_adder(.a(A[1]), .b(B[1]), .cin(carry_out[0]), .cout(carry_out[1]), .sum(sum[1]));
  16. full_adder(.a(A[2]), .b(B[2]), .cin(carry_out[1]), .cout(carry_out[2]), .sum(sum[2]));
  17. full_adder(.a(A[3]), .b(B[3]), .cin(carry_out[2]), .cout(carry_out[3]), .sum(sum[3]));
  18. full_adder(.a(A[4]), .b(B[4]), .cin(carry_out[3]), .cout(carry_out[4]), .sum(sum[4]));
  19. full_adder(.a(A[5]), .b(B[5]), .cin(carry_out[4]), .cout(carry_out[5]), .sum(sum[5]));
  20. full_adder(.a(A[6]), .b(B[6]), .cin(carry_out[5]), .cout(carry_out[6]), .sum(sum[6]));
  21. full_adder(.a(A[7]), .b(B[7]), .cin(carry_out[6]), .cout(carry_out[7]), .sum(sum[7]));
  22. full_adder(.a(A[8]), .b(B[8]), .cin(carry_out[7]), .cout(carry_out[8]), .sum(sum[8]));
  23. full_adder(.a(A[9]), .b(B[9]), .cin(carry_out[8]), .cout(carry_out[9]), .sum(sum[9]));
  24. full_adder(.a(A[10]), .b(B[10]), .cin(carry_out[9]), .cout(carry_out[10]), .sum(sum[10]));
  25. full_adder(.a(A[11]), .b(B[11]), .cin(carry_out[10]), .cout(carry_out[11]), .sum(sum[11]));
  26.  
  27.  
  28. endmodule
  29.  
  30. module full_adder
  31. (
  32.   input  a,
  33.   input  b,
  34.   input  cin,
  35.   output sum,
  36.   output cout
  37. );
  38.  
  39. assign sum = a ^ b ^ cin;
  40. assign cout = (a & b) | ((a^b) & cin);
  41.  
  42. endmodule
Advertisement
Add Comment
Please, Sign In to add comment