Simple state transition 3

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 @ 2023-04-27 19:00  江左子固  阅读(16)  评论(0)    收藏  举报