谁能说说状态机怎么用啊?

2019-07-16 00:57发布

    如题,状态机本身好写,但是具体怎么用,没用过状态机真是感觉很低端。
    比如用状态机产生一个波形,除了输入输出还有很多寄存器用于控制,都写在一起呢,还是把状态机独立出来为一个module,然后再根据这个module来控制电路
    我是状态机小白,请大家交流交流。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
k331922164
1楼-- · 2019-07-16 01:55
需要状态的时候就用状态机。
状态是自定义的。比如红绿灯,红、绿、黄三种状态。
比如洗衣机的工作状态。
情商浪子
2楼-- · 2019-07-16 02:55
 精彩回答 2  元偷偷看……
funbo
3楼-- · 2019-07-16 07:13
自己顶,资料查阅中
funbo
4楼-- · 2019-07-16 10:53
自己顶,资料查阅中
camp
5楼-- · 2019-07-16 14:17
状态机在需要时序的时候作用巨大
在时序电路中,很多芯片的操作都有一定的时序图,如何才能正确的控制这些芯片。在FPGA设计中,不使用状态机也可以实现,但可读性、可维护性极差。这时你需要想起状态机,状态机可以让你的设计具有更强的可读性、可维护性。
给个简单的例子吧。
操控FLASH,一般情况是:1.发送控制. 2.发送地址. 3.操作数据
这三个动作,如果单纯用逻辑电路写,问题不算太难;
但如果用状态机写,分成3个状态,状态跳转就很容易实现功能。
如果某天换一块芯片,增加了一个状态操作,只要在状态机中添加非常方便。

引申. 如果操作更为复杂的芯片(如SDRAM)。状态会更多,不用状态机,工程师很容易进入一个死胡同。很多没有考虑的因素都可能导致设计的失败。

写那么多,不知道有没有帮助。不懂就当作吹牛吧.
funbo
6楼-- · 2019-07-16 16:40
camp 发表于 2014-2-19 12:28
状态机在需要时序的时候作用巨大
在时序电路中,很多芯片的操作都有一定的时序图,如何才能正确的控制这些 ...

虽然没太懂,但科普很大。能不能再说具体一点,我想说的是,实际中会需要产生很多的信号用于控制,是都作为输入到状态机的module里产生状态,还是可以直接在状态机的module里建寄存器(比如计数器)来作为状态切换的条件。

一周热门 更多>