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

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

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] data_tmp;
always@(posedge clk or negedge rst_n)
begin
	if(!rst_n)
	begin
		data_tmp <= 4'b0;
	end
	else
	if(data_valid)
	begin
		data_tmp <= {data_tmp[2:0] , data};
	end
	else
	begin
		data_tmp <= data_tmp;
	end
end

always@(posedge clk or negedge rst_n)
begin
	if(!rst_n)
	begin
		match <= 0;
	end
	else
	if(data_tmp[2:0] == 3'b011 && data==1'b0 && data_valid)//这块时序只有是这样才对
		begin
			match <= 1;  
		end
		else
		begin
			match <= 0;
		end
end

  
endmodule

全部评论

相关推荐

飞屋一号:实话实说就行,先争取一下能不能线上,不行就直接放弃,付出与回报不成正比
我的求职进度条
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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