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

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

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

全部评论

相关推荐

01-30 22:03
门头沟学院 Java
用微笑面对困难:我滴妈,【俩月】【实习】【主管】仨debuff吃满了,独立设计开发的项目写了绝大占比的运营板块,你独立开发,那维护、问题复盘、日志更新、bug、策划书全是自己整的? 不建议写那么大,可以从小出发更容易
点赞 评论 收藏
分享
01-14 12:34
门头沟学院 C++
牛马人的牛马人生:太暖心了啊 配环境是真烦
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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