如何用rational rose画状态机图

如何用rational rose画状态机图,第1张

先安装好Rational rose软件,安装好的界面如下:

这里我选择的j2ee,选完之后界面如下

右键点击Logical View--》new--》Activity Diagram--》然后输入你的流程名字:

双击你的流程图名,进入视图进行编辑,这是我们会看到空白的视图,双击其中一个元素就可以进行编辑name等属性。

下面说明一下左侧几个按钮的意思:

1.箭头:选择

2.abc:文本框

3.note:摘要

4.state:程序状态

5.activity:活动

6.start state:流程图开始

7.end state:流程图结束

8.state transition:流程走线

9.transition self:自我检测

10.horizontal synchronization:水平同步

11.vertical synchronization:竖直同步

12.decision:决定条件

13.Swimlane:游泳港(另一种视觉效果的流程图)

下面就可以随性所欲创建自己想要的流程图了:

点击use case view右键 选择新建sequence diagram .

FPGA常常用于执行基于序列和控制的行动,比如实现一个简单的通信协议。对于设计人员来说,满足这些行动和序列要求的最佳方法则是使用状态机。状态机是在数量有限的状态之间进行转换的逻辑结构。一个状态机在某个特定的时间点只处于一种状态。但在一系列触发器的触发下,将在不同状态间进行转换。

理论上讲,状态机可以分为Moore状态机和Mealy状态机两大类。它们之间的差异仅在于如何生成状态机的输出。Moore状态机的输出仅为当前状态的函数。典型的例子就是计数器。而Mealy状态机的输出是当前状态和输入的函数。典型的例子就是Richards控制器。

定义状态机

当需要定义一个状态机时,首先要绘制一张状态图。状态图可用来显示状态、状态间的转换和状态机的输出。图1显示了Moore状态机的状态图(左)和Mealy状态机的状态图(右)。

图1,用于开/关LED的Moore状态机(左)和Mealy状态机(右)的状态图。

如果您要在物理组件中实现这些状态图(工程师在FPGA问世之前就是这么做的),首先就得生成当前状态和后续状态表,然后生成实现状态机所需的逻辑。不过由于我们将使用FPGA来实现设计,因此我们可以直接从状态转换图开始工作。

算法状态图

虽然有许多状态机是使用图1所示的状态图方法进行设计的,但另外还有一种描述状态机行为的方法,这就是算法状态图法。ASM图(图2)在外观上更加接近软件工程流程图。它由三个基本部分构成:

1.状态框。它与状态名称有关,并包含Moore状态输出列表。

2.决策框。如果检验某条件为真,则进行下一状态的判断。

3.条件输出框。让状态机根据当前状态和输入描述Mealy输出。

一些工程师认为,如果使用VHDL等硬件描述语言,则采用ASM格式进行描述的状态机更易于映射到实现方案中。

图2,用于图1所示的状态机(Moore状态机(左),Mealy状态机(右))的算法状态图。

Moore和Mealy:应该选择哪个?

实现Moore状态机还是Mealy状态机,取决于状态机需要实现的功能,以及特定的反应次数要求。两种状态机之间的最大差别在于状态机如何对输入做出反应。在输入和设置的适当输出之间,Moore状态机一般有一个时钟周期的延迟。这就意味着Moore状态机无法对输入变化立即做出反应,这点在图3中可以清楚地看到。而Mealy状态机则能够立即对输入做出反应,这通常意味着:实现相同的函数,Mealy状态机比Moore状态机需要更少的状态。Mealy状态机的不足之处就是在与另一个状态机进行通信时,如果输出出乎意料地严重依赖于其它事件的序列或时序,就可能会发生紊乱情况。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11276494.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存