第10讲有限状态机(moore型)的设计.ppt

上传人:本田雅阁 文档编号:3499895 上传时间:2019-09-04 格式:PPT 页数:23 大小:429.55KB
返回 下载 相关 举报
第10讲有限状态机(moore型)的设计.ppt_第1页
第1页 / 共23页
第10讲有限状态机(moore型)的设计.ppt_第2页
第2页 / 共23页
第10讲有限状态机(moore型)的设计.ppt_第3页
第3页 / 共23页
第10讲有限状态机(moore型)的设计.ppt_第4页
第4页 / 共23页
第10讲有限状态机(moore型)的设计.ppt_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《第10讲有限状态机(moore型)的设计.ppt》由会员分享,可在线阅读,更多相关《第10讲有限状态机(moore型)的设计.ppt(23页珍藏版)》请在三一文库上搜索。

1、第 10 讲 有限状态机(moore型) 设计,电子设计自动化技术,教 学 目 的,认识状态机及其特点 学习状态转移图的画法 掌握摩尔(MOORE)型状态机的VHDL设计法,1 什么是状态机 ?,有限状态机(简称状态机)相当于一个控制器,它将一项功能的完成分解为若干步,每一步对应于二进制的一个状态,通过预先设计的顺序在各状态之间进行转换,状态转换的过程就是实现逻辑功能的过程。,2 为什么使用状态机,有限状态机克服了纯硬件数字系统顺序方式控制不灵活的缺点。 状态机的结构模式相对简单。 状态机容易构成性能良好的同步时序逻辑模块。 状态机的VHDL表述丰富多样,结构清晰。 在高速运算和控制方面,状态

2、机更有其巨大的优势。 就可靠性而言,状态机的优势也是十分明显的。,3 状态机分类,根据输出信号产生的机理不同,状态机可以分成两类: 摩尔(Moore)型状态机-输出信号仅和状态有关 米勒(Mealy)型状态机-输出信号和状态、输入信号有关,用户定义的数据类型枚举,格式: TYPE 数据类型名 数据类型定义,枚举类型格式: TYPE 数据类型名 IS(元素1,元素2,);,例:TYPE week IS (sun,mon,tue,wed,thu,fri,sat); TYPE colour IS (red,green,blue);,枚举数据类型是一种特殊的数据类型,它是用文字符号来表示一组实际的二进

3、制数。,用户定义的数据类型枚举,VHDL语言中,许多常用的数据类型,都是采用枚举类型定义的,例:TYPE BOOLEAN IS (FALSE,TRUE); TYPE BIT IS (0, 1); TYPE std_ulogic IS ( U, - Uninitialized X, - Forcing Unknown 0, - Forcing 0 1, - Forcing 1 Z, - High Impedance W, - Weak Unknown L, - Weak 0 H, - Weak 1 - - Dont care );,4 Moore型状态机设计方法,摩尔型状态机的典型结构,4 Mo

4、ore型状态机设计方法,More型状态机输出仅和状态机的当前状态有关,与外部输入无关,即: 外部输出是内部状态的函数。 输入信号的变化决定当前状态的下一状态,即次态。,状态转移图描述方式:,例:设计一个序列检测器。要求检测器连续收到串行码1101后,输出检测标志1,否则输出0。,状态机设计步骤: 分析设计要求,列出全部可能状态; 画出状态转移图; 用VHDL语言描述状态机。,4 Moore型状态机设计方法,(1) 分析设计要求,列出全部可能状态: 未收到一个有效位(0) :S0 收到一个有效位(1) :S1 连续收到两个有效位(11) :S2 连续收到三个有效位(110) :S3 连续收到四个

5、有效位(1101) :S4,4 Moore型状态机设计方法,(2) 状态转移图:,1101,S0/0,S1/0,S2/0,S4/1,S3/0,1,1,0,1,0,1,0,1,0,0,4 Moore型状态机设计方法,4 Moore型状态机设计方法,(3)用VHDL语言描述状态机,定义状态机 枚举类型 状态转换描述 输出信号描述,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY moore IS PORT( clk, data:IN STD_LOGIC; zo :OUT STD_LOGIC); END moore;,实体设计,12.4 Moore型

6、状态机设计方法,ARCHITECTURE a OF moore IS TYPE STATE IS (S0,S1,S2,S3,S4); SIGNAL pstate :STATE; BEGIN PROCESS(clk) BEGIN IF (clkEVENT AND clk=1) THEN CASE pstate is WHEN S0= IF data=1 THEN pstate IF data=1 THEN pstate IF data=0 THEN pstate IF data=1 THEN pstate IF data=1 THEN pstate=S1; ELSE pstate=S0; END

7、 IF; END CASE; END IF; END PROCESS; zo=1 WHEN pstate=s4 ELSE 0; END a;,定义状态机,输出信号描述,状态转移描述,4 Moore型状态机设计方法,仿 真 波 形,4 Moore型状态机设计方法,练习:位于十字路口的交通灯,在A方向和B方向各有红、黄、绿三盏灯,每10秒变换一次。变换顺序如下表:,4 Moore型状态机设计方法,交通灯的全部状态及输出:,画出状态转移图:,S0 010100,12.4 Moore型状态机设计方法,S1 001100,S3 100001,S2 100010,LIBRARY IEEE; USE IEE

8、E.STD_LOGIC_1164.ALL; ENTITY jtd IS PORT( clk:IN STD_LOGIC; ZO:OUT STD_LOGIC_VECTOR(5 DOWNTO 0); END jtd;,实体设计,12.4 Moore型状态机设计方法,ZO=“010100” WHEN pstate=s0 ELSE “001100” WHEN pstate=s1 ELSE “100010” WHEN pstate=s2 ELSE “100001”; END a;,BEGIN PROCESS(clk) BEGIN IF (clkEVENT AND clk=1) THEN CASE psta

9、te is WHEN S0= pstate pstate pstate pstate=S0; END CASE; END IF; END PROCESS;,ARCHITECTURE a OF jtd IS TYPE STATE IS (S0,S1,S2,S3); SIGNAL pstate :STATE;,定义状态机,状态转换描述,输出信号描述,小 结,状态机容易构成性能良好的数字系统控制器; 状态机可以分为摩尔型和米勒型; 摩尔型状态机的输出只和状态机的状态有关; 米勒型状态机的输出和状态机的状态及输入信号有关; 状态机的设计步骤是分析状态、画状态转移图、VHDL描述 VHDL描述一般使用枚举类型定义状态机。,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1