记录-QuartuesⅡ-Qsys自定义数码管IP过程以及遇到的源文件路径问题

  • 一 概述
  • 二 步骤
    • 1.编写源文件
    • 2.Qsys生成_hw.tcl文件
    • 3.仿写寄存器头文件_regs.h和驱动底层.h头文件
    • 4.仿写_sw.tcl 文件
  • 三 路径问题
  • 欢迎使用Markdown编辑器
    • 新的改变
    • 功能快捷键
    • 合理的创建标题,有助于目录的生成
    • 如何改变文本的样式
    • 插入链接与图片
    • 如何插入一段漂亮的代码片
    • 生成一个适合你的列表
    • 创建一个表格
      • 设定内容居中、居左、居右
      • SmartyPants
    • 创建一个自定义列表
    • 如何创建一个注脚
    • 注释也是必不可少的
    • KaTeX数学公式
    • 新的甘特图功能,丰富你的文章
    • UML 图表
    • FLowchart流程图
    • 导出与导入
      • 导出
      • 导入

一 概述

NiosII 是一个嵌入式软核处理器,除了可以根据需要任意添加已经提供的各种外设外,用
户还可以通过定制自定义 IP 核的方式来满足各种应用需求。本文按照 开拓者Nios II开发指南_V1.2来学习如何自定义数码管IP 核。

二 步骤

1.编写源文件

Avalon总线包括地址、数据、指令总线,与之相对应,寄存器也有数据、指令寄存器以及自身的地址号。数据寄存器和指令寄存器配合完成向功能模块的一个具体功能通知。最终达到用户通过Avalon总线对寄存器进行读写以实现某几种功能的效果。
一个典型的 IP 核的硬件逻辑由以下三个功能模块组成:
◆ 接口文件:作为顶层模块,定义总线接口信号;
segled_controller.v
◆ 寄存器文件:完成该 IP 核与外部信号进行通信,有了寄存器文件,用户就可以通过 Avalon 接口采用基地址+地址偏移量的方式来访问组件内部各寄存器。
segled_register.v
◆ 硬件逻辑文件:实现 IP 核的硬件功能;
segled_logic.v

2.Qsys生成_hw.tcl文件

Qsys 软件菜单栏中的【FileNew Component…】或者如下图处直接双击:


填写IP核资料:名称、显示名称、IP组…
其中,IP组可选择已存在的或自定义,本文自定义MyIp。

添加硬件逻辑源文件,顶层文件需注意别弄错。编译,若有错误则根据错误信息返回QuartuesⅡ修改,无误继续。

默认除clk信号外全部属于avalon slave总线信号,需要人为添加信号类型:Conduit、Reset Input

将rst_n 放入reset_sink信号类型中,sel 和seg led放入conduit信号类型中。但是仍存在报错,原因是部分信号的Signal Type未修改或重复,进行下图操作


仍有一个Error,意思是总线信号未指定复位信号,在下图中的下拉框中选择。完成后无错误,点击finish并save, ok。注意记住_hw.tcl文件保存位置。

回到Qsys可以看到产生了新的MyIp组,内有自定义的IP核segled_controller。

3.仿写寄存器头文件_regs.h和驱动底层.h头文件

为了以后的使用方便,我们就需要给该 IP 核添加寄存器头文件和底层驱动文件,首先我们需要做的是在\MyIp\segled 文件夹中创建两个新文件夹,一个为 HAL 文件夹,另一个为 inc 文件夹。
在\MyIp\segled\inc 文件夹下 segled_controller_regs.h 文件,在\MyIp\segled\HAL\inc 文件夹 segled_controller.h 文件。
下面为 segled_controller_regs.h的代码。四个宏定义代表了四个寄存器,以及各自的偏移地址号0-3。
待学习:具体怎样自定义呢?怎样调用呢?

1 #ifndef __SEGLED_CONTROLLER_REGS_H__
2 #define __SEGLED_CONTROLLER_REGS_H__
3
4 #include <io.h>
5
6 //Data register
7 #define IOWR_AVALON_SEGLED_DATA(base,data) IOWR(base, 0, data)
8 //Control register1
9 #define IOWR_AVALON_SEGLED_DOT(base,data) IOWR(base, 1, data)
10 //Control register2
11 #define IOWR_AVALON_SEGLED_SIGN(base,data) IOWR(base, 2, data)
12 //Control register3
13 #define IOWR_AVALON_SEGLED_EN(base,data) IOWR(base, 3, data)
14
15 #endif

下面为 segled_controller.h的代码。可以在第 12~15 行声明函数。
待学习:具体怎样自定义呢?怎样调用呢?

