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

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

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 [3:0] shift_reg;

always @(posedge clk or negedge rst_n)begin
	if(!rst_n)begin
		shift_reg <= 4'b0;
	end
	else begin
		if(data_valid)begin
			shift_reg <= {shift_reg[2:0],data};
		end
		else begin
			shift_reg <= {shift_reg[2:0],1'b0};
		end
	end
end

always @(*)begin
	if(!rst_n)begin
		match = 1'b0;
	end
	else begin
		if(shift_reg == 4'b0110)begin
			match = 1'b1;
		end
		else begin
			match = 1'b0;
		end
	end
end
endmodule

全部评论

相关推荐

认真搞学习:28小登的建议,投算法岗不要写什么物理竞赛,互联网+,多写点项目,用什么算法做了什么。还有本科算法是不可能的开发你这个也没有项目啊
点赞 评论 收藏
分享
机械打工仔:第一位颇有孟德之志
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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