注意看波形,flag相对于data的输入延迟两拍。也就是在输入1011后,第一拍进行检测,第二拍拉高flag。
`timescale 1ns/1ns
module sequence_test2(
input wire clk ,
input wire rst ,
input wire data ,
output reg flag
);
//*************code***********//
reg[3:0] seq_shift ;
always @(posedge clk or negedge rst) begin
if(!rst)
seq_shift <= 'd0 ;
else
seq_shift <= {seq_shift[2:0],data} ;
end
always @(posedge clk or negedge rst) begin
if(!rst)
flag <= 1'b0 ;
else if(seq_shift==4'b1011)
flag <= 1'b1 ;
else
flag <= 1'b0 ;
end
//*************code***********//
endmodule
注意看波形,falg先对于data的输入延迟两拍。也就是在输入1011后,第一拍进行检测,第二拍拉高flag,。
`timescale 1ns/1ns
module sequence_test2(
input wire clk ,
input wire rst ,
input wire data ,
output reg flag
);
//*************code***********//
reg[3:0] seq_shift ;
always @(posedge clk or negedge rst) begin
if(!rst)
seq_shift <= 'd0 ;
else
seq_shift <= {seq_shift[2:0],data} ;
end
always @(posedge clk or negedge rst) begin
if(!rst)
flag <= 1'b0 ;
else if(seq_shift==4'b1011)
flag <= 1'b1 ;
else
flag <= 1'b0 ;
end
//*************code***********//
endmodule
标签:12,进阶,1ns,clk,牛客,flag,wire,rst,input
From: https://www.cnblogs.com/icwangpu/p/17034834.html