Advertisement
Guest User

Untitled

a guest
Mar 21st, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. LEKCJA3
  2.  
  3. module wyswietl (a,b);
  4. input[3:0] a;
  5. output reg [0:6] b;
  6.  
  7. always
  8. case(a)
  9. 4'd0 : b = ~7'b1111110;
  10. 4'd1 : b = ~7'b0110000;
  11. 4'd2 : b = ~7'b1101101;
  12. 4'd3 : b = ~7'b1111001;
  13. 4'd4 : b = ~7'b0110011;
  14. 4'd5 : b = ~7'b1011011;
  15. 4'd6 : b = ~7'b1011111;
  16. 4'd7 : b = ~7'b1110000;
  17. 4'd8 : b = ~7'b1111111;
  18. 4'd9 : b = ~7'b1111011;
  19. endcase
  20.  
  21. endmodule
  22.  
  23.  
  24.  
  25. module zad1 (
  26. input [3:0] KEY,
  27. input [9:0] SW,
  28. input CLOCK_50,
  29. output[0:6] HEX0,
  30. output[0:6] HEX1,
  31. output[0:6] HEX2,
  32. output[0:6] HEX3
  33. );
  34.  
  35. reg [28:0] wynik;
  36. reg [7:0] wynik1;
  37. reg [7:0] wynik2;
  38. reg [7:0] wynik3;
  39. reg [7:0] wynik4;
  40.  
  41. wyswietl inst1(wynik1,HEX0);
  42. wyswietl inst2(wynik2,HEX1);
  43. wyswietl inst3(wynik3,HEX2);
  44. wyswietl inst4(wynik4,HEX3);
  45.  
  46.  
  47. always @(posedge CLOCK_50)
  48. begin
  49.  
  50. if (!KEY[0]) begin
  51. wynik <= 0;
  52. wynik1 <= 0;
  53. wynik2 <= 0;
  54. wynik3 <= 0;
  55. wynik4 <= 0;
  56. end
  57.  
  58. if (wynik > 50000000) begin
  59. wynik1 <= wynik1 + 1;
  60. wynik <=0;
  61. end
  62. else wynik <= wynik + 1;
  63.  
  64. if (wynik1>9)
  65. begin
  66. wynik2 <= wynik2 +1;
  67. wynik1 <= 0;
  68. end
  69.  
  70. if (wynik2>9)
  71. begin
  72. wynik3 <= wynik3 +1;
  73. wynik2 <= 0;
  74. end
  75.  
  76. if (wynik3>9)
  77. begin
  78. wynik4 <= wynik4 +1;
  79. wynik3 <= 0;
  80. end
  81.  
  82.  
  83. end
  84.  
  85. endmodule
  86.  
  87. ZAD2
  88.  
  89. module zad1( input [3:0] KEY, input [9:0] SW, output reg [9:0] LEDR, input CLOCK_50);
  90.  
  91. reg [3:0] states, next_states;
  92.  
  93. always @(*)
  94. begin
  95. if (SW[0] == 1) next_states = 4'd0;
  96. else if (KEY[0] == 1'b0 && states == 4'd0)
  97. next_states = 4'd1;
  98. else if (KEY[1] == 1'b0 && states == 4'd1)
  99. next_states = 4'd2;
  100. else if (KEY[2] == 1'b0 && states == 4'd2)
  101. next_states = 4'd4;
  102. else if (KEY[3] == 1'b0 && states == 4'd4)
  103. next_states = 4'd8;
  104. else
  105. next_states = states;
  106. end
  107.  
  108. always @(posedge CLOCK_50)
  109. begin
  110. states <= next_states;
  111. end
  112.  
  113. always @*
  114. LEDR = states;
  115. Endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement