Advertisement
Guest User

Untitled

a guest
Jan 28th, 2020
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1.  
  2. `timescale 1ns / 1ps
  3. //////////////////////////////////////////////////////////////////////////////////
  4. // Company:
  5. // Engineer:
  6. //
  7. // Create Date: 12:48:23 01/28/2020
  8. // Design Name:
  9. // Module Name: coin
  10. // Project Name:
  11. // Target Devices:
  12. // Tool versions:
  13. // Description:
  14. //
  15. // Dependencies:
  16. //
  17. // Revision:
  18. // Revision 0.01 - File Created
  19. // Additional Comments:
  20. //
  21. //////////////////////////////////////////////////////////////////////////////////
  22. module coin( input fifty, dollar, cancel, clk, rst,
  23. output reg insert_coin, money_return, dispense, output reg [1:0] st
  24. );
  25.  
  26. parameter INIT=0,S50c=1,VEND=2,RETURN=3;
  27.  
  28. reg [1:0] nst;
  29.  
  30. always @ (posedge clk)
  31. begin
  32. if(~rst)
  33. st <= INIT;
  34. else
  35. st <= nst;
  36. end
  37.  
  38. always @*
  39. begin
  40. nst = st;
  41. insert_coin = 1; money_return = 0; dispense = 0;
  42. case(st)
  43. INIT: begin
  44. if(fifty)nst = S50c;
  45. if(dollar) nst = VEND;
  46. end
  47. S50c: begin
  48. if(fifty) nst = VEND;
  49. if(dollar) nst = RETURN;
  50. if(cancel) nst = RETURN;
  51. end
  52. VEND: begin
  53. insert_coin = 0; money_return = 0; dispense = 1;
  54. end
  55. RETURN: begin
  56. insert_coin = 0; money_return = 1; dispense = 0;
  57. nst = INIT;
  58. end
  59. endcase
  60. end
  61.  
  62. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement