题解 | #根据状态转移写状态机-二段式#
根据状态转移写状态机-二段式
https://www.nowcoder.com/practice/5b2ff27610d04993ae92374d51bfc2e6
`timescale 1ns/1ns module fsm2( input wire clk , input wire rst , input wire data , output reg flag ); //*************code***********// parameter s0=0; parameter s1=1; parameter s2=2; parameter s3=3; parameter s4=4; reg[2:0]state; reg[2:0]next_state; //1 always@(posedge clk or negedge rst) begin if(!rst) state<=0; else state<=next_state; end //2 always@(*) begin if(!rst) begin next_state=0; flag=0; end else begin case(state) s0:if(data==1) begin next_state=s1; flag=0;end else begin next_state=s0;flag=0;end s1:if(data==1) begin next_state=s2; flag=0;end else begin next_state=s1;flag=0;end s2:if(data==1) begin next_state=s3; flag=0;end else begin next_state=s2;flag=0;end s3:if(data==1) begin next_state=s4;flag=0;end else begin next_state=s3;flag=0;end s4:if(data==1) begin next_state=s1; flag=1;end else begin next_state=s0;flag=1;end default:begin next_state=s0; flag=0;end endcase end end //*************code***********// endmodule



查看11道真题和解析