有限状态机的vhdl优化设计new

有限状态机的vhdl优化设计new

ID:34651321

大小:347.74 KB

页数:5页

时间:2019-03-08

有限状态机的vhdl优化设计new_第1页
有限状态机的vhdl优化设计new_第2页
有限状态机的vhdl优化设计new_第3页
有限状态机的vhdl优化设计new_第4页
有限状态机的vhdl优化设计new_第5页
资源描述:

《有限状态机的vhdl优化设计new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、http://www.paper.edu.cn有限状态机的VHDL优化设计洪国玺,董辉大连海事大学信息工程学院,辽宁大连(116026)E-mail:guoxih@sina.com摘要:在数字逻辑设计中,会经常遇到设计状态机的问题。本文讨论了设计状态机应注意的事项,比较不同结构方式状态机的优缺点,给出了消除毛刺和优化设计的有效途径。关键词:有限状态机,VHDL,描述方式,毛刺1.引言当前以硬件描述语言为工具、逻辑器件为载体的系统设计越来越广泛。在设计中,状态机是最典型、应用最广泛的电路模块,其在运行速度的高效、执行时间的确定性和高可

2、靠性[1]方面都显现出强大的优势。状态机及其设计技术水平决定了系统设计的优劣。如何设计一个最优化的状态机是我们必须面对的问题。本文将详细讨论状态机编写的各个步骤对优化状态机所起到的作用。2.状态机的分类状态机由状态寄存器和组合逻辑电路构成,能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动作,完成特定操作的控制中心。状态机可以分为Moore型和Mealy型两种基本类型。设计时采用哪种方式的状态机要根据设计的具体情况决定,输出只由当前状态值决定则选用Moore型,输入信号和状态值共同决定输出则选用Mealy状态机。设计时

3、在结构上通常遵循一下几点:各模块只描述一个状态机;将无关逻辑减至最少;将状态寄存器从其他逻辑中分离出来[2]。3.状态值编码方式通常在设计状态机时,状态编码方式的选择是非常重要的,选得不好,可能会导致速度太慢或占用太多逻辑资源。实际设计中,必须考虑多方面因素选择最为合适的编码方式。3.1枚举类型定义状态值设计中状态机的状态值定义为枚举类型,综合时一般转化为二进制的序列,因此与二进制编码方式本质上是相同的。实际需要触发器的数目为实际状态的以2为底的对数。这种编码方式最为简单,综合后寄存器用量较少,剩余状态最少,其综合效率和电路速度在一

4、定程度上将会得到提高。但在状态转换过程中,状态寄存器的高位翻转和低位翻转时间是不一致的,这样就会出现过渡状态,若状态机的状态值更多的话,产生过渡状态的概率更大。因此适合复杂度较低的设计。3.2格雷码表示状态值格雷码编码,即相邻两个状态的编码只有一位不同,这使得采用格雷码表示状态值的状态机,可以较大程度上消除由传输延时引起的过渡状态。该方式使得在相邻状态之间跳转时,只有一位变化,降低了产生过渡状态的概率,但当状态转换有多种路径时,就无法保证状态跳转时只有一位变化。所以在一定程度上,格雷码-1-http://www.paper.edu.

5、cn编码是二进制的一种变形,总体思想是一致的。3.3“ONE-HOT”状态值编码One-hot编码方式是使用N个触发器来实现N个状态的状态机,每个状态都由一个触发器表示,在任意时刻,其中只有1位有效,该位也称为“hot”,触发器为‘1’,其余的触发器置‘0’。这种结构的状态机其稳定性优于一般结构的状态机,但是它占用的资源更多。其简单的编码方式简化了状态译码逻辑,提高了状态转换速度,适合于在FPGA中应用。3.4剩余状态与容错技术在状态机设计中,不可避免地会出现大量剩余状态。若不对剩余状态进行合理的处理,状态机可能进入不可预测的状态,

6、后果是对外界出现短暂失控或者始终无法摆脱剩余状态而失去正常功能。因此,对剩余状态的处理,即容错技术的应用是必须慎重考虑的问题。但是,剩余状态的处理要不同程度地耗用逻辑资源,因此设计者在选用状态机结构、状态编码方式、容错技术及系统的工作速度与资源利用率方面需要做权衡比较,以适应自己的设计要求。剩余状态的转移去向大致有如下几种:a)转入空闲状态,等待下一个工作任务的到来;b)转入指定的状态,去执行特定任务;c)转入预定义的专门处理错误的状态,如预警状态。对于前两种编码方式可以将多余状态做出定义,在以后的语句中加以处理。处理的方法有2种:

7、①在语句中对每一个非法状态都做出明确的状态转换指示;②利用others语句对未提到的状态作统一处理。对于One-hot编码方式其剩余状态数将随有效状态数的增加呈指数式剧增,就不能采用上述的处理方法。鉴于One-hot编码方式的特点,任何多于1个触发器为“1”的状态均为非法状态。因此,可编写一个检错程序,判断是否在同一时刻有多个寄存器为“1”,若有,则转入相应的处理程序。4.状态机的描述方法VHDL对不同的状态机有不同的描述方式,描述方式不同使得综合出来的门级网表也不同,因此必须根据数字电路的特性和可综合性选择相应的状态机描述方式。下

8、面以实践中激光测距仪中心控制器为例,介绍不同描述方法的设计,并给出仿真图。Ⅰ将整个状态机写到1个进程模块里,在该模块中既描述状态转移又描述状态的输入输出,称为一段式描述方法,即所谓的单进程状态机。其将组合逻辑和时序逻辑在一个进程中描述

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。