1 #ifndef __SEGLED_CONTROLLER_H__
2 #define __SEGLED_CONTROLLER_H__
3
4 #include "system.h"
5 #include "alt_types.h"
6 #include "segled_controller_regs.h"
7
8 #ifdef __cplusplus
9 extern "C"
10 {11 #endif /* __cplusplus */
12
13
14 /* function station */
15
16 #ifdef __cplusplus
17 }
18 #endif /* __cplusplus */
19
20 #endif /* __SEGLED_CONTROLLER_H__ */

4.仿写_sw.tcl 文件

编写完了寄存器头文件和驱动底层头文件,也就到了 LED IP 核定制的最后一步,创建_sw.tcl 文件,_sw.tcl 文件同_hw.tcl 文件一样都是利用 Tcl 语言编写的
参考的是 altera_avalon_pio_sw.tcl 文件中的代码来编写的,在该代码中,比较重要的也就两处,第一处是第 21 行代码,该代码是取消用来将我们的数码管 IP 核添加至 alt_sys_init()函数中进行自动初始化。第二处是第 30 和 31 行,该代码是用来关联我们编写的寄存器头文件和底层驱动文件。
待续

三 路径问题

_hw.tcl文件有两种自动存放方式:1.工程路径下;2.软件安装目录下。

  • 1.工程路径下

    • QuartuesⅡ新建/打开工程;
    • 工程所在文件夹内新建一个segled文件夹,用于专门存放数码管IP核的源文件;
    • 步骤2生成的_hw.tcl文件会自动保存在工程所在目录下,本例中为./par/_hw.tcl;
  • 2.软件安装目录下
    • QuartuesⅡ不添加任何工程,直接打开Qsys工具;
    • QuartuesⅡ软件安装目录下ip文件夹内新建文件夹/MyIp/segled,用于存放本文自定义IP核的所有相关文件;
    • 步骤2生成的_hw.tcl文件会自动保存在软件安装目录下,本例中为./intelFPGA/17.1;
  • 3.移动 _hw.tcl文件位置后需做的修改
    • 为便于管理_hw.tcl文件移动到/MyIp/segled目录下,打开_hw.tcl修改file sets中的源文件相对路径,如下图所示,否则使用IP核时无模块接口,如下图;


      -最终文件夹内容如下:
      /MyIp/segled/hdl存放源文件、
      /MyIp/segled/HAL/inc存放驱动底层.h头文件、
      /MyIp/segled/inc存放寄存器头文件_regs.h、
      /MyIp/segled存放_hw.tcl文件、_sw.tcl文件;

这里写自定义目录标题

  • 一 概述
  • 二 步骤
    • 1.编写源文件
    • 2.Qsys生成_hw.tcl文件
    • 3.仿写寄存器头文件_regs.h和驱动底层.h头文件
    • 4.仿写_sw.tcl 文件
  • 三 路径问题
  • 欢迎使用Markdown编辑器
    • 新的改变
    • 功能快捷键
    • 合理的创建标题,有助于目录的生成
    • 如何改变文本的样式
    • 插入链接与图片
    • 如何插入一段漂亮的代码片
    • 生成一个适合你的列表
    • 创建一个表格
      • 设定内容居中、居左、居右
      • SmartyPants
    • 创建一个自定义列表
    • 如何创建一个注脚
    • 注释也是必不可少的
    • KaTeX数学公式
    • 新的甘特图功能,丰富你的文章
    • UML 图表
    • FLowchart流程图
    • 导出与导入
      • 导出
      • 导入

欢迎使用Markdown编辑器

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

新的改变

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  1. 全新的界面设计 ,将会带来全新的写作体验;
  2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
  3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
  4. 全新的 KaTeX数学公式 语法;
  5. 增加了支持甘特图的mermaid语法1 功能;
  6. 增加了 多屏幕编辑 Markdown文章功能;
  7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  8. 增加了 检查列表 功能。

功能快捷键

撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G

合理的创建标题,有助于目录的生成

直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

插入链接与图片

链接: link.

图片:

带尺寸的图片:

居中的图片:

居中并且带尺寸的图片:

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block
var foo = 'bar';

生成一个适合你的列表

  • 项目

    • 项目

      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目 Value
电脑 $1600
手机 $12
导管 $1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列 第二列 第三列
第一列文本居中 第二列文本居右 第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPE ASCII HTML
Single backticks 'Isn't this fun?' ‘Isn’t this fun?’
Quotes "Isn't this fun?" “Isn’t this fun?”
Dashes -- is en-dash, --- is em-dash – is en-dash, — is em-dash

创建一个自定义列表

Markdown
Text-to-HTML conversion tool
Authors
John
Luke

如何创建一个注脚

一个具有注脚的文本。2

注释也是必不可少的

Markdown将文本转换为 HTML

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ(n)=(n−1)!∀n∈N\Gamma(n) = (n-1)!\quad\forall n\in\mathbb NΓ(n)=(n−1)!∀n∈N 是通过欧拉积分

