四、VHDL程序实例.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
四、VHDL程序实例

第四章 VHDL程序设计实例 组合逻辑电路的设计 组合逻辑电路:输出值只与当前的输入值有关,即输出惟一地由当时的输入值决定。VHDL程序设计举例(见VHDL实例演示程序): 与非门 加法器 编码器 译码器 数据选择器 练习题:异或门、数据分配器 时序逻辑电路的设计 时序逻辑电路:具有记忆功能,输出不仅取决于当前的输入值,而且还与电路原来的状态有关。VHDL程序设计举例(见VHDL实例演示程序): D触发器 寄存器 移位寄存器 计数器 练习题:锁存器 第三节 有限状态机的设计 一、概述 状态机理论的应用范围非常广泛,无论是在数字电路设计领域,还是在软件设计领域,都占据很重要的地位。在软件设计领域,状态机是一种重要的软件设计思想,而在数字电路设计领域,状态机可看作一种实现系统控制的时序逻辑电路。本节介绍的是数字电路设计领域的状态机,介绍有限状态机的基本概念、基本结构及其VHDL描述。 大部分数字电子系统由控制单元和数据单元组成,而控制单元的主体一般是有限状态机(Finite State Machine,简称FSM),它根据外部信号和数据单元产生的状态信息,产生各种控制信号来进行数据处理。 状态机是实现逻辑控制的重要途径,每个控制步骤可以看作一种状态,与每一控制步骤相关的转移条件指定了状态转移方向。状态机能够根据转移条件,按照预先设定的状态进行状态转移,从而完成特定的系统控制工作。 状态机的优越性: ? 设计方案相对固定,结构模式简单。 ? 状态机的VHDL描述层次分明,结构清晰,易读易懂。 ? 状态机容易构成性能良好的同步时序逻辑模块(同步时序逻辑是在同一个时钟脉冲控制下改变状态)。 ? 在高速运算和控制方面,状态机具有巨大的优势。 使用VHDL设计状态机时,一个结构体可以包含多个状态机,而一个单独的状态机完成的运算和控制方面的工作与一个CPU类似。因此,一个设计实体的功能类似于一个含有并行运行的多CPU的高性能微处理器的功能。 ? 基于有限状态机技术设计的控制器其工作速度大大优于CPU。 尽管CPU和状态机都是按照时钟节拍以顺序时序方式工作的,但CPU是按照指令周期,以逐条执??指令的方式运行的;每执行一条指令,通常只能完成一项简单的操作,而一个指令周期须由多个机器周期构成,一个机器周期又由多个时钟节拍构成;相比之下,状态机状态变换周期只有一个时钟周期,而且,由于在每一状态中,状态机可以完成许多并行的运算和控制操作。一般由状态机构成的硬件系统比CPU所能完成同样功能的软件系统的工作速度要高出三至四个数量级。 二、基本结构 时钟、复位 反馈 次态转移逻 辑 状态寄存 器 输 出 逻 辑 输入 次态 现态 输出 Mealy型状态机特有 状态机基本结构框图 有限状态机是一种时序逻辑电路,包括两个主要部分:组合逻辑部分和寄存器部分。其中,组合逻辑部分又包括次态转移逻辑和输出逻辑。各部分的作用如下: 状态寄存器:用于存储状态机的内部状态。 次态转移逻辑:确定状态机的下一状态,不仅与输入信号有关,还与寄存器的当前状态有关。 输出逻辑:确定状态机的输出。 根据状态机的输入和输出之间的关系,分为Moore型状态机和Mealy型状态机。 Moore型状态机 输出仅与状态机的状态有关,与状态机的输入无关。 Mealy型状态机 输出由状态机的输入和状态机的状态共同决定。 三、有限状态机的VHDL描述 1、基本组成 说明部分 位于结构体的说明部分(ARCHITECTURE和BEGIN之间) 主要是设计者使用TYPE语句定义状态类型,并定义此状态类型的数据对象。 状态类型一般用枚举类型,列举每一个状态的名称。 数据对象应定义为信号,便于信息传递。 如:ARCHITECTURE …… IS TYPE states IS (st0, st1, st2, st3); SIGNAL present_state, next_state: states; BEGIN …… 主控时序逻辑部分 完成状态寄存器的功能,使状态机在外部时钟驱动下实现内部状态的转换。状态机由外部时钟信号控制,以同步时序方式工作,因此,状态机中必须包含一个对时钟信号敏感的进程作为状态机的驱动泵。当时钟发生有效跳变时,状态机的状态才发生变化。 时序进程的实质是一组触发器,因此,该进程中往往也包括一些清零或置位的输入控制信号,如Reset信号。 主控组合逻辑部分 任务是根据状态机外部输入的状态控制信号(包括来自外部的和状态机内部的非进程的信号)和当前的状态值来确定下一状态的取值内容,以及对外部或对内部其他进程输出控制信号的内容

文档评论(0)

zw4044 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档