您好、欢迎来到现金彩票网!
当前位置:彩之网 > 状态机 >

状态机的其它

发布时间:2019-07-25 08:26 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  其中S0/0所代表的意思为现在是状态S0且输出为0,状态图最主要是将每个状态都给予一个编号,详细描述如下:

  表1 Moore状态表 现态 次态 输出输入 X=0 X=1X=0X=1S0 S0 S1 0 0S1 S1 S2 1 1S2 S3 S0 0 0S3 S0 S3 0 0状态表主要描述它与状态图的关系,再设计状态机电路是,需要先定义状态机的变量,定义状态机的变量时使用枚举类型来定义,如下范例所示:

  也是将四个State以二进制来编码,不过不同的是每次编码只会差一个位,其主要缺点是状态改变是要依序改变才可以,若状态不是依序是,则Gray编码不适用。

  独热码状态编码的特色为每一个状态均有自己的触发器,所以若有N个状态就也存在有N个触发器,在任一时刻只会有一组状态编码,缺点是会产生较大的电路,但是相对的使用独热码状态编码对帧错相当有帮助。

  三种格式之状态编码如表2所示。 状态 时序编码 Gray编码 One hot编码 S0 00 00 0001 S1 01 01 0010 S2 10 11 0100 S3 11 10 1000 从状态编码表可以看出时序编码和Gray编码均是用二个位来做编码,而以独热码作为编码方式则编码位增加至四个位,所以电路比其他两种编码方式都大一些。

  在设计状态机时,通常使用进程语句来描述状态机,其中进程语句又可以分为三种方式:

  一个为时序电路主要负责状态变量的更新,此进程为同步电路,而另一个进程语句主要是描述下次态变量和输出的更新。

  第一个进程主要负责状态变量的更新,第二个进程语句负责描述次态变量,而最后一个则是负责输出信号的更新。

  有了以上的初步观念,可以设计图1四个状态的Moore状态机。 首先根据之前的状态表编写VHDL程序如下所示:

  (2) 在50 ns时输入x为0且现态为1,在70 ns 时clk上升沿触发且x为1,则current_state会变成next_state s2; 接下来我们要介绍Mealy状态机,它和输入、输出、状态皆有关。它的状态图、状态表与Moore状态机都有所不同,输出会随输入变化而变化。如图5 所示。 0/0 图5:

  若现态为s0输入为0时,则次态为s0且输出为0;若现态为s0输入为1时,则次态为s1且输出为1。

http://pepdeco.com/zhuangtaiji/333.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有