CPLD技术应用_第1页
CPLD技术应用_第2页
CPLD技术应用_第3页
CPLD技术应用_第4页
CPLD技术应用_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、CPLDCPLD技术应用技术应用第第 八八 讲讲 有限状态机的设计有限状态机的设计教教 学学 目目 的的 l 认识状态机及其特点认识状态机及其特点l 学习状态转移图的画法学习状态转移图的画法l 掌握摩尔(掌握摩尔(MOORE)型状态机的)型状态机的VHDL设计法设计法l 掌握米勒(掌握米勒(MEALY)型状态机的)型状态机的VHDL设计法设计法8.1 什么是状态机什么是状态机 有限状态机有限状态机(简称状态机简称状态机)相当于一个控制器,它将相当于一个控制器,它将一项功能的完成分解为若干步,每一步对应于二一项功能的完成分解为若干步,每一步对应于二进制的一个状态,通过预先设计的顺序在各状态进制的

2、一个状态,通过预先设计的顺序在各状态之间进行转换,状态转换的过程就是实现逻辑功之间进行转换,状态转换的过程就是实现逻辑功能的过程。能的过程。8.2 为什么使用状态机为什么使用状态机 l 有限状态机克服了纯硬件数字系统顺序方式控制不灵有限状态机克服了纯硬件数字系统顺序方式控制不灵活的缺点。活的缺点。l 状态机的结构模式相对简单。状态机的结构模式相对简单。l 状态机容易构成性能良好的同步时序逻辑模块。状态机容易构成性能良好的同步时序逻辑模块。l 状态机的状态机的VHDL表述丰富多样。表述丰富多样。l 在高速运算和控制方面,状态机更有其巨大的优势。在高速运算和控制方面,状态机更有其巨大的优势。l 就

3、可靠性而言,状态机的优势也是十分明显的。就可靠性而言,状态机的优势也是十分明显的。8.3 状态机分类状态机分类 根据输出信号产生的机理不同,状态机可以分成两类:根据输出信号产生的机理不同,状态机可以分成两类:l摩尔摩尔(Moore)型状态机型状态机-输出信号仅和状态有关输出信号仅和状态有关l米勒米勒(Mealy)型状态机型状态机-输出信号和状态与输入信号有关输出信号和状态与输入信号有关8.4 Moore型状态机设计方法型状态机设计方法 More型状态机输出仅和存储电路的状型状态机输出仅和存储电路的状态有关,与外部输入无关,即态有关,与外部输入无关,即: 外部输出是内部状态的函数。外部输出是内部

