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 
  • 相关阅读:
    【总结整理】javascript的函数在if中调用时是否加括号---与.net的不同之处
    【总结整理】javascript的函数调用时是否加括号
    【总结整理】JavaScript的DOM事件学习(慕课网)
    关于overflow:hidden (转)
    CSS
    HTML
    jQuery
    函数
    装饰器
    python的条件与循环1
  • 原文地址:https://www.cnblogs.com/kongqiweiliang/p/3247293.html
Copyright © 2011-2022 走看看