状态机——简单自动售卖机的实现

状态机也称为同步有限状态机,分为more型状态机(最后的输出只与当前状态有关,而与输入无关)和mealy型状态机(最后的输出不仅与当前状态有关,还与输入有),适合用来表示事件发生有先后顺序的情况。这里以可乐机为背景,可乐售价为3元/瓶,一元一元投币,每投入到3元自动出一瓶可乐。

这里设置的输入信号包括时钟sys_clk,复位sys_rst_n以及投币信号pi_money,输出为是否有可乐投出po_cola。

首先绘制一个状态转移图,在状态转移图上可以清楚地表达出各状态的输入输出,跳转的条件和功能,一个完整的状态转移图需要包含三要素:一是输入,二是输出,三是状态。在可乐机中输入为一元硬币,输出是出可乐或者不出可乐,状态是投入0元,投入1元,投入2元,投入3元。

斜线左边表示是否有钱投入,0表示没有钱投入,1表示有钱投入;右边是是否有可乐输出,0表示没有,1表示有,即0/0表示不投钱,不输出可乐,继续维持在IDEL初始状态。若投入1元钱,则跳转到ONE状态,但是仍然没有可乐输出,从IDEL状态跳转到ONE状态跳转条件

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值