主页 > 图片 >

硬件描述语言Verilog HDL设计进阶之: 典型实例-状态机应用

时间:2019-04-24 22:06

来源:网络整理作者:采集侠 点击:

硬件描述语言Verilog HDL设计进阶之: 典型实例-状态机应用

本文引用地址: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所示。

硬件描述语言Verilog HDL设计进阶之: 典型实例-状态机应用

图4.2手动编写状态机代码

对于简单的状态机,使用手动输入的方式进行编写是最直接的。但是如果需要进行复杂的状态机设计,使用状态图设计输入方式则会更加方便。下面介绍使用状态图进行状态机设计的一般步骤。

使用ISE创建工程后,为工程添加新的设计输入,选择“StateDiagram”选项,如图4.3所示。

硬件描述语言Verilog HDL设计进阶之: 典型实例-状态机应用

图4.3状态图设计输入方式

此时ISE将打开如图4.4所示的StateCAD工具进行状态机设计。

硬件描述语言Verilog HDL设计进阶之: 典型实例-状态机应用

图4.4StateCAD状态机设计工具

在这个专门的工具中,读者就可以很方便地进行状态机的设计。使用这个工具进行状态机设计的步骤主要分为3个,下面分别介绍。

(1)创建状态机。

单击工具栏上的图标,打开状态机输入向导,如图4.5所示。

在本实例中,我们在向导第1页设置一个8状态的状态机,如图4.5所示。在该页中,还可以设置状态机图形的形状。在对话框的右侧有图形的预览效果,用户可根据自己的喜好设置图形的形状。

在状态机向导的第2页,我们为状态机使用同步复位模式,建立一个同步状态机,如图4.6所示。

硬件描述语言Verilog HDL设计进阶之: 典型实例-状态机应用

硬件描述语言Verilog HDL设计进阶之: 典型实例-状态机应用

图4.5状态机向导 图4.6同步状态机

在状态机向导的第3页,可以设置状态机的转换模式,本实例中使用Next转换模式,如图4.7所示。

硬件描述语言Verilog HDL设计进阶之: 典型实例-状态机应用

图4.7状态机转换模式

设置完毕后,单击“Finish”按钮即可完成状态机的创建。在StateCAD工具的工作区将出现如图4.8所示的状态机图形。

(2)添加状态任务。

创建状态机后,就要为其中的每一个状态添加状态任务。首先,双击如图4.8所示的图形中的STATE0状态,为STATE0添加任务。此时,将出现如图4.9所示的状态任务编辑器。

硬件描述语言Verilog HDL设计进阶之: 典型实例-状态机应用

图4.8创建的状态机

单击“OutputWizard”按钮,打开输出向导对话框,如图4.10所示。

硬件描述语言Verilog HDL设计进阶之: 典型实例-状态机应用

硬件描述语言Verilog HDL设计进阶之: 典型实例-状态机应用

图4.9状态任务编辑器 图4.10状态输出向导对话框

在输出向导对话框里面有很多可以选择的逻辑,根据不同的需要选择逻辑资源,并输入参数。单击“OK”按钮即可完成对STATE0的状态任务编辑。

按照相同的方法分别为每个状态加载任务,得到如图4.11所示的状态机。

(3)添加状态转换条件。

设置完状态任务后,还需要为状态之间的转换调价条件。可以双击两个状态之间的连线设定状态转移条件,此时将出现条件编辑器,如图4.12所示。

【责任编辑:admin】