• 每天进步一点点------基础实验_12_有限状态机 :Moore型序列检测器


     1 /*********************************************************************************
     2 * Company                    : 
     3 * Engineer                    : 空气微凉
     4 * 
     5 * Create Date                : 00:00:00 22/03/2013 
     6 * Design Name                : 
     7 * Module Name                :         
     8 * Project Name                :  
     9 * Target Devices            : 
    10 * Tool versions            : 
    11 * Description                :  
    12 *                       http://www.cnblogs.com/kongqiweiliang/             
    13 * Dependencies                : 
    14 *
    15 * Revision                    : 
    16 * Revision                    : 0.01 - File Created
    17 * Additional Comments    : 基础实验_12_有限状态机 :Moore型序列检测器
    18 ********************************************************************************/
    19 `timescale 1ns/1ps
    20 `define    UD  #1
    21 /*******************************************************************************/
    22 module SEQ_REC_MOORE    
    23 ( 
    24     //system interface
    25     input                                     iCLK_50        ,//50MHz
    26     input                                     iRESET         ,//system interface
    27     //Interface package
    28     input                                     iDAT_EN        ,//
    29     input                                     iDAT            ,//
    30     output                                oDAT             //
    31 );  
    32 //-------------------------------------------------------------------------------
    33 parameter   FSM_IDLE    =    3'h0;
    34 parameter   FSM_0        =    3'h1;
    35 parameter   FSM_1        =    3'h2;
    36 parameter   FSM_2        =    3'h3;
    37 parameter   FSM_3        =    3'h4;
    38 
    39 reg  [2:0]  FSM_CS;
    40 reg  [2:0]  FSM_NS;
    41 
    42 // Moore状态机的输出只与有限状态机的当前状态有关,与输入信号的当前
    43 // 值无关。 Moore有限状态机在时钟CLOCK脉冲的有效边沿后的有限个门延后,
    44 // 输出达到稳定值。即使在一个时钟周期内输入信号发生变化,输出也会在一个
    45 // 完整的时钟周期内保持稳定值而不变。输入对输出的影响要到下一个时钟周期
    46 // 才能反映出来。   
    47 // Moore有限状态机最重要的特点就是将输入与输出信号隔离开来。
    48 
    49 // 序列检测的作用是,先根据要检测的序列设计好状机的跳转,状态机会去匹配
    50 // 指定的序列,在检测到符合要求后,保持一个CLK的脉冲
    51 always@(posedge iCLK_50 or negedge iRESET)begin
    52     if(!iRESET)
    53         FSM_CS <= FSM_IDLE;
    54     else
    55         FSM_CS <= FSM_NS;
    56 end
    57 always@(*)begin
    58     case(FSM_CS)
    59         FSM_IDLE    : 
    60                         if(iDAT_EN && iDAT)                FSM_NS = FSM_1;
    61                         else if(iDAT_EN && (!iDAT))      FSM_NS = FSM_0;
    62                         else                                  FSM_NS = FSM_IDLE;
    63         FSM_0        :
    64                         if(!iDAT)                              FSM_NS = FSM_0; 
    65                         else if(iDAT)                         FSM_NS = FSM_1; 
    66                         else                                  FSM_NS = FSM_IDLE;
    67         FSM_1        :
    68                         if(!iDAT)                              FSM_NS = FSM_0; 
    69                         else if(iDAT)                         FSM_NS = FSM_2; 
    70                         else                                  FSM_NS = FSM_IDLE;
    71         FSM_2        ,
    72         FSM_3        :
    73                         if(!iDAT)                              FSM_NS = FSM_0; 
    74                         else if(iDAT)                         FSM_NS = FSM_3; 
    75                         else                                  FSM_NS = FSM_IDLE;
    76         default  : 
    77                          FSM_NS = FSM_IDLE;
    78     endcase
    79 end
    80 
    81 assign oDAT = (FSM_CS == FSM_3) ? 1'h1 : 1'h0;
    82 //-------------------------------------------------------------------------------
    83 endmodule 
  • 相关阅读:
    在MS Sql Server中可以能过以下的方法查询出磁盘空间的使用情况及各数据库数据文件及日志文件的大小及使用利用率:
    sqlserver日志的备份与还原
    C#中String 与Color之间的相互转换
    sql 替换字符串
    Components_Box
    射线检测与碰撞通道设置
    切碎方块
    音乐可视化
    枚举
    UI与Actor(蓝图)的互动
  • 原文地址:https://www.cnblogs.com/kongqiweiliang/p/3246501.html
Copyright © 2020-2023  润新知