状态图绘制软件的使用---Gvedit
状态图绘制软件的使用---Gvedit
1.编写状态图文本

digraph finite_state_machine {
rankdir=LR;
size="40,15"
node [shape = doublecircle]; INIT_STATE FAIL_STATE;
node [shape = circle];
INIT_STATE -> ASSERT_RESETS_STATE [label = "init_period_done=1"];
INIT_STATE -> INIT_STATE [label = "init_period_done=0"];
DRP_REQ_FULL_STATE -> DRP_WAIT_STATE;
DRP_REQ_NO_PLL_STATE -> DRP_WAIT_STATE;
DRP_WAIT_STATE -> DRP_CHECK_STATE;
DRP_CHECK_STATE -> ASSERT_RESETS_STATE [label = "drp_busy_in=0"];
DRP_CHECK_STATE -> RETRY2_STATE [label = "drp_busy_in=1&reset_timeout=1"];
DRP_CHECK_STATE -> DRP_CHECK_STATE [label = "drp_busy_in=1&reset_timeout=0"];
ASSERT_RESETS_STATE -> ASSERT_RESETS_STATE [label = "(~refclk_stable_s | full_reset | gtrxreset_in)=1"];
ASSERT_RESETS_STATE -> RELEASE_PLLRESET_STATE [label = "(~refclk_stable_s | full_reset | gtrxreset_in=0)"];
RELEASE_PLLRESET_STATE -> PLL_LOCKED_STATE [label = "pll_lock_s"];
RELEASE_PLLRESET_STATE -> RETRY_STATE [label = "pll_lock_s=0&plllock_timeout=1"];
RELEASE_PLLRESET_STATE -> RELEASE_PLLRESET_STATE [label = "pll_lock_s=0&plllock_timeout=0"];
PLL_LOCKED_STATE -> WAIT_RESET_DONEX_STATE;
WAIT_RESET_DONEX_STATE -> WAIT_RESET_DONE_STATE [label = "rxresetdone_s=0"];
WAIT_RESET_DONEX_STATE -> RETRY_STATE [label = "rxresetdone=1&reset_timeout=1"];
WAIT_RESET_DONEX_STATE -> WAIT_RESET_DONEX_STATE [label = "rxresetdone_s=1&reset_timeout=0"];
WAIT_RESET_DONE_STATE -> DONE_STATE [label = "rxresetdone_s=1"];
WAIT_RESET_DONE_STATE -> RETRY_STATE [label = "rxresetdone_s=0&reset_timeout=1"];
WAIT_RESET_DONE_STATE -> WAIT_RESET_DONE_STATE [label = "rxresetdone_s=0&reset_timeout=0"];
DONE_STATE -> DRP_REQ_FULL_STATE [label = "full_reset=1"];
DONE_STATE -> DRP_REQ_NO_PLL_STATE [label = "full_reset=0>rxreset_in=1"];
DONE_STATE -> DONE_STATE [label = "full_reset=0>rxreset_in=0"];
RETRY_STATE -> CHECK_RETRIES_STATE;
CHECK_RETRIES_STATE -> FAIL_STATE [label = "max_retries=1"];
CHECK_RETRIES_STATE -> WAIT_RESET_DONE_STATE [label = "max_retries=0 &(post_config | pll_lock_s) = 1"];
CHECK_RETRIES_STATE -> RELEASE_PLLRESET_STATE [label = "max_retries=0&(post_config | pll_lock_s) = 0"];
RETRY2_STATE -> CHECK_RETRIES2_STATE;
CHECK_RETRIES2_STATE -> FAIL_STATE [label = "max_retries=1"];
CHECK_RETRIES2_STATE -> DRP_CHECK_STATE [label = "max_retries=0"];
FAIL_STATE -> DRP_REQ_FULL_STATE [label = "full_reset=1"];
FAIL_STATE -> FAIL_STATE [label = "full_reset=0"];
}
运行结果为:

