关于三段式描述状态机的局限性
时间:12-11
整理:3721RD
点击:
用三段描述的状态机MS是在当前状态预先给出下一个状态的输出;但是如果状态机是mealy型,且下一个状态的输出只有根据下一拍后的输入才能给出,三段式描述不就不能用了吗?还望大侠指点。
个人觉得mealy型还是moore型的状态机只有理论上的差别,实际应用中很少
考虑,除非你整个芯片只是一个状态机。
我的问题是:针对三段式的mealy机,有的情况下状态的输出不是唯一的,要根据该状态当前的输入,那么在判断下一状态的输出要根据下一状态的输入,但在当前状态不能够预先知道下一状态的输入。
如下的例子是一个摩尔型的例子,因为它只依靠状态值进行输出(不依靠额外的输入信号),所以不存在上述问题
//3rd always block, the sequential FSM output
always @ (posedge clk or negedge nrst)
if (!nrst)
{o1,o2,err} <= 3'b000;
else
begin
{o1,o2,err} <= 3'b000;
case (NS)
IDLE: {o1,o2,err}<=3'b000;
S1: {o1,o2,err}<=3'b100;
S2: {o1,o2,err}<=3'b010;
ERROR: {o1,o2,err}<=3'b111;
endcase
end