状态机设计 (2)ppt培训课件

上传人:aa****6 文档编号:54238925 上传时间:2018-09-10 格式:PPT 页数:53 大小:1.80MB
返回 下载 相关 举报
状态机设计 (2)ppt培训课件_第1页
第1页 / 共53页
状态机设计 (2)ppt培训课件_第2页
第2页 / 共53页
状态机设计 (2)ppt培训课件_第3页
第3页 / 共53页
状态机设计 (2)ppt培训课件_第4页
第4页 / 共53页
状态机设计 (2)ppt培训课件_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《状态机设计 (2)ppt培训课件》由会员分享,可在线阅读,更多相关《状态机设计 (2)ppt培训课件(53页珍藏版)》请在金锄头文库上搜索。

1、第 七 章 有限状态机设计,电信学院 张沛泓,教学目的及要求,本章重点介绍用VHDL设计不同类型有限状态机的方法,同时介绍EDA工具和设计实现中许多必须重点关注的问题,比如综合器优化、毛刺信号的克服、控制速度及状态编码方式等问题。通过对本章的学习,要求大家掌握Moore型和Mealy型状态机的设计方法。,第七章 有限状态机设计,一般有限状态机设计,Moore型有限状态机设计,Mealy型有限状态机设计,状态编码,非法状态处理,1,2,3,4,5,第七章 有限状态机设计,7.1 一般有限状态机设计,7.1.1 用户自定义数据类型定义语句,TYPE语句的用法如下:TYPE 数据类型名 IS 数据类

2、型定义 OF 基本数据类型;TYPE 数据类型名 IS 数据类型定义 ;,举例: TYPE st1 IS ARRAY (0 TO 15) OF STD_LOGIC; TYPE week IS (sun,mon,tue,wed,thu,fri,sat) ;,第七章 有限状态机设计,7.1 一般有限状态机设计,7.1.1 用户自定义数据类型定义语句,TYPE m_state IS ( st0,st1,st2,st3,st4,st5 ) ;SIGNAL present_state,next_state : m_state ;,TYPE BOOLEAN IS (FALSE,TRUE) ;,TYPE m

3、y_logic IS ( 1 ,Z ,U ,0 ) ;SIGNAL s1 : my_logic ;s1 = Z ;,SUBTYPE 子类型名 IS 基本数据类型 RANGE 约束范围;,SUBTYPE digits IS INTEGER RANGE 0 to 9 ;,第七章 有限状态机设计,7.1 一般有限状态机设计,7.1.1 用户自定义数据类型定义语句,7.1.2 为什么要使用状态机,第七章 有限状态机设计,7.1 一般有限状态机设计,7.1.1 用户自定义数据类型定义语句,7.1.2 为什么要使用状态机,7.1.3 一般有限状态机的设计,1. 说明部分,2. 主控时序进程,3. 主控组合

4、进程,4. 辅助进程,第七章 有限状态机设计,7.1 一般有限状态机设计,7.1.1 用户自定义数据类型定义语句,7.1.2 为什么要使用状态机,7.1.3 一般有限状态机的设计,1. 说明部分,ARCHITECTURE .IS TYPE FSM_ST IS (s0,s1,s2,s3); SIGNAL current_state, next_state: FSM_ST; .,第七章 有限状态机设计,7.1 一般有限状态机设计,7.1.1 用户自定义数据类型定义语句,7.1.2 为什么要使用状态机,7.1.3 一般有限状态机的设计,1. 说明部分,2. 主控时序进程,第七章 有限状态机设计,7.

5、1 一般有限状态机设计,7.1.1 用户自定义数据类型定义语句,7.1.2 为什么要使用状态机,7.1.3 一般有限状态机的设计,1. 说明部分,2. 主控时序进程,3. 主控组合进程,第七章 有限状态机设计,7.1 一般有限状态机设计,7.1.1 用户自定义数据类型定义语句,7.1.2 为什么要使用状态机,7.1.3 一般有限状态机的设计,1. 说明部分,2. 主控时序进程,3. 主控组合进程,4. 辅助进程,第七章 有限状态机设计,7.1 一般有限状态机设计,7.1.1 用户自定义数据类型定义语句,7.1.2 为什么要使用状态机,7.1.3 一般有限状态机的设计,【例7-1】 LIBRAR

6、Y IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY s_machine IS PORT(clk,reset: IN STD_LOGIC;state_inputs: IN STD_LOGIC_VECTOR(0 TO 1);comb_outputs: OUT INTEGER RANGE 0 TO 15); END s_machine; ARCHITECTURE behv OF s_machine ISTYPE FSM_ST IS (s0, s1, s2, s3); SIGNAL current_state, next_state: FSM_ST; BEGINRE

