第8讲有限状态机设计EDA课件.ppt

上传人(卖家):晟晟文业 文档编号:3861715 上传时间:2022-10-19 格式:PPT 页数:34 大小:593.51KB
下载 相关 举报
第8讲有限状态机设计EDA课件.ppt_第1页
第1页 / 共34页
第8讲有限状态机设计EDA课件.ppt_第2页
第2页 / 共34页
第8讲有限状态机设计EDA课件.ppt_第3页
第3页 / 共34页
第8讲有限状态机设计EDA课件.ppt_第4页
第4页 / 共34页
第8讲有限状态机设计EDA课件.ppt_第5页
第5页 / 共34页
点击查看更多>>
资源描述

1、第8讲有限状态机设计8.1有限状态机的优点及转移图描述8.2有限状态机的VHDL描述8.3有限状态机编码8.4有限状态机剩余状态码的处理8.5有限状态机设计实例8.1 有限状态机的优点及转移图描述有限状态机的优点及转移图描述8.1.1 有限状态机的优点有限状态机的优点有限状态机可以描述和实现大部分时序逻辑系统。用VHDL可以设计不同表达方式和不同实用功能的有限状态机,这些有限状态机的VHDL描述都具有相对固定的语句和程序表达方式。与基于VHDL的其他设计方案或者与使用CPU编制程序的解决方案相比,有限状态机都有其难以超越的优越性。(1)有限状态机是纯硬件数字系统中的顺序控制电路,具有纯硬件电路

2、的速度和软件控制的灵活性。(2)由于有限状态机的结构模式相对简单,设计方案相对固定,特别是可以定义符号化枚举类型的状态,这一切都为VHDL综合器尽可能发挥其强大的优化功能提供了有利条件。而且,性能良好的综合器都具备许多可控或自动的专门用于优化有限状态机的功能。(3)有限状态机容易构成性能良好的同步时序逻辑模块,这对于解决大规模逻辑电路设计中令人深感棘手的竞争冒险现象无疑是一个上佳的选择。为了消除电路中的毛刺现象,在有限状态机设计中有多种设计方案可供选择。(4)与VHDL的其他描述方式相比,有限状态机的VHDL表述丰富多样,程序层次分明,结构清晰,易读易懂,在排错、修改和模块移植方面也有其独到之

3、处。(5)在高速运算和控制方面,有限状态机更有其巨大的优势。由于在VHDL中,一个有限状态机可以由多个进程构成,一个结构体中可以包含多个有限状态机,而一个单独的有限状态机(或多个并行运行的有限状态机)以顺序方式所能完成的运算和控制方面的工作与一个CPU的功能类似。因此,一个设计实体的功能便类似于一个含有并行运行的多CPU的高性能系统的功能。应用VHDL设计有限状态机的具体步骤如下:(1)根据系统要求确定状态数量、状态转移的条件和各状态输出信号的赋值,并画出状态转移图。(2)按照状态转移图编写有限状态机的VHDL设计程序。(3)利用EDA工具对有限状态机的功能进行仿真验证。8.1.2 有限状态机

4、的转移图描述有限状态机的转移图描述根据输出与输入、系统状态的关系,有限状态机又可分为Moore型有限状态机和Mealy型有限状态机。Moore型有限状态机是指输出仅与系统状态有关,与输入信号无关的状态机。优点是将输入和输出分隔开。Mealy型有限状态机是指输出与系统状态和输入均有关系的有限状态机。通常采用转移图对有限状态机的功能进行描述。转移图是一种有向图,由圆表示有限状态机的状态,有向曲线表示系统的状态转移过程,有向线段的起点表示初始的状态,终点表示转移后的状态。对于Mealy型有限状态机在有向曲线段上的字符表示系统的输入和输出,用“/”分隔。对于Moore型有限状态机,通常在状态后标出输出

5、值,用“/”分隔,输入信号仍然在有向线段上标注。图8.1所示就是一个简单的Mealy型有限状态机的转移图。该有限状态机只有一位输入、一位输出,两个状态A1和A2,左侧绘制的指向A1的箭头表示系统的初始状态为A1;在A1的上方,绘制一个起点和终点都在A1上的有向曲线,以及曲线上的标注“1/0”表示,当状态为A1,输入信号为1时,有限状态机的状态不变,输出为0;由A1指向A2的标注为“0/1”的箭头表示,当系统状态为A1,输入为0时,系统状态变为A2,且输出为1。同理,由转移图可知,当系统处于A2状态时,输入为1时状态不变,输出为1;当输入为0时,状态变为A1,输出为0。对于比较复杂的有限状态机,

6、在有向箭头的标识上还可以添加字符说明。图8.2所示为一个Moore型有限状态机的转移图。图8.2所示的Moore型有限状态机只有一位输入、一位输出,两个状态A1和A2,左侧绘制的指向A1的箭头表示系统的初始状态为A1;标注“A1/1”表示处于状态A1时,输出为1;同理“A2/0”表示处于状态A2时,系统输出为0;在状态A1上方绘制的起点和终点均在A1上的有向曲线,以及曲线上的标注“1”表示,当状态为A1,输入信号为1时,有限状态机的状态不变;由A1指向A2的标注为“0”的箭头表示,当状态为A1,输入为0时,有限状态机的状态变为A2。当有限状态机处于A2状态时,如果输入为1,有限状态机的状态就会

