1. 程式人生 > >verilog小程序——上電自動復位

verilog小程序——上電自動復位

module put out please 精度 edge 情況 ril ilo

  最近整理了一個自動復位小程序,可以作為模板今後使用,此程序也可以精簡,如在對復位時間精度要求不高的情況下,可以以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 - 1
b1) cnt <= cnt + 1b1; else cnt <= cnt; end endmodule

verilog小程序——上電自動復位