状态图绘制软件的使用---Gvedit的更多相关文章
- Mindjet MindManager 思维导图软件-使用思维导图跟踪调用流程,绘制软件框架
思维导图.据说是每一个产品经理必备的软件.假设你阅读大型源码.使用思维导图跟踪调用流程,绘制软件框架将会很方便. 特点:没什么好说的.用过的都说好. 软件截图: 下载:http://www.mindm ...
- 分享一个开源的流程图绘制软件--Diagram Designer
最近在写专利文件,在制作说明书附图时想到自己还只会用wps进行简单的绘制,于是想学习下,填补下这方面的短板.这两天查到了DiagramDesigner这个小工具,派上了大用场.用它写完了一个发明专利, ...
- Draw.io--自认为最好用的流程图绘制软件
draw.io 是一个强大简洁的在线的绘图网站,支持流程图,UML图,架构图,原型图等图标.支持Github,Google Drive, One drive等网盘同步,并且永久免费.如果觉得使用Web ...
- 发布一个免费开源软件-- PAD流程图绘制软件PADFlowChart
软件的可执行文件下载:PADFlowChart-exe.zip MD5校验码:91FCA9FEC9665FD09BEB3DA94ADC1CE6 SHA1校验码:ECD742AA3092A085AB07 ...
- 如何用ZBrush快速绘制身体
Fisker老师用了5节课详细讲解了僵尸的头部制作过程,用了大量时间完善细节部分,在ZBrush3D图形绘制软件中雕刻模型就是这样,需要反复调整与修改,每一个细节都做到极致才是最理想的状态.头部雕刻好 ...
- 怎样在ZBrush中快速绘制人体躯干
之前我们对人体骨点的雕刻,了解了人体骨骼比例结构特征.今天的ZBrush教程将通过ZBrush®遮罩显示的特点对模型的人体躯干进行细致雕刻.文章内容仅以fisker老师讲述为例,您也可以按照自己的想法 ...
- 怎样绘制ZBrush中的纹理
利用ZBrush的内置插件“投影大师”和“Polypainting”纹理贴图能够快速实现纹理的绘制.本文将对这两种方法的应用流程做一个介绍. 查看跟多内容请直接前往:http://www.zbrush ...
- ZBrush中的纹理-水手该怎样进行绘制
如下是一张使用ZBrush3D图形绘制软件绘制的栩栩如生的水手图片,那么有人要问了,如何创建水手渲染的皮肤纹理呢?接下来,小编将教大家学习如何创建皮肤颜色,顺便说一下,这里所选取的颜色仅仅是在ZBru ...
- AxeSlide软件项目梳理
先介绍一下我负责的软件项目 AxeSlide斧子演示,估计大部分人没有听说过,但国外有一款叫Prezi的软件,应该有一部分人使用过. 这是我们产品的官网http://www.axeslide.com/ ...
随机推荐
- Window下部署Maven Nexus
Nexus下载地址:https://www.sonatype.com/download-oss-sonatype 选择相应的版本下载后,本人下载的是nexus-2.12.0-01-bundle.zip ...
- python的ConfigParser模块
前言 处理配置文件做增.删.改.查 操作. 配置文件的格式如下:“[ ]”包含的为 section,section 下面为类似于 key - value 的配置内容: configparser 默认支 ...
- Ajax的简单介绍与使用
1.什么是Ajax? Ajax(Asynchronous JavaScript and XML),简单说就是不需要刷新当前页面而实现javaScript和和后台服务器交换数据以更新网页中的部分内容. ...
- getAttribLocation的返回值
var coord = gl.getAttribLocation(shaderProgram, "coordinates"); // 0 var coord2 = gl.ge ...
- Keepalived 进程无法关闭
操作系统:SLES12sp2 keepalived版本:1.2.12 问题描述: 使用命令"systemctl stop keepalived" 无法关闭keepalived,使用 ...
- PTA 6-12 (二叉树的递归删除)
BinTree Insert( BinTree BST, ElementType X ) { if (BST==NULL) { BinTree tmp=(BinTree)malloc(sizeof(s ...
- NET Core MVC中创建PDF
使用Rotativa在ASP.NET Core MVC中创建PDF 在本文中,我们将学习如何使用Rotativa.AspNetCore工具从ASP.NET Core中的视图创建PDF.如果您使用ASP ...
- Linux中ctrl+z,ctrl+d和ctrl+c的区别
Ctrl-c Kill foreground processCtrl-z Suspend foreground processCtrl-d Terminate input, or exit shell
- php基础-2
php的逻辑运算 &&符号 <?php function tarcrnum() { for ($i = 0; $i <= 100; $i++) { if ($i % 2 = ...
- python数据类型及字符编码
一.python数据类型,按特征划分 1.数字类型 整型:布尔型(True,False).长整型(L),会自动帮你转换成长整型.标准整型 2.序列类型 字符串(str).元组(tuple).列表(li ...