- 1、本文档共80页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电子设计自动化第五章 状态机
第五章 有限状态机设计 第一节 一般状态机的设计 一、 1、数据类型定义语句 子类型SUBTYPE的语句格式如下: SUBTYPE 子类型名 IS 基本数据类型 RANGE 约束范围; SUBTYPE digits IS INTEGER RANGE 0 to 9 ; 2、枚举类型 枚举类型是用文字符号来表示一组实际的二进制数。 TYPE m_state IS (s0,s1,s2,s3); SIGNAL current_state, next_state: m_state ; 二、有限状态机的优越性 ? 有限状态机克服了纯硬件数字系统顺序方式控制不灵活的缺点。 ? 状态机的结构模式相对简单。 ? 状态机容易构成性能良好的同步时序逻辑模块。 ? 状态机的VHDL表述丰富多样。 ? 在高速运算和控制方面,状态机更有其巨大的优势。 ? 就可靠性而言,状态机的优势也是十分明显的。 三、一般状态机的设计 最常用的状态机通常包含说明部分、主控时序进程、主控组合进程、辅助进程几部分。 (1)说明部分 完成对新数据类型(状态类型,即状态名)和状态变量的定义 TYPE STATE IS (IDLE,DECISION,READ,WRITE) --枚举状态类型 SIGNAL PRESENT_STATE,NEXT_STATE:STATE ; --定义信号 (2)主控时序进程 完成当前状态向下一个的跃迁,但不负责进入下一状态的具体状态取值,只是在时钟沿到来时,当前状态进入下一个状态。 在这一部分也可完成同步或异步清零或置位方面的控制信号。 (3)主控组合进程 根据外部输入的控制信号(包括来自状态机的外部信号和来自状态机内部其它非主控的组合或时序进程的信号)、或(和)当前状态的状态值确定下一状态的取向,以及确定对外输出或对内部其它组合或时序进程输出控制信号的内容。 (4)辅助进程:用于配合状态机工作的其他组合进程和时序进程。 状态机的建立过程 一、利用可枚举的状态类型定义信号 TYPE STATE IS (IDLE,DECISION,READ,WRITE) --枚举状态类型 SIGNAL PRESENT_STATE,NEXT_STATE:STATE TYPE --定义信号 二、建立状态机的主控时序进程和主控组合进程 主控时序进程完成进程的跃迁,主控组合进程定义状态的转移方向和输出。由于次态是现态及输入信号的函数,所以状态均为进程的敏感信号。 STATE_COMB: PROCESS (PRESENT_STATE,READ,WRITE,IDLE) BEGIN END PROCESS STATE_COMB; 三、在主控组合进程中定义状态的转移 在进程中插入CASE WHEN 语句,因为空闲语句是状态的起点和终点,因此,作为WHEN 之后的第一项,再列出状态转移到其他状态的条件,即可写出状态转移的流程。 第二节 Moore型有限状态机的设计 从状态机的信号输出方式分:Moore型和Mealy型两类状态机。从输出时序上看,前者属于同步输出状态机,后者属于异步输出状态机。 Mealy型状态机的输出是当前状态和所有输入信号的函数,它的输出是在输入变化后立即发生的,不依赖时钟的同步。 Moore型状态机的输出仅为当前状态的函数,这类状态机在输入发生变化后还必须等待时钟的到来,时钟使状态发生变化时才导致输出的变化所以比Mealy型状态机要多等待一个时钟周期。 一、三进程有限状态机 以A/D采样控制器的设计为例 1、应用状态机设计控制器方法简述 (1)分析控制器设计指标,建立系统算法模型图; (2)分析被控对象的时序状态,确定控制器有限状态机的各个状态,及输入/输出条件; (3)应用VHDL语言完成描述。 2、 AD0809采样控制器的设计 ADC0809为单极性输入,8位转换逐次逼近A/D转换器,可对0~5V的INT0~INT7的8路模拟信号分时进行转换,完成一次转换的时间约为100微秒。 其中D7~D0为A/D变换数据输出;ADD-CBA为8路通道选择地址;START信号是转换启动信号,上升沿有效;EOC为状态结束标志,低电平转为高电平时转换结束;OE为数据输出允许信号,高电平有效; ALE为地址锁存允许信号;LOCK为数据锁存信号。 在转换开始前,ADC0809需要在ALE上升沿控制下,将3位8路通道选择地址锁入锁存器,以确定转换信号通道;然后在时钟的下降沿产生START信号启动转换,这时ADC0809的EOC信号由高电平转为低电平,开始数据转换,直到EOC信号低电平转为
文档评论(0)