欢迎来到天天文库
浏览记录
ID:56069539
大小:132.50 KB
页数:10页
时间:2020-06-19
《状态机及其VHDL设计.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第7章 状态机及其VHDL设计容提要:有限状态机(FiniteStateMachine,简称FSM)是一类很重要的时序电路,是许多数字系统的核心部件,也是实时系统设计中的一种数学模型,是一种重要的、易于建立的、应用比较广泛的、以描述控制特性为主的建模方法,它可以应用于从系统分析到设计的所有阶段。有限状态机的优点在于简单易用,状态间的关系清晰直观。建立有限状态机主要有两种方法:“状态转移图”和“状态转移表”。标准状态机通常可分为Moore和Mealy两种类型。本章主要介绍了基于VHDL的常见有限状态机的类型、结构
2、、功能及表达方法,重点是如何有效地设计与实现。学习要求:了解状态机的基本结构、功能和分类,掌握有限状态机的一般设计思路与方法、状态机编码方案的恰当选取、Moore和Mealy状态机的本质区别及设计实现。关键词:状态机(StateMachine),Moore,Mealy,VHDL设计(VHDLDesign)7.1状态机的基本结构和功能7.2 一般状态机的VHDL设计7.2.1状态机的一般组成7.2.2状态机的编码方案7.3 摩尔状态机的VHDL设计7.4 米立状态机的VHDL设计7.1状态机的基本结构和功能状态机
3、的基本结构如图7.1所示。除了输人信号、输出信号外,状态机还包含一组寄存器记忆状态机的部状态。状态机寄存器的下一个状态及输出,不仅同输入信号有关,而且还与寄存器的当前状态有关,状态机可以认为是组合逻辑和寄存器逻辑的特殊组合。它包括两个主要部分:即组合逻辑部分和寄存器。组合逻辑部分又可分为状态译码器和输出译码器,状态译码器确定状态机的下一个状态,即确定状态机的激励方程,输出译码器确定状态机的输出,即确定状态机的输出方程。寄存器用于存储状态机的部状态。输出输入状态译码器状态寄存器状态图7.1 状态机的基本结构状态机
4、的基本操作有两种:1.状态机的部状态转换。状态机经历一系列状态,下一状态由状态译码器根据当前状态和输入条件决定。2.产生输出信号序列。输出信号由输出译码器根据当前状态和输入条件确定。用输入信号决定下一状态也称为“转移”。除了转移之外,复杂的状态机还具有重复和历程功能。从一个状态转移到另一状态称为控制定序,而决定下一状态所需的逻辑称为转移函数。在产生输出的过程中,根据是否使用输入信号可以确定状态机的类型。两种典型的状态机是米立(Mealy)状态机和摩尔(Moore)状态机。摩尔状态机的输出只是当前状态的函数,而米
5、立状态机的输出一般是当前状态和输入信号的函数。对于这两类状态机,控制定序都取决于当前状态和输入信号。大多数实用的状态机都是同步的时序电路,由时钟信号触发进行状态的转换。时钟信号同所有的边沿触发的状态寄存器和输出寄存器相连,使状态的改变发生在时钟的上升或下降沿。在数字系统中.那些输出取决于过去的输入和当前的输入的部分都可以作为有限状态机。有限状态机的全部“历史”都反映在当前状态上。当给FSM一个新的输入时,它就会产生一个输出。输出由当前状态和输入共同决定,同时FSM也会转移到下一个新状态,也是随着FSM的当前状态
6、和输入而定。FSM中,其部状态存放在寄存器中,下一状态的值由状态译码器中的一个组合逻辑——转移函数产生,状态机的输出由另一个组合逻辑——输出函数产生。建立有限状态机主要有两种方法:状态转移图(状态图)和状态转移表(状态表)。它们是等价的,相互之间可以转换。状态转移图 如图7.2所示,图中每个椭圆表示状态机的一个状态,而箭头表示状态之间的一个转换,引起转换的输入信号及当前输出表示在转换箭头上。摩尔状态机和米立状态机的表示方法不同,摩尔状态机的状态译码输出写在状态圈,米立状态机的状态译码输出写在箭头旁,如图7.3所
7、示。输入/出输入/出输入/出输入/出输入/出输入/出状态A状态B状态C状态D状态E 状态B01状态A00I/01状态A状态B图7.2状态转移图图7.3 摩尔和米立状态机如果能够写出FSM的状态转移图,就可以使用VHDL的状态机语句对它进行描述。状态转移表 形式如表7.1所示。表中的行列出了全部可能的输入信号组合和部状态以及相应的次状态和输出,因此状态表规定了状态机的转换函数和输出函数。然而,状态表不适合具有大量输入的系统,因为随着输入的增加其状态数和系统的复杂性会显著增加。表7.1状态转移表现态输入次态输出S0
8、-SnI0-ImS0-SnQ0-QP状态转移图、状态转移表这两种有限状态机的建立方法是等价的,都描述了同一硬件结构,它们可以相互转换,但各有优缺点,分别适合于不同场合。7.2 一般状态机的VHDL设计7.2.1状态机的一般组成用VHDL设计有限状态机方法有多种,但最一般和最常用的状态机设计通常包括说明部分,主控时序部分,主控组合部分和辅助进程部分。1)说明部分说明部分中使用TYPE语句
此文档下载收益归作者所有