verilog实现序列10010检测.txt

来自「verilog实现序列10010检测..........」· 文本 代码 · 共 55 行

TXT
55
字号
verilog实现序列10010检测

module seqdet(x,z,clk,rst); 
input x,clk,rst; 
output z; 

reg[2:0] state; 
wire z; 

parameter IDLE = 3'd0, 
                                  A = 3'd1, 
                                  B = 3'd2, 
                                  C = 3'd3, 
                                  D = 3'd4, 
                                  E = 3'd5, 
                                  F = 3'd6, 
                                  G = 3'd7; 


assign z = (state == D && x == 0)? 1:0; 

always @(posedge clk or negedge rst) 
               if(!rst) 
                                  begin 
                                          state<= IDLE; 
                                  end 
               else 
                                  casex(state) 
                                  IDLE: if(x==1) 
                                               state<= A; 
                                          else state<=IDLE; 
                                  A:    if(x==0) 
                                               state<= B; 
                                         else state<=A; 
                                 B:     if(x==0) 
                                               state<= C; 
                                         else state<=F; 
                                 C:    if(x==1) 
                                               state<= D; 
                                         else state<=G; 
                                 D:    if(x==0) 
                                               state<= E; 
                                         else state<=A; 
                                 E:    if(x==0) 
                                               state<= C; 
                                         else state<=A; 
                                 F:    if(x==1) 
                                               state<= A; 
                                         else state<=B; 
                                 G:    if(x==1) 
                                               state<= F; 
                                         else state<=G; 
                                 default: state<=IDLE; 
                                 endcase 
endmodule 

⌨️ 快捷键说明

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