题解 | #边沿检测#

边沿检测

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		a_reg;

always@(posedge clk or negedge rst_n)
	if(~rst_n)
		a_reg <= 1'b0;
	else
		a_reg <= a;

always@(posedge clk or negedge rst_n)
	if(~rst_n)
		rise <= 1'b0;
	else if(!a_reg & a)
		rise <= 1'b1;
	else
		rise <= 1'b0;

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


endmodule

全部评论

相关推荐

笑着秋招😊:我一直认为努力有回报是一件很幸福很幸福的事情,恭喜你
点赞 评论 收藏
分享
天门一键开:她的意思是问你有没有论文吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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