题解 | #脉冲同步器(快到慢)#

脉冲同步器(快到慢)

https://www.nowcoder.com/practice/9f7c92635b5f49579e8e38fd8c8450d7



`timescale 100ps/100ps

module pulse_detect(
	input 				clka	, 
	input 				clkb	,   
	input 				rst_n		,
	input				sig_a		,

	output  		 	sig_b
);
	reg pulse_a_reg;
	always@(posedge clka or negedge rst_n)
		begin
			if(!rst_n)
				pulse_a_reg <= 1'b0;
			else if(sig_a)
				pulse_a_reg <= ~pulse_a_reg;
			else if(~sig_a)
				pulse_a_reg <= pulse_a_reg;
		end

	reg pulse_a_reg_d0;
	reg pulse_a_reg_d1;
	reg pulse_a_reg_d2;

	always@(posedge clkb or negedge rst_n)
		begin
			if(!rst_n)
				begin
					pulse_a_reg_d0 <= 1'b0;
					pulse_a_reg_d1 <= 1'b0;
					pulse_a_reg_d2 <= 1'b0;
				end
			else 
				begin
					pulse_a_reg_d0 <= pulse_a_reg;
					pulse_a_reg_d1 <= pulse_a_reg_d0;
					pulse_a_reg_d2 <= pulse_a_reg_d1;
				end
		end

	assign sig_b = pulse_a_reg_d2 ^ pulse_a_reg_d1;
endmodule

全部评论
翻转电路加两级DFF 再同或
点赞 回复 分享
发布于 2023-09-07 20:32 重庆

相关推荐

牛客266927136号:为啥实习经历写这么少,项目经历反而大写特写,最重要的还是实习经历吧,写具体点,什么场景下做了什么事,解决了什么问题,优化了什么场景,性能提升了多少多少
点赞 评论 收藏
分享
粗心的熊熊求求offer:什么内容都没有还弄两页
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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