前言
详细内容,可以直接跳转阅读《Intel FPGA/CPLD设计高级篇》1.3.13章节。
本文根据个人理解进行整理,目的在于加强个人理解和记忆,同时方便后期时常翻看阅读
(1)状态机的状态,能够精简的就精简,尽量减小状态个数,删减不必要的状态。
若能够不使用状态机就能实现的功能,不建议使用状态机。
在大规模高速设计中,非必要的状态机可能会引起时序约束不满足。因此,能简则简!
(2)选择状态机的编码方式
(3)两段式状态机设计方法
(4)初始化状态和默认状态
(5)指定默认输出值
- 对状态机的所有输出变量指定一个默认输出值。好处在于能够防止无意生成的Latch。
- 所有的输出最好用寄存器打一拍,以获得更好的时序环境和状态的稳定。
(6)状态机输出逻辑复用
作者 | 博文 |
1 | 《Intel FPGA/CPLD设计高级篇》 |