如果使用的是system verilog,一定要使用枚举型来描述状态机。
使用参数(parameters)来对状态机进行分配,因为参数会使得状态机易读以及减少编码过程中的错误。
尽管Quartus II能够识别出整数,尽量不要直接使用整数来定义状态值。
在状态转换逻辑中,不要使用状态寄存器进行算术运算,例如:next_state <=state+1'b1;
如果将状态变量作为输出,那么Quartus II将无法识别状态机。
状态机中使用有符号变量,那么Quartuss II将无法识别状态机。