Simple state transition 3

The following is the state transition table for a Moore state machine with one input, one output, and four states. Use the following state encoding: A=2'b00, B=2'b01, C=2'b10, D=2'b11.

Implement only the state transition logic and output logic (the combinational logic portion) for this state machine. Given the current state (state), compute the next_state and output (out) based on the state transition table.

题目网站
a

module top_module(
    input in,
    input [1:0] state,
    output [1:0] next_state,
    output out); //

    parameter A=0, B=1, C=2, D=3;
    always@(*)begin
        case(state)
            A:begin
                next_state=(in)?B:A;
            end
            B:begin
                next_state=(in)?B:C;
            end
            C:begin
                next_state=(in)?D:A;
            end
            D:begin
                next_state=(in)?B:C;
            end
        endcase
    end
    // State transition logic: next_state = f(state, in)
    always@(*)begin
        case(state)
            A,B,C:out=0;
            D:out=1;
        endcase
    end
    // Output logic:  out = f(state) for a Moore state machine

endmodule
posted @ 2024-04-14 03:18  江左子固  阅读(22)  评论(0编辑  收藏  举报