状态机是时序电路的万能钥匙,所有时序电路都能通过状态机实现。以前写程序时喜欢用一段式状态机,现在流行用三段式。好象三段时也没多大优点。
在CPLD中寄存器较少,个人感觉用一段式也可以,主要是省资源。
时序电路的状态是一个状态变量集合,这些状态变量在任意时刻的值都包含了为确定电路的未来行为而必需考虑的所有历史信息。
状态机采用VerilogHDL语言编码,建议分为三个always段完成。
三段式建模描述FSM的状态机输出时,只需指定case敏感表为次态寄存器, 然后直接在每个次态的case分支中描述该状态的输出即可,不用考虑状态转移条件。