[信息与通信]第九章同步状态机.pptVIP

  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文档。上传文档
查看更多
[信息与通信]第九章同步状态机

2006-3-30 第九章 同步状态机设计 周晓波 北京交通大学电子信息学院 xbzhou@bjtu.edu.cn内容提要 9.1 状态机的结构 9.2 Mealy状态机和Moore状态机 9.3 描述可综合的状态机 9.1 状态机的结构 有限状态机(FSM)设计是时序电路设计中很常用的方式 控制模块 case,if-else 9.1 状态机的结构 组合逻辑和时序逻辑的组合 寄存器用于存贮状态 组合电路用于状态译码和产生输出信号 状态机的下一个状态不仅和输入信号相关,而且和当前状态相关 同步时序 表示方法:状态图、状态表、流程图 状态机逻辑表达式 下一个状态=F(当前状态,输入信号); 输出信号=G(当前状态,输入信号); 状态图表示 内容提要 9.1 状态机的结构 9.2 Mealy状态机和Moore状态机 9.3 描述可综合的状态机 状态机分类 Mealy状态机 Moore状态机 Moore状态机 输出信号=G(当前状态); Mealy状态机 内容提要 9.1 状态机的结构 9.2 Mealy状态机和Moore状态机 9.3 描述可综合的状态机 可综合的状态机设计 最常用:always case 状态转移图 状态转移图 上面的状态转移图表示了一个四状态的有限状态机,它的同步时钟是Clock,输入信号是 A 和 Reset,输出信号是 F 和 G。状态的转移只能在同步时钟(Clock)的上升沿时发生,往哪个状态的转移则取决于目前所在的状态和输入的信号(Reset 和 A)。 Verilog HDL中,状态必须明确赋值,通常使用参数(parameters)或宏定义(define)语句加上赋值语句来实现。使用参数(parameters)语句赋状态值见下例: parameter state1 = 2 h1, state2 = 2 h2; ... current_state = state2; //把current state设置成 2h2 ... 使用宏定义(define)语句赋状态值见下例: `define state1 2 h1 `define state2 2 h2 ... current_state = `state2; //把current state设置成 2 h2 9.3.1 用可综合的Verilog模块 设计状态机的典型办法 状态编码 9.3.2 独热码表示状态的状态机 9.3.2 独热码表示状态的状态机 [例2]与[例1]的主要不同点是状态编码,[例2]采用了独热编码,而[例1]则采用Gray码,究竟采用哪一种编码好要看具体情况而定。对于用FPGA实现的有限状态机建议采用独热码,因为虽然采用独热编码多用了两个触发器,但所用组合电路可省下许多,因而使电路的速度和可靠性有显著提高,而总的单元数并无显著增加。采用了独热编码后有了多余的状态,就有一些不可到达的状态,为此在CASE语句的最后需要增加default分支项,以确保多余状态能回到Idle状态。 我们还可以再用另一种风格的Verilog HDL模型来表示同一个有限状态,在这个模型中,我们分别用沿触发的always语句和电平敏感的always语句把状态机的触发器部分和组合逻辑部分分成两部分来描述。 9.3.3 由输出指定的码 表示状态的状态机 输出直接指定为状态码 状态码指定与状态机控制的输出联系起来 状态变化=输出 适用于高速状态机设计 9.3.3 由输出指定的码 表示状态的状态机 前面的例子 当状态转移到clear时,输出G=1 当状态转移到idle时,输出F=1 因此, G=state[3]; F=state[0]; 9.3.3 由输出指定的码 表示状态的状态机 上面四个例子是同一个状态机的四种不同的Verilog HDL模型,它们都是可综合的,在设计复杂程度不同的状态机时有它们各自的优势。如用不同的综合器对这四个例子进行综合,综合出的逻辑电路可能会有些不同,但逻辑功能是相同的。 4.3.4 多输出状态机 把状态的变化与输出信号的控制分成两部分来考虑;还常常把每一个输出信号写成一个独立的always模块来考虑。 有限状态机设计的一般步骤 逻辑抽象,得出状态转换图 状态化简 状态分配 选定触发器的类型并求出状态方程、驱动方程和输出方程 按照方程得出逻辑图 状态机设计的一般原则 状态机的编码 one-hot消耗触发器多,组合逻辑少:FPGA gray消耗触发器少,组合逻辑多:CPLD 三段式状态机 三段式状态机 三段式建模描述FSM的状态机输出时,只需指定case敏感表为次态寄存器,然后直接在每个次态的case分支中描述该状态的输出即可,

文档评论(0)

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

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

1亿VIP精品文档

相关文档