7、G: PROCESS (reset,clk),第七章 有限状态机设计,7.1 一般有限状态机设计,7.1.1 用户自定义数据类型定义语句,7.1.2 为什么要使用状态机,7.1.3 一般有限状态机的设计,BEGINIF reset = 1 THEN current_state comb_outputs= 5; IF state_inputs=“00“ THEN next_state=s0; ELSE next_state comb_outputs comb_outputs comb_outputs = 14;IF state_inputs=“11“ THEN next_state=s3; EL

8、SE next_state = s0; END IF; END case; END PROCESS; END behv;,第七章 有限状态机设计,7.1.1 用户自定义数据类型定义语句,7.1.2 为什么要使用状态机,7.1.3 一般有限状态机的设计,例8-1状态机的工作时序,7.1 一般有限状态机设计,第七章 有限状态机设计,7.1 一般有限状态机设计,7.1.1 用户自定义数据类型定义语句,7.1.2 为什么要使用状态机,7.1.3 一般有限状态机的设计,打开QuartusII状态图观察器,第七章 有限状态机设计,7.1 一般有限状态机设计,7.1.1 用户自定义数据类型定义语句,7.1.

9、2 为什么要使用状态机,7.1.3 一般有限状态机的设计,例8-1的状态图,第七章 有限状态机设计,一般有限状态机设计,Moore型有限状态机设计,Mealy型有限状态机设计,状态编码,非法状态处理,1,2,3,4,5,第七章 有限状态机设计,7.2 Moore型有限状态机设计,7.2.1 多进程有限状态机,ADC0809工作时序,第七章 有限状态机设计,7.2 Moore型有限状态机设计,7.2.1 多进程有限状态机,控制ADC0809采样状态图,第七章 有限状态机设计,7.2 Moore型有限状态机设计,7.2.1 多进程有限状态机,采样状态机结构框图,第七章 有限状态机设计,7.2 Mo

10、ore型有限状态机设计,7.2.1 多进程有限状态机,【例7-2】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY ADCINT ISPORT(D: IN STD_LOGIC_VECTOR(7 DOWNTO 0); -来自0809转换好的8位数据CLK, EOC : IN STD_LOGIC; - 状态机工作时钟,转换状态指示ALE: OUT STD_LOGIC; -8个模拟信号通道地址锁存信号START, OE : OUT STD_LOGIC; -转换开始信号,数据输出3态控制信号ADDA,LOCK0: OUT STD_LOGIC; -信号通道

11、最低位控制信号,观察数据锁存时钟Q: OUT STD_LOGIC_VECTOR(7 DOWNTO 0); -8位数据输出 END ADCINT; ARCHITECTURE behav OF ADCINT IS TYPE states IS (st0, st1, st2, st3,st4); -定义各状态子类型SIGNAL current_state, next_state: states :=st0;SIGNAL REGL : STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL LOCK : STD_LOGIC; - 转换后数据输出锁存时钟信号BEGIN ADDA= 1;-

12、当ADDA=0,模拟信号进入通道IN0;当ADDA=1,则进入通道IN1 Q = REGL; LOCK0 ALEALE ALE ALE ALE next_state = st0; END CASE ;END PROCESS COM ;,第七章 有限状态机设计,7.2 Moore型有限状态机设计,7.2.1 多进程有限状态机,REG: PROCESS (CLK) BEGINIF (CLKEVENT AND CLK=1) THENcurrent_state=next_state; END IF;END PROCESS REG;- 由信号current_state将当前状态值带出此进程:REG LA

13、TCH1: PROCESS (LOCK) - 此进程中,在LOCK的上升沿,将转换好的数据锁入BEGINIF LOCK=1 AND LOCKEVENT THEN REGL next_state next_state IF(EOC=1) THEN next_state next_state next_state next_state ALEALEALEALEALE ALE=0;START=0;LOCK=0; END CASE; END PROCESS COM2;,第七章 有限状态机设计,7.2 Moore型有限状态机设计,7.2.1 多进程有限状态机,ADC0809采样状态机工作时序,第七章 有

14、限状态机设计,7.2 Moore型有限状态机设计,7.2.1 多进程有限状态机,第七章 状态机设计,7.2.2 单进程Moore型有限状态机,【例7-4】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY MOORE1 ISPORT (DATAIN :IN STD_LOGIC_VECTOR(1 DOWNTO 0); CLK,RST: IN STD_LOGIC; Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); END MOORE1; ARCHITECTURE behav OF MOORE1 ISTYPE ST_TYPE IS (ST0, ST1, ST2, ST3,ST4); SIGNAL C_ST : ST_TYPE ;BEGIN PROCESS(CLK,RST) BEGIN IF RST =1 THEN C_ST = ST0 ; Q= “0000“ ;ELSIF CLKEVENT AND CLK=1 THEN,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号