1.7FPGA状态机(1)

 Mealy 状态机:输出不仅取决于当前状态,还取决于输入状态。
 

 Moore 状态机:组合逻辑的输出只取决于当前状态,而与输入状态无关。

举例 可乐机

波形

rtl代码

module simple_fsm
(
    input wire sys_clk,
    input wire sys_rst_n,
    input wire  pi_money,
    output reg po_cola
);
//独热码 三个状态三个位宽 
parameter idle=3'b001;
parameter one=3'b010;
parameter two=3'b100;

reg [2:0] 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;
                else
                    state <= idle;
        one:    if(pi_money==1'b1)
                    state <= two;
                else
                    state <= one;           
        two:    if(pi_money==1'b1)
                    state <= idle;
                else
                    state <= two;
        default:state <= idle;
        endcase
            
always@(posedge sys_clk or negedge sys_rst_n)
    if(sys_rst_n==1'b0)
        po_cola <= 1'b0;
    else if(state==two && pi_money==1'b1)
        po_cola <= 1'b1;
    else
        po_cola <= 1'b0;
        
endmodule 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值