zoukankan      html  css  js  c++  java
  • 三段式状态机分析

    三段式状态机分析

    编写三段式状态机,第一步是需要分析状态,并编制状态参数。

    Parameter [1:0]S0=2’b00;
    
    Parameter [1:0]S1=2’b01;
    
    Parameter [1:0]S2=2’b10;
    
    Parameter [1:0]S3=2’b11;

    第一段:

    采用时序逻辑:描述状态转换

    reg [1:0]current_state;
    reg [1:0]next_state;
    always@(posedge clk)
    begin
        if(!rst)
            current_state <= 2'b00;
        else
            current_state <= next_state;
    end

    第二段:

    采用组合逻辑,描述下一状态

    always@(*)
    begin
        case(current_state)
            S0:
                next_state = S1;
            S1:
                next_state = S2;
            S2:
                next_state = S3;
            S3:
                next_state = next_state   //锁在了S3状态
            default:
                next_state = S0;
        endcase
    end

    第三段:

    输出逻辑

    reg out_r;
    always@(posedge clk)
    begin
        if(!rst)
            out_r <= 1'b0;
        else
            begin
                case(current_state)
                    S0,S2:
                        out_r <= 1'b0;
                    S1,S3:
                        out_r <= 1'b1;
                    default:
                        out_r <= out_r;
                endcase
            end
    end
    
    assign out_o = out_r;
  • 相关阅读:
    浅谈代理
    AFN
    网络请求
    Socket
    几种加密方式
    8种传值方式
    swift属性观察者机智
    Swift 字符串的分割
    Xcode 所有版本
    Error Domain=ALAssetsLibraryErrorDomain Code=-3310 "数据不可用" .......
  • 原文地址:https://www.cnblogs.com/chensimin1990/p/7930273.html
Copyright © 2011-2022 走看看