状态机学习记录

本文回顾了有限状态机(FSM)中的Moore和Mealy类型,强调了理解状态机工作原理的重要性。作者通过Verilog代码示例对比了两者在输出决策上的差异,以及在实际应用中的考虑因素,如使用时序逻辑保持输出一致性。
摘要由CSDN通过智能技术生成

有限状态机FSM,今天又重新回顾了一下状态机,对Morre型状态机和Mealy型状态机有了重新认识,感觉以前学习就是囫囵吞枣,一点都不细致。要想真正掌握一门技术,要细扣,不放过任何一点疑问。

文章目录


前言

之前学习也只是了解到了概念,并没有理解实质,甚至连自己后面写的状态机是什么类型的都不知道,今天就深耕一下,写下这篇学习记录,以便之后自己回顾。

一、Moore型FSM

首先说moore型状态机——输出只与当前状态有关,个人理解,在某个状态下,专门设置输出信号,而进入这个状态,也是由某个输入信号决定的,但我们说是至于当前状态有关,因为只要进入了这个状态,输出就确定下来了。举个例子;序列检测10100,检测到该序列时,输出dout为1,其余情况输出dout为0;要进行这样的序列检测,其中一种方法就是用 状态机实现。

下图是verilog代码和仿真结果,可以看出,只有在状态s5的情况下,才会输出dout为1,其他情况,dout都为0;在S5的状态下,不管din输入为多少,都不影响dout的输出值。下面分别是输出为时序逻辑和输出为组合逻辑的代码;

 

 

可以看出,时序逻辑输出延迟一个时钟周期输出,组合逻辑在进入s5时立刻响应。 

二、Mealy型FSM

接下来看看mealy型状态机,mealy型状态机与当前状态和当前输入都有关;在状态为s4且输入为0的时候才dout才响应;

 


总结

在写FSM时,moore与mealy的最大区别就在判断输出的时候的条件,如何选择这两种没有和明确的规定,一般写状态机输出的时候,都是时序逻辑,为的是后续好处理,所以,不管是摩尔还是米莉,输出逻辑最好都打一拍。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值