candy machine verilog
candy machine verilog
module candy_b(
input clk_100MHz,
input reset,
input btn_25,
input btn_10,
input btn_5,
output [0:6] seg
);
endmodule
module state_machine(input clk,input reset, input btn_25,input btn_10,input btn_5,output [2:0] the_state,
output reg [4:0] change );
s_5 : begin
if(btn_25) begin
state_reg <= s_25;
change <= 5'd5;
end
else if(btn_10)
state_reg <= s_15;
else if(btn_5)
state_reg <= s_10;
end
s_10 : begin
if(btn_25) begin
state_reg <= s_25;
change <= 5'd10;
end
else if(btn_10)
state_reg <= s_20;
else if(btn_5)
state_reg <= s_15;
end
s_15 : begin
if(btn_25) begin
state_reg <= s_25;
change <= 5'd15;
end
else if(btn_10)
state_reg <= s_25;
else if(btn_5)
state_reg <= s_20;
end
s_20 : begin
if(btn_25) begin
state_reg <= s_25;
change <= 5'd20;
end
else if(btn_10) begin
state_reg <= s_25;
change = 5;
end
else if(btn_5)
state_reg <= s_25;
end
s_25 : begin
if(counter_reg == 29)
state_reg <= ch;
end
ch : begin
if(ch_counter_reg == 29)
state_reg <= idle;
end
endcase
end
endmodule
endcase
end
endmodule
assign btn_out = c;
endmodule