如何写好状态机1

列表内容

  标准的状态机分为摩尔状态机和米勒状态机两种。摩尔状态机的输出只与当前状态值有关,且只在时钟边沿

来时才会有状态变化。米勒状态机的输出不但与当前状态有关,而且与当前输入值有关,这一特点是其控
制和输出更加灵活,但同时也增加了设计的复杂度。

 时钟到达各个触发器的延时往往有差异(时钟歪斜),这种差异将直接导致状态机在状态转换时产生过度状态,当这种延时进一步加大时,将有可能导致状态机进入非法状态,这就是摩尔状态机的失效机理。对于弥勒状态机

而言,由于其任何时候的输出与输入有关,进入非法状态的可能性更大,其输出不与时钟同步,当状态机
译码比较复杂时容易产生大量毛刺,这种情况无法避免。但是,由于输入变化可能出现在时钟周期内的任
何时候,这就使得米勒状态机对输入的响应可以比摩尔状态机对输入的响应要早一个时钟周期。
摩尔型状态机的输出与时钟同步,可以在一定程度上剔除抖动,从稳定的角度上来讲,建议使用摩尔型状态机。
状态机的编码方式:
顺序编码:状态编码遵循传统的状态二进制序列。如:00,01,10,11
格雷码:除了相邻状态编码之间只有一个位变化外,其他和顺序编码类似。如:00,01,11,10
独热码:在状态机中为每一种状态分配一个触发器。只有一个触发器当前设置为有效,其余设置为无效。如:
0001,0010,0100,1000.
在状态转换时,状态寄存器可能存在各个位翻转时间不一致,就会出现过度状态!使用格雷码可以在
很大程度上消除由延时引起的过度状态。但是如果当一个状态到下一个状态有多种转换路径时,就不能保
机中某个状态跳转方向多于一个,此时谨慎使用格雷码,可以采用狂热码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值