牛客进阶题目12:重叠序列检测

注意看波形,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
posted @   骑猪上树的少年  阅读(38)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
回到顶部
点击右上角即可分享
微信分享提示