⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fsm.v

📁 it about using veriolog complement some project,thanks!
💻 V
字号:
//******************////copyright 2007, DTK//all right reserved////project name: : test8//filename    : file_fsm//author      : wangyang//data        : 2007/8/3//version     : 1.0////module name : module_fsm//abstract     : use fsm design squence logic,//               detctect squence"10010"////modification history//---------------------------------//&Log&//******************module seqdet(X,Z,Clk,Rst,State);input  X,Clk,Rst;output Z;output[2:0] State;reg[2:0] State;wire Z;parameter IDLE='d0,  A='d1,  B='d2,                     C='d3,  D='d4,                     E='d5,  F='d6,                     G='d7;            assign  Z = ( State==E && X==0 )? 1 : 0;  //?x=0???????E?       //???D??x??1??????1????? State==E && X==0 ??always @(posedge Clk)   if(!Rst)          begin          State <= IDLE;          end   else          case(State)            IDLE : if(X==1)                       begin                            State <= A;                       end            A:     if(X==0)                       begin                          State <= B;                       end            B:     if(X==0)                       begin                          State <= C;                       end                    else                       begin                          State <= F;                       end            C:      if(X==1)                       begin                          State <= D;                       end                    else                       begin                          State <= G;                       end            D:      if(X==0)                       begin                          State <= E;                       end                    else                       begin                          State <= A;                       end            E:      if(X==0)                       begin                          State <= C;                       end                    else                       begin                          State <= A;                       end            F:      if(X==1)                       begin                          State <= A;                       end                    else                       begin                          State <= B;                       end            G:      if(X==1)                       begin                          State <= F;                       end           default:State=IDLE;      //??????????           endcaseendmodule//???????`timescale 1ns/1ns//`include "./seqdet.v"module seqdet_TEST;  reg Clk,Rst;  reg[23:0] Data;  wire[2:0] State;  wire Z,X;  assign X=Data[23];  always  #10 Clk = ~Clk;  always @(posedge Clk)         Data={Data[22:0],Data[23]};   //??????????    //???????????????x?????????????  initial     begin       Clk=0;       Rst=1;       #2 Rst=0;       #30 Rst=1;       Data ='b1100_1001_0000_1001_0100;       #500 $stop;     end    seqdet  m(X,Z,Clk,Rst,State);         endmodule        

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -