今天推荐给大家一个绘制状态机转移图的小工具(网站),可以根据自己的设定绘制状态机。
网站地址:
https://hifpga.com/fsm/
进入网站后会出现如下界面:
其中标号1为“代码”编写窗口;
标号2是图像风格:
cicro风格
dot风格
标号3是预览格式(即图像格式);
标号4是状态机转移图;
例如:
我在标号1内编写如下代码:
代码语言:javascript复制 # https://hifpga.com/fsm/
#状态机示例
digraph fsm {
"a" -> "a" [label= "0/0"]
"a" -> "b" [label= "1/0"]
"b" -> "a" [label= "0/0"]
}
选择cicro风格,就会得到下列图像:
编写:
代码语言:javascript复制 # https://hifpga.com/fsm/
#状态机示例
digraph fsm {
"a" -> "a" [label= "0/0"]
"a" -> "b" [label= "1/0"]
"b" -> "c" [label= "0/0"]
"b" -> "d" [label= "1/0"]
"c" -> "a" [label= "0/0"]
"c" -> "d" [label= "1/0"]
"d" -> "e" [label= "0/0"]
"d" -> "f" [label= "1/1"]
"e" -> "a" [label= "0/0"]
"e" -> "f" [label= "1/1"]
"f" -> "f" [label= "1/1"]
"f" -> "g" [label= "0/0"]
"g" -> "a" [label= "0/0"]
"g" -> "f" [label= "1/1"]
}
选择dot风格:
还是比较简单的,过多介绍就省略了,大家有兴趣可以自己去设计。
PS:
状态机是FPGA设计中一种非常重要、非常根基的设计思想,堪称FPGA的灵魂,贯穿FPGA设计的始终。
简单地说,状态机就是一副描绘着状态变迁的状态转移图,它体现着系统对外界事件的反应和行为。
FPGA中的状态机是指有限状态机,简称为FSM,是指状态节点数和输入、输出范围皆有限的状态机。需要说明的是,虽然有限状态机的状态节点和输入、输出皆为有限的,但这并不意味着它仅能进行有限次的处理,这是因为有限状态机可以形成闭环系统,所以可以用有限个状态处理无限的事件,从而到达化有限为无穷的境界。
版权归hifpga所有,侵删!