第6章 VHDL状态机.pptVIP

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

第六章 VHDL状态机 电子信息科学与技术系 林爱英 主要内容 6.1 引言:时序电路设计方法 时序电路分析:驱动方程,状态方程,输出方程,状态转换表,状态转换图。 时序电路设计?(思考) 设计一个信号发生器,要求能够循环产样的信号。 基本思路: 电路必须能够保存8种不同的状态; 先设计一个8进制计数器(可以是自然二进制码计数器,也可以是格雷码计数器); 然后再对每一个计数状态译码得到所需信号Y。 6.1 引言:时序电路设计方法 6.1 引言:时序电路设计方法 设计自然二进制计数器,触发器驱动方程: D2=Q2’Q1Q0+Q2Q1Q0’+Q2Q1’ D1=Q1’Q0+Q1Q0’ D0=Q0’ 设计格雷码计数器,触发器驱动方程: D2=Q2’Q1Q0+Q2Q1Q0’+Q2Q0’ D1=Q2’Q0+Q1Q0’ D0=Q2’Q1’+Q2Q1 6.1 引言:时序电路设计方法 自然二进制计数器译码得到所需信号Y Y=Q2’Q1Q0+Q2Q0’ 格雷码计数器译码得到所需信号Y Y=Q2Q1’Q0+Q1Q0’ 6.1 引言:时序电路设计方法 Moore型有限状态机 com: process(cs) begin case cs is when s0 = ns = s1; y = 0; when s1 = ns = s2; y = 0; when s2 = ns = s3; y = 0; when s3 = ns = s4; y = 1; when s4 = ns = s5; y = 1; when s5 = ns = s6; y = 0; when s6 = ns = s7; y = 1; when s7 = ns = s0; y = 0; when others = ns = s0; y = 0; end case; end process; end; 6.2 状态机概述 什么是状态机? 状态机就是在有效状态内,在时钟的驱动下,通过给定初始状态,能够自动完成状态间的循环和相应状态的输出的时序逻辑电路。 状态机分为状态译码部分:根据输入以及系统当前的状态,由状态方程来决定下一状态的状态码;状态输出部分:根据当前的状态码决定电路的当前输出;状态转换部分:将下一状态转变为当前状态。 状态机如何工作 状态机的VHDL结构 状态译码,状态输出,状态转换 双进程结构,时序进程REG完成状态转换,即把下一状态转换为当前状态,组合进程COM完成当前状态下的状态译码和状态输出。 与状态机相关的语法语句 类型定义语句 已定义数据类型:BIT,STD_LOGIC,BOOLEAN…… 用户自己定义新的数据类型:枚举,数组,记录,时间,实数等 如何自定义数据类型? TYPE 数据类型名 IS 数据类型定义; TYPE 数据类型名 IS 数据类型定义 OF 基本数据类型; 自定义数据类型 Type week is (sun,mon,tue,wed,thu,fri,sat); Type st1 is array (0 to 15) of std_logic; Std_logic_vector(0 to 15) Type m_state is (st0,st1,st2,st3,st4,st5); Signal present_state,next_state : m_state; 枚举数据类型是使用文字符号来表示一组实际的二进制数。枚举类型的文字元素在综合器中使用一组二进制数值来表示的,具体数值由综合器来完成,用户不需介入。 自定义数据类型 子类型SUBTYPE 子类型是由TYPE所定义一的原数据类型的一个子集。满足原数据类型的所有约束条件,只是确定了数据范围。 SUBTYPE 子类型名 IS 基本数据类型 RANGE 约束范围 SUBTYPE digits IS INTEGER RANGE 0 to 9; NATURAL POSITIVE 状态机的类型 Moore状态机 输出只取决于系统当前的状态,而与系统的输入无关 Mealy状态机 输出不仅取决于当前的状态,还取决于系统当前的输入。 状态机的优势 1.控制灵活 2.利于综合器的优化 3.能够良好的避免毛刺 4.程序结构清晰,层析分明 5.在高速运算和控制方面优势明显 6.可靠性高 状态机实例 用VHDL语言描述状态机的一般模式(结构): 1.说明部分:定义状态机使用的枚举数据类型 2.主控时序进程:在时钟的驱动下进行状态转换。 3.主控组合进

文档评论(0)

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

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

版权声明书
用户编号:7065201001000004

1亿VIP精品文档

相关文档