Γ(z)=∫0∞tz−1e−tdt.\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞​tz−1e−tdt.

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

Mon 06Mon 13Mon 20已完成 进行中 计划一 计划二 现有任务Adding GANTT diagram functionality to mermaid
  • 关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

#mermaid-svg-njgEktLGRCrxCzZu .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-njgEktLGRCrxCzZu .label text{fill:#333}#mermaid-svg-njgEktLGRCrxCzZu .node rect,#mermaid-svg-njgEktLGRCrxCzZu .node circle,#mermaid-svg-njgEktLGRCrxCzZu .node ellipse,#mermaid-svg-njgEktLGRCrxCzZu .node polygon,#mermaid-svg-njgEktLGRCrxCzZu .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-njgEktLGRCrxCzZu .node .label{text-align:center;fill:#333}#mermaid-svg-njgEktLGRCrxCzZu .node.clickable{cursor:pointer}#mermaid-svg-njgEktLGRCrxCzZu .arrowheadPath{fill:#333}#mermaid-svg-njgEktLGRCrxCzZu .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-njgEktLGRCrxCzZu .flowchart-link{stroke:#333;fill:none}#mermaid-svg-njgEktLGRCrxCzZu .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-njgEktLGRCrxCzZu .edgeLabel rect{opacity:0.9}#mermaid-svg-njgEktLGRCrxCzZu .edgeLabel span{color:#333}#mermaid-svg-njgEktLGRCrxCzZu .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-njgEktLGRCrxCzZu .cluster text{fill:#333}#mermaid-svg-njgEktLGRCrxCzZu div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-njgEktLGRCrxCzZu .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-njgEktLGRCrxCzZu text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-njgEktLGRCrxCzZu .actor-line{stroke:grey}#mermaid-svg-njgEktLGRCrxCzZu .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-njgEktLGRCrxCzZu .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-njgEktLGRCrxCzZu #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-njgEktLGRCrxCzZu .sequenceNumber{fill:#fff}#mermaid-svg-njgEktLGRCrxCzZu #sequencenumber{fill:#333}#mermaid-svg-njgEktLGRCrxCzZu #crosshead path{fill:#333;stroke:#333}#mermaid-svg-njgEktLGRCrxCzZu .messageText{fill:#333;stroke:#333}#mermaid-svg-njgEktLGRCrxCzZu .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-njgEktLGRCrxCzZu .labelText,#mermaid-svg-njgEktLGRCrxCzZu .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-njgEktLGRCrxCzZu .loopText,#mermaid-svg-njgEktLGRCrxCzZu .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-njgEktLGRCrxCzZu .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-njgEktLGRCrxCzZu .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-njgEktLGRCrxCzZu .noteText,#mermaid-svg-njgEktLGRCrxCzZu .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-njgEktLGRCrxCzZu .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-njgEktLGRCrxCzZu .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-njgEktLGRCrxCzZu .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-njgEktLGRCrxCzZu .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-njgEktLGRCrxCzZu .section{stroke:none;opacity:0.2}#mermaid-svg-njgEktLGRCrxCzZu .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-njgEktLGRCrxCzZu .section2{fill:#fff400}#mermaid-svg-njgEktLGRCrxCzZu .section1,#mermaid-svg-njgEktLGRCrxCzZu .section3{fill:#fff;opacity:0.2}#mermaid-svg-njgEktLGRCrxCzZu .sectionTitle0{fill:#333}#mermaid-svg-njgEktLGRCrxCzZu .sectionTitle1{fill:#333}#mermaid-svg-njgEktLGRCrxCzZu .sectionTitle2{fill:#333}#mermaid-svg-njgEktLGRCrxCzZu .sectionTitle3{fill:#333}#mermaid-svg-njgEktLGRCrxCzZu .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-njgEktLGRCrxCzZu .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-njgEktLGRCrxCzZu .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-njgEktLGRCrxCzZu .grid path{stroke-width:0}#mermaid-svg-njgEktLGRCrxCzZu .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-njgEktLGRCrxCzZu .task{stroke-width:2}#mermaid-svg-njgEktLGRCrxCzZu .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-njgEktLGRCrxCzZu .taskText:not([font-size]){font-size:11px}#mermaid-svg-njgEktLGRCrxCzZu .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-njgEktLGRCrxCzZu .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-njgEktLGRCrxCzZu .task.clickable{cursor:pointer}#mermaid-svg-njgEktLGRCrxCzZu .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-njgEktLGRCrxCzZu .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-njgEktLGRCrxCzZu .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-njgEktLGRCrxCzZu .taskText0,#mermaid-svg-njgEktLGRCrxCzZu .taskText1,#mermaid-svg-njgEktLGRCrxCzZu .taskText2,#mermaid-svg-njgEktLGRCrxCzZu .taskText3{fill:#fff}#mermaid-svg-njgEktLGRCrxCzZu .task0,#mermaid-svg-njgEktLGRCrxCzZu .task1,#mermaid-svg-njgEktLGRCrxCzZu .task2,#mermaid-svg-njgEktLGRCrxCzZu .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-njgEktLGRCrxCzZu .taskTextOutside0,#mermaid-svg-njgEktLGRCrxCzZu .taskTextOutside2{fill:#000}#mermaid-svg-njgEktLGRCrxCzZu .taskTextOutside1,#mermaid-svg-njgEktLGRCrxCzZu .taskTextOutside3{fill:#000}#mermaid-svg-njgEktLGRCrxCzZu .active0,#mermaid-svg-njgEktLGRCrxCzZu .active1,#mermaid-svg-njgEktLGRCrxCzZu .active2,#mermaid-svg-njgEktLGRCrxCzZu .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-njgEktLGRCrxCzZu .activeText0,#mermaid-svg-njgEktLGRCrxCzZu .activeText1,#mermaid-svg-njgEktLGRCrxCzZu .activeText2,#mermaid-svg-njgEktLGRCrxCzZu .activeText3{fill:#000 !important}#mermaid-svg-njgEktLGRCrxCzZu .done0,#mermaid-svg-njgEktLGRCrxCzZu .done1,#mermaid-svg-njgEktLGRCrxCzZu .done2,#mermaid-svg-njgEktLGRCrxCzZu .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-njgEktLGRCrxCzZu .doneText0,#mermaid-svg-njgEktLGRCrxCzZu .doneText1,#mermaid-svg-njgEktLGRCrxCzZu .doneText2,#mermaid-svg-njgEktLGRCrxCzZu .doneText3{fill:#000 !important}#mermaid-svg-njgEktLGRCrxCzZu .crit0,#mermaid-svg-njgEktLGRCrxCzZu .crit1,#mermaid-svg-njgEktLGRCrxCzZu .crit2,#mermaid-svg-njgEktLGRCrxCzZu .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-njgEktLGRCrxCzZu .activeCrit0,#mermaid-svg-njgEktLGRCrxCzZu .activeCrit1,#mermaid-svg-njgEktLGRCrxCzZu .activeCrit2,#mermaid-svg-njgEktLGRCrxCzZu .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-njgEktLGRCrxCzZu .doneCrit0,#mermaid-svg-njgEktLGRCrxCzZu .doneCrit1,#mermaid-svg-njgEktLGRCrxCzZu .doneCrit2,#mermaid-svg-njgEktLGRCrxCzZu .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-njgEktLGRCrxCzZu .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-njgEktLGRCrxCzZu .milestoneText{font-style:italic}#mermaid-svg-njgEktLGRCrxCzZu .doneCritText0,#mermaid-svg-njgEktLGRCrxCzZu .doneCritText1,#mermaid-svg-njgEktLGRCrxCzZu .doneCritText2,#mermaid-svg-njgEktLGRCrxCzZu .doneCritText3{fill:#000 !important}#mermaid-svg-njgEktLGRCrxCzZu .activeCritText0,#mermaid-svg-njgEktLGRCrxCzZu .activeCritText1,#mermaid-svg-njgEktLGRCrxCzZu .activeCritText2,#mermaid-svg-njgEktLGRCrxCzZu .activeCritText3{fill:#000 !important}#mermaid-svg-njgEktLGRCrxCzZu .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-njgEktLGRCrxCzZu g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-njgEktLGRCrxCzZu g.classGroup text .title{font-weight:bolder}#mermaid-svg-njgEktLGRCrxCzZu g.clickable{cursor:pointer}#mermaid-svg-njgEktLGRCrxCzZu g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-njgEktLGRCrxCzZu g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-njgEktLGRCrxCzZu .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-njgEktLGRCrxCzZu .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-njgEktLGRCrxCzZu .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-njgEktLGRCrxCzZu .dashed-line{stroke-dasharray:3}#mermaid-svg-njgEktLGRCrxCzZu #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-njgEktLGRCrxCzZu #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-njgEktLGRCrxCzZu #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-njgEktLGRCrxCzZu #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-njgEktLGRCrxCzZu #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-njgEktLGRCrxCzZu #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-njgEktLGRCrxCzZu #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-njgEktLGRCrxCzZu #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-njgEktLGRCrxCzZu .commit-id,#mermaid-svg-njgEktLGRCrxCzZu .commit-msg,#mermaid-svg-njgEktLGRCrxCzZu .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-njgEktLGRCrxCzZu .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-njgEktLGRCrxCzZu .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-njgEktLGRCrxCzZu g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-njgEktLGRCrxCzZu g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-njgEktLGRCrxCzZu g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-njgEktLGRCrxCzZu g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-njgEktLGRCrxCzZu g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-njgEktLGRCrxCzZu g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-njgEktLGRCrxCzZu .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-njgEktLGRCrxCzZu .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-njgEktLGRCrxCzZu .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-njgEktLGRCrxCzZu .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-njgEktLGRCrxCzZu .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-njgEktLGRCrxCzZu .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-njgEktLGRCrxCzZu .edgeLabel text{fill:#333}#mermaid-svg-njgEktLGRCrxCzZu .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-njgEktLGRCrxCzZu .node circle.state-start{fill:black;stroke:black}#mermaid-svg-njgEktLGRCrxCzZu .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-njgEktLGRCrxCzZu #statediagram-barbEnd{fill:#9370db}#mermaid-svg-njgEktLGRCrxCzZu .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-njgEktLGRCrxCzZu .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-njgEktLGRCrxCzZu .statediagram-state .divider{stroke:#9370db}#mermaid-svg-njgEktLGRCrxCzZu .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-njgEktLGRCrxCzZu .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-njgEktLGRCrxCzZu .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-njgEktLGRCrxCzZu .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-njgEktLGRCrxCzZu .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-njgEktLGRCrxCzZu .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-njgEktLGRCrxCzZu .note-edge{stroke-dasharray:5}#mermaid-svg-njgEktLGRCrxCzZu .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-njgEktLGRCrxCzZu .error-icon{fill:#522}#mermaid-svg-njgEktLGRCrxCzZu .error-text{fill:#522;stroke:#522}#mermaid-svg-njgEktLGRCrxCzZu .edge-thickness-normal{stroke-width:2px}#mermaid-svg-njgEktLGRCrxCzZu .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-njgEktLGRCrxCzZu .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-njgEktLGRCrxCzZu .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-njgEktLGRCrxCzZu .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-njgEktLGRCrxCzZu .marker{fill:#333}#mermaid-svg-njgEktLGRCrxCzZu .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-njgEktLGRCrxCzZu {color: rgba(0, 0, 0, 0.75);font: ;}张三李四王五你好!李四, 最近怎么样?你最近怎么样,王五?我很好,谢谢!我很好,谢谢!李四想了很长时间, 文字太长了不适合放在一行.打量着王五...很好... 王五, 你怎么样?张三李四王五

