1、这个题跟上一个题目(没有发博客感觉太简单,而且跟这个是一样的)一样刚开始没反应过来要干啥,后来才知道就是看y[2]啥时候为1;
2、其次这个只是一个状态机切换的过程不是完整的verilog流程。
完整代码如下:
module top_module (
input [3:1] y,
input w,
output Y2);
reg[2:0] state,next_state;
parameter A=0,B=1,C=2,D=3,E=4,F=5;
always@(*)begin
case(y)
A:next_state=w?A:B;
B:next_state=w?D:C;
C:next_state=w?D:E;
D:next_state=w?A:F;
E:next_state=w?D:E;
F:next_state=w?D:C;
default:next_state=A;
endcase
end
assign Y2=(next_state==C)||(next_state==D);
endmodule