Как я могу изменить FSM с этим условием?

Скриншот структуры и условий FSM

Это мой источник изображения FSM. Мой профессор сказал, что "мы должны включить это условие", причем условие y = 1 when state == s2 and x == 1, Я могу спроектировать источники FSM по умолчанию, но я не уверен, как правильно добавить это условие в мои источники FSM.

Как я могу изменить источники?

источники дизайна:

    module ex_fsm(clk, x, y );

    input clk, x;
    output y;
    reg [2:0] state, next_state;

    parameter s0 = 0, s1 = 1, s2 = 2, s3 = 3, s7 = 7;

    always @(posedge clk)
    begin
        state <= next_state;
    end

    assign y = (state == s7);

    always @ (state or x)
    begin
    case (state)
       s0 : if(x) next_state = s1;
            else next_state = s0;

       s1 : if(x) next_state = s3;
            else next_state = s2;

       s2 : if(x) next_state = s2;
            else next_state = s3;

       s3 : next_state = s0;

       s7 : next_state = s0;

       default : next_state = s0;

    endcase
    end

    endmodule


    //////////////////////////////////////////
    -stimulus sources-



    module stim_fsm;

    reg clk;
    reg x;
    wire y;

    ex_fsm myfsm(
        .clk(clk),
        .x(x),
        .y(y)
        );

        initial
            clk = 0;
        always
        #5 clk = ~clk;

        initial
        begin
         $monitor($time, " Output y = %d\n", y);
         x = 0;
         #10 x = 1;
         #10 x = 0;
         #10 x = 1;
         #10 x = 0;
         #10 x = 1;
         #50 $finish;
    end

    endmodule

0 ответов

Другие вопросы по тегам