实现一个 Mealy 的输入信号上的序列“101” 。 您的 FSM 应该有一个输出信号 ,当检测到“101”序列时,它被断言为逻辑 1。 您的 FSM 还应该有一个低电平有效的异步复位。 您的状态机中可能只有 3 个状态。 您的 FSM 应该能够识别重叠序列。

module top_module (
    input clk,
    input aresetn,    // Asynchronous active-low  
    input x,
    output z );
    parameter
    ONE=2'd0,
    TWO=2'd1,
    THREE=2'd2;  
    reg [1:0]state,nstate;
    always@(posedge clk or negedge aresetn)
        if(!aresetn)
            state<=ONE;
        else
            state<=nstate;
    always@(*)
        case(state)
            ONE:nstate=x?TWO:ONE;
            TWO:nstate=x?TWO:THREE;
            THREE:nstate=x?TWO:ONE;
        endcase
    assign z=(state==THREE && x==1);
endmodule

posted on 2022-06-03 22:04  USSTer  阅读(150)  评论(0)    收藏  举报