4、状态的函数。状态转移图描述方式:状态转移图描述方式:Si/ZOiData_INi例:设计一个序列检测器。要求检测器连续收到例:设计一个序列检测器。要求检测器连续收到串行码串行码11011101后,输出检测标志后,输出检测标志1 1,否则输出,否则输出0 0。状态机设计步骤:状态机设计步骤: 分析设计要求,列出全部可能状态;分析设计要求,列出全部可能状态; 画出状态转移图;画出状态转移图; 用用VHDLVHDL语言描述状态机。语言描述状态机。8.4 Moore型状态机设计方法型状态机设计方法 (1 1) 分析设计要求,列出全部可能状态分析设计要求,列出全部可能状态: : 未收到一个有效位(未收到

5、一个有效位(0 0):S0S0 收到一个有效位(收到一个有效位(1 1):S1S1 连续收到两个有效位(连续收到两个有效位(1111):S2S2 连续收到三个有效位(连续收到三个有效位(110110):S3 S3 连续收到四个有效位(连续收到四个有效位(11011101):S4S48.4 Moore型状态机设计方法型状态机设计方法(2 2) 状态转移图状态转移图: : 1101S0/0S1/0S2/0S4/1S3/01101010100Si/ZOiData_INi8.4 Moore型状态机设计方法型状态机设计方法8.4 Moore型状态机设计方法型状态机设计方法(3)用)用VHDL语言描述状态

6、机语言描述状态机n说明部分说明部分:主要是设计者使用TYPE语句定义新的数据类型,如: TYPE states IS (st0, st1, st2, st3, st4, st5); SIGNAL present_state, next_state: states;n主控时序逻辑部分主控时序逻辑部分:任务是负责状态机运转和在外部时钟驱动下实现内部状态转换的进程。时序进程的实质是一组触发器,因此,该进程中往往也包括一些清零或置位的输入控制信号,如Reset信号。n主控组合逻辑部分主控组合逻辑部分:任务是根据状态机外部输入的状态控制信号(包括来自外部的和状态机内部的非进程的信号)和当前的状态值cur

7、rent_state来确定下一状态next_state的取值内容,以及对外部或对内部其他进程输出控制信号的内容。n辅助逻辑部分辅助逻辑部分:辅助逻辑部分主要是用于配合状态机的主控组合逻辑和主控时序逻辑进行工作,以完善和提高系统的性能。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY moore ISPORT( clk, data:IN STD_LOGIC; zo:OUT STD_LOGIC);END moore; ARCHITECTURE a OF moore ISTYPE STATE IS (S0,S1,S2,S3,S4);SIGNAL curr

8、ent_state,next_state :STATE;BEGIN p1: PROCESS(clk) BEGIN IF (clkEVENT AND clk=1) THEN current_state IF data=1 THEN next_state=S1; ELSE next_state IF data=1 THEN next_state=S2; ELSE next_state IF data=0 THEN next_state=S3; ELSE next_state IF data=1 THEN next_state=S4; ELSE next_state IF data=1 THEN n

9、ext_state=S1; ELSE next_state=S0; END IF; END CASE;IF current=s4 then Z0=1; END PROCESS p2; END a; 输出信号描述输出信号描述状态转移描述状态转移描述8.4 Moore型状态机设计方法型状态机设计方法仿仿 真真 波波 形形8.4 Moore型状态机设计方法型状态机设计方法练习:练习:位于十字路口的交通灯,在位于十字路口的交通灯,在A A方向和方向和B B方向方向各有红、黄、绿三盏灯,每各有红、黄、绿三盏灯,每1010秒变换一次。变换秒变换一次。变换顺序如下表:顺序如下表:A方向方向B方向方向绿绿红红

10、黄黄红红红红绿绿红红黄黄8.4 Moore型状态机设计方法型状态机设计方法交通灯的全部状态及输出:交通灯的全部状态及输出:状态状态A方向方向(红绿黄)(红绿黄)B方向方向(红绿黄)(红绿黄)状态状态A方向方向(红绿黄)(红绿黄)B方向方向(红绿黄)(红绿黄)S00 1 01 0 0S10 0 11 0 0S21 0 00 1 0S31 0 00 0 1 画出状态转移图画出状态转移图: : S00101008.4 Moore型状态机设计方法型状态机设计方法S1001100S3100001S2100010LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY

11、 jtd IS PORT( clk:IN STD_LOGIC;ZO:OUT STD_LOGIC_VECTOR(5 DOWNTO 0);END jtd; 实体设计实体设计8.4 Moore型状态机设计方法型状态机设计方法 ZO pstate pstate pstate pstate IF data=1 THEN pstate=S1; ELSE pstate=S0; END IF; zo IF data=1 THEN pstate=S2; ELSE pstate=S0; END IF; zo IF data=1 THEN pstate=S2; ELSE pstate=S3; END IF; zo IF data=1 THEN pstate=S4; zo=1; ELSE pstate=S0; zo IF data=1 THEN pstate=S1; ELSE pstate=S0; END IF; zo=0; END CASE; END IF; END PROCESS;END a; Mealy型型状态机描述状态机描述小小 结结 状态机容易构成性能良好的数字系统控制器;状态机容易构成性能良好的数字系统控制器; 状态机可以分为摩尔型和米勒型;状态机可以分为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论