Verilog写状态机的三段式描述方式1
1,RTL代码2,门级网表3,测试前仿真代码4,前仿真波形+验证状态机的设计思路:
一是从状态机变量入手,分析各个状态的输入、状态转移和输出;
二是先确定电路的输出关系,再回溯规划每个状态的条件、输入等;
状态机的三要素是状态、输入和输出,根据状态机状态是否和输入条件相关,可以分为Moore型状态机(与输入无关)和Mealy型状态机(与输入有关)。
三段式描述:即三个always。根据对下一个状态的判断,利用同步时序逻辑来寄存状态机的输出,从而消除了组合逻辑的不稳定性和毛刺的隐患,有利于时序路径分组。
二段式描述:即二个always。输出使用的是组合逻辑,很容易产生毛刺等不稳定因素。
一段式描述:即一个always。将用于状态转移判断的组合逻辑和用于状态寄存器转移的时序逻辑写在同一个always里面,在描述当前状态时还要考虑下一个状态的输出(这样写代码不清晰,难以维护)。