有限状态机设计与化简(第5节).pptVIP

  1. 1、本文档共45页,可阅读全部内容。
  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文档。上传文档
查看更多
VII - Finite State Machines ? Copyright 2004, Gaetano Borriello and Randy H. Katz 4比特序列检查器 初始状态图 该状态机具有单一输入X和输出Z,如果每次接收的4比特输入为0110或1010中的一个,则输出为1。状态机每次接收4比特输入后回到复位状态。 假设用米利型机实现:   只有在之前的4比特输入匹配指定串中的任意一个,输出才为1,状态机只在每4位比特一组输入后才决定是否输出1 状态简化的等价状态 等价状态:设Si、Sj为两个原始状态,当它们满足以下条件时等效。 对于所有的输入组合 ① 输出相同 ② 它们的次态属于下列情况之一 A.次态相同。Si、Sj的次态均为Sk B.次态交错或为各自的现态。 交错:Si的次态为Sj,Sj 的次态为Si 。 为各自的现态:或Si的次态为Si,Sj的次态为Sj 。 等效类:由若干等效状态构成的集合。等效类中任意两个状态均等效。若存在关系,(S1,S2 ),(S2,S3 ) → (S1,S3 ),则 S1、S2、S3 属于同一等效类。 记作 (S1,S2 ),(S2,S3 ) → | S1、S2、S3 |。 最大等效类:一个等效类不是其他等效类的子集,则该等效类为最大等效类。 状态化简方法 行匹配法:一种良好的人工推导方法,但并不是总能得到最简状态表 蕴含表法:容易用软件实现,并确实能找到可能的最优解 可同时应用这两种方法: 行匹配法能快速化简,减少状态数目。接下来用蕴含表法,由于只针对更少的状态,因此能迅速找到行匹配法遗漏的等价状态 行匹配算法概述 算法概述(由状态转换表开始对状态进行化简) 1. 对状态进行分组,每组中的状态在相同的输入条件下具有相同的输出 2. 检查转换表,查看各组中的状态是否对于所有的输入组合都进入等价的次态,若等价可将它们合并成一个状态,并重新命名。 3.然后将所有的状态转换过程都指向这些新状态 4.重复以上过程,直到再也没有状态可以合并 状态表和行匹配法 状态表:每个状态对应一行,每列对应不同的输入组合时的次态和输出 行匹配法 检查状态转换表中的每一行,寻找在相同输入条件下具有相同次态和输出的状态 行匹配法迭代 合并后的新状态表 再对S3,S6进行合并,用S3’表示 对S4,S5进行合并,用S4’表示 行匹配法化简得到的状态图 行匹配法的局限性 并不是总能得到最简化的状态 蕴含表方法 蕴含表化简的步骤为:作隐含表、寻找等效对、 求出最大等效类、作出最小化状态表。 ① 作初始蕴含表 蕴含表为直角三角型网格,表中的方格用状态名称标注。横向从左到右的状态顺序依次为第一个到倒数第二个状态,纵向从上到下的状态顺序为第二到最后一个状态,每个方格代表一个状态对 ② 寻找等效对 进行两轮比较,先进行顺序比较,再进行关联比较 蕴含表方法 顺序比较:对照原始状态表,对所有状态进行检查比较。若状态对等效,在方格中打 “ √ ”;若不等效,在方格中打 “ × ”;与其他状态对相关,有待进一步检查,在方格中填上待检查状态对。 关联比较:确定待检查状态对是否等效,由此确定原状态对是否等效。若方格内有一状态对不等效,则用 “×”标志。 ③ 求出最大等效类 利用等效状态的传递性,通过合并求出最大等效类。原始状态表中的每个状态都应该属于一个最大等效对。 ④ 作出最小化状态表 将每个最大等效类中的全部状态合并为一个状态,可得与原始状态表等价的最小化状态表。 蕴含表方法化简实例 用蕴含表化简 ① 由状态转移表构造初始蕴含表 蕴含表方法化简实例 蕴含表方法化简实例 更复杂状态图的化简 多输入状态图和转换表 更复杂状态图的化简 状态分配 状态分配是选择二进制位向量分配给每个符号状态 如果m个状态用n位来对状态进行编码,则可能的分配方案有2n!/(2n – m)! 实现时序逻辑网络所需门的数量严重依赖于如何将编码后的逻辑值分配给符号状态,最优的分配方案的唯一途径是尝试所有的分配方案 状态分配策略 可能的策略 顺序编码 随机编码 单点编码 面向输出的编码 启发式编码 不能保证结果是最优的 – 另一个复杂的问题 顺序编码 简单的将符号状态名字替换成为规则的编码,设计者仅需要保证每个状态对应唯一的编码,以保证组合逻辑能够区分各个状态 单点编码 简单 容易编码、容易诊断和修改 小规模的逻辑函数 适合于FPGA实现 大量的触发器可用 对大的状态机不实用 太多的状态需要太多的flip-flops 对大的有限状态机划分成小块可用单点编码 对单点编码进行一些改变 one-hot + all-0 随机编码 这是更简单的策略,随机选择

文档评论(0)

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

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

1亿VIP精品文档

相关文档