这将产生一个流程图。:

#mermaid-svg-WMOFihCHHktpHi5L .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-WMOFihCHHktpHi5L .label text{fill:#333}#mermaid-svg-WMOFihCHHktpHi5L .node rect,#mermaid-svg-WMOFihCHHktpHi5L .node circle,#mermaid-svg-WMOFihCHHktpHi5L .node ellipse,#mermaid-svg-WMOFihCHHktpHi5L .node polygon,#mermaid-svg-WMOFihCHHktpHi5L .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-WMOFihCHHktpHi5L .node .label{text-align:center;fill:#333}#mermaid-svg-WMOFihCHHktpHi5L .node.clickable{cursor:pointer}#mermaid-svg-WMOFihCHHktpHi5L .arrowheadPath{fill:#333}#mermaid-svg-WMOFihCHHktpHi5L .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-WMOFihCHHktpHi5L .flowchart-link{stroke:#333;fill:none}#mermaid-svg-WMOFihCHHktpHi5L .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-WMOFihCHHktpHi5L .edgeLabel rect{opacity:0.9}#mermaid-svg-WMOFihCHHktpHi5L .edgeLabel span{color:#333}#mermaid-svg-WMOFihCHHktpHi5L .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-WMOFihCHHktpHi5L .cluster text{fill:#333}#mermaid-svg-WMOFihCHHktpHi5L div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-WMOFihCHHktpHi5L .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-WMOFihCHHktpHi5L text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-WMOFihCHHktpHi5L .actor-line{stroke:grey}#mermaid-svg-WMOFihCHHktpHi5L .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-WMOFihCHHktpHi5L .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-WMOFihCHHktpHi5L #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-WMOFihCHHktpHi5L .sequenceNumber{fill:#fff}#mermaid-svg-WMOFihCHHktpHi5L #sequencenumber{fill:#333}#mermaid-svg-WMOFihCHHktpHi5L #crosshead path{fill:#333;stroke:#333}#mermaid-svg-WMOFihCHHktpHi5L .messageText{fill:#333;stroke:#333}#mermaid-svg-WMOFihCHHktpHi5L .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-WMOFihCHHktpHi5L .labelText,#mermaid-svg-WMOFihCHHktpHi5L .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-WMOFihCHHktpHi5L .loopText,#mermaid-svg-WMOFihCHHktpHi5L .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-WMOFihCHHktpHi5L .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-WMOFihCHHktpHi5L .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-WMOFihCHHktpHi5L .noteText,#mermaid-svg-WMOFihCHHktpHi5L .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-WMOFihCHHktpHi5L .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-WMOFihCHHktpHi5L .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-WMOFihCHHktpHi5L .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-WMOFihCHHktpHi5L .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-WMOFihCHHktpHi5L .section{stroke:none;opacity:0.2}#mermaid-svg-WMOFihCHHktpHi5L .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-WMOFihCHHktpHi5L .section2{fill:#fff400}#mermaid-svg-WMOFihCHHktpHi5L .section1,#mermaid-svg-WMOFihCHHktpHi5L .section3{fill:#fff;opacity:0.2}#mermaid-svg-WMOFihCHHktpHi5L .sectionTitle0{fill:#333}#mermaid-svg-WMOFihCHHktpHi5L .sectionTitle1{fill:#333}#mermaid-svg-WMOFihCHHktpHi5L .sectionTitle2{fill:#333}#mermaid-svg-WMOFihCHHktpHi5L .sectionTitle3{fill:#333}#mermaid-svg-WMOFihCHHktpHi5L .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-WMOFihCHHktpHi5L .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-WMOFihCHHktpHi5L .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-WMOFihCHHktpHi5L .grid path{stroke-width:0}#mermaid-svg-WMOFihCHHktpHi5L .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-WMOFihCHHktpHi5L .task{stroke-width:2}#mermaid-svg-WMOFihCHHktpHi5L .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-WMOFihCHHktpHi5L .taskText:not([font-size]){font-size:11px}#mermaid-svg-WMOFihCHHktpHi5L .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-WMOFihCHHktpHi5L .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-WMOFihCHHktpHi5L .task.clickable{cursor:pointer}#mermaid-svg-WMOFihCHHktpHi5L .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-WMOFihCHHktpHi5L .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-WMOFihCHHktpHi5L .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-WMOFihCHHktpHi5L .taskText0,#mermaid-svg-WMOFihCHHktpHi5L .taskText1,#mermaid-svg-WMOFihCHHktpHi5L .taskText2,#mermaid-svg-WMOFihCHHktpHi5L .taskText3{fill:#fff}#mermaid-svg-WMOFihCHHktpHi5L .task0,#mermaid-svg-WMOFihCHHktpHi5L .task1,#mermaid-svg-WMOFihCHHktpHi5L .task2,#mermaid-svg-WMOFihCHHktpHi5L .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-WMOFihCHHktpHi5L .taskTextOutside0,#mermaid-svg-WMOFihCHHktpHi5L .taskTextOutside2{fill:#000}#mermaid-svg-WMOFihCHHktpHi5L .taskTextOutside1,#mermaid-svg-WMOFihCHHktpHi5L .taskTextOutside3{fill:#000}#mermaid-svg-WMOFihCHHktpHi5L .active0,#mermaid-svg-WMOFihCHHktpHi5L .active1,#mermaid-svg-WMOFihCHHktpHi5L .active2,#mermaid-svg-WMOFihCHHktpHi5L .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-WMOFihCHHktpHi5L .activeText0,#mermaid-svg-WMOFihCHHktpHi5L .activeText1,#mermaid-svg-WMOFihCHHktpHi5L .activeText2,#mermaid-svg-WMOFihCHHktpHi5L .activeText3{fill:#000 !important}#mermaid-svg-WMOFihCHHktpHi5L .done0,#mermaid-svg-WMOFihCHHktpHi5L .done1,#mermaid-svg-WMOFihCHHktpHi5L .done2,#mermaid-svg-WMOFihCHHktpHi5L .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-WMOFihCHHktpHi5L .doneText0,#mermaid-svg-WMOFihCHHktpHi5L .doneText1,#mermaid-svg-WMOFihCHHktpHi5L .doneText2,#mermaid-svg-WMOFihCHHktpHi5L .doneText3{fill:#000 !important}#mermaid-svg-WMOFihCHHktpHi5L .crit0,#mermaid-svg-WMOFihCHHktpHi5L .crit1,#mermaid-svg-WMOFihCHHktpHi5L .crit2,#mermaid-svg-WMOFihCHHktpHi5L .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-WMOFihCHHktpHi5L .activeCrit0,#mermaid-svg-WMOFihCHHktpHi5L .activeCrit1,#mermaid-svg-WMOFihCHHktpHi5L .activeCrit2,#mermaid-svg-WMOFihCHHktpHi5L .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-WMOFihCHHktpHi5L .doneCrit0,#mermaid-svg-WMOFihCHHktpHi5L .doneCrit1,#mermaid-svg-WMOFihCHHktpHi5L .doneCrit2,#mermaid-svg-WMOFihCHHktpHi5L .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-WMOFihCHHktpHi5L .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-WMOFihCHHktpHi5L .milestoneText{font-style:italic}#mermaid-svg-WMOFihCHHktpHi5L .doneCritText0,#mermaid-svg-WMOFihCHHktpHi5L .doneCritText1,#mermaid-svg-WMOFihCHHktpHi5L .doneCritText2,#mermaid-svg-WMOFihCHHktpHi5L .doneCritText3{fill:#000 !important}#mermaid-svg-WMOFihCHHktpHi5L .activeCritText0,#mermaid-svg-WMOFihCHHktpHi5L .activeCritText1,#mermaid-svg-WMOFihCHHktpHi5L .activeCritText2,#mermaid-svg-WMOFihCHHktpHi5L .activeCritText3{fill:#000 !important}#mermaid-svg-WMOFihCHHktpHi5L .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-WMOFihCHHktpHi5L g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-WMOFihCHHktpHi5L g.classGroup text .title{font-weight:bolder}#mermaid-svg-WMOFihCHHktpHi5L g.clickable{cursor:pointer}#mermaid-svg-WMOFihCHHktpHi5L g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-WMOFihCHHktpHi5L g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-WMOFihCHHktpHi5L .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-WMOFihCHHktpHi5L .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-WMOFihCHHktpHi5L .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-WMOFihCHHktpHi5L .dashed-line{stroke-dasharray:3}#mermaid-svg-WMOFihCHHktpHi5L #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-WMOFihCHHktpHi5L #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-WMOFihCHHktpHi5L #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-WMOFihCHHktpHi5L #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-WMOFihCHHktpHi5L #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-WMOFihCHHktpHi5L #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-WMOFihCHHktpHi5L #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-WMOFihCHHktpHi5L #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-WMOFihCHHktpHi5L .commit-id,#mermaid-svg-WMOFihCHHktpHi5L .commit-msg,#mermaid-svg-WMOFihCHHktpHi5L .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-WMOFihCHHktpHi5L .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-WMOFihCHHktpHi5L .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-WMOFihCHHktpHi5L g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-WMOFihCHHktpHi5L g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-WMOFihCHHktpHi5L g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-WMOFihCHHktpHi5L g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-WMOFihCHHktpHi5L g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-WMOFihCHHktpHi5L g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-WMOFihCHHktpHi5L .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-WMOFihCHHktpHi5L .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-WMOFihCHHktpHi5L .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-WMOFihCHHktpHi5L .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-WMOFihCHHktpHi5L .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-WMOFihCHHktpHi5L .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-WMOFihCHHktpHi5L .edgeLabel text{fill:#333}#mermaid-svg-WMOFihCHHktpHi5L .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-WMOFihCHHktpHi5L .node circle.state-start{fill:black;stroke:black}#mermaid-svg-WMOFihCHHktpHi5L .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-WMOFihCHHktpHi5L #statediagram-barbEnd{fill:#9370db}#mermaid-svg-WMOFihCHHktpHi5L .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-WMOFihCHHktpHi5L .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-WMOFihCHHktpHi5L .statediagram-state .divider{stroke:#9370db}#mermaid-svg-WMOFihCHHktpHi5L .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-WMOFihCHHktpHi5L .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-WMOFihCHHktpHi5L .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-WMOFihCHHktpHi5L .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-WMOFihCHHktpHi5L .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-WMOFihCHHktpHi5L .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-WMOFihCHHktpHi5L .note-edge{stroke-dasharray:5}#mermaid-svg-WMOFihCHHktpHi5L .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-WMOFihCHHktpHi5L .error-icon{fill:#522}#mermaid-svg-WMOFihCHHktpHi5L .error-text{fill:#522;stroke:#522}#mermaid-svg-WMOFihCHHktpHi5L .edge-thickness-normal{stroke-width:2px}#mermaid-svg-WMOFihCHHktpHi5L .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-WMOFihCHHktpHi5L .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-WMOFihCHHktpHi5L .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-WMOFihCHHktpHi5L .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-WMOFihCHHktpHi5L .marker{fill:#333}#mermaid-svg-WMOFihCHHktpHi5L .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-WMOFihCHHktpHi5L {color: rgba(0, 0, 0, 0.75);font: ;}