7、变为A1。对于这种输出在0,1二值区间的Moore型有限状态机,一般称之为有限状态自动机,对于有限状态自动机还有另一种转移图的表示方法,即用双圆环表示输出为1的状态,并称之为接受状态。使用这种转移图画法后,图8.2所示的有限状态机可绘制为如图8.3所示的转移图。图8.3所示的有限状态自动机的转移图中状态A1为接受状态,用双圆环表示。8.2 有限状态机的有限状态机的VHDL描述描述用VHDL设计的有限状态机有多种形式:从有限状态机的信号输出方式上分:Mealy型和Moore型;从结构上分:单进程有限状态机和多进程有限状态机;从状态表达方式上分:符号化有限状态机和确定状态编码的有限状态机;从编码方

8、式上分:顺序编码有限状态机、一位热码编码有限状态机或其他编码方式的有限状态机。无论有限状态机属于何种类型,其结构均可分为状态说明、主控时序进程、主控组合进程和辅助进程几个部分。8.2.1 状态说明状态说明状态说明用于说明有限状态机可能的所有状态。根据有限状态机状态的编码方式的不同,有两种状态说明结构:一种是自动状态编码,这种编码方式不指定编码的具体顺序和方式,只是说明编码的个数以及名称,由综合器自动进行二进制编码,这种方式的VHDL描述比较简洁;另一种是指定状态编码,由设计者分别指定各个状态的二进制编码,采用这种编码方式后,可根据需要设置各个状态的编码,但状态说明的描述过程比较繁琐。采用自动状

9、态编码方式的状态说明部分的核心是用TYPE语句定义的新的描述状态的枚举数据类型,其元素都用状态机的状态名来定义。用来存储状态编码的状态变量应定义为信号,便于信息传递;并将状态变量的数据类型定义为含有既定状态元素的新定义的数据类型。说明部分一般放在结构体的ARCHITECTURE和BEGIN之间。例8.1ARCHITECTURE ISTYPE FSM_ST IS(A1,A2);SIGNAL cur_st,next_st:FSM_ST;采用指定状态编码方法的状态说明部分就比较繁琐,需要使用关键词“CONSTANT”一一列出指定的状态的二进制编码,用来存储状态编码的状态变量也应定义为信号,且类型必须

10、与状态编码的类型相同。例8.2ARCHITECTURE ISCONSTANT A1:STD_LOGIC:=1;CONSTANT A2:STD_LOGIC:=0;SIGNAL cur_st,next_st:STD_LOGIC;8.2.2 主控时序进程主控时序进程主控时序进程是负责有限状态机状态转化的进程。有限状态机是随外部时钟信号以同步时序方式工作的,即保证在时钟发生有效跳变时,有限状态机的状态才发生变化。一般地,主控时序进程负责系统的初始和复位的状态设置,不负责下一状态的具体状态取值。例8.3PROCESS(reset,clk)BEGIN IF (reset=1 )THEN cur_st=st

11、1;ELSIF (clk=1 AND clkevent)THEN cur_st IF(inputs=1)THEN output=0;next_st=A1;ELSE output=1;next_st IF(inputs=1)THEN output=1;next_st=A2;ELSE output=0;next_st next_st=st0;其中next_st是编码变量,st0是初始状态编码。这种方式适用于采用符号编码的有限状态机。8.5 有限状态机设计实例有限状态机设计实例本节将通过控制ADC0809进行AD采样的有限状态机的实例设计完整地介绍有限状态机的设计过程。ADC0809是CMOS的8位

12、A/D转换器,片内有8路模拟开关,可控制8个模拟量中的一个进入转换器中。ADC0809的精度为8位,转换时间约100 s,含锁存控制的8路多路开关,输出由三态缓冲器控制,单5 V电源供电。ADC0809的转换过程时序如图8.4所示。图8.4 ADC0809的转换过程时序START是转换启动信号,高电平有效ALE是3位通道选择地址(ADDC、ADDB、ADDA)信号的锁存信号,当模拟量送至某一输入端(如IN1或IN2等)后,由3位地址信号选择,而地址信号由ALE锁存EOC是转换情况状态信号,当启动转换约100 s后,EOC产生一个负脉冲,以示转换结束;在EOC的上升沿后,若使输出使能信号OE为高

13、电平,则控制打开三态缓冲器,把转换好的8位数据结果输送至数据总线。根据ADC0809的转换时序,控制ADC0809的状态机中共设置了7个状态,计为“st0st6”,这7个状态在时序图中的位置如图8.5所示。图8.5 有限状态机的7个状态在时序图中的位置图8.6 状态转移图根据转换时序,控制A/D转换的有限状态机中仅有一个输入信号“EOC”,有四个输出信号,分别是“ale”、“start”、“oe”和“lock_data”,其中“lock_data”是输出数据锁存信号。这些输出信号的值仅与状态机所处的状态有关,故采用Moore型有限状态机,绘制如图8.6所示的状态转移图。由于输出的信号不止一位,因此在有限状态机的转移图中按照“start”、“ale”、“oe”和“lock”的次序列出每个状态的输出。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第8讲有限状态机设计EDA课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|