资料介绍
Verilog_CH06_FSM第6章 如何写好状态机
节选自《 Verilog 设计与验证》 作者:吴继华、王诚 状态机是逻辑设计的重要内容,状态机的设计水平直接反应工程师的逻辑功底,所以许 多公司的硬件和逻辑工程师面试中,状态机设计几乎是必选题目。本章在引入状态机设计思 想的基础上,重点讨论如何写好状态机。 本章主要内容如下: 状态机的基本概念; 如何写好状态机; 使用 Synplify Pro 分析 FSM。
6.1 状态机的基本概念
本节的重点在于帮助读者理解状态机的基本概念和应用场合。
6.1.1 状态机是一种思想方法
相信大多数工科学生在学习数字电路时都学习过状态机的基本概念,了解一些使用状态 机描述时序电路的基本方法。但是,笔者希望大家能扩展思维,认识到状态机不仅仅是一种 时序电路设计工具,它更是一种思想方法。 我们先看下面一个简单的例子。在大学生活中,某学生的在校的学习生活可以简单地概 括为宿舍、教室、食堂之间的周而复始,用图 6-1 就可以形象地表现出来。这里画这张图, 并不是要讨论这个学生是否是一个“乖乖”类型学生,请大家注意,如果将图中的“地点” 认为是“状态” ,将“功能”认为是状态的“输出” ,这张图就是一张标准的状态转移图,也 就是说,我们用状态机的方式清晰地描述了这个学生的在校生活方式。
第6章
如何写好状态机
图6-1 某学生在校生活状态转移图
如果读者认为这张图描述的学生生活过于单调而怀疑状态机描述方法的威力,我们再看 看另一位生活丰富多彩的学生的在校生活,他(她)的在校生活方式可以用图 6-2 表示。
图6-2 另一位学生在校生活状态转移图
同样如果将图中的“地点”认为是“状态” ,将“功能”认为是状态的“输出” ,将“条 件”认为是状态转移的“输入条件” ,图 6-2 也是一张标准的状态转移图,通过状态机的方 式我们再次清晰地描述另一个