欢迎光临散文网 会员登陆 & 注册

Q3a: FSM

2023-08-29 15:47 作者:lljjggxx  | 我要投稿

Q3a: FSM

https://hdlbits.01xz.net/wiki/Exams/2014_q3fsm

module top_module (

    input clk,

    input reset,   // Synchronous reset

    input s,

    input w,

    output z

);


    localparam 

        A    = 3'd0,

        B   =  3'd1, 

        C   =  3'd2,

        D   =  3'd3,

        E   =  3'd4;


    reg [2:0] state, next_state;


    reg [2:0] W_VA;

    

   always @ (*)

        case (state)

            A: next_state = s?B:A;

            B: next_state = C;

            C: next_state = D;

            D: next_state = E;

            E: next_state = C;

            default next_state = A;

        endcase


    always @ (posedge clk)

        if (reset)

            state <= A;

        else

            state <= next_state;


    always @ (posedge clk)

        case (next_state)

            C:W_VA <= {2'b00,w} ;

            D:W_VA <= {W_VA[2],w,W_VA[0]};

            E:W_VA <= {w,W_VA[1:0]};

            default W_VA <= 3'b000;

        endcase

    assign z =  next_state == C && ((W_VA==3'b011)  || (W_VA==3'b101) || (W_VA==3'b110));     

endmodule



Q3a: FSM的评论 (共 条)

分享到微博请遵守国家法律