1、这个题罕见的一次成功,主要有了状态机切换图,但是单热码在这里的应用还真没看到。
2、下一步要根据他不给状态机的图然后自己想出状态切换。mealy状态机跟moore状态机的区别。
参考的知乎:FPGA菜鸟学习笔记——4、有限状态机 - 知乎 (zhihu.com)
以及: HDLBits:在线学习 Verilog (二十九 · Problem 140-144) - 知乎 (zhihu.com)
完整代码如下:
module top_module (
input clk,
input areset,
input x,
output z
);
reg[1:0] state,next_state;
parameter A=0,B=1;
always@(*)begin
case(state)
A:next_state=x?B:A;
B:next_state=B;
endcase
end
always@(posedge clk or posedge areset)begin
if(areset)
state<=A;
else
state<=next_state;
end
always@(*)begin
case(state)
A:z=x;
B:z=!x;
endcase
end
endmodule