Advertisement
Guest User

Untitled

a guest
Jan 27th, 2020
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 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 st, insert_coin, money_return, dispense
  24. );
  25.  
  26. parameter INIT=0,S50c=1,VEND=2,RETURN=3;
  27.  
  28. reg [1:0] nst, st
  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. case(st)
  42. INIT: begin
  43. insert_coin = 1; money_return = 0; dispense = 0;
  44. if(fify) begin
  45. nst = S50c;
  46. end
  47. if(dollar) begin
  48. nst = VEND;
  49. end
  50. end
  51. S50c: begin
  52. insert_coin = 1; money_return = 0; dispense = 0;
  53. if(fifty) begin
  54. nst = VEND
  55. end
  56. if(dollar|cancel) begin
  57. nst = RETURN
  58. end
  59. end
  60. VEND: begin
  61. insert_coin = 0; money_return = 0; dispense = 1;
  62. end
  63. RETURN: begin
  64. insert_coin = 0; money_return = 1; dispense = 0;
  65. nst = INIT
  66. end
  67. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement