zoukankan      html  css  js  c++  java
  • 状态机之二段式

    功能实现:检测一段序列码A1011,如果检测到1011输出为1否则输出为0

    状态机如图所示:起始状态为IDLE,当检测到A[0]=1,进入state1状态,当检测到A[1]=1时,进入STATE2状态,当检测到A[2]=0时,进入STATE3状态,当检测到A[3]=1时,进入IDLE状态。

    状态机可分为两部分:第一部分是描述状态条件转移的判断,第二部分描述的是输出

    parameter IDLE = 3'b000;//初始状态
    parameter STATE1=3'b001;//状态1
    parameter STATE2=3'b010;//状态2
    parameter STATE3=3'b100;//状态3

    状态描述用的是独热码编码:优点是用的组合逻辑比二进制码少,但是寄存器占用的多

    第一个时序模块用的是判断条件转移

    always@(posedge CLK or negedge RSTn)
    if(!RSTn)
    begin
        State<=4'd0;
    end
    else
    begin
        case(State)
            IDLE:if(A[0]==1'b1)
                        State<=STATE1;
                    else
                        State<=IDLE;
            STATE1:if(A[1]==1'b1)
                        State<=STATE2;
                     else
                        State<=IDLE;
            STATE2:if(A[2]==0)
                        State<=STATE3;
                     else 
                        State<=IDLE;
            STATE3:if(A[3]==1'b1)
                        State<=IDLE;
                     else
                        State<=IDLE;
            default:State<=IDLE;
        endcase
    end

    第二个时序模块用的是判断输入和现有的状态来输出

    always@(posedge CLK or negedge RSTn)
    if(!RSTn)
    	rOut<=1'd0;
    else if(State==STATE3&&A[3]==1'b1)
    	rOut<=1'd1;
    else
    	rOut<=1'd0;
    

      test_beach 

    initial 
    begin
        begin
            RSTn=0;
            CLK=1;
            #10 RSTn=1;
        end
        while(1)
            #10 CLK=~CLK;//时钟每10ns翻转一次
    end
    
    initial
    begin
        #60
        A=4'b1111;
        //#50 A=4'b1110;
        #100 A=4'b1011;
        #100$stop;//过100ns停
    end
  • 相关阅读:
    Apache POI使用详解
    util.Date与sql.Date转换
    【转】javascript中not defined、undefined、null以及NaN的区别
    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
    DC维护工具Repadmin
    Outlook 配置exchange 缓慢,无法通过
    Windows 服务器站点设置
    Exchange 挂载点权限问题
    Windwos 查看WWN Number
    Exchange 2016 多站点创建oab shadow 副本
  • 原文地址:https://www.cnblogs.com/bixiaopengblog/p/5961221.html
Copyright © 2011-2022 走看看