我正在查看一些代码,并看到了关于"滞后"的脱离背景评论.我想我已经弄明白代码的作用,所以我的问题不涉及任何具体的问题.我根本不明白这个术语的含义或它在编程中的适用方式.我环顾四周,看到了一些数学定义,但想了解更多信息.据我所知,Hysteresis与根据过去X发生的事情预测或假设X的给定状态有关?
在C实现方面,Mealy和Moore状态机之间的区别是否有任何实际意义?通常会有什么不同?
很久以前,在RTL方面,我更容易理解Mealy/Moore的优缺点.整个输出取决于当前状态/输出取决于当前状态+当前输入差异是有意义的,因为在某些情况下Mealy可以用少1个状态制作也是有意义的.将时序图与每个FSM实现相关联也使它们之间的区别更加清晰.
假设我在C中制作状态机.在一种情况下,LUT取决于状态/电流输入(Mealy),而在Moore中,LUT只查找当前状态并返回下一个状态.在输出发生在LUT返回之后(我想,虽然我可能是错的).我没想到Mealy在用C编码时有明显的优势.代码可读性,速度,代码密度,设计简易等主题可能都是相关主题 - 从我的角度看,这两个模型看起来几乎相同.
也许这种差异只是学术界的一个主题 - 而在C实现中,差异可以忽略不计.如果你知道C状态机实现在Mealy和Moore之间的关键方式,并且如果有真正的优势(也很重要),我很想知道.我想强调一点 - 我不是在询问RTL实现.
我确实在这里看到了另一个Mealy/Moore帖子:Mealy v/s.穆尔
但这并不是我所寻求的解释水平.
以下引用句子的解释是什么UML Reference Manual?
When an orthogonal state is entered, the number of control threads
increases as a direct substate in each orthogonal region becomes
active.
When the orthogonal state is exited, the number of control
threads decreases.