首页 百科知识 FSM状态图编辑器录入方法

FSM状态图编辑器录入方法

时间:2022-10-15 百科知识 版权反馈
【摘要】:FSM即有限状态机,状态图编辑器就是采用状态图方式进行FSM设计的工具。下面以控制器的FSM设计为例来具体介绍Active-HDL的FSM录入方法。点击“下一步”进入如图10.28所示的命名窗口。在图中依次录入控制器FSM的文件名、实体名和构造体名。本例控制器FSM状态图的编辑,首先需要画出三个状态。通过选择“FSM→State”即可进入状态绘制命令。到此为止,FSM状态图编辑全部完成。如图10.40所示给出了FSM源程序部分代码的截图。

10.1.3 FSM(状态图编辑器)录入方法

FSM即有限状态机,状态图编辑器(State Diagram Editor)就是采用状态图方式进行FSM设计的工具。

下面以控制器的FSM设计为例来具体介绍Active-HDL的FSM录入方法。控制器有三个输入端口start、reset、clk和两个输出端口en、end_reset。控制器的状态图如图10.24所示。

img417


图10.24 控制器状态机

在创建好的设计工程中,通过选择“File→New→State Diagram”,即可启动FSM录入方法进行状态机设计,如图10.25所示。

img418


图10.25 启动FSM编辑器

接着出现如图10.26所示的新源文件创建向导对话框。

img419


图10.26 新源文件创建向导对话框

点击“下一步”进入如图10.27所示的语言选择窗口。本例中选择VHDL,这将决定对应设计在编译后自动生成VHDL源代码

img420


图10.27 自动生成代码的语言类别选择

点击“下一步”进入如图10.28所示的命名窗口。在图中依次录入控制器FSM的文件名、实体名和构造体名。

img421


图10.28 命名窗口

接下来进行端口定义,如图10.29所示。本设计共定义输入三个端口clk、reset、start和两个输出端口end_reset、en。

img422


图10.29 端口定义

点击“完成”进入如图10.30所示的状态机时钟选择提示对话框。

img423


图10.30 状态机时钟选择

本例中选择“是(Y)”,随即进入如图10.31所示的FSM状态图编辑窗口。

img424


图10.31 FSM状态图编辑主窗口

在进行状态图编辑前还需要完成端口的属性设置。本例中需要将状态机的输出端口end_reset和en设置为寄存器类型(Registered),如图10.32所示。

img425


图10.32 输出端口属性设置

端口属性设置完成后的效果如图10.33所示。

img426


图10.33 端口属性设置完成

本例控制器FSM状态图的编辑,首先需要画出三个状态。通过选择“FSM→State”即可进入状态绘制命令。如图10.34所示画出三个状态,并双击状态名将其修改成需要的命名。

img427


图10.34 画出状态并完成状态命名

通过选择“FSM→Transition”进入状态转换关系绘制命令,如图10.35所示,绘出三个状态的转换关系。

img428


图10.35 给出状态转换关系

通过选择“FSM→RESET”进入复位设置绘制命令,如图10.36所示,给出复位关系。

img429


图10.36 给出复位关系

在状态图编辑窗口点击鼠标右键,选择“Properties”进入如图10.37所示的复位属性设置窗口,本例中设置reset类型为“Asynchronous”,reset有效电平为“Low”。

img430


图10.37 状态机属性设置窗口

通过选择“FSM→Condition”进入状态转换条件设置命令,如图10.38所示,给出每一个状态转换的条件。

img431


图10.38 状态转换条件设置

最后需要进行状态动作的定义。通过选择“FSM→Action→State”进入状态动作设置命令,如图10.39所示,给出每一个状态动作的源代码。

img432


图10.39 状态动作的定义

到此为止,FSM状态图编辑全部完成。保存并编译,Active-HDL会自动生成VHDL格式的控制器FSM源程序代码。如图10.40所示给出了FSM源程序部分代码的截图。

img433


图10.40 工具自动生成的控制器FSM的VHDL源代码截图

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