怎样写好三段式状态机.pdf

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
怎样写好三段式状态机

第6章 如何写好状态机 节选自《Verilog 设计与验证》 作者:吴继华、王诚 状态机是逻辑设计的重要内容,状态机的设计水平直接反应工程师的逻辑功底,所以许 多公司的硬件和逻辑工程师面试中,状态机设计几乎是必选题目。本章在引入状态机设计思 想的基础上,重点讨论如何写好状态机。 本章主要内容如下: 状态机的基本概念; 如何写好状态机; 使用Synplify Pro 分析FSM。 6.1 状态机的基本概念 本节的重点在于帮助读者理解状态机的基本概念和应用场合。 6.1.1 状态机是一种思想方法 相信大多数工科学生在学习数字电路时都学习过状态机的基本概念,了解一些使用状态 机描述时序电路的基本方法。但是,笔者希望大家能扩展思维,认识到状态机不仅仅是一种 时序电路设计工具,它更是一种思想方法。 我们先看下面一个简单的例子。在大学生活中,某学生的在校的学习生活可以简单地概 括为宿舍、教室、食堂之间的周而复始,用图 6- 1 就可以形象地表现出来。这里画这张图, 并不是要讨论这个学生是否是一个“乖乖”类型学生,请大家注意,如果将图中的“地点” 认为是“状态”,将“功能”认为是状态的“输出”,这张图就是一张标准的状态转移图,也 就是说,我们用状态机的方式清晰地描述了这个学生的在校生活方式。 第6 章 如何写好状态机 图6-1 某学生在校生活状态转移图 如果读者认为这张图描述的学生生活过于单调而怀疑状态机描述方法的威力,我们再看 看另一位生活丰富多彩的学生的在校生活,他(她)的在校生活方式可以用图6-2 表示。 图6-2 另一位学生在校生活状态转移图 同样如果将图中的“地点”认为是“状态”,将“功能”认为是状态的“输出”,将“条 件”认为是状态转移的“输入条件”,图 6-2 也是一张标准的状态转移图,通过状态机的方 式我们再次清晰地描述另一个学生的在校生活方式。 事实上使用状态机方式,我们可以细致入微地描述任何一个学生的在校生活方式。大家 通过前面两个简单举例已经发现状态机特别适合描述那些有发生有先后顺序,或者有逻辑规 律的事情——其实这就是状态机的本质。状态机的本质就是对具有逻辑顺序或时序规律事 件的一种描述方法。这个论断的最重要的两个词就是“逻辑顺序”和“时序规律”,这两点 138 状态机的基本概念 就是状态机所要描述的核心和强项,换言之,所有具有逻辑顺序和时序规律的事情都适合用 状态机描述。 很多初学者不知道何时应用状态机。这里介绍两种应用思路:第一种思路,从状态变量 入手。如果一个电路具有时序规律或者逻辑顺序,我们就可以自然而然地规划出状态,从这 些状态入手,分析每个状态的输入,状态转移和输出,从而完成电路功能;第二种思路是首 先明确电路的输出的关系,这些输出相当于状态的输出,回溯规划每个状态,和状态转移条 件与状态输入。无论那种思路,使用状态机的目的都是要控制某部分电路,完成某种具有逻 辑顺序或时序规律的电路设计。 其实对于逻辑电路而言,小到一个简单的时序逻辑,大到复杂的微处理器,都适合用状 态机方法进行描述。请读者打开思路,不要仅仅局限于时序逻辑,发现电路的内在规律,确 认电路的“状态变量”,大胆使用状态机描述电路模型。由于状态机不仅仅是一种电路描述 工具,它更是一种思想方法,而且状态机的 HDL 语言表达方式比较规范,有章可循,所以 很多有经验的设计者习惯用状态机思想进行逻辑设计,对各种复杂设计都套用状态机的设计 理念,从而提高设计的效率和稳定性。 6.1.2 状态机基本要素与分类 状态机的基本要素有3 个,其实我们在第一节的举例中都有涉及,只是没有点明,它们 是:状态、输出和输入。 状态:也叫状态变量。在逻辑设计中,使用状态划分逻辑顺序和时序规律。 比如:设计伪随机码发生器时,可以用移位寄存器序列作为状态;在设计电机 控制电路时,可以以电机的不同转速作为状态;在设计通信系统时,可以用信 令的状态作为状态变量等。 输出:输出指在某一个状态时特定发生的事件

您可能关注的文档

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档