Verilog 写状态机总是乱套,有没有一套「模板」?
刚开始用 Verilog 写状态机,老师讲的是「三段式」写法,但我自己写的时候要么状态跳转有漏项,要么综合后波形跟预期完全不一样。尤其是带计数器、握手信号(ready/valid)的时候,很容易写出「看着能运行,实际一堆隐含锁存器和时序违例」的代码。想请教:在实际 FPGA 工程里,大家写状态机会遵循什么固定模板?比如状态枚举、状态转移、输出逻辑分别怎么组织?有没有一些典型示例可以照着改,比如「串口接收」「简单总线握手」「数据包解析」这几类场景?