状态机小结
需从功能,性能,稳定,资源等方面权衡状态机。
1代码结构
三段式将组合逻辑和时序逻辑分开,利于综合器分析优化和程序维护,但需注意三段式思维陷阱;
2状态编码
one-hot编码始终只有一位变化,组合反馈资源少,具有最高的速度和较强的抗干扰性能,可以提高设计的工作速度,且索引式one-hot比非索引式one-hot节省资源。
3安全
one-hot状态机异步复位时,由于有些状态位跳出复位状态,而其它状态位没有,那么就会有多于一个状态位被置高(即有效),这样这个状态机就会进入非法状态。如果使用二进制编码状态机,它可以创建未使用的状态来过渡到复位状态,这使得其成为一个确定性的状态机。这样就允许一个非法的或者闲置的状态得到完美的恢复。