你们写状态机一般是几段的?用哪种比较好
网上和教科书上一般将状态机写法分为三种,一段、两段、三段,一般不推荐写一段式状态机,但是我怎么觉的一段式的是最好写的。顺便转一篇文章,我比较认同他的说法。 我一般是按状态去分级,在状态中处理事件、事件中跳转状态 看情况。不相干的部分我也会写一堆,相关部分一个中小模块,巨大模块也会通过状态拆分。主要是灵活性与扩展性考虑。不用纠结几段,写这些所谓教程的人通常都是叫兽,没写过实际工程,凭理论想当然。 个人认为,具体情况要具体分析,不一定都要按指定的套路来。 本帖最后由 xieyudi 于 2014-11-14 07:15 编辑小型的逻辑一般就随便了.
大型的一般是三段式, 寄存器 次态 输出 三类.
其实怎么写都没关系, 只要随时注意这些语句会生成什么样的逻辑就好.
不同写法对电路产生了影响, 肯定是电路的描述发生了改变, 这种比较根本没有意义. 喜欢用三段的,写顺手了。写FPGA要知道最后会生成什么样逻辑电路 一般三段式吧,但不排除多段式;完全是随心所欲的; 三段式是不是这样:enter/do/exit
其实不用局限于多少段式吧 这个确实应该对情况做不同的选择,还有个人喜好也有关~ 如果三段式状态机输出时基于次态的,三段式状态机的状态要多一些,上面那个文章是这样写的 本帖最后由 stdio 于 2014-11-14 10:15 编辑
项目大了,自然转多段。 受教了,多学习 不同描述方法,主要是规范代码,利于综合器综合,最终关键要看生成的电路。 状态机,我无论是简单的,还是复杂的,我一般都使用三态的。因为这样以后阅读方便,且容易理解 一段式。。。。 2段就行 第一部分是根据当前状态和输入控制条件转移 第2部分是根据当前状态控制输出另外还有些技巧,比如在里面设置辅助的状态机或者计数器。多个状态机配合工作的精髓我认为就两个字“观察”一个状态机查看另外的状态机,结合输入和自身状态决定下一状态。
注意ISE开发环境对多状态支持不很好,可以用SYNPLIFY PRO 先综合过再把EDF文件给ISE。 想学习,一直都没有怎么没有深入的理解。。 感觉一直都不是很清楚应该怎么写会比较好,过来听听~
页:
[1]