怎样写好状态机

怎样写好状态机

ID:42035326

大小:332.20 KB

页数:29页

时间:2019-09-05

怎样写好状态机_第1页
怎样写好状态机_第2页
怎样写好状态机_第3页
怎样写好状态机_第4页
怎样写好状态机_第5页
资源描述:

《怎样写好状态机》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第6章如何写好状态机节选自《Verilog设计与验证》作者:吴继华、王诚状态机是逻辑设计的重要内容,状态机的设计水平直接反应工程师的逻辑功底,所以许多公司的硬件和逻辑工程师面试中,状态机设计几乎是必选题目。本章在引入状态机设计思想的基础上,重点讨论如何写好状态机。本章主要内容如下:·状态机的基本概念;·如何写好状态机;·使用SynplifyPro分析FSM。6.1状态机的基本概念本节的重点在于帮助读者理解状态机的基本概念和应用场合。6.1.1状态机是一种思想方法相信大多数工科学生在学习数字电路时都学习过状态机的

2、基本概念,了解一些使用状态机描述时序电路的基本方法。但是,笔者希望大家能扩展思维,认识到状态机不仅仅是一种时序电路设计工具,它更是一种思想方法。我们先看下面一个简单的例子。在大学生活中,某学生的在校的学习生活可以简单地概括为宿舍、教室、食堂之间的周而复始,用图6-1就可以形象地表现出来。这里画这张图,并不是要讨论这个学生是否是一个“乖乖”类型学生,请大家注意,如果将图中的“地点”认为是“状态”,将“功能”认为是状态的“输出”,这张图就是一张标准的状态转移图,也就是说,我们用状态机的方式清晰地描述了这个学生的在校

3、生活方式。第6章如何写好状态机图6-1某学生在校生活状态转移图如果读者认为这张图描述的学生生活过于单调而怀疑状态机描述方法的威力,我们再看看另一位生活丰富多彩的学生的在校生活,他(她)的在校生活方式可以用图6-2表示。图6-2另一位学生在校生活状态转移图同样如果将图中的“地点”认为是“状态”,将“功能”认为是状态的“输出”,将“条件”认为是状态转移的“输入条件”,图6-2也是一张标准的状态转移图,通过状态机的方式我们再次清晰地描述另一个学生的在校生活方式。事实上使用状态机方式,我们可以细致入微地描述任何一个学生

4、的在校生活方式。大家通过前面两个简单举例已经发现状态机特别适合描述那些有发生有先后顺序,或者有逻辑规律的事情——其实这就是状态机的本质。状态机的本质就是对具有逻辑顺序或时序规律事件的一种描述方法。这个论断的最重要的两个词就是“逻辑顺序”和“时序规律”,这两点138状态机的基本概念就是状态机所要描述的核心和强项,换言之,所有具有逻辑顺序和时序规律的事情都适合用状态机描述。很多初学者不知道何时应用状态机。这里介绍两种应用思路:第一种思路,从状态变量入手。如果一个电路具有时序规律或者逻辑顺序,我们就可以自然而然地规划

5、出状态,从这些状态入手,分析每个状态的输入,状态转移和输出,从而完成电路功能;第二种思路是首先明确电路的输出的关系,这些输出相当于状态的输出,回溯规划每个状态,和状态转移条件与状态输入。无论那种思路,使用状态机的目的都是要控制某部分电路,完成某种具有逻辑顺序或时序规律的电路设计。其实对于逻辑电路而言,小到一个简单的时序逻辑,大到复杂的微处理器,都适合用状态机方法进行描述。请读者打开思路,不要仅仅局限于时序逻辑,发现电路的内在规律,确认电路的“状态变量”,大胆使用状态机描述电路模型。由于状态机不仅仅是一种电路描述

6、工具,它更是一种思想方法,而且状态机的HDL语言表达方式比较规范,有章可循,所以很多有经验的设计者习惯用状态机思想进行逻辑设计,对各种复杂设计都套用状态机的设计理念,从而提高设计的效率和稳定性。6.1.2状态机基本要素与分类状态机的基本要素有3个,其实我们在第一节的举例中都有涉及,只是没有点明,它们是:状态、输出和输入。·状态:也叫状态变量。在逻辑设计中,使用状态划分逻辑顺序和时序规律。比如:设计伪随机码发生器时,可以用移位寄存器序列作为状态;在设计电机控制电路时,可以以电机的不同转速作为状态;在设计通信系统时

7、,可以用信令的状态作为状态变量等。·输出:输出指在某一个状态时特定发生的事件。如设计电机控制电路中,如果电机转速过高,则输出为转速过高报警,也可以伴随减速指令或降温措施等。·输入:指状态机中进入每个状态的条件,有的状态机没有输入条件,其中的状态转移较为简单,有的状态机有输入条件,当某个输入条件存在时才能转移到相应的状态。根据状态机的输出是否与输入条件相关,可将状态机分为两大类:摩尔(Moore)型状态机和米勒(Mealy)型状态机。·摩尔状态机:摩尔状态机的输出仅仅依赖于当前状态,而与输入条件无关。例如图6-1

8、所示的例子,将图中的“地点”认为是“状态”,将“功能”认为是状态的“输出”,则每个输出仅仅与状态相关,所以它是一个摩尔型状态机。·米勒型状态机:米勒型状态机的输出不仅依赖于当前状态,而且取决于该状态的输入条件。例如图6-2所示的例子,将图中的“地点”认为是“状态”,将“功能”认为是状态的“输出”,将“条件”认为是状态转移的“输入条件”,大家可以发现,该学生到达什么地方,做什么事情都是由

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。