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

脉冲同步器(快到慢)

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 Sa;
    always@(posedge clka or negedge rst_n) begin
        if(!rst_n) begin
            Sa <= 1'b0;
        end
        else begin
            Sa <= sig_a?(~Sa):Sa;
        end
    end
    reg Sb_r1,Sb_r2,Sb_r3;
    always@(posedge clkb or negedge rst_n) begin
        if(!rst_n) begin
            {Sb_r1,Sb_r2,Sb_r3} <= 'd0;
        end
        else begin
            {Sb_r1,Sb_r2,Sb_r3} <= {Sa,Sb_r1,Sb_r2};
        end
    end
    assign sig_b = Sb_r2^Sb_r3;
endmodule

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-26 18:54
说等下个版本吧的发呆爱好者很贪睡:佬最后去了哪家呀
点赞 评论 收藏
分享
11-06 10:58
已编辑
门头沟学院 嵌入式工程师
双非25想找富婆不想打工:哦,这该死的伦敦腔,我敢打赌,你简直是个天才,如果我有offer的话,我一定用offer狠狠的打在你的脸上
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务