题解 | #输入序列不连续的序列检测#

输入序列不连续的序列检测

https://www.nowcoder.com/practice/f96d0e94ec604592b502b0f1800ed8aa

`timescale 1ns/1ns
module sequence_detect(
	input clk,
	input rst_n,
	input data,
	input data_valid,
	output reg match
	);

	reg [1:0]cs,ns;
	always@(posedge clk or negedge rst_n)begin
		if(!rst_n)begin
			cs<=0;
		end
		else begin
			cs<=ns;
		end
	end

	always@(*)begin
		case(cs)
		2'b00:begin
			if(data_valid)begin
				ns=(data==0)?2'b01:2'b00;
			end
			else begin
				ns=cs;
			end
		end
		2'b01:begin
			if(data_valid)begin
				ns=(data==1)?2'b10:2'b01;
			end
			else begin
				ns=cs;
			end
		end
		2'b10:begin
			if(data_valid)begin
				ns=(data==1)?2'b11:2'b00;
			end
			else begin
				ns=cs;
			end
		end
		2'b11:begin
			if(data_valid)begin
				ns=0;
			end
			else begin
				ns=cs;
			end
		end
		endcase
	end

	always@(posedge clk or negedge rst_n)begin
		if(!rst_n)begin
			match<=0;
		end
		else begin
			match<=((cs==2'b11)&&(data==0)&&(data_valid==1))?1:0;
		end
	end
  
endmodule

全部评论

相关推荐

03-03 23:12
已编辑
北京邮电大学 Java
书海为家:我来给一点点小建议,因为毕竟还在学校不像工作几年的老鸟有丰富的项目经验,面试官在面试在校生的时候更关注咱们同学的做事逻辑和思路,所以最好在简历中描述下自己做过项目的完整过程,比如需求怎么来的,你对需求的解读,你想到的解决办法,遇到困难如何找人求助,最终项目做成了什么程度,你从中收获了哪些技能,你有什么感悟。
你的简历改到第几版了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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