1 / 20
文档名称:

状态机学习报告.doc

格式:doc   大小:898KB   页数:20页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

状态机学习报告.doc

上传人:xgs758698 2019/6/14 文件大小:898 KB

下载得到文件列表

状态机学习报告.doc

文档介绍

文档介绍:,是由寄存器组和组合逻辑构成的硬件时序电路。所有具有逻辑顺序和时序规律的事情都适合用状态机来描述。状态机有三要素:状态(状态变量),在逻辑设计中,使用状态划分逻辑顺序时序规律。输出,在某一个状态时特定发生的时间。输入,状态机进入每个状态的条件。,可以将状态机分为MOORE(摩尔)型和MEALY(米勒)两大类:A)摩尔型:状态机的输出仅依赖当前状态,与输入条件无关。输入X组合逻状态寄组合输出Y辑电路存器电路当前状态摩尔型状态机的描述方法:caseA:next_state<=BB:next_state<=C...endcaseB)米勒型:状态机的输出不仅依赖当前的状态,还与输入有关。输入X 输出Y组合逻辑电路状态寄clk存器当前状态米勒型状态机描述方法:caseA://不满足条件则停留在当前状态的跳转if(conditionA)next_state<=Belsenext_state<=AB://两种不同次态的跳转if(conditionB)next_state<=Celsenext_state<=Dendcase另外,根据状态机数量是否有限,可将状态机分为FSM(有限状态机)和ISM(无限状态机)。:状态转移图、状态转移列表和HDL语言描述。状态转移图经常在设计规划阶段定义逻辑功能时使用,也可以在分析已有源代码中的状态机时使用,这种图形化的描述方式有助于理解设计意图。状态转移列表是用列表的方式描述状态机,是数字逻辑电路常用的设计方法之一,经常被用于状态化简,对于可编程逻辑设计而言,由于可用逻辑资源比较丰富,而且状态编码要考虑设计的稳定性、安全性等因素,所以并不经常使用状态转移列表优化状态。使用HDL语言描述状态机应具有一定的灵活性,通过使用一些规范的描述方法,可以使HDL语言描述状态机更安全、更稳定、更高效、更易于维护。所以用HDL语言描述状态机,是我学习写状态机的重点。状态机的一般设计步骤:(1)分析状态;(2)确定状态转移图;(3)状态简化;(4)状态编码。在电路设计中,状态机的基本描述一般有三种:状态转移列表,状态转移图,HDL语言描述。状态转移列表是用列表的方式来描述状态机,经常用于状态化简。但是由于状态编码要考虑设计的稳定性和安全性等因素,并不推荐用状态转移列表优化状态。状态转移图是状态机描述中最自然的方式,不仅在规划功能状态的时候经常用到,在分析源代码的时候也都经常用到。这种方法有助于理解设计意图。。设计者只要画出状态转移图就可以了,StateCAD能自动将状态转移图翻译成HDL语言代码,而且翻译出来的代码规范,可读性较好、可综合、易维护,但是由于其自动翻译的代码过于格式化,因此效率不高,对于较大规模的逻辑设计而言,还是推荐使用HDL语言进行描述。下面将介绍使用状态机进行状态机设计的一般步骤。A)创建状态机:使用ISE创建工程后,为工程添加新的设计输入,选择“StateDiagram”选项,如下图所示。然后点击Next,在弹出的Summary框中点选Finish,就会生成如下图所示的State主界面。选择图标,就进入了状态机输入的向导,如下图所示。在这个界面里可以设置状态机图形的形状。选择Next之后,出现的界面是设置同步或异步复位模式的,一般我们都选择同步复位。界面如下图所示。下一个界面是设置转换模式的,如下图所示。设置完毕后选择“Finish”就完成了状态机的创建。此时在主界面上将出现向导生成的图形,具体如下图所示。B)添加状态任务双击如上图所示的STATE0状态,为其添加任务,此时将出现如下图所示的状态任务编辑器。在点选OutputWizard可以根据不同的需要来设置。选择完毕以后点击OK即可。依此方法便可以完成对各个状态的任务的编辑。C)添加状态转移条件在主界面上双击每两个状态间的连线来设定状态转移条件,其余操作与前面添加状态任务基本相同,这里就不重复介绍。设置完成后的界面如下图所示。D)优化设置选择主界面工具条上的按钮就可以打开优化设置向导,如下图所示,可以看出该向导里面共有5个步骤,下面分别介绍。(1)选择目标器件,如下图所示。(2)选择状态机的优化方向,可以选择速度优先、占用面积优先及手动设置三种。如下图所示。(3)对状态机的性能改善方式进行选择,如下图所示。(4)加载优化参数设置,如下图所示(5)为状态机选择输出的HDL语言格式及综合的工具,如图后面两图所示。经过这5个步骤,基本就完成了对状态机的优化设置,点选主界面上的图标,如果没有错误的