题解 | #根据状态转移写状态机-二段式#

根据状态转移写状态机-二段式

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,s1=1,s2=2,s3=3,s4=4;
reg [2:0]state,next_state;
always@(posedge clk or negedge rst)begin
if(!rst)begin
state<=s0;
end
else begin
state<=next_state;
end

end

always@(*)
begin
	case(state)
	s0:begin next_state=data?s1:s0;
	flag=0;
	end
	
	s1:begin next_state=data?s2:s1;
	flag=0;
	end
	
	s2: begin next_state=data?s3:s2;
	flag=0;
	end
	
	s3:begin next_state=data?s4:s3;
	flag=0;
	end
	
	s4:begin next_state=data?s1:s0;
	flag=1;
	end
	default begin
	next_state=s0;
	flag=1;
	end
	endcase
end

//*************code***********//
endmodule

全部评论

相关推荐

03-08 18:11
门头沟学院 Java
想要实习的牛:这么牛逼的简历都吃瘪吗🌚那我不寄了
点赞 评论 收藏
分享
在笔试的大西瓜很矫健:校招数分不用想了,这经历和学历都不够用,大厂更别想,初筛都过不了,说点不好听的小厂数分都进不去(小厂也是假数分),要两个对口实习+3个项目(或者3+2),而且要有含金量才能补一点你的学历劣势。 建议刷实习,社招找数分,校招看运气,能入行业就行,可以运营转数分
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务