Guest User

Untitled

a guest
May 25th, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1.  
  2. //detector.v
  3.  
  4. `timescale 1ns / 1ps
  5. //////////////////////////////////////////////////////////////////////////////////
  6. // Company:
  7. // Engineer:
  8. //
  9. // Create Date: 10:53:09 05/13/2010
  10. // Design Name:
  11. // Module Name: detector
  12. // Project Name:
  13. // Target Devices:
  14. // Tool versions:
  15. // Description:
  16. //
  17. // Dependencies:
  18. //
  19. // Revision:
  20. // Revision 0.01 - File Created
  21. // Additional Comments:
  22. //
  23. //////////////////////////////////////////////////////////////////////////////////
  24. module detector(
  25. input i_clk,
  26. input bnt_ena,
  27. input i_rst,
  28. input i_seq,
  29. output reg [7:0] leds
  30. );
  31.  
  32. integer clk_divider;
  33. reg slow_clk;
  34.  
  35. reg[2:0]estado;
  36.  
  37. localparam integer
  38.  
  39. est1=1,
  40. est2=2,
  41. est3=3,
  42. est4=4,
  43. est5=5,
  44. est6=6;
  45.  
  46. always @ (posedge i_clk or posedge i_rst)
  47. begin
  48. if (i_rst)
  49. begin
  50. clk_divider<=0;
  51. slow_clk<=1'b0;
  52. end
  53. else if (bnt_ena)
  54. begin
  55. if (clk_divider == 9999999)
  56. begin
  57. slow_clk <= ~slow_clk;
  58. clk_divider<=0;
  59. end
  60. else
  61. clk_divider<=clk_divider+1;
  62. end
  63. end
  64.  
  65. always @ (posedge slow_clk or posedge i_rst)
  66. begin
  67.  
  68. if (i_rst)
  69. estado<=est1;
  70. else
  71.  
  72. case (estado)
  73.  
  74. est1:
  75. if (i_seq)
  76. estado<=est2;
  77. else
  78. estado<=est1;
  79. est2:
  80. if (~i_seq)
  81. estado<=est3;
  82. else
  83. estado<=est2;
  84. est3:
  85. if (~i_seq)
  86. estado<=est4;
  87. else
  88. estado<=est2;
  89. est4:
  90. if (i_seq)
  91. estado<=est5;
  92. else
  93. estado<=est1;
  94. est5:
  95. if (~i_seq)
  96. estado<=est6;
  97. else
  98. estado<=est2;
  99. est6:
  100. estado<=est6;
  101. endcase
  102.  
  103. end
  104.  
  105. always @ (estado)
  106. begin
  107. leds=8'b00000000;
  108. case (estado)
  109. est1: leds=8'b00000001;
  110. est2: leds=8'b00000010;
  111. est3: leds=8'b00000100;
  112. est4: leds=8'b00001000;
  113. est5: leds=8'b00010000;
  114. est6: leds=8'b11100000;
  115. endcase
  116. end
  117.  
  118. endmodule
Add Comment
Please, Sign In to add comment