链接
长方形
圆角长方形
菱形
  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.2.0开始我的操作确认?结束yesno
  • 关于 Flowchart流程图 语法,参考 这儿.

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. mermaid语法说明 ↩︎

  2. 注脚的解释 ↩︎

记录-QuartuesⅡ-Qsys自定义数码管IP过程以及遇到的源文件路径问题相关推荐

  1. 自定义数码管IP核,并让NiosⅡ SBT for Eclipse自动抓取驱动文件

    1.前言 在Platform Designer(原Qsys)中创建自定义六位七段独立数码管IP核并让NiosⅡ SBT for Eclipse自动抓取驱动文件. 开发环境:Quartus Prime ...

  2. vector容器动态申请内存的过程_记录一次自定义Allocator profile的过程

    交代背景 最近组里小伙伴通过组播技术实现发送同一报文到多个接收者,Receiver端会申请内存接收UDP数据包并存入指定Queue中,待用户从Queue中取出数据后会将这块内存回收.上述数据发送功能主 ...

  3. (原创)LEON3入门教程(四):基于AMBA APB总线的七段数码管IP核设计

    摘要:这一小节将介绍下如何设计用户自定义的APB IP,并将IP嵌入到SOPC中去.一个APB IP核的主要分为三个部分:逻辑单元.寄存器单元和接口单元.所设计的IP是一个简单的七段数码管显示IP,只 ...

  4. 语言都是相通的,学好一门语言,再学第二门语言就很简单,记录一下我复习c语言的过程。...

    语言都是相通的,学好一门语言,再学第二门语言就很简单,记录一下我复习c语言的过程. 为了将本人的python培训提高一个层次,本人最近买了很多算法的书. 这个书上的代码基本都是c语言实现的,c语言很久 ...

  5. 802.1x 客户端获取ip过程 很详细

    客户端关联---802.1x认证--dhcp获取ip过程,debug详细过程 原文地址:https://cciewirelessnotes.wordpress.com/ Overview: In th ...

  6. Vivado 自定义VHDL的IP核

    自定义VHDL的IP核 本文介绍基于VHDL语言的IP核的创建. 说明:使用软件版本为Vivado 2019.2 文章目录 自定义VHDL的IP核 一.创建IP核 1.1 创建IP核管理工程 1.2 ...

  7. 自定义ChannelHandler 的添加过程

    前面我们已经分析了ChannelInitializer 是如何插入到Pipeline 中的,接下来就来探讨ChannelInitializer 在哪里被调用,ChannelInitializer 的作 ...

  8. Spring源码解析:自定义标签的解析过程

    2019独角兽企业重金招聘Python工程师标准>>> spring version : 4.3.x Spring 中的标签分为默认标签和自定义标签两类,上一篇我们探究了默认标签的解 ...

  9. oracle 9i 手工建库,简单记录Oracle 9i数据库手工建库过程

    简单记录Oracle 9i数据库手工建库过程Oracle 9i手工建库 By Oracle老菜 今天客户要用oracle 9.2.0.5,aix 6.1已经不支持了,只好从别的数据库把软件拷贝过来重编 ...

  10. 记录第一次使用nvidia tao训练模型的过程

    记录第一次使用nvidia tao训练模型的过程 搭建NVIDIA TAO环境 编辑~/.tao_mounts.json,将自己的项目目录映射到docker中的目录 Nvidia TAO是NVIDIA ...

