Advertisement
Slapoguzov

Untitled

Nov 24th, 2015
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. `timescale 1ns / 1ps
  2. //////////////////////////////////////////////////////////////////////////////////
  3. // Company:
  4. // Engineer:
  5. //
  6. // Create Date:    01:56:55 11/12/2015
  7. // Design Name:
  8. // Module Name:    rotary_glitech
  9. // Project Name:
  10. // Target Devices:
  11. // Tool versions:
  12. // Description:
  13. //
  14. // Dependencies:
  15. //
  16. // Revision:
  17. // Revision 0.01 - File Created
  18. // Additional Comments:
  19. //
  20. //////////////////////////////////////////////////////////////////////////////////
  21. module rotary_glitech(
  22.     input ROT_X,
  23.     output reg ROT_X_FREE,
  24.     input rst
  25.     );
  26.      
  27.         parameter
  28.             zero = 2'd0,
  29.             wait_one = 2'd1,
  30.             one = 2'd2,
  31.             wait_zero = 2'd3;    
  32.      
  33.         reg[1:0] state = 2'b00;
  34.      
  35.         always@(posedge rst) begin
  36.                 ROT_X_FREE = 1'b0;
  37.                 state = zero;
  38.         end
  39.        
  40.         always@* begin
  41.             case(state)
  42.                 zero:
  43.                     begin
  44.                         ROT_X_FREE <= 0;
  45.                         state <= wait_one;
  46.                     end
  47.                 wait_one:
  48.                     begin
  49.                         #10
  50.                         if(!ROT_X)
  51.                             state = zero;
  52.                         else
  53.                             state = one;
  54.                     end
  55.                 one:
  56.                     begin
  57.                         ROT_X_FREE = 1;
  58.                         state = wait_zero;
  59.                     end
  60.                 wait_zero:
  61.                     begin
  62.                         #10
  63.                         if(!ROT_X)
  64.                         state = zero;
  65.                     end
  66.             endcase
  67.                
  68.         end
  69.  
  70. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement