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

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

http://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] tmp;
    
    always@(posedge clk or negedge rst_n)
        if(!rst_n)
            tmp <= 4'd0;
        else if(data_valid)
            tmp <= {tmp[2:0],data};
        else
            tmp <= tmp;
    
    always@(posedge clk or negedge rst_n)
        if(!rst_n)
            match <= 1'd0;
        else if(data_valid && {tmp[2:0],data} == 4'b0110)
            match <= 1'd1;
        else
            match <= 1'd0;

  
endmodule
全部评论

相关推荐

07-18 14:34
门头沟学院 Java
感觉招聘要求好高,这都是招什么人才
电气电子小朋友:你都说了这是大疆,无人机顶级企业,薪资30k-50k,要求高是正常的
点赞 评论 收藏
分享
程序员小白条:找的太晚,别人都是大三实习,然后大四秋招春招的,你大四下了才去实习,晚1年
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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