Advertisement
Guest User

prelab_2_pt2

a guest
Oct 13th, 2015
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. module sevensegdecoder(input [3:0]S, output [6:0]D);
  2. reg [6:0] D;
  3. always @(S)
  4.  
  5. case(S)
  6. 0: D=7'b0000001;
  7. 1: D=7'b1001111;
  8. 2: D=7'b0010010;
  9. 3: D=7'b0000110;
  10. 4: D=7'b1001100;
  11. 5: D=7'b0100100;
  12. 6: D=7'b0100000;
  13. 7: D=7'b0001111;
  14. 8: D=7'b0000000;
  15. 9: D=7'b0001100;
  16. 10:D=7'b0001000;
  17. 11:D=7'b1100000;
  18. 12:D=7'b0110001;
  19. 13:D=7'b1000010;
  20. 14:D=7'b0110000;
  21. 15:D=7'b0111000;
  22. default:D=7'b0000000;
  23.  
  24. endcase
  25. endmodule
  26.  
  27.  
  28. module FA4Bit(input[3:0]a,b, input op, output [3:0]s, output cout,ov, output [6:0]d);
  29. wire c1, c2, c3, y0, y1, y2, y3;
  30. assign y0=b[0]^op;
  31. assign y1=b[1]^op;
  32. assign y2=b[2]^op;
  33. assign y3=b[3]^op;
  34.  
  35. FA fa0(a[0], y0, op, s[0], c1);
  36. FA fa1(a[1], y1, c1, s[1], c2);
  37. FA fa2(a[2], y2, c2, s[2], c3);
  38. FA fa3(a[3], y3, c3, s[3], cout);
  39. assign ov=c3^cout;
  40. sevensegdecoder DC(s,d);
  41. endmodule
  42.  
  43. module FullAdder(input a,b,cin, output s, cout);
  44. assign s=A^b^cin;
  45. assign cout=(a&b) | (a&cin) | (b&cin);
  46. endmodule
  47.  
  48.  
  49. module sevensegdecoder_sim();
  50. reg[3:0] A,B;
  51. reg op;
  52.  
  53. wire [3:0] S;
  54. wire cout;
  55. wire ov;
  56. wire [6:0]D;
  57.  
  58. FA4Bit uut (A,B,op,S,cout, ov, D);
  59.  
  60. initial begin
  61. A=2; B=3; op=0;
  62. #10 A=5; B=-3; op=0;
  63. #10 A=4; B=3; op=0;
  64. #10 A=8; B=4; op=1;
  65. #10 A=6; B=-2; op=1;
  66. #10 A=10; B=4; op=1;
  67. end
  68.  
  69. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement