题解 | #状态机-重叠序列检测#

状态机-重叠序列检测

https://www.nowcoder.com/practice/10be91c03f5a412cb26f67dbd24020a9

`timescale 1ns/1ns

module sequence_test2(
	input wire clk  ,
	input wire rst  ,
	input wire data ,
	output reg flag
);
//*************code***********//
parameter	s0	=	4'b0001,
			s1	=	4'b0010,
			s2	= 	4'b0100,
			s3	=	4'b1000;

reg		[3:0]	cur_state,nxt_state;
reg		data_reg;
always@(posedge clk or negedge rst)
	if(!rst)
		data_reg	<=	0;
	else
		data_reg	<=	data;

always@(posedge clk or negedge rst)
	if(!rst)
		cur_state	<=	s0;
	else	
		cur_state	<=	nxt_state;

always@(*)
	if(!rst)		
		nxt_state	<=	s0;
	else	case(cur_state)
	s0:		nxt_state	<=	(data_reg)? s1:s0;
	s1:		nxt_state	<=	(data_reg)? s1:s2;
	s2:		nxt_state	<=	(data_reg)? s3:s0;
	s3:		nxt_state	<=	(data_reg)? s1:s2;
	default: nxt_state	<=	s0;
	endcase

always@(posedge clk or negedge rst)
	if(!rst)
		flag	<=	1'b0;
	else	if(cur_state == s3 && data_reg)
		flag	<=	1'b1;
	else	
		flag	<=	1'b0;
//*************code***********//
endmodule

全部评论

相关推荐

震撼沃玛一整年:查看图片
点赞 评论 收藏
分享
06-10 21:15
门头沟学院 Java
宁阿:好多这种没🧠的公司,他们估计都不知道毕业的人不能给安排实习岗
实习吐槽大会
点赞 评论 收藏
分享
06-25 21:00
门头沟学院 Java
多拆解背记一下当前的高频场景面试题,结合自己的项目经历去作答,面试通过率原来真的不会低!
牛客96559368...:小公司不就是这样的吗,面试要么是点击就送,要么就是往死里拷打,没有一个统一的标准。这个不能代表所有公司
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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