好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

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

23页
  • 卖家[上传人]:hs****ma
  • 文档编号:577199786
  • 上传时间:2024-08-21
  • 文档格式:PPT
  • 文档大小:429.54KB
  • / 23 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第第 10 讲讲 有限状态机有限状态机(moore型型) 设计设计电子设计自动化技术 教教 学学 目目 的的 l 认识状态机及其特点认识状态机及其特点l 学习状态转移图的画法学习状态转移图的画法l 掌握摩尔(掌握摩尔(MOORE)型状态机的)型状态机的VHDL设计法设计法 1 什么是状态机什么是状态机 ?? 有限状态机有限状态机(简称状态机简称状态机)相当于一个控制器,相当于一个控制器,它将一项功能的完成分解为若干步,每一步对应它将一项功能的完成分解为若干步,每一步对应于二进制的一个状态,通过预先设计的顺序在各于二进制的一个状态,通过预先设计的顺序在各状态之间进行转换,状态转换的过程就是实现逻状态之间进行转换,状态转换的过程就是实现逻辑功能的过程辑功能的过程 2 为什么使用状态机为什么使用状态机 l 有限状态机克服了纯硬件数字系统顺序方式控制不灵有限状态机克服了纯硬件数字系统顺序方式控制不灵活的缺点活的缺点l 状态机的结构模式相对简单状态机的结构模式相对简单l 状态机容易构成性能良好的同步时序逻辑模块状态机容易构成性能良好的同步时序逻辑模块。

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

      文字符号来表示一组实际的二进制数 用户定义的数据类型用户定义的数据类型——枚举枚举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 '-' -- Don't care ); 4 Moore型状态机型状态机设计设计方法方法摩尔型状态机的典型结构 4 Moore型状态机设计方法型状态机设计方法 More型状态机输出仅和状态机的当前型状态机输出仅和状态机的当前状态有关,与外部输入无关,即状态有关,与外部输入无关,即: 外部输出是内部状态的函数。

      外部输出是内部状态的函数 输入信号的变化决定当前状态的下一状输入信号的变化决定当前状态的下一状态,即次态态,即次态状态转移图描述方式:状态转移图描述方式:Si/ZOiData_INi 例:设计一个序列检测器要求检测器连续收到例:设计一个序列检测器要求检测器连续收到串行码串行码{1101}{1101}后,输出检测标志后,输出检测标志1 1,否则输出,否则输出0 0状态机设计步骤:状态机设计步骤: ① ① 分析设计要求,列出全部可能状态;分析设计要求,列出全部可能状态; ② ② 画出状态转移图;画出状态转移图; ③ ③ 用用VHDLVHDL语言描述状态机语言描述状态机4 Moore型状态机设计方法型状态机设计方法 ((1 1)) 分析设计要求,列出全部可能状态分析设计要求,列出全部可能状态: : 未收到一个有效位(未收到一个有效位(0 0) ) ::S0S0 收到一个有效位(收到一个有效位(1 1))::S1S1 连续收到两个有效位(连续收到两个有效位(1111))::S2S2 连续收到三个有效位(连续收到三个有效位(110110))::S3 S3 连续收到四个有效位(连续收到四个有效位(11011101))::S4S44 Moore型状态机设计方法型状态机设计方法 ((2 2)) 状态转移图状态转移图: : 1101S0/0S1/0S2/0S4/1S3/01101010100Si/ZOiData_INi4 Moore型状态机设计方法型状态机设计方法 4 Moore型状态机设计方法型状态机设计方法((3)用)用VHDL语言描述状态机语言描述状态机l 定义状态机定义状态机— 枚举类型枚举类型l 状态转换描述状态转换描述l 输出信号描述输出信号描述 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY moore ISPORT(( clk, data::IN STD_LOGIC; zo:OUT STD_LOGIC);END moore; 实体设计实体设计12.4 Moore型状态机设计方法型状态机设计方法 ARCHITECTURE a OF moore ISTYPE STATE IS (S0,S1,S2,S3,S4);SIGNAL pstate :STATE;BEGIN PROCESS(clk) BEGIN IF (clk’EVENT AND clk=‘1’) THEN CASE pstate is WHEN S0=> IF data=‘1’ THEN pstate<=S1; ELSE pstate<=S0; END IF; WHEN S1=> IF data=‘1’ THEN pstate<=S2; ELSE pstate<=S0; END IF; WHEN S2=> IF data=‘0’ THEN pstate<=S3; ELSE pstate<=S2; END IF; WHEN S3=> IF data=‘1’ THEN pstate<=S4; ELSE pstate<=S0; END IF;WHEN S4=> IF data=‘1’ THEN pstate<=S1; ELSE pstate<=S0; END IF; END CASE; END IF; END PROCESS; zo<=‘1’ WHEN pstate=s4 ELSE ‘0’;END a; 定义状态机定义状态机输出信号描述输出信号描述状态转移描述状态转移描述 4 Moore型状态机设计方法型状态机设计方法仿仿 真真 波波 形形 4 Moore型状态机设计方法型状态机设计方法练习:练习:位于十字路口的交通灯,在位于十字路口的交通灯,在A A方向和方向和B B方向方向各有红、黄、绿三盏灯,每各有红、黄、绿三盏灯,每1010秒变换一次。

      变换秒变换一次变换顺序如下表:顺序如下表:A方向方向B方向方向绿绿红红黄黄红红红红绿绿红红黄黄 4 Moore型状态机设计方法型状态机设计方法交通灯的全部状态及输出:交通灯的全部状态及输出:状态状态A方向方向(红绿黄)(红绿黄)B方向方向(红绿黄)(红绿黄)状态状态A方向方向(红绿黄)(红绿黄)B方向方向(红绿黄)(红绿黄)S00 1 01 0 0S10 0 11 0 0S21 0 00 1 0S31 0 00 0 1 画出状态转移图画出状态转移图: : S0————01010012.4 Moore型状态机设计方法型状态机设计方法S1————001100S3————100001S2————100010 LIBRARY IEEE;USE IEEE.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 (clk’EVENT AND clk=‘1’) THEN CASE pstate is WHEN S0=> pstate<=S1;WHEN S1=> pstate<=S2;WHEN S2=> pstate<=S3; WHEN S3=> pstate<=S0; END CASE; END IF; END PROCESS;ARCHITECTURE a OF jtd ISTYPE STATE IS (S0,S1,S2,S3);SIGNAL pstate :STATE;定义状态机定义状态机状态转换描述状态转换描述输出信号描述输出信号描述 小小 结结« 状态机容易构成性能良好的数字系统控制器;状态机容易构成性能良好的数字系统控制器;« 状态机可以分为摩尔型和米勒型;状态机可以分为摩尔型和米勒型;« 摩尔型状态机的输出只和状态机的状态有关;摩尔型状态机的输出只和状态机的状态有关;« 米勒型状态机的输出和状态机的状态及输入信号有关;米勒型状态机的输出和状态机的状态及输入信号有关;« 状态机的设计步骤是分析状态、画状态转移图、状态机的设计步骤是分析状态、画状态转移图、VHDL描述描述«VHDL描述一般使用枚举类型定义状态机。

      描述一般使用枚举类型定义状态机。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.