- 1、本文档共59页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[信息与通信]cpld状态机
3.10 状态机的VHDL设计 状态机: 状态机是一类很重要的时序电路,是许多数字系统设计中的重要组成部分,是数字电路的核心部件,是实现高效率、高可靠逻辑控制的重要途径。通俗讲,状态机就是事物存在状态的一种综合描述。 状态机的特点: 状态机克服了纯硬件数字系统顺序方式控制不灵活的缺点。 由于状态机的结构相对简单,设计方案相对固定,特别是可以定义符号化枚举类型的状态,这一切都为VHDL综合器尽可能发挥其强大的优化功能提供了有力条件。 状态机容易构成性能良好的同步时序逻辑模块,这对于对付大规模逻辑电路设计中的竞争冒险现象无疑是一个较好的选择。 与VHDL的其他描述方式相比,状态机的VHDL表述丰富多样,程序层次分明,结构清晰,易读易懂;在排错、修改和模块移植方面也有其独到的好处。 在高速运算和控制方面,状态机更有其巨大的优势。 高可靠性。 状态机的基本操作有两种: 状态机的内部状态转换。状态机的下一状态由状态译码器根据当前状态和输入条件决定。 产生输出信号序列。由输出译码器根据当前状态和输入条件决定。 用输入信号决定下一状态也称为转移。从一个状态转移到另一个状态成为控制定序,而决定下一状态的逻辑称为转移函数。 状态机的一般分类: 一、从信号的输出方式分摩尔状态机和米立状态机 摩尔状态机。输出只是当前状态值的函数,并且仅在时钟边沿到来时才发生变化。 米立状态机。输出是当前状态值、当前输出值和当前输入值的函数。 多数状态机都是同步的时序电路,由时钟信号触发状态的转换。 3.10.2一般状态机的设计(有限状态机) 时序进程.负责状态机运转和在时钟驱动下负责状态转换的进程。状态机是随外部时钟信号,以同步时序的方式工作的。因此状态机中必须包含一个对工作时钟信号敏感的进程,作为状态机的驱动泵。时钟CLK相当于这个驱动泵中电机的驱动功率电源。 组合进程:组合进程的任务是根据外部输入的控制信号(包括来自状态机外部的信号和来自状态机内部其他信号),和当前状态的状态值确定下一状态(next_state)的去向,即next_state的取值内容,以及确定对外输出或对内其他组合或时序进程输出控制信号的内容。 辅助进程:用于配合状态机工作的组合进程或时序进程。例如为了稳定输出设置的锁存器等。 根据图(a)所示的状态图,按照图(b)写出对应结构的VHDL有限状态机。 3.10.3 摩尔状态机的VHDL设计 从状态机的输出方式上分,有MOORE型和MEALY型两类状态机。从输出时序上看,前者属于同步输出状态机、而后者属于异步输出状态机,Mealy型状态机的输出是当前状态和所有输入信号函数,它的输出变化是立即发生的,不依赖于时钟同步。Moore型状态机的输出则仅为当前状态的函数,这类状态机的输入变化时还必须等待时钟的到来,时钟使状态发生变化时才导致输出的变化,所以比Mealy状态机要多等待一个时钟周期。 【例3.10.4】 基于状态机的ADC0809与SRAM6264的通信控制器的设计。图3.33是该控制器ADTOSRAM与ADC0809及SRAM6264接口示意图。 图3.33 ADTOSRAM与ADC0809及SRAM6264接口示意图 --VHDL源程序ADTOSRAM.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ADTOSRAM IS PORT( --ADC0809接口信号 DIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0); --0809转换数据输入口 CLK,EOC:IN STD_LOGIC; --CLK:状态机工作时钟;EOC:转换结束状态信号 RST:IN STD_LOGIC; --系统复位信号 ALE:OUT STD_LOGIC; --0809采样通道选择地址锁存信号 START:OUT STD_LOGIC; --0809采样启动信号,上升沿有效 OE:OUT STD_LOGIC; --转换数据输出使能,接0809的ENABLE(PIN 9) ADDA:OUT STD_LOCIC; --0809采样通道地址最低位 --SRAM 6264接口信号 CS:OUT STD_LOGIC; --6264片选控制信号,低电平有效 RD,WR:OUT STD_LOGIC;--
文档评论(0)