第十一讲 有限状态机FSM

第十一讲 有限状态机FSM

ID:43808757

大小:668.00 KB

页数:25页

时间:2019-10-14

第十一讲 有限状态机FSM_第1页
第十一讲 有限状态机FSM_第2页
第十一讲 有限状态机FSM_第3页
第十一讲 有限状态机FSM_第4页
第十一讲 有限状态机FSM_第5页
资源描述:

《第十一讲 有限状态机FSM》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第十一讲有限状态机FSM1引言现代数字系统的设计中,一般都采用自顶向下的模块化设计方法。即从整个系统的功能出发,将系统分割成若干功能模块。在自顶向下划分的过程中,最重要的是将系统或子系统按计算机组成结构那样划分成控制器和若干个受控功能模块。受控部分通常是设计者们所熟悉的各种功能的电路,设计较为容易。主要任务是设计控制器,而其控制功能可以用有限状态机来实现。状态机作用:在时序电路中用来控制电路的状态变化。即在时钟节拍的控制下,电路按节拍执行一系列指定的状态(状态转移)。2传统的设计方法是首先绘制出控制器的状态图,并由此列出状态表,再合并消除状态表中的等价状态项。在完成状态寄

2、存器的分配之后,根据状态表求出次态及输出方程,最后画出设计原理图。这种设计方法设计的复杂状态机很繁杂。利用VHDL设计状态机,不需要进行繁琐的状态分配、绘制状态表和简化次态方程。设计者不必使用卡诺图进行逻辑化简,不必画电路原理图,也不必搭试硬件电路进行逻辑功能的测试,所有这些工作都可以通过EDA工具自动完成。3状态机的优点:1.结构模式及设计方案相对固定;2.易构建良好的同步时序模块,解决竞争冒险是上佳选择;3.程序层次分明,结构清晰,易读易懂,可移植性好;4.运行速度快,比CPU高出近两个数量级,在高速运算和控制方面,有着巨大的优势;5.可靠性高。如复位时间,与CPU相

3、比,复位时间短的多;由状态机构成的硬件系统广泛应用在一般CPU无法胜任的领域,如超高速串行或并行AD、DA的控制,硬件串行通信接口RS232、PS/2、USB的实现等45.1状态机设计相关语句---类型定义语句VHDL允许用户自行定义新的数据类型,主要由类型定义语句TPYE实现;TYPE数据类型名IS数据类型定义;TYPEm_stateIS(st0,st1,st2,st3,st4,st5);SIGNALpresent_state,next_state:m_state;st0、st1、……是属于枚举类型,是由一组文字符号表示的,而其中的每一文字都代表一个具体的数值;状态符号

4、化:在状态机的设计中,为了更利于阅读、编译和VHDL综合器的优化,将表征每一状态的二进制数用文字符号来代表;在综合过程中,枚举类型文字元素的编码通常由综合器自动设置,也可以由设计者来进行特殊设定。55.1状态机设计相关语句---状态机结构状态机的分类:从信号输出方式划分:Mealy型和Moore型;从结构上划分:单进程状态机和多进程状态机;从状态表达方式上划分:符号化状态机和确定状态编码的状态机;从编码方式上划分:顺序状态编码、一位热码编码或其他编码方式状态机。最一般和最常用的状态机通常包含说明部分、主控时序进程、主控组合进程、辅助进程61、说明部分说明部分中使用TYPE

5、语句定义新的数据类型,此数据类型为枚举型,其元素通常用状态机的状态名来定义;状态变量(如现态和次态)应定义为信号,便于信息传递,并将状态变量的数据定义为含有既定状态元素的新定义的数据类型;说明部分放在结构体的Architecture和Begin之间:ARCHITECTURE...ISTYPEFSM_STIS(s0,s1,s2,s3);SIGNALcurrent_state,next_state:FSM_ST;Begin……72、主控时序进程主控时序进程负责状态机运转和在时钟驱动下负责状态转换;状态机向下一状态(包括再次进入本状态)的转换仅取决于时钟信号的到来;当时钟的有效

6、跳变到来时,时序进程只是机械地将代表次态的信号nexe_state中的内容送入现态的信号current_state中,而nexe_state中的内容完全由其他进程根据实际情况来决定。一般状态机结构框图83、主控组合进程主控组合进程通过信号current_state进入相应的状态,并在此状态中根据外部的信号(指令)如state_inputs等向内或/向外发出控制信号,如comb_outputs,同时确定下一状态的走向,即向次态信号next_state中赋入相应的状态值。此状态值通过next_state传给时序进程,直至下一个时钟脉冲的到来在进入另一次的状态转换周期。主控组合

7、进程也可称为状态译码过程,负责根据外部输入的控制信号,执行特定的功能。辅助进程:辅助进程用于配合状态机工作的组合进程或时序进程。例如为了完成某种算法的进程,为了稳定输出设置的数据锁存器等。9……USEIEEE.STD_LOGIC_1164.ALL;ENTITYs_machineISPORT(clk,reset:INSTD_LOGIC;state_inputs:INSTD_LOGIC_VECTOR(0TO1);comb_outputs:OUTINTEGERRANGE0TO15);ENDs_machine;ARCHITECTURE

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

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

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