码迷,mamicode.com
首页 > 微信 > 详细

verilog小程序——上电自动复位

时间:2019-01-11 13:13:38      阅读:369      评论:0      收藏:0      [点我收藏+]

标签:begin   好的   div   output   pre   put   时间   verilog   time   

  最近整理了一个自动复位小程序,可以作为模板今后使用,此程序也可以精简,如在对复位时间精度要求不高的情况下,可以以cnt的某一高位最为判定条件,当其为1时,复位结束,具体请看代码,若有更好的建议或问题,欢迎留言。

module    rst(

    input        wire          clk,
    input        wire          rst_in,
    
    output    wire          rst_n
);
    wire                  buf_rst_n;
    reg                [26:0]         cnt = 27d0;
        
    localparam    CNT               =20d550_000;        
               ///11ms if need a long time please set
    
    assign    buf_rst_n = (cnt == CNT - 1b1) ? 1b1 : 1b0;
    assign    rst_n = buf_rst_n || rst_in;
        
    always @ (posedge clk)begin
        if (cnt < CNT - 1b1)
            cnt <= cnt + 1b1;
        else
            cnt <= cnt;
    end
endmodule
                                                    

 

verilog小程序——上电自动复位

标签:begin   好的   div   output   pre   put   时间   verilog   time   

原文地址:https://www.cnblogs.com/zshuai1993/p/10254519.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!