FPGA/数字IC之有限状态机:简介及其编码方式:顺序码、独热码与格雷码比较

目录

一、状态机的分类

二、状态机的优点与存在的问题

三、状态的编码方式

四、三种方式的比较


一、状态机的分类

标准状态机分为摩尔(Moore)状态机与米勒(Mealy)状态机。

摩尔状态机的输出只与当前状态有关,且只在时钟边沿到来时发生变化。

米勒状态机的输出不但与当前的状态有关,还和当前的输入有关,这一特点使其控制和输出更加灵活,但增加了设计的复杂性。

两种状态机的示意图如下:

二、状态机的优点与存在的问题

优点:状态机的优点显而易见,结构分明、易读易懂易排错,逻辑清晰。

缺点:两个状态转换时,容易出现过渡状态;运行过程中,可能进入非法状态;在一种器件上稳定工作,移植到另一种器件上可能结果不理想;占用资源过多。

状态机经综合工具综合后一般生成以触发器为核心的状态寄存器电路,所以状态机的稳定性也由此决定。假如时钟信号的上升沿到达各个触发器的时间严格一直,那么状态机会完美的在各个状态中切换,但由于实际工作时存在时钟歪斜,这就会导致状态切换时存在过渡状态,当延时大到一定程度,就可能会进入非法状态,就会导致状态机失效。

对于米勒状态机来说,由于输出与输入有关,所以当状态译码电路比较复杂的时候,很容易会在输出端产生毛刺,可能会造成难以预料的结果。

由于摩尔状态机输出与时钟同步,故可以在一定程度上消抖;而米勒状态机输出可以在时钟周期内的任意时刻,所以米勒状态机对输入的响应更快。

从稳定性的角度来看,更建议使用摩尔状态机。

三、状态的编码方式

顺序码:编码遵循传统的二进制码,如:00   01  10  11。 

格雷码:除了两个状态之间只有一位发生变化外,与顺序码类似,对应上面顺序码的编码为:00  01  11  10。

独热吗:在状态机中为每一种状态分配一个触发器。只有一个触发器当前设置为有效,其余设置均为无效,故称独热。对应上述编码为:0001  0010  0100 1000。

  • 6
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值