4.6典型实例6:状况机运用
4.6.1实例的内容及方针
1.实例的首要内容
状况机规划是HDL规划里边的精华,简直一切的规划里边都或多或少地运用了状况机的思维。状况机,望文生义,便是一系列状况组成的一个循环机制,这样的结构使得编程人员能够更好地运用HDL言语,一起具有特定风格的状况机也能进步程序的可读性和调试性。
本实例通过规划一个状况机来操控赤色飓风II代Xilinx开发板上面的8个LED灯循环闪耀。在本实例状况机的规划过程中,读者需求侧重留意状况机规划的一些特性。
·FSM规划办法(米勒型和摩尔型)。
·状况机的编码(Binary、gray-code、one-hot等)。
·状况机的初始化状况和默许状况(完好状况机规划)。
·状况机的状况界说风格(运用parameter参数界说状况)。
·状况机的编写风格(状况使命与状况转化别离)
2.实例意图
通过本实例,读者应到达下面的方针。
·了解XilinxISE开发环境。
·了解赤色飓风II代Xilinx开发板的运用。
·了解状况机规划输入办法。
·把握状况机在体系规划中的运用。
4.6.2实例详解
本实例的具体过程可拜见2.6节,在此不再胪陈,仅给出首要的操作流程以及状况机的规划输入办法。
(1)发动ISE软件。
(2)创立新工程。
(3)编写状况机Verilog代码。
状况机的代码能够直接进行手动编写,如图4.2所示。
图4.2手动编写状况机代码
关于简略的状况机,运用手动输入的办法进行编写是最直接的。可是假如需求进行杂乱的状况机规划,运用状况图规划输入办法则会愈加便利。下面介绍运用状况图进行状况机规划的一般过程。
运用ISE创立工程后,为工程增加新的规划输入,挑选“StateDiagram”选项,如图4.3所示。
图4.3状况图规划输入办法
此刻ISE将翻开如图4.4所示的StateCAD东西进行状况机规划。
图4.4StateCAD状况机规划东西
在这个专门的东西中,读者就能够很便利地进行状况机的规划。运用这个东西进行状况机规划的过程首要分为3个,下面别离介绍。
(1)创立状况机。
单击东西栏上的图标,翻开状况机输入导游,如图4.5所示。
在本实例中,咱们在导游第1页设置一个8状况的状况机,如图4.5所示。在该页中,还能够设置状况机图形的形状。在对话框的右侧有图形的预览作用,用户可依据自己的喜爱设置图形的形状。
在状况机导游的第2页,咱们为状况机运用同步复位方法,树立一个同步状况机,如图4.6所示。
图4.5状况机导游 图4.6同步状况机
在状况机导游的第3页,能够设置状况机的转化方法,本实例中运用Next转化方法,如图4.7所示。
图4.7状况机转化方法
设置结束后,单击“Finish”按钮即可完结状况机的创立。在StateCAD东西的作业区将呈现如图4.8所示的状况机图形。
(2)增加状况使命。
创立状况机后,就要为其间的每一个状况增加状况使命。首要,双击如图4.8所示的图形中的STATE0状况,为STATE0增加使命。此刻,将呈现如图4.9所示的状况使命修改器。
图4.8创立的状况机
单击“OutputWizard”按钮,翻开输出导游对话框,如图4.10所示。
图4.9状况使命修改器 图4.10状况输出导游对话框
在输出导游对话框里边有许多能够挑选的逻辑,依据不同的需求挑选逻辑资源,并输入参数。单击“OK”按钮即可完结对STATE0的状况使命修改。
依照相同的办法别离为每个状况加载使命,得到如图4.11所示的状况机。
(3)增加状况转化条件。
设置完状况使命后,还需求为状况之间的转化调价条件。能够双击两个状况之间的连线设定状况搬运条件,此刻将呈现条件修改器,如图4.12所示。
在该对话框中,能够在“Condition”下面填写搬运条件(例如:cnt=10),也能够单击“OutputWizard”按钮翻开输出导游进行设置。设置结束后,单击“OK”按钮,完结两个状况之间的转化条件设置。
图4.11增加使命的状况机图形
图4.12状况转化条件修改器
依照相同的办法为需求增加转化条件的状况连线加载状况搬运条件。完结后,得到如图4.13所示的状况机。
至此,一个根本的状况机现已树立结束。这样的一个状况机现已能够在咱们的体系中运用。不过在运用之前,咱们还需求为StateCAD东西做一些设置,才能使图形方法的状况机转化为HDL言语的方法。
1.优化设置
首要对状况机进行优化设置,挑选StateCAD东西条上的按钮,翻开优化设置导游,如图4.14所示。
图4.13增加状况转化条件的状况机
图4.14优化设置导游
在如图4.14所示的导游中,提示将进行5个过程的设置,下面别离介绍。
①挑选方针器材。本实例中挑选FPGA,如图4.15所示。
图4.15挑选方针器材
②挑选状况机的优化方向,用户能够挑选速度优先、占用面积优先以及手动设置。在本实例中咱们挑选速度优先,如图4.16所示。
③对状况机的功用改进办法进行挑选,如图4.17所示,本实例挑选确保覆盖面积方法。
图4.16状况机优化方向
图4.17状况机功用改进方法
④加载优化参数设置,如图4.18所示。
图4.18加载优化参数设置
⑤为状况机挑选输出的HDL言语方法以及归纳的EDA东西。在本实例中,挑选Verilog言语及XilinxXST归纳东西,如图4.19所示。
图4.19挑选方针HDL言语和EDA东西
通过这5个过程的设置,就完结了状况机的优化设置,能够开端生成Verilog言语方法的状况机了。
挑选StateCAD东西栏上的按钮,开端生成Verilog状况机。假如规划没有过错,将呈现如图4.20所示的成果对话框。
图4.20状况机生成成果
单击“Close”按钮后,就能够看见生成的与状况机称号相同、后缀为.v的源文件了。
2.增加规划输入
将运用StateCAD生成的状况机源文件参加工程中,即可检查并修改相关的状况机的代码了。
3.设置器材及管脚束缚
依照开发板的阐明进行相关的设置。
4.下载验证
本实例的状况机在开发板上下载后,将能看到开发板上的8个LED循环变亮,即完成跑马灯的功用。
4.6.3参阅规划
本实例相关参阅规划文件在本书实例代码的“典型实例6”文件夹。