Mealy和moore型状态机的主要区别

Stella981
• 阅读 541

状态机一般分为三种类型:
1、Moore型状态机:下一状态只由当前状态决定,即次态=f(现状,输入),输出=f(现状);
2、Mealy 型状态机:下一状态不但与当前状态有关,还与当前输入值有关,即次态=f(现状,输入),输出=f(现状,输入);
3、混合型状态机。

Moore型与Mealy型两种状态机的不同点在于:

Moore型状态机的输出信号是直接由状态寄存器译码得到,
而Mealy型状态机则是以现时的输入信号结合即将变成次态的现态,编码成输出信号。

Mooer状态机的输出只与当前的状态有关,也就是数当前的状态决定输出,而与此时的输入无关,输入只决定状态机的状态改变,不影响电路最终的输出。(注意:这里所说的输出不是状态机的状态机状态的输出,而是当前状态的所代表的含义,比如:检测110 序列的状态机,当状态机跳转到STA_GOT110时,电路会有一个输出信号,假如说是find,此时find就会为高电平,其他(状态时)时find就会为低电平。find 是我们最后电路的输出,find的值置于我们的转台机当前所处的状态有关,而与输出无关)。用一本书上的话说就是:Moore状态机的每一状态指定它的输出独立于电路的输入 。

Mealy状态机的输出不仅与当前的状态有关,还与当前的输出有关(同样,不要误认为状态机的输出只能是状态机的状态),即当前的输入和当前的状态共同决定当前的输入。

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
EA&UML日拱一卒
点击上方【面向对象思考】可快速关注本公众号!行为状态机概念以下内容摘自UML2,今天的内容是说明状态机具有上下文类目的情况。行为状态机可以用于定义下面的场景(不限于)主动类的类目行为一个行为化类目的除了类目行为以外的拥有行为。如果状态机有某种行为类目
Wesley13 Wesley13
3年前
UDT协议实现分析——UDT初始化和销毁
UDT协议是一个用于在高速Internet上传输大量数据的基于UDP的可靠传输协议。我们可以将UDT协议的实现看作一个比较复杂的状态机。更准确的说,是一个主状态机,外加多个子状态机。主状态机是指协议实现中全局唯一、全局共享的状态与数据结构,主要对应于CUDTUnited类。子状态机则是对于一次UDT连接或一个Listening的UDTServer的抽象
Wesley13 Wesley13
3年前
FPGA 高手养成记
来源:公众号【ZYNQ】ID  :FreeZynq整理:李肖遥本文目录1.前言2.状态机简介3.状态机分类Mealy型状态机Moore型状态机4.状态机描述一段式状态机二段式状态机三段式状态机
Wesley13 Wesley13
3年前
P1
通过本文,您的收获可能有:从课下部分,了解一些基本部件搭建时可能遇到的坑点,稍微深入一点理解两种状态机的区别;从课上测试部分,可以了解重点的考察内容,明白设计时状态机的类型在测试中的重要性。课下测试部分:课下测试主要考察了splitter的实现,ALU的实现,格雷码计数器的实现,扩位器的实现,以及合法表达式判别的有限状态机问题。本次课下部分比
Wesley13 Wesley13
3年前
verilog状态机控制led闪烁
一、功能用三段式状态机控制LED,按键,按下是0.5s闪烁一次,再次按按键A是1s闪烁。二、状态机转移图 !(https://images2018.cnblogs.com/blog/1107111/201809/1107111201809092215235051784921687.png)三、连线!(https://oscim
Wesley13 Wesley13
3年前
C语言中的状态机设计
本文不是关于软件状态机的最佳设计分解实践的教程。我将重点关注状态机代码和简单的示例,这些示例具有足够的复杂性,以便于理解特性和用法。背景大多数程序员常用的设计技术是有限状态机(FSM)。设计人员使用此编程结构将复杂的问题分解为可管理的状态和状态转换。有无数种实现状态机的方法。A switch语句提供了状态机最容易实现和最常见的版本之一。
Stella981 Stella981
3年前
Mina状态机快速上手
mina状态机是apache对状态机模式的一种非常巧妙的实现,它本身自带的录音机的例子(http://mina.apache.org/introductiontominastatemachine.html(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fmina.apache.org
Wesley13 Wesley13
3年前
DSL初探之“无状态”的状态机
最近在一个项目中,因为涉及很多状态的流转,我们选择使用状态机引擎来表达状态流转。因为状态机DSL(DomainSpecificLanguages)带来的表达能力,相比较于ifelse的代码,要更优雅更容易理解。另一方面,状态机很简单,不像流程引擎那么华而不实。一开始我们选用了一个开源的状态机引擎,但我觉得不好用,就自己写了一个能满足我们要求的简洁版
京东云开发者 京东云开发者
10个月前
玩转Spring状态机 | 京东云技术团队
说起Spring状态机,大家很容易联想到这个状态机和设计模式中状态模式的区别是啥呢?没错,Spring状态机就是状态模式的一种实现,在介绍Spring状态机之前,让我们来看看设计模式中的状态模式。1\.状态模式状态模式的定义如下:状态模式(StatePat
京东云开发者 京东云开发者
4个月前
玩转Spring状态机
说起Spring状态机,大家很容易联想到这个状态机和设计模式中状态模式的区别是啥呢?没错,Spring状态机就是状态模式的一种实现,在介绍Spring状态机之前,让我们来看看设计模式中的状态模式。1.状态模式状态模式的定义如下:状态模式(StatePatt