verilog状态机检测001序列。。。。如果写的全,加分。。。。考试要用。。。最好能划一下图表。。有分

如题所述

module fsm(clk,x,reset,z);

input x,reset,clk;

output z;

reg z;

reg[1:0] state;//状态

parameter s0=2'b00,s1=2'b01,s2=2'b10;

always@(posedge clk)

begin

if(reset)

state<=s0;

else

begin

case(state)

s0:begin if(x) begin state<=s0;z<=0;end

               else begin state<=s1;z<=0;end

     end

s1:begin if(x) begin state<=s0;z<=0;end

               else begin state<=s2;z<=0;end

     end

s2:begin if(x) begin state<=s0;z<=1;end

               else begin state<=s2;z<=0;end

     end

endcase

end

end

endmodule

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-11
odule fsm(clk,x,reset,z);
input x,reset,clk;
output z;
reg z;
reg[1:0] state;//状态
parameter s0=2'b00,s1=2'b01,s2=2'b10;
always@(posedge clk)
begin
if(reset)
state<=s0;
else
begin
case(state)
s0:begin if(x) begin state<=s0;z<=0;end
else begin state<=s1;z<=0;end
end
s1:begin if(x) begin state<=s0;z<=0;end
else begin state<=s2;z<=0;end

endcase
end
end
相似回答
大家正在搜