[转载][FPGA]有限状态机FSM学习笔记(二)
2015-12-23 10:22
525 查看
1. Mealy和Moore状态机的互换
对于给定的时序逻辑功能,可以用Mealy机实现,也可以用Moore机实现。根据Moore机比Mealy机输出落后一个周期的特性,可以实现两种状态机之间的转换。把Moore机转换为Mealy机的办法为,把次态的输出修改为对应现态的输出,同时合并一些具有等价性能的状态。把Mealy机转换为Moore机的办法是,把当前态的输出修改为对应次态的输出,同时添加一些状态。如图1所示,为把Mealy机状态图转化为Moore机状态图。![](http://images2015.cnblogs.com/blog/834417/201512/834417-20151223103321281-786598789.png)
图1 Mealy型机转换为Moore型机
如图1所示,把Mealy型机转换为Moore型机,只要把现时输出改变为下一时刻输出。对于状态A,有4个箭头指向它,表示在当前状态下有4个状态可以转换为下一状态的A;同时当前输出均为0,可以把0移入状态A内部,表示在Moore机中状态A的输出为0。同理,可以把0分别移位B/C状态。但对于状态D,有两个箭头指向且具有不同的输出值,需要把状态D分解成两个状态D1和D2(每个状态对应一个输出,当输出不同需要利用不同的状态表示,这即是Moore机具有更多状态的原因),得到完整的Moore机状态模型。
同理,若把上图的Moore机转换为Mealy机,只要把Moore机中下一状态的输出改变成Mealy机中当前状态的输出,由于D1/D2两状态处于A/C两状态之间,且相当于A/C节点之间的一个等效节点,可以把D1/D2两状态合并为一个状态。
2. 小结
Mealy机和Moore机实现的电路是同步时序逻辑电路的两种不同形式,它们之间不存在功能上的差异,并可以相互转换。Moore型电路有稳定的输出序列,而Mealy型电路的输出序列早Moore型电路一个时钟周期产生。在时序设计时,根据实际需要,结合两种电路的特性选择。对于时序电路中常见的计数器,因计数器状态已经固定不变,无论采用Mealy型还是Moore型电路,复杂度一样。
在时序电路设计中Mealy型和Moore型电路的选择原则是:当要求输出对输入快速响应及希望电路尽量简单时,选择Mealy型电路。当要求时序输出稳定,能接受输出序列晚一个周期,及选择Moore型电路不增加电路复杂性时,适宜选择Moore型电路。
相关文章推荐
- 别人网址指向自己的空间
- 提取不重复的整数
- bug调试大全
- 2. Redis 3.0.5 集群的命令、使用、维护
- 如何在Win10开始菜单中添加应用快捷方式?
- Spring定时任务的几种实现
- 利用反证法证明Nim Game中的定理(结论)
- ipv6 flow
- android的锁屏解锁
- Cache缓存类
- android状态栏一体化
- 电脑,我也敢拆了
- Windows10搭建PHP7开发环境
- js实现md5加密sha1加密等
- Linux服务器上监控网络带宽的18个常用命令
- 解决IE6-IE7下li上下间距问题
- 优秀产品经理(CEO)必须get的财税知识
- [置顶] 字符串转换数字(不使用任何类库)
- iOS学习之 播放gif动画
- C#获得服务,判断服务状态,启动服务