题解 | #根据状态转移写状态机-三段式#

根据状态转移写状态机-三段式

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

`timescale 1ns/1ns

module fsm1(
    input wire clk  ,
    input wire rst  ,
    input wire data ,
    output reg flag
);
//*************code***********//
    parameter S0 = 4'd0001;
    parameter S1 = 4'd0010;
    parameter S2 = 4'd0100;
    parameter S3 = 4'd1000;

    reg [3:0] c_state;
    reg [3:0] n_state;
    
    always @(posedge clk or negedge rst) begin
        if(!rst)
            c_state <= S0;
        else
            c_state <= n_state;
    end
    
    always @(*) begin
        case(c_state)
            S0: if(data == 1) n_state <= S1;else n_state <= c_state;
            S1: if(data == 1) n_state <= S2;else n_state <= c_state;
            S2: if(data == 1) n_state <= S3;else n_state <= c_state;
            S3: if(data == 1) n_state <= S0;else n_state <= c_state;
            default: n_state <= S1;
        endcase
    end
    
    always @(posedge clk or negedge rst) begin
        if(!rst)
            flag <= 1'b0;
        else begin
            case(c_state)
                S3:if(data) flag <= 1'b1;else flag <= 1'b0;
                default: flag <= 1'b0;
            endcase
        end
    end
    
//*************code***********//
endmodule
全部评论

相关推荐

不愿透露姓名的神秘牛友
06-19 20:55
因为业务不是喜欢的,所以就没去,现在实习工作也有很多dirtywork,很后悔,怎么能舔回这个offer啊
flmz_Kk:试一试跟hr舔回来,不过保不齐米的活也有很多dirtywork,只能说不要美化自己没走过的路
点赞 评论 收藏
分享
05-05 21:45
已编辑
广州大学 Java
点赞 评论 收藏
分享
运营你豪哥:简历改改吧-非本、求职意向技术岗、无实习经历、内容空洞 如果简历不爆改的话,应该是会持续崩溃了 1.把你教育经历放最下面去 2.蓝底照片很奇怪哈,感觉还在高中时代,建议白底重新拍一下 3.校园经历没啥必要,收集和反馈同学们对产品的意见,解决学生和老师之间的沟通,企业招聘不看这些哈 好好思考一下简历的设计和你要表达的重点,再去投简历
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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