双边沿采样


 

 代码:实际设计时要加上复位信号,保证寄存器有初值。

module edge_double(
                    clk,
                    rst_n,
                    d,
                    q
                    );
    input clk;
    input rst_n;
    input d;
    output q;
    reg q_d1;
    reg q_d2;
    always@(posedge clk or negedge rst_n)
        if(!rst_n)
            q_d1<=0;
        else
            q_d1<=d^q_d2;
    always@(negedge clk or negedge rst_n)
        if(!rst_n)
            q_d2<=0;
        else
            q_d2<=d^q_d1;
    assign q=q_d1^q_d2;
endmodule
View Code

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM