VHDL FSM中的状态管理

jco*_*der 4 vhdl fsm

我在VHDL中看到的很多FSM都是通过next_state在FSM逻辑中设置变量" "然后将其单独分配给流程外的状态变量来工作的.

如果只是写" state <= state_five;" 有什么不对 改为设置下一个状态?我假定有有这么多人使用一个单独的下一个状态变量,而不是直接分配给国家,因为我看到这一切的时候有原因的,但据我可以告诉有不同之处在于它使代码没有什么区别更长更复杂的外观.

我错过了什么吗?或者只是一个风格问题?如果是这样,为什么这种风格更好,对我来说似乎没必要.

Bri*_*ond 6

"简单写作有什么不对state <= state_five;吗?"

什么都没有 - 提供状态分配是在一个定时的过程中完成的.

这导致了简洁可靠的"单进程状态机"风格,而不是不可靠(因为它很容易使灵敏度列表错误)两种过程风格,在太多的教科书和在线教程中讲授.

搜索"单进程状态机",您应该能够找到很好的示例材料和进一步的讨论.

历史记录:上个世纪可能有一些综合工具存在单一过程风格的问题; 但现在没有理由避免它.