题解 | #状态机-重叠序列检测#

状态机-重叠序列检测

https://www.nowcoder.com/practice/10be91c03f5a412cb26f67dbd24020a9

重叠的话直接移位寄存,寄存后的数据与序列数做对比,相等则flag为1,不等则为0,两个always正好延迟两拍
`timescale 1ns/1ns

module sequence_test2(
	input wire clk  ,
	input wire rst  ,
	input wire data ,
	output reg flag
);
//*************code***********//

reg [3:0] data_r;

always@(posedge clk or negedge rst)
	if(!rst)
		data_r 	<= 4'd0;
	else
		data_r 	<= {data_r[2:0],data};

always@(posedge clk or negedge rst)
	if(!rst)
		flag 	<= 1'b0;
	else if(data_r[3:0] == 4'b1011)
		flag 	<= 1'b1;
	else
		flag 	<= 1'b0;

//*************code***********//
endmodule

全部评论
这个应该是我看到最简洁且高效的做法了,点个赞!
点赞 回复 分享
发布于 2024-05-04 16:18 湖北

相关推荐

12-24 20:44
武汉大学 Java
点赞 评论 收藏
分享
Tom哥981:这份简历是“大一新生硬凹资深后端”的典型反面教材,槽点离谱到能让面试官直接笑出声: ### 1. 「年龄+入学时间」和项目复杂度完全脱节,可信度直接归0 你2024年7月才入学(现在刚读了1年多),19岁的大一新生,能把Vue3+Spring Boot+ShardingSphere+K8s+AI这些技术全塞进两个项目里?别说实际开发,光把这些技术的文档看完都得半年——这不是“能力强”,是“把招聘JD里的技术词全抄过来造假”,明摆着没碰过实际代码
点赞 评论 收藏
分享
12-25 16:26
已编辑
河北科技学院 Java
勇敢的牛油不服输:2800-300那不等于2500一个月吗兄弟们
点赞 评论 收藏
分享
12-27 22:14
门头沟学院 Java
点赞 评论 收藏
分享
评论
8
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务