有限状态机的使用在数字设计中非常普遍,下面对自己近期的使用做下总结。
状态机的种类:

对于代码实现,往往分三个部分:
1 时序部分:也就是当前状态的存储。

2 组合逻辑中,状态转换部分。

3 组合逻辑,输出部分。

当然输出这部分为了与后面逻辑同步,可以采用流水线输出(pipelined output),如下图:

综上所述,用上述格式写状态机会一路了然,特别是复杂状态下,更显清晰,故应该养成以上代码风格。
原文:http://www.cnblogs.com/eric1/p/3574888.html