zoukankan      html  css  js  c++  java
  • 每天进步一点点------基础实验_13_有限状态机 :Mealy型序列检测器

     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    : 基础实验_13_有限状态机 :Mealy型序列检测器 
    18 ********************************************************************************/
    19 `timescale 1ns/1ps
    20 `define    UD  #1
    21 /*******************************************************************************/
    22 module SEQ_REC_MEALY    
    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 
    38 reg  [2:0]  FSM_CS;
    39 reg  [2:0]  FSM_NS;
    40 
    41 always@(posedge iCLK_50 or negedge iRESET)begin
    42     if(!iRESET)
    43         FSM_CS <= FSM_IDLE;
    44     else
    45         FSM_CS <= FSM_NS;
    46 end
    47 always@(*)begin
    48     case(FSM_CS)
    49         FSM_IDLE    : 
    50                         if(iDAT_EN && iDAT)                FSM_NS = FSM_1;
    51                         else if(iDAT_EN && (!iDAT))      FSM_NS = FSM_0;
    52                         else                                  FSM_NS = FSM_IDLE;
    53         FSM_0        :
    54                         if(!iDAT)                              FSM_NS = FSM_0; 
    55                         else if(iDAT)                         FSM_NS = FSM_1; 
    56                         else                                  FSM_NS = FSM_IDLE;
    57         FSM_1        :
    58                         if(!iDAT)                              FSM_NS = FSM_0; 
    59                         else if(iDAT)                         FSM_NS = FSM_2; 
    60                         else                                  FSM_NS = FSM_IDLE;
    61         FSM_2        :
    62                         if(!iDAT)                              FSM_NS = FSM_0; 
    63                         else if(iDAT)                         FSM_NS = FSM_2; 
    64                         else                                  FSM_NS = FSM_IDLE;
    65         default  : 
    66                          FSM_NS = FSM_IDLE;
    67     endcase
    68 end
    69 
    70 assign oDAT = ((FSM_CS == FSM_2) && iDAT) ? 1'h1 : 1'h0;
    71 //-------------------------------------------------------------------------------
    72 endmodule 
  • 相关阅读:
    袁创:如何成为黄金程序猿
    划重点!新版电子病历评级标准讲解会上6大核心要点
    台湾医院信息化见闻录
    2500行代码实现高性能数值表达式引擎
    HIT创业感言:只有长寿的企业才有持续价值
    袁创:寂静的战争
    相约南湖,南京都昌信息亮相南湖HIT论坛
    我们是谁?南京都昌信息科技有限公司!
    医疗链的系列谈 第一篇 基本概念研究
    论电子病历控件的现状和发展方向
  • 原文地址:https://www.cnblogs.com/kongqiweiliang/p/3247293.html
Copyright © 2011-2022 走看看