最新文章

  1. H.264的一些资料整理
  2. Zabbix之监控Mysql性能
  3. 不改表结构如何动态扩展字段
  4. VTK:可视化之ExtrudePolyDataAlongLine
  5. [Cocos2d-x For WP8]Menu菜单
  6. php memcached windows,php memcached windows安装
  7. 网络流及建模专题(上)
  8. 论文浅尝 | ICLR 2020 - 一文全览知识图谱研究
  9. 本机连接opc server有部分数据不刷新_实时数据库PI在企业MES系统中的应用
  10. 有关UITableView--cell复用问题
  11. python实现批量更改xml文件中内容替换
  12. IP釋放、清除、以及刷新DNS
  13. OpenGL ES 3.2
  14. java项目开发经验总结
  15. 台式电脑连接电脑主机与显示器
  16. 晶振负载电容是什么意思?关于晶振负载电容
  17. hp proliant dl380从U盘启动按哪个键
  18. android 图片气泡,关于实现微信聊天气泡里显示图片解决方案
  19. 用C语言来输出菱形的形状
  20. Java switch 详解

热门文章

  1. 移动端页面SEO优化需要注意的10个要点
  2. 三分钟快速了解怎么查询ip地址,怎么更换ip地址!
  3. ANT:修改测试报告的样式jmeter-results-shanhe-me.xsl
  4. php 微信新增永久素材
  5. 我的世界服务器银行系统,我的世界多功能银行系统制作教程
  6. 人力资源管理专业知识与实务(初级)【6】
  7. 火狐浏览器上网速度慢解决方法
  8. 为什么你要用卡片笔记法?
  9. Android 播放器 mov,適用於Android的頂級5 MOV播放器應用程序,可在移動設備上播放MOV視頻文件...
  10. 【HiFlow】新型零代码自动化助手