根据状态机的输出是否与输入条件有关,将状态机分为:
Moore状态机——输入与当前状态有关,与输入条件无关
Mealy 状态机——输入与输入条件有关,与当前状态无关
FSM的标准:
稳定性——不会进入死循环,即使进入非设计状态也能很快恢复;
速度快——满足设计的频率要求;
面积小——满足设计的面积要求(占用尽可能少的逻辑资源);
状态机描述方法:
一段式——1个always模块,既包括状态转移也包括状态输入输出;
二段式——2个always模块,1个模块采用同步时序描述状态转移,另一个用组合逻辑判断状态转移条件;
三段式——3个always模块,1个用同步时序描述状态转移;另一个用组合逻辑判断转移条件;第三个使用同步时序描述每个状态的输出;
序列检测思路
原始图表→化简→状态分配
例:可重叠“1001”序列检测,input“0001001101001001”
状态图:
化简:
若两个状态的次态和输出均相同,则可省去其中一个状态。
状态分配:
状态分配的三个原则:
1.输出相同,现态相邻;
2.次态相同,现态相邻;
3.同一现态,次态相邻;