题解 | #边沿检测#

边沿检测

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 b;
always @ (posedge clk or negedge rst_n) begin
	if(~rst_n) begin
		b <= 0;
	end
	else begin
		b <= a;
	end
end

always @ (posedge clk or negedge rst_n) begin
	if(~rst_n) begin
		rise<=1'b0;
		down<=1'b0;
	end
	else begin
		if((b==1'b0)&(a==1'b1)) begin
			rise<=1'b1;
			down<=1'b0;
		end
		else begin
			if((b==1'b1) & (a==1'b0)) begin
				rise<=1'b0;
				down<=1'b1;
			end
			else begin
				rise<=1'b0;
				down<=1'b0;
			end
		end
	end
end

	
endmodule

#verilog刷题记录#
全部评论

相关推荐

27双非本,最近面试被挂麻了面试官说简历内容太简单了,技术栈要单独一行,各位佬有啥建议吗
LZStarV:项目太简单了,你像用什么开发的技术栈没必要写一句话,按点写就好了;有特色的比如说WebSocket、视频流这种狠狠吹,那就好看多了
点赞 评论 收藏
分享
天降大厂offer:你是我见过最美的牛客女孩
点赞 评论 收藏
分享
迷茫的大四🐶:看来已经准备换人了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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