大家谈谈我们写FPGA程序用状态机有什么优缺点?
RT,大家谈谈我们写FPGA程序用状态机有什么优缺点? 个人觉得,优点在于能把并行执行的verilog代码转化为顺序执行的代码,弥补了硬件代码不容易实现顺序执行的不足。(这个不足恰恰又是verilog的优势,并行执行效率高)。另外一个方面,缺点在于代码量有点太大了,而且在一些三段式状态机里面很容易把最后一个always写的非常巨大,不利于阅读,有时候在一些简单的情况下,我宁愿跑一个计数器,然后写一个case,而且仿真也相对来说麻烦一些。不过,在很多情况下,状态机又是必须的。 如果流程简单,反馈少可以用计数器+case,复杂分支用计数器计数写分支太麻烦,所以还是得靠状态机 counter 其實也是 state machine。 cxhy 发表于 2014-10-19 08:12个人觉得,优点在于能把并行执行的verilog代码转化为顺序执行的代码,弥补了硬件代码不容易实现顺序执行的 ...
你好,感谢你的回复,状态机对代码移植和对他修改(比如要加一个功能)有什么影响啊? jarodzz 发表于 2014-10-19 09:54
counter 其實也是 state machine。
{:loveliness:} 用得好都是优点,用不好都是缺点。 wuqt 发表于 2014-10-19 22:16
用得好都是优点,用不好都是缺点。
赞一个{:tongue:} 把要实现的东西用状态图描述出来,用状态机思路可以更加清晰。 wuqt 发表于 2014-10-19 22:16
用得好都是优点,用不好都是缺点。
呵呵,谢谢你的回复,敢问何谓用的好,何谓不好啊? kerenyang 发表于 2014-10-20 06:59
呵呵,谢谢你的回复,敢问何谓用的好,何谓不好啊?
用得好就是跑二十年不会跑飞的,用得不好就比如一千帧里会有一帧出错,想死的心都有。
页:
[1]