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

脉冲同步器(快到慢)

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

`timescale 100ps/100ps

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

    output          wire     sig_b
);
  reg trigger;
    reg syn_1;
    reg syn_2;
    reg syn_3;
    
    always@(posedge clka or negedge rst_n) begin
        if(!rst_n) begin
            trigger<=1'b0;
        end
        else if(sig_a) begin
            trigger<=~trigger;
        end
        else begin
            trigger<=trigger;
        end
    end
    
    always@(posedge clkb or negedge rst_n) begin
        if(!rst_n) begin
            syn_1<=1'b0;
            syn_2<=1'b0;
            syn_3<=1'b0;
        end
        else begin
            syn_1<=trigger;
            syn_2<=syn_1;
            syn_3<=syn_2;
        end
    end
    assign sig_b=syn_2^syn_3;
endmodule
全部评论
点赞 回复 分享
发布于 2022-06-17 20:48

相关推荐

06-27 18:53
门头沟学院 Java
这样才知道自己不适合搞代码,考公去咯
只爱喝白开水:我也发现不适合搞代码,打算转非技术方向了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
后来123321:别着急,我学院本大二,投了1100份,两个面试,其中一个还是我去线下招聘会投的简历,有时候这东西也得看运气
无实习如何秋招上岸
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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