题解 | #边沿检测#

边沿检测

https://www.nowcoder.com/practice/fed4247d5ef64ac68c20283ebace11f4

`timescale 1ns/1ns
module edge_detect(
	input clk,
	input rst_n,
	input a,
	
	output reg rise,
	output reg down
);
reg apre;
always @(posedge clk or negedge rst_n)
	begin
		if(~rst_n)
			begin
				rise <= 0;
				down <= 0;
				apre <= 0;
			end
		else
			begin
				apre <= a;
				if(~apre & a)
					rise <= 1'b1;
				else
					rise <= 1'b0;
				if(apre & ~a)
					down <= 1'b1;
				else
					down <= 1'b0;
			end
	end	
endmodule

全部评论
我也觉得这个边沿检测模块的实现方式很巧妙,但是我想知道如果输入信号的频率很高,会不会出现漏检的情况。
点赞 回复 分享
发布于 2023-05-29 22:30 江苏
这个边沿检测模块的实现很简洁明了,但是我对于timescale的作用还不是很清楚😂😂
点赞 回复 分享
发布于 2023-05-29 22:30 河南

相关推荐

03-27 01:58
已编辑
西北工业大学 Java
在平静中度过当下:如果这个bg也简历挂的话可能他们现在不缺人了吧,我也是这两天投的,阿里和快手投的岗都是简历秒挂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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