FPGA(7.28)——状态机

定义:    

       由状态寄存器和组合逻辑电路构成,能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动作,完成特定操作的控制中心

分类 :

摩尔(Moore)型状态机:若输出只和状态有关而与输入无关

米莉(Mealy)型状态机:若输出和状态与输入有关

状态机的几个重要概念:

State 状态:
一个状态机至少要包含两个状态。例如上面自动门的例子,有 open 和 closed 两个状态。

Event 事件:
事件就是执行某个操作的触发条件或者口令。对于自动门,“按下开门按钮”就是一个事件。

Action 动作:
事件发生以后要执行动作。例如事件是“按开门按钮”,动作是“开门”。编程的时候,一个 Action 一般就对应一个函数。

Transition 变换:
也就是从一个状态变化为另一个状态。例如“开门过程”就是一个变换

当然了概念总是规定的,在实际的工程中我们可能需要根据实际的需要来调整我们具体的实现。

状态机的三种描述方法:

一段式:整个状态机写到一个always模块里面,在该模块中既描述状态转移,又描述状态的输入和输出;

二段式:用两个always模块来描述状态机,其中一个always模块采用同步时序描述状态转移;另一个模块采用组合逻辑判断状态转移条件,描述状态转移规律以及输出;

现态:是指当前所处的状态。

次态:条件满足后要迁往的新状态。“次态”是相对于“现态”而言的,“次态”一旦被激活,就转变成新的“现态”了。

三段式:在两个always模块描述方法基础上,使用三个always模块,一个always模块采用同步时序描述状态转移,一个always采用组合逻辑判断状态转移条件,描述状态转移规律,另一个always模块描述状态输出

 

有限状态机(FSM):表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型

一段式写法:

二段式写法:

 

三段式写法:

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_40963883

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值