kerenyang 发表于 2014-10-19 07:12:55

大家谈谈我们写FPGA程序用状态机有什么优缺点?

RT,大家谈谈我们写FPGA程序用状态机有什么优缺点?

cxhy 发表于 2014-10-19 08:12:07

个人觉得,优点在于能把并行执行的verilog代码转化为顺序执行的代码,弥补了硬件代码不容易实现顺序执行的不足。(这个不足恰恰又是verilog的优势,并行执行效率高)。另外一个方面,缺点在于代码量有点太大了,而且在一些三段式状态机里面很容易把最后一个always写的非常巨大,不利于阅读,有时候在一些简单的情况下,我宁愿跑一个计数器,然后写一个case,而且仿真也相对来说麻烦一些。不过,在很多情况下,状态机又是必须的。

NJ8888 发表于 2014-10-19 08:36:41

如果流程简单,反馈少可以用计数器+case,复杂分支用计数器计数写分支太麻烦,所以还是得靠状态机

jarodzz 发表于 2014-10-19 09:54:10

counter 其實也是 state machine。

kerenyang 发表于 2014-10-19 11:41:35

cxhy 发表于 2014-10-19 08:12
个人觉得,优点在于能把并行执行的verilog代码转化为顺序执行的代码,弥补了硬件代码不容易实现顺序执行的 ...

你好,感谢你的回复,状态机对代码移植和对他修改(比如要加一个功能)有什么影响啊?

kerenyang 发表于 2014-10-19 11:42:07

jarodzz 发表于 2014-10-19 09:54
counter 其實也是 state machine。

{:loveliness:}

wuqt 发表于 2014-10-19 22:16:33

用得好都是优点,用不好都是缺点。

apolloty 发表于 2014-10-19 22:20:38

wuqt 发表于 2014-10-19 22:16
用得好都是优点,用不好都是缺点。

赞一个{:tongue:}

DCJ 发表于 2014-10-19 22:50:04

把要实现的东西用状态图描述出来,用状态机思路可以更加清晰。

kerenyang 发表于 2014-10-20 06:59:53

wuqt 发表于 2014-10-19 22:16
用得好都是优点,用不好都是缺点。

呵呵,谢谢你的回复,敢问何谓用的好,何谓不好啊?

wuqt 发表于 2014-10-20 08:47:38

kerenyang 发表于 2014-10-20 06:59
呵呵,谢谢你的回复,敢问何谓用的好,何谓不好啊?

用得好就是跑二十年不会跑飞的,用得不好就比如一千帧里会有一帧出错,想死的心都有。
页: [1]
查看完整版本: 大家谈谈我们写FPGA程序用状态机有什么优缺点?