Advertisement
Guest User

Untitled

a guest
May 27th, 2015
303
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. module seg7_display(m,n);
  2. input [3:0] m;
  3. output reg [6:0] n;
  4.  
  5. parameter blank = 7'b 1111111;
  6. parameter zero = 7'b 1000000;
  7. parameter one = 7'b 1111001;
  8. parameter two = 7'b 0100100;
  9. parameter three = 7'b 0110000;
  10. parameter four = 7'b 0011001;
  11. parameter five = 7'b 0010010;
  12. parameter six = 7'b 0000010;
  13. parameter seven = 7'b 1111000;
  14. parameter eight = 7'b 0000000;
  15. parameter nine = 7'b 0010000;
  16.  
  17. always @ (m) begin
  18. case (m)
  19. 0: n <= zero;
  20. 1: n <= one;
  21. 2: n <= two;
  22. 3: n <= three;
  23. 4: n <= four;
  24. 5: n <= five;
  25. 6: n <= six;
  26. 7: n <= seven;
  27. 8: n <= eight;
  28. 9: n <= nine;
  29. default: n <= blank;
  30. endcase
  31. end
  32.  
  33. endmodule
  34.  
  35. module test (CLOCK_50, HEX0, HEX1, HEX2, HEX3);
  36. input CLOCK_50;
  37. output reg [6:0] HEX0, HEX1, HEX2, HEX3;
  38.  
  39. reg [31:0] count;
  40. reg [40:0] i;
  41. wire [6:0] indeks[9:0];
  42.  
  43. seg7_display(0,indeks[0]);
  44. seg7_display(1,indeks[1]);
  45. seg7_display(2,indeks[2]);
  46. seg7_display(3,indeks[3]);
  47. seg7_display(4,indeks[4]);
  48. seg7_display(5,indeks[5]);
  49. seg7_display(6,indeks[6]);
  50. seg7_display(7,indeks[7]);
  51. seg7_display(8,indeks[8]);
  52. seg7_display(9,indeks[9]);
  53.  
  54.  
  55. always @ (posedge CLOCK_50) begin
  56. if (count == 500000)
  57. begin
  58. HEX0 = indeks[i%10];
  59. HEX1 = indeks[(i/10)%10];
  60. HEX2 = indeks[(i/100)%10];
  61. HEX3 = indeks[(i/1000)%10];
  62. i = i+1;
  63. end;
  64. count = (count +1) % 500001;
  65. end
  66.  
  67.  
  68. endmodule
  69.  
  70. ------------------------------------------------------------------------
  71. module test (CLOCK_50, KEY, LEDG, HEX0);
  72. input [1:0] KEY;
  73. input CLOCK_50;
  74. output [3:0] LEDG;
  75. output [0:6] HEX0;
  76. reg [31:0] count;
  77. reg [0:3] Q = 4'b0001;
  78.  
  79. always @ (posedge CLOCK_50) begin
  80. if (count == 50000000)
  81. begin
  82. Q <= {Q[3]^Q[2], Q[0:2]};
  83. end;
  84. count = (count +1) % 50000001;
  85. end
  86.  
  87. assign LEDG = Q;
  88.  
  89. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement