verilog 自动售货机状态机实现_有限状态机FSM(自动售报机Verilog实现)

有限状态机FSM(自动售报机Verilog实现)

FSM

状态机就是一种能够描述具有逻辑顺序和时序顺序事件的方法。

状态机有两大类:Mealy型和Moore型。

Moore型状态机的输出只与当前状态有关,而Mealy型状态机的输出不仅取决于当前状态,还受到输入的直接控制,并且可能与状态无关。

当使用Verilog来描述一个简单状态机的设计时,应将状态寄存器的控制器的控制和状态机状态里的组合逻辑分开。

分离功能使得在逻辑部分的代码中可以使用阻塞赋值语句

状态更新逻辑包含状态寄存器,不能被外设读取。组合逻辑使用输入和当前状态值来对输出赋值,并改变状态机的下一状态。

同步时序电路的设计方法

逻辑抽象,得出电路的状态转换图或者状态转换表

状态化简

状态分配(状态编码:Binary,Gray,One-Hot)

Verilog根据最简状态转换图编程,检查设计的电路能否自启动

四个要素

当前输入

当前状态

下一状态

当前输出值

代码风格

一段式

当前状态、下一状态、当前输出值都写在一个always块中

二段式

当前状态、下一状态、当前输出值写在两个always块中

注意:这样三种组合方式,及有三种方式写这两个always块。

三段式

当前状态、下一状态、当前输出值分别写在各自的always块中,这样需要3个always块。

自动售报机Verilog实现

设计说明

设计一个简单的数字电路用于电子的报纸售卖机的投币器。

假设报纸的价格为15分。

投币器只能接受5分和1角的硬币。

必须提供适当的数目的零钱,投币器不找零。

合法的硬币组合包括1个5分的硬币和1个一角的硬币,3个5分的硬币,1个1角的硬币和1个5分的硬币。2个1角的硬币是合法的,但是投币器不找零。

电路说明

当投入硬币时,一个两位的信号c

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值