其他分享
首页 > 其他分享> > Exams/review2015 fsmseq

Exams/review2015 fsmseq

作者:互联网

这是一系列五个练习中的第二个组成部分,这些练习由几个较小的电路构建一个复杂的计数器。 请参阅 最终练习 

构建一个有限状态机,在输入比特流中搜索序列 1101。 找到序列后,应将 start_shifting 为 1,直到重置。 陷入最终状态旨在模拟在尚未实现的更大 FSM 中进入其他状态。 我们将在接下来的几个练习中扩展这个 FSM。

 

 module top_module (
    input clk,
    input reset,      // Synchronous reset
    input data,
    output start_shifting);
    parameter IDLE=0,A=1,B=2,C=3,D=4,E=5,stop=6;
    reg [2:0] state,nstate;
    always@(posedge clk)
        if(reset)
            state<=A ;
        else
            state<=nstate;
    always@(*)
        case(state)
            A:nstate=data?B:A;
            B:nstate=data?C:A;
            C:nstate=data?C:D;
            D:nstate=data?D:A;

            default:nstate=A;
        endcase
    always@(posedge clk )
        if(reset)
            start_shifting<=0;
    else if(state==D&&data==1)
            start_shifting<=1;
        else
            start_shifting<=start_shifting;
endmodule

标签:reset,nstate,review2015,start,state,shifting,Exams,data,fsmseq
来源: https://www.cnblogs.com/usst6/p/16408467.html