简单的状态机
`timescale 1ns/1nsmodule simple_fsm
(input wire sys_clk , //系统时钟50MHzinput wire sys_rst_n , //全局复位input wire pi_money , //投币方式可以为:不投币(0)、投1元(1)output reg po_cola //po_cola为1时出可乐,po_cola为0时不出可乐
);//parameter define
//只有三种状态,使用独热码
parameter IDLE = 3'b001;
parameter ONE = 3'b010;
parameter TWO = 3'b100;//reg define
reg [2:0] state;//第一段状态机,描述当前状态state如何根据输入跳转到下一状态
always@(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n == 1'b0)state <= IDLE; //任何情况下只要按复位就回到初始状态else case(state)IDLE : if(pi_money == 1'b1)//判断输入情况state <= ONE;elsestate <= IDLE;ONE : if(pi_money =