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

输入序列连续的序列检测

http://www.nowcoder.com/practice/d65c2204fae944d2a6d9a3b32aa37b39

`timescale 1ns/1ns module sequence_detect( input clk, input rst_n, input a, output reg match ); reg [3:0] curr_state; reg [3:0] next_state; always @ (posedge clk, negedge rst_n)begin if (~rst_n)begin curr_state<=4'd0; end else begin curr_state<=next_state; end end

always @ (*)begin
    case(curr_state)
        4'd0:next_state=(a==1'b1)?4'd0:4'd1;
        4'd1:next_state=(a==1'b1)?4'd2:4'd0;
        4'd2:next_state=(a==1'b1)?4'd3:4'd0;
        4'd3:next_state=(a==1'b1)?4'd4:4'd0;
        4'd4:next_state=(a==1'b1)?4'd1:4'd5;
        4'd5:next_state=(a==1'b1)?4'd1:4'd6;
        4'd6:next_state=(a==1'b1)?4'd1:4'd7;
        4'd7:next_state=(a==1'b1)?4'd8:4'd0;            
        4'd8:next_state=(a==1'b1)?4'd0:4'd1; 
        default:next_state=4'd0;
    endcase
end

always @ (posedge clk, negedge rst_n)begin if (~rst_n)begin match<=1'b0; end else begin match<=(curr_state==4'd8); end end

endmodule

全部评论

相关推荐

07-01 13:37
门头沟学院 Java
steelhead:不是你的问题,这是社会的问题。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-01 17:13
想去,但是听说加班强度实在难崩,所以拒绝了,现在有点心梗对面hr感觉也是实习生,打电话的时候怪紧张的,但是感觉人很好嘞
水中水之下水道的鼠鼠:哥们这不先去体验一下,不行再跑呗,大不了混个实习经历(有更好的转正offer就当